nutcracker 0.2.3 → 0.2.4.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +53 -5
- data/Rakefile +14 -19
- data/bin/nutcracker +6 -1
- data/ext/nutcracker/ChangeLog +9 -0
- data/ext/nutcracker/LICENSE +0 -0
- data/ext/nutcracker/Makefile +643 -0
- data/ext/nutcracker/Makefile.am +0 -0
- data/ext/nutcracker/Makefile.in +66 -149
- data/ext/nutcracker/NOTICE +0 -0
- data/ext/nutcracker/README.md +13 -11
- data/ext/nutcracker/aclocal.m4 +112 -201
- data/ext/nutcracker/autom4te.cache/output.0 +18664 -0
- data/ext/nutcracker/autom4te.cache/output.1 +18664 -0
- data/ext/nutcracker/autom4te.cache/output.2 +18664 -0
- data/ext/nutcracker/autom4te.cache/requests +494 -0
- data/ext/nutcracker/autom4te.cache/traces.0 +2415 -0
- data/ext/nutcracker/autom4te.cache/traces.1 +945 -0
- data/ext/nutcracker/autom4te.cache/traces.2 +2415 -0
- data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.yml +0 -0
- data/ext/nutcracker/config.h +332 -0
- data/ext/nutcracker/config.h.in +15 -0
- data/ext/nutcracker/config.log +2684 -0
- data/ext/nutcracker/config.status +2317 -0
- data/ext/nutcracker/config/config.guess +23 -84
- data/ext/nutcracker/config/config.sub +23 -93
- data/ext/nutcracker/config/depcomp +35 -81
- data/ext/nutcracker/config/install-sh +109 -122
- data/ext/nutcracker/config/ltmain.sh +1053 -721
- data/ext/nutcracker/config/missing +20 -29
- data/ext/nutcracker/configure +2122 -2320
- data/ext/nutcracker/configure.ac +35 -3
- data/ext/nutcracker/contrib/Makefile +494 -0
- data/ext/nutcracker/contrib/Makefile.am +0 -0
- data/ext/nutcracker/contrib/Makefile.in +41 -107
- data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +736 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13102 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +13085 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +13085 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +476 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +2339 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +545 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2339 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h +81 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.log +688 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.status +2032 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +51 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +41 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +656 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +40 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +84 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +83 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +110 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +79 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +92 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +88 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +96 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +100 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +163 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +115 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +77 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +84 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +83 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +110 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +79 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +92 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +88 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +96 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +100 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +163 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +115 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +77 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +667 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +81 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +78 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +373 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +196 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +126 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +320 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +819 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +664 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +60 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +795 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +606 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +222 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +246 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +106 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +31 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +42 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +108 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +235 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +1300 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +496 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +108 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +420 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +1229 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +97 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +413 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +59 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +525 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +17 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +470 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/libtool +8890 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +484 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +41 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +1 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +675 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +10 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +10 -0
- data/ext/nutcracker/extconf.rb +0 -5
- data/ext/nutcracker/libtool +9403 -0
- data/ext/nutcracker/m4/libtool.m4 +553 -492
- data/ext/nutcracker/m4/ltoptions.m4 +7 -6
- data/ext/nutcracker/m4/ltversion.m4 +5 -5
- data/ext/nutcracker/m4/lt~obsolete.m4 +9 -3
- data/ext/nutcracker/notes/c-styleguide.txt +0 -0
- data/ext/nutcracker/notes/debug.txt +0 -0
- data/ext/nutcracker/notes/memcache.txt +0 -0
- data/ext/nutcracker/notes/recommendation.md +21 -2
- data/ext/nutcracker/notes/redis.md +9 -9
- data/ext/nutcracker/notes/socket.txt +0 -0
- data/ext/nutcracker/scripts/nutcracker.init +0 -0
- data/ext/nutcracker/scripts/nutcracker.spec +0 -0
- data/ext/nutcracker/scripts/redis-check.py +0 -0
- data/ext/nutcracker/scripts/redis-check.sh +9 -0
- data/ext/nutcracker/src/Makefile +647 -0
- data/ext/nutcracker/src/Makefile.am +1 -1
- data/ext/nutcracker/src/Makefile.in +74 -153
- data/ext/nutcracker/src/hashkit/Makefile +476 -0
- data/ext/nutcracker/src/hashkit/Makefile.am +1 -0
- data/ext/nutcracker/src/hashkit/Makefile.in +39 -64
- data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.c +66 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_hashkit.h +2 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.c +18 -6
- data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
- data/ext/nutcracker/src/nc.c +0 -0
- data/ext/nutcracker/src/nc.o +0 -0
- data/ext/nutcracker/src/nc_array.c +0 -0
- data/ext/nutcracker/src/nc_array.h +0 -0
- data/ext/nutcracker/src/nc_array.o +0 -0
- data/ext/nutcracker/src/nc_client.c +0 -0
- data/ext/nutcracker/src/nc_client.h +0 -0
- data/ext/nutcracker/src/nc_client.o +0 -0
- data/ext/nutcracker/src/nc_conf.c +14 -35
- data/ext/nutcracker/src/nc_conf.h +1 -1
- data/ext/nutcracker/src/nc_conf.o +0 -0
- data/ext/nutcracker/src/nc_connection.c +0 -0
- data/ext/nutcracker/src/nc_connection.h +0 -0
- data/ext/nutcracker/src/nc_connection.o +0 -0
- data/ext/nutcracker/src/nc_core.c +29 -26
- data/ext/nutcracker/src/nc_core.h +13 -5
- data/ext/nutcracker/src/nc_core.o +0 -0
- data/ext/nutcracker/src/{nc_event.c → nc_epoll.c} +94 -30
- data/ext/nutcracker/src/nc_epoll.o +0 -0
- data/ext/nutcracker/src/nc_event.h +33 -13
- data/ext/nutcracker/src/nc_kqueue.c +296 -0
- data/ext/nutcracker/src/nc_kqueue.o +0 -0
- data/ext/nutcracker/src/nc_log.c +0 -0
- data/ext/nutcracker/src/nc_log.h +0 -0
- data/ext/nutcracker/src/nc_log.o +0 -0
- data/ext/nutcracker/src/nc_mbuf.c +0 -0
- data/ext/nutcracker/src/nc_mbuf.h +0 -0
- data/ext/nutcracker/src/nc_mbuf.o +0 -0
- data/ext/nutcracker/src/nc_message.c +0 -0
- data/ext/nutcracker/src/nc_message.h +2 -0
- data/ext/nutcracker/src/nc_message.o +0 -0
- data/ext/nutcracker/src/nc_proxy.c +8 -8
- data/ext/nutcracker/src/nc_proxy.h +0 -0
- data/ext/nutcracker/src/nc_proxy.o +0 -0
- data/ext/nutcracker/src/nc_queue.h +0 -0
- data/ext/nutcracker/src/nc_rbtree.c +0 -0
- data/ext/nutcracker/src/nc_rbtree.h +0 -0
- data/ext/nutcracker/src/nc_rbtree.o +0 -0
- data/ext/nutcracker/src/nc_request.c +3 -3
- data/ext/nutcracker/src/nc_request.o +0 -0
- data/ext/nutcracker/src/nc_response.c +4 -6
- data/ext/nutcracker/src/nc_response.o +0 -0
- data/ext/nutcracker/src/nc_server.c +14 -12
- data/ext/nutcracker/src/nc_server.h +0 -0
- data/ext/nutcracker/src/nc_server.o +0 -0
- data/ext/nutcracker/src/nc_signal.c +0 -0
- data/ext/nutcracker/src/nc_signal.h +0 -0
- data/ext/nutcracker/src/nc_signal.o +0 -0
- data/ext/nutcracker/src/nc_stats.c +16 -21
- data/ext/nutcracker/src/nc_stats.h +3 -4
- data/ext/nutcracker/src/nc_stats.o +0 -0
- data/ext/nutcracker/src/nc_string.c +0 -0
- data/ext/nutcracker/src/nc_string.h +0 -0
- data/ext/nutcracker/src/nc_string.o +0 -0
- data/ext/nutcracker/src/nc_util.c +16 -0
- data/ext/nutcracker/src/nc_util.h +1 -0
- data/ext/nutcracker/src/nc_util.o +0 -0
- data/ext/nutcracker/src/nutcracker +0 -0
- data/ext/nutcracker/src/proto/Makefile +454 -0
- data/ext/nutcracker/src/proto/Makefile.am +0 -0
- data/ext/nutcracker/src/proto/Makefile.in +32 -60
- data/ext/nutcracker/src/proto/libproto.a +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
- data/ext/nutcracker/src/proto/nc_proto.h +0 -0
- data/ext/nutcracker/src/proto/nc_redis.c +17 -4
- data/ext/nutcracker/src/proto/nc_redis.o +0 -0
- data/ext/nutcracker/stamp-h1 +1 -0
- data/lib/nutcracker.rb +64 -2
- data/lib/nutcracker/version.rb +1 -1
- metadata +237 -9
@@ -1,9 +1,10 @@
|
|
1
1
|
# Generated from ltmain.m4sh.
|
2
2
|
|
3
|
-
#
|
3
|
+
# libtool (GNU libtool) 2.2.10
|
4
4
|
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
5
5
|
|
6
|
-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
6
|
+
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
7
|
+
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
7
8
|
# This is free software; see the source for copying conditions. There is NO
|
8
9
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
9
10
|
|
@@ -32,50 +33,54 @@
|
|
32
33
|
#
|
33
34
|
# Provide generalized library-building support services.
|
34
35
|
#
|
35
|
-
#
|
36
|
-
#
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
41
|
-
#
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
36
|
+
# --config show all configuration variables
|
37
|
+
# --debug enable verbose shell tracing
|
38
|
+
# -n, --dry-run display commands without modifying any files
|
39
|
+
# --features display basic configuration information and exit
|
40
|
+
# --mode=MODE use operation mode MODE
|
41
|
+
# --preserve-dup-deps don't remove duplicate dependency libraries
|
42
|
+
# --quiet, --silent don't print informational messages
|
43
|
+
# --no-quiet, --no-silent
|
44
|
+
# print informational messages (default)
|
45
|
+
# --tag=TAG use configuration variables from tag TAG
|
46
|
+
# -v, --verbose print more informational messages than default
|
47
|
+
# --no-verbose don't print the extra informational messages
|
48
|
+
# --version print version information
|
49
|
+
# -h, --help, --help-all print short, long, or detailed help message
|
46
50
|
#
|
47
51
|
# MODE must be one of the following:
|
48
52
|
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
53
|
+
# clean remove files from the build directory
|
54
|
+
# compile compile a source file into a libtool object
|
55
|
+
# execute automatically set library path, then run a program
|
56
|
+
# finish complete the installation of libtool libraries
|
57
|
+
# install install libraries or executables
|
58
|
+
# link create a library or an executable
|
59
|
+
# uninstall remove libraries from an installed directory
|
56
60
|
#
|
57
|
-
# MODE-ARGS vary depending on the MODE.
|
61
|
+
# MODE-ARGS vary depending on the MODE. When passed as first option,
|
62
|
+
# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
|
58
63
|
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
|
59
64
|
#
|
60
65
|
# When reporting a bug, please describe a test case to reproduce it and
|
61
66
|
# include the following information:
|
62
67
|
#
|
63
|
-
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
#
|
68
|
+
# host-triplet: $host
|
69
|
+
# shell: $SHELL
|
70
|
+
# compiler: $LTCC
|
71
|
+
# compiler flags: $LTCFLAGS
|
72
|
+
# linker: $LD (gnu? $with_gnu_ld)
|
73
|
+
# $progname: (GNU libtool) 2.2.10
|
74
|
+
# automake: $automake_version
|
75
|
+
# autoconf: $autoconf_version
|
71
76
|
#
|
72
77
|
# Report bugs to <bug-libtool@gnu.org>.
|
73
78
|
|
74
|
-
PROGRAM=
|
79
|
+
PROGRAM=libtool
|
75
80
|
PACKAGE=libtool
|
76
|
-
VERSION=
|
81
|
+
VERSION=2.2.10
|
77
82
|
TIMESTAMP=""
|
78
|
-
package_revision=1.
|
83
|
+
package_revision=1.3175
|
79
84
|
|
80
85
|
# Be Bourne compatible
|
81
86
|
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
@@ -91,10 +96,15 @@ fi
|
|
91
96
|
BIN_SH=xpg4; export BIN_SH # for Tru64
|
92
97
|
DUALCASE=1; export DUALCASE # for MKS sh
|
93
98
|
|
99
|
+
# A function that is used when there is no print builtin or printf.
|
100
|
+
func_fallback_echo ()
|
101
|
+
{
|
102
|
+
eval 'cat <<_LTECHO_EOF
|
103
|
+
$1
|
104
|
+
_LTECHO_EOF'
|
105
|
+
}
|
106
|
+
|
94
107
|
# NLS nuisances: We save the old values to restore during execute mode.
|
95
|
-
# Only set LANG and LC_ALL to C if already set.
|
96
|
-
# These must not be set unconditionally because not all systems understand
|
97
|
-
# e.g. LANG=C (notably SCO).
|
98
108
|
lt_user_locale=
|
99
109
|
lt_safe_locale=
|
100
110
|
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
|
@@ -107,24 +117,33 @@ do
|
|
107
117
|
lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
|
108
118
|
fi"
|
109
119
|
done
|
120
|
+
LC_ALL=C
|
121
|
+
LANGUAGE=C
|
122
|
+
export LANGUAGE LC_ALL
|
110
123
|
|
111
124
|
$lt_unset CDPATH
|
112
125
|
|
113
126
|
|
127
|
+
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
|
128
|
+
# is ksh but when the shell is invoked as "sh" and the current value of
|
129
|
+
# the _XPG environment variable is not equal to 1 (one), the special
|
130
|
+
# positional parameter $0, within a function call, is the name of the
|
131
|
+
# function.
|
132
|
+
progpath="$0"
|
114
133
|
|
115
134
|
|
116
135
|
|
117
136
|
: ${CP="cp -f"}
|
118
|
-
|
119
|
-
: ${EGREP="/bin/grep -E"}
|
120
|
-
: ${FGREP="/bin/grep -F"}
|
121
|
-
: ${GREP="/bin/grep"}
|
137
|
+
test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
|
138
|
+
: ${EGREP="/usr/bin/grep -E"}
|
139
|
+
: ${FGREP="/usr/bin/grep -F"}
|
140
|
+
: ${GREP="/usr/bin/grep"}
|
122
141
|
: ${LN_S="ln -s"}
|
123
142
|
: ${MAKE="make"}
|
124
143
|
: ${MKDIR="mkdir"}
|
125
144
|
: ${MV="mv -f"}
|
126
145
|
: ${RM="rm -f"}
|
127
|
-
: ${SED="/bin/sed"}
|
146
|
+
: ${SED="/usr/bin/sed"}
|
128
147
|
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
|
129
148
|
: ${Xsed="$SED -e 1s/^X//"}
|
130
149
|
|
@@ -159,32 +178,168 @@ basename="s,^.*/,,"
|
|
159
178
|
func_dirname_and_basename ()
|
160
179
|
{
|
161
180
|
# Extract subdirectory from the argument.
|
162
|
-
func_dirname_result=`$ECHO "
|
181
|
+
func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
|
163
182
|
if test "X$func_dirname_result" = "X${1}"; then
|
164
183
|
func_dirname_result="${3}"
|
165
184
|
else
|
166
185
|
func_dirname_result="$func_dirname_result${2}"
|
167
186
|
fi
|
168
|
-
func_basename_result=`$ECHO "
|
187
|
+
func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
|
169
188
|
}
|
170
189
|
|
171
190
|
# Generated shell functions inserted here.
|
172
191
|
|
173
|
-
#
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
192
|
+
# These SED scripts presuppose an absolute path with a trailing slash.
|
193
|
+
pathcar='s,^/\([^/]*\).*$,\1,'
|
194
|
+
pathcdr='s,^/[^/]*,,'
|
195
|
+
removedotparts=':dotsl
|
196
|
+
s@/\./@/@g
|
197
|
+
t dotsl
|
198
|
+
s,/\.$,/,'
|
199
|
+
collapseslashes='s@/\{1,\}@/@g'
|
200
|
+
finalslash='s,/*$,/,'
|
201
|
+
|
202
|
+
# func_normal_abspath PATH
|
203
|
+
# Remove doubled-up and trailing slashes, "." path components,
|
204
|
+
# and cancel out any ".." path components in PATH after making
|
205
|
+
# it an absolute path.
|
206
|
+
# value returned in "$func_normal_abspath_result"
|
207
|
+
func_normal_abspath ()
|
208
|
+
{
|
209
|
+
# Start from root dir and reassemble the path.
|
210
|
+
func_normal_abspath_result=
|
211
|
+
func_normal_abspath_tpath=$1
|
212
|
+
func_normal_abspath_altnamespace=
|
213
|
+
case $func_normal_abspath_tpath in
|
214
|
+
"")
|
215
|
+
# Empty path, that just means $cwd.
|
216
|
+
func_stripname '' '/' "`pwd`"
|
217
|
+
func_normal_abspath_result=$func_stripname_result
|
218
|
+
return
|
219
|
+
;;
|
220
|
+
# The next three entries are used to spot a run of precisely
|
221
|
+
# two leading slashes without using negated character classes;
|
222
|
+
# we take advantage of case's first-match behaviour.
|
223
|
+
///*)
|
224
|
+
# Unusual form of absolute path, do nothing.
|
225
|
+
;;
|
226
|
+
//*)
|
227
|
+
# Not necessarily an ordinary path; POSIX reserves leading '//'
|
228
|
+
# and for example Cygwin uses it to access remote file shares
|
229
|
+
# over CIFS/SMB, so we conserve a leading double slash if found.
|
230
|
+
func_normal_abspath_altnamespace=/
|
231
|
+
;;
|
232
|
+
/*)
|
233
|
+
# Absolute path, do nothing.
|
234
|
+
;;
|
235
|
+
*)
|
236
|
+
# Relative path, prepend $cwd.
|
237
|
+
func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
|
238
|
+
;;
|
239
|
+
esac
|
240
|
+
# Cancel out all the simple stuff to save iterations. We also want
|
241
|
+
# the path to end with a slash for ease of parsing, so make sure
|
242
|
+
# there is one (and only one) here.
|
243
|
+
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
|
244
|
+
-e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
|
245
|
+
while :; do
|
246
|
+
# Processed it all yet?
|
247
|
+
if test "$func_normal_abspath_tpath" = / ; then
|
248
|
+
# If we ascended to the root using ".." the result may be empty now.
|
249
|
+
if test -z "$func_normal_abspath_result" ; then
|
250
|
+
func_normal_abspath_result=/
|
251
|
+
fi
|
252
|
+
break
|
253
|
+
fi
|
254
|
+
func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
|
255
|
+
-e "$pathcar"`
|
256
|
+
func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
|
257
|
+
-e "$pathcdr"`
|
258
|
+
# Figure out what to do with it
|
259
|
+
case $func_normal_abspath_tcomponent in
|
260
|
+
"")
|
261
|
+
# Trailing empty path component, ignore it.
|
262
|
+
;;
|
263
|
+
..)
|
264
|
+
# Parent dir; strip last assembled component from result.
|
265
|
+
func_dirname "$func_normal_abspath_result"
|
266
|
+
func_normal_abspath_result=$func_dirname_result
|
267
|
+
;;
|
268
|
+
*)
|
269
|
+
# Actual path component, append it.
|
270
|
+
func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
|
271
|
+
;;
|
272
|
+
esac
|
273
|
+
done
|
274
|
+
# Restore leading double-slash if one was found on entry.
|
275
|
+
func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
|
276
|
+
}
|
277
|
+
|
278
|
+
# func_relative_path SRCDIR DSTDIR
|
279
|
+
# generates a relative path from SRCDIR to DSTDIR, with a trailing
|
280
|
+
# slash if non-empty, suitable for immediately appending a filename
|
281
|
+
# without needing to append a separator.
|
282
|
+
# value returned in "$func_relative_path_result"
|
283
|
+
func_relative_path ()
|
284
|
+
{
|
285
|
+
func_relative_path_result=
|
286
|
+
func_normal_abspath "$1"
|
287
|
+
func_relative_path_tlibdir=$func_normal_abspath_result
|
288
|
+
func_normal_abspath "$2"
|
289
|
+
func_relative_path_tbindir=$func_normal_abspath_result
|
290
|
+
|
291
|
+
# Ascend the tree starting from libdir
|
292
|
+
while :; do
|
293
|
+
# check if we have found a prefix of bindir
|
294
|
+
case $func_relative_path_tbindir in
|
295
|
+
$func_relative_path_tlibdir)
|
296
|
+
# found an exact match
|
297
|
+
func_relative_path_tcancelled=
|
298
|
+
break
|
299
|
+
;;
|
300
|
+
$func_relative_path_tlibdir*)
|
301
|
+
# found a matching prefix
|
302
|
+
func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
|
303
|
+
func_relative_path_tcancelled=$func_stripname_result
|
304
|
+
if test -z "$func_relative_path_result"; then
|
305
|
+
func_relative_path_result=.
|
306
|
+
fi
|
307
|
+
break
|
308
|
+
;;
|
309
|
+
*)
|
310
|
+
func_dirname $func_relative_path_tlibdir
|
311
|
+
func_relative_path_tlibdir=${func_dirname_result}
|
312
|
+
if test "x$func_relative_path_tlibdir" = x ; then
|
313
|
+
# Have to descend all the way to the root!
|
314
|
+
func_relative_path_result=../$func_relative_path_result
|
315
|
+
func_relative_path_tcancelled=$func_relative_path_tbindir
|
316
|
+
break
|
317
|
+
fi
|
318
|
+
func_relative_path_result=../$func_relative_path_result
|
319
|
+
;;
|
320
|
+
esac
|
321
|
+
done
|
322
|
+
|
323
|
+
# Now calculate path; take care to avoid doubling-up slashes.
|
324
|
+
func_stripname '' '/' "$func_relative_path_result"
|
325
|
+
func_relative_path_result=$func_stripname_result
|
326
|
+
func_stripname '/' '/' "$func_relative_path_tcancelled"
|
327
|
+
if test "x$func_stripname_result" != x ; then
|
328
|
+
func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
|
329
|
+
fi
|
330
|
+
|
331
|
+
# Normalisation. If bindir is libdir, return empty string,
|
332
|
+
# else relative path ending with a slash; either way, target
|
333
|
+
# file name can be directly appended.
|
334
|
+
if test ! -z "$func_relative_path_result"; then
|
335
|
+
func_stripname './' '' "$func_relative_path_result/"
|
336
|
+
func_relative_path_result=$func_stripname_result
|
337
|
+
fi
|
338
|
+
}
|
179
339
|
|
180
340
|
# The name of this program:
|
181
|
-
# In the unlikely event $progname began with a '-', it would play havoc with
|
182
|
-
# func_echo (imagine progname=-n), so we prepend ./ in that case:
|
183
341
|
func_dirname_and_basename "$progpath"
|
184
342
|
progname=$func_basename_result
|
185
|
-
case $progname in
|
186
|
-
-*) progname=./$progname ;;
|
187
|
-
esac
|
188
343
|
|
189
344
|
# Make sure we have an absolute path for reexecution:
|
190
345
|
case $progpath in
|
@@ -258,6 +413,13 @@ func_verbose ()
|
|
258
413
|
:
|
259
414
|
}
|
260
415
|
|
416
|
+
# func_echo_all arg...
|
417
|
+
# Invoke $ECHO with all args, space-separated.
|
418
|
+
func_echo_all ()
|
419
|
+
{
|
420
|
+
$ECHO "$*"
|
421
|
+
}
|
422
|
+
|
261
423
|
# func_error arg...
|
262
424
|
# Echo program name prefixed message to standard error.
|
263
425
|
func_error ()
|
@@ -326,9 +488,9 @@ func_mkdir_p ()
|
|
326
488
|
case $my_directory_path in */*) ;; *) break ;; esac
|
327
489
|
|
328
490
|
# ...otherwise throw away the child directory and loop
|
329
|
-
my_directory_path=`$ECHO "
|
491
|
+
my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
|
330
492
|
done
|
331
|
-
my_dir_list=`$ECHO "
|
493
|
+
my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
|
332
494
|
|
333
495
|
save_mkdir_p_IFS="$IFS"; IFS=':'
|
334
496
|
for my_dir in $my_dir_list; do
|
@@ -378,7 +540,7 @@ func_mktempdir ()
|
|
378
540
|
func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
|
379
541
|
fi
|
380
542
|
|
381
|
-
$ECHO "
|
543
|
+
$ECHO "$my_tmpdir"
|
382
544
|
}
|
383
545
|
|
384
546
|
|
@@ -392,7 +554,7 @@ func_quote_for_eval ()
|
|
392
554
|
{
|
393
555
|
case $1 in
|
394
556
|
*[\\\`\"\$]*)
|
395
|
-
func_quote_for_eval_unquoted_result=`$ECHO "
|
557
|
+
func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
|
396
558
|
*)
|
397
559
|
func_quote_for_eval_unquoted_result="$1" ;;
|
398
560
|
esac
|
@@ -419,7 +581,7 @@ func_quote_for_expand ()
|
|
419
581
|
{
|
420
582
|
case $1 in
|
421
583
|
*[\\\`\"]*)
|
422
|
-
my_arg=`$ECHO "
|
584
|
+
my_arg=`$ECHO "$1" | $SED \
|
423
585
|
-e "$double_quote_subst" -e "$sed_double_backslash"` ;;
|
424
586
|
*)
|
425
587
|
my_arg="$1" ;;
|
@@ -489,14 +651,19 @@ func_show_eval_locale ()
|
|
489
651
|
}
|
490
652
|
|
491
653
|
|
492
|
-
|
493
|
-
|
494
|
-
|
495
654
|
# func_version
|
496
655
|
# Echo version message to standard output and exit.
|
497
656
|
func_version ()
|
498
657
|
{
|
499
|
-
$SED -n '
|
658
|
+
$SED -n '/(C)/!b go
|
659
|
+
:more
|
660
|
+
/\./!{
|
661
|
+
N
|
662
|
+
s/\n# / /
|
663
|
+
b more
|
664
|
+
}
|
665
|
+
:go
|
666
|
+
/^# '$PROGRAM' (GNU /,/# warranty; / {
|
500
667
|
s/^# //
|
501
668
|
s/^# *$//
|
502
669
|
s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
|
@@ -509,19 +676,20 @@ func_version ()
|
|
509
676
|
# Echo short help message to standard output and exit.
|
510
677
|
func_usage ()
|
511
678
|
{
|
512
|
-
$SED -n '/^# Usage
|
679
|
+
$SED -n '/^# Usage:/,/^# *.*--help/ {
|
513
680
|
s/^# //
|
514
681
|
s/^# *$//
|
515
682
|
s/\$progname/'$progname'/
|
516
683
|
p
|
517
684
|
}' < "$progpath"
|
518
|
-
|
685
|
+
echo
|
519
686
|
$ECHO "run \`$progname --help | more' for full usage"
|
520
687
|
exit $?
|
521
688
|
}
|
522
689
|
|
523
|
-
# func_help
|
524
|
-
# Echo long help message to standard output and exit
|
690
|
+
# func_help [NOEXIT]
|
691
|
+
# Echo long help message to standard output and exit,
|
692
|
+
# unless 'noexit' is passed as argument.
|
525
693
|
func_help ()
|
526
694
|
{
|
527
695
|
$SED -n '/^# Usage:/,/# Report bugs to/ {
|
@@ -538,7 +706,10 @@ func_help ()
|
|
538
706
|
s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
|
539
707
|
p
|
540
708
|
}' < "$progpath"
|
541
|
-
|
709
|
+
ret=$?
|
710
|
+
if test -z "$1"; then
|
711
|
+
exit $ret
|
712
|
+
fi
|
542
713
|
}
|
543
714
|
|
544
715
|
# func_missing_arg argname
|
@@ -546,7 +717,7 @@ func_help ()
|
|
546
717
|
# exit_cmd.
|
547
718
|
func_missing_arg ()
|
548
719
|
{
|
549
|
-
func_error "missing argument for $1"
|
720
|
+
func_error "missing argument for $1."
|
550
721
|
exit_cmd=exit
|
551
722
|
}
|
552
723
|
|
@@ -556,29 +727,6 @@ exit_cmd=:
|
|
556
727
|
|
557
728
|
|
558
729
|
|
559
|
-
# Check that we have a working $ECHO.
|
560
|
-
if test "X$1" = X--no-reexec; then
|
561
|
-
# Discard the --no-reexec flag, and continue.
|
562
|
-
shift
|
563
|
-
elif test "X$1" = X--fallback-echo; then
|
564
|
-
# Avoid inline document here, it may be left over
|
565
|
-
:
|
566
|
-
elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
|
567
|
-
# Yippee, $ECHO works!
|
568
|
-
:
|
569
|
-
else
|
570
|
-
# Restart under the correct shell, and then maybe $ECHO will work.
|
571
|
-
exec $SHELL "$progpath" --no-reexec ${1+"$@"}
|
572
|
-
fi
|
573
|
-
|
574
|
-
if test "X$1" = X--fallback-echo; then
|
575
|
-
# used as fallback echo
|
576
|
-
shift
|
577
|
-
cat <<EOF
|
578
|
-
$*
|
579
|
-
EOF
|
580
|
-
exit $EXIT_SUCCESS
|
581
|
-
fi
|
582
730
|
|
583
731
|
magic="%%%MAGIC variable%%%"
|
584
732
|
magic_exe="%%%MAGIC EXE variable%%%"
|
@@ -636,16 +784,16 @@ func_config ()
|
|
636
784
|
# Display the features supported by this script.
|
637
785
|
func_features ()
|
638
786
|
{
|
639
|
-
|
787
|
+
echo "host: $host"
|
640
788
|
if test "$build_libtool_libs" = yes; then
|
641
|
-
|
789
|
+
echo "enable shared libraries"
|
642
790
|
else
|
643
|
-
|
791
|
+
echo "disable shared libraries"
|
644
792
|
fi
|
645
793
|
if test "$build_old_libs" = yes; then
|
646
|
-
|
794
|
+
echo "enable static libraries"
|
647
795
|
else
|
648
|
-
|
796
|
+
echo "disable static libraries"
|
649
797
|
fi
|
650
798
|
|
651
799
|
exit $?
|
@@ -772,10 +920,21 @@ func_enable_tag ()
|
|
772
920
|
|
773
921
|
--quiet|--silent) preserve_args="$preserve_args $opt"
|
774
922
|
opt_silent=:
|
923
|
+
opt_verbose=false
|
924
|
+
;;
|
925
|
+
|
926
|
+
--no-quiet|--no-silent)
|
927
|
+
preserve_args="$preserve_args $opt"
|
928
|
+
opt_silent=false
|
775
929
|
;;
|
776
930
|
|
777
931
|
--verbose| -v) preserve_args="$preserve_args $opt"
|
778
932
|
opt_silent=false
|
933
|
+
opt_verbose=:
|
934
|
+
;;
|
935
|
+
|
936
|
+
--no-verbose) preserve_args="$preserve_args $opt"
|
937
|
+
opt_verbose=false
|
779
938
|
;;
|
780
939
|
|
781
940
|
--tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
|
@@ -793,6 +952,7 @@ func_enable_tag ()
|
|
793
952
|
|
794
953
|
-\?|-h) func_usage ;;
|
795
954
|
--help) opt_help=: ;;
|
955
|
+
--help-all) opt_help=': help-all' ;;
|
796
956
|
--version) func_version ;;
|
797
957
|
|
798
958
|
-*) func_fatal_help "unrecognized option \`$opt'" ;;
|
@@ -1016,10 +1176,13 @@ func_infer_tag ()
|
|
1016
1176
|
func_quote_for_eval "$arg"
|
1017
1177
|
CC_quoted="$CC_quoted $func_quote_for_eval_result"
|
1018
1178
|
done
|
1179
|
+
CC_expanded=`func_echo_all $CC`
|
1180
|
+
CC_quoted_expanded=`func_echo_all $CC_quoted`
|
1019
1181
|
case $@ in
|
1020
1182
|
# Blanks in the command may have been stripped by the calling shell,
|
1021
1183
|
# but not from the CC environment variable when configure was run.
|
1022
|
-
" $CC "* | "$CC "* | "
|
1184
|
+
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
|
1185
|
+
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
|
1023
1186
|
# Blanks at the start of $base_compile will cause this to fail
|
1024
1187
|
# if we don't check for them as well.
|
1025
1188
|
*)
|
@@ -1033,8 +1196,11 @@ func_infer_tag ()
|
|
1033
1196
|
func_quote_for_eval "$arg"
|
1034
1197
|
CC_quoted="$CC_quoted $func_quote_for_eval_result"
|
1035
1198
|
done
|
1199
|
+
CC_expanded=`func_echo_all $CC`
|
1200
|
+
CC_quoted_expanded=`func_echo_all $CC_quoted`
|
1036
1201
|
case "$@ " in
|
1037
|
-
|
1202
|
+
" $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
|
1203
|
+
" $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
|
1038
1204
|
# The compiler in the base compile command matches
|
1039
1205
|
# the one in the tagged configuration.
|
1040
1206
|
# Assume this is the tagged configuration we want.
|
@@ -1213,7 +1379,7 @@ func_mode_compile ()
|
|
1213
1379
|
*.[cCFSifmso] | \
|
1214
1380
|
*.ada | *.adb | *.ads | *.asm | \
|
1215
1381
|
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
|
1216
|
-
*.[fF][09]? | *.for | *.java | *.obj | *.sx)
|
1382
|
+
*.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
|
1217
1383
|
func_xform "$libobj"
|
1218
1384
|
libobj=$func_xform_result
|
1219
1385
|
;;
|
@@ -1288,7 +1454,7 @@ func_mode_compile ()
|
|
1288
1454
|
# Calculate the filename of the output object if compiler does
|
1289
1455
|
# not support -o with -c
|
1290
1456
|
if test "$compiler_c_o" = no; then
|
1291
|
-
output_obj=`$ECHO "
|
1457
|
+
output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
|
1292
1458
|
lockfile="$output_obj.lock"
|
1293
1459
|
else
|
1294
1460
|
output_obj=
|
@@ -1445,7 +1611,7 @@ compiler."
|
|
1445
1611
|
}
|
1446
1612
|
|
1447
1613
|
$opt_help || {
|
1448
|
-
test "$mode" = compile && func_mode_compile ${1+"$@"}
|
1614
|
+
test "$mode" = compile && func_mode_compile ${1+"$@"}
|
1449
1615
|
}
|
1450
1616
|
|
1451
1617
|
func_mode_help ()
|
@@ -1482,10 +1648,11 @@ This mode accepts the following additional options:
|
|
1482
1648
|
|
1483
1649
|
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
|
1484
1650
|
-no-suppress do not suppress compiler output for multiple passes
|
1485
|
-
-prefer-pic try to
|
1486
|
-
-prefer-non-pic try to
|
1651
|
+
-prefer-pic try to build PIC objects only
|
1652
|
+
-prefer-non-pic try to build non-PIC objects only
|
1487
1653
|
-shared do not build a \`.o' file suitable for static linking
|
1488
1654
|
-static only build a \`.o' file suitable for static linking
|
1655
|
+
-Wc,FLAG pass FLAG directly to the compiler
|
1489
1656
|
|
1490
1657
|
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
|
1491
1658
|
from the given SOURCEFILE.
|
@@ -1538,7 +1705,7 @@ either the \`install' or \`cp' program.
|
|
1538
1705
|
|
1539
1706
|
The following components of INSTALL-COMMAND are treated specially:
|
1540
1707
|
|
1541
|
-
-inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
|
1708
|
+
-inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
|
1542
1709
|
|
1543
1710
|
The rest of the components are interpreted as arguments to that command (only
|
1544
1711
|
BSD-compatible install options are recognized)."
|
@@ -1558,6 +1725,8 @@ The following components of LINK-COMMAND are treated specially:
|
|
1558
1725
|
|
1559
1726
|
-all-static do not do any dynamic linking at all
|
1560
1727
|
-avoid-version do not add a version suffix if possible
|
1728
|
+
-bindir BINDIR specify path to binaries directory (for systems where
|
1729
|
+
libraries must be found in the PATH setting at runtime)
|
1561
1730
|
-dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
|
1562
1731
|
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
|
1563
1732
|
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
|
@@ -1586,6 +1755,11 @@ The following components of LINK-COMMAND are treated specially:
|
|
1586
1755
|
-version-info CURRENT[:REVISION[:AGE]]
|
1587
1756
|
specify library version info [each variable defaults to 0]
|
1588
1757
|
-weak LIBNAME declare that the target provides the LIBNAME interface
|
1758
|
+
-Wc,FLAG
|
1759
|
+
-Xcompiler FLAG pass linker-specific FLAG directly to the compiler
|
1760
|
+
-Wl,FLAG
|
1761
|
+
-Xlinker FLAG pass linker-specific FLAG directly to the linker
|
1762
|
+
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
|
1589
1763
|
|
1590
1764
|
All other options (arguments beginning with \`-') are ignored.
|
1591
1765
|
|
@@ -1623,14 +1797,40 @@ Otherwise, only FILE itself is deleted using RM."
|
|
1623
1797
|
;;
|
1624
1798
|
esac
|
1625
1799
|
|
1626
|
-
|
1800
|
+
echo
|
1627
1801
|
$ECHO "Try \`$progname --help' for more information about other modes."
|
1628
|
-
|
1629
|
-
exit $?
|
1630
1802
|
}
|
1631
1803
|
|
1632
|
-
|
1633
|
-
|
1804
|
+
# Now that we've collected a possible --mode arg, show help if necessary
|
1805
|
+
if $opt_help; then
|
1806
|
+
if test "$opt_help" = :; then
|
1807
|
+
func_mode_help
|
1808
|
+
else
|
1809
|
+
{
|
1810
|
+
func_help noexit
|
1811
|
+
for mode in compile link execute install finish uninstall clean; do
|
1812
|
+
func_mode_help
|
1813
|
+
done
|
1814
|
+
} | sed -n '1p; 2,$s/^Usage:/ or: /p'
|
1815
|
+
{
|
1816
|
+
func_help noexit
|
1817
|
+
for mode in compile link execute install finish uninstall clean; do
|
1818
|
+
echo
|
1819
|
+
func_mode_help
|
1820
|
+
done
|
1821
|
+
} |
|
1822
|
+
sed '1d
|
1823
|
+
/^When reporting/,/^Report/{
|
1824
|
+
H
|
1825
|
+
d
|
1826
|
+
}
|
1827
|
+
$x
|
1828
|
+
/information about other modes/d
|
1829
|
+
/more detailed .*MODE/d
|
1830
|
+
s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
|
1831
|
+
fi
|
1832
|
+
exit $?
|
1833
|
+
fi
|
1634
1834
|
|
1635
1835
|
|
1636
1836
|
# func_mode_execute arg...
|
@@ -1712,7 +1912,7 @@ func_mode_execute ()
|
|
1712
1912
|
for file
|
1713
1913
|
do
|
1714
1914
|
case $file in
|
1715
|
-
-*) ;;
|
1915
|
+
-* | *.la | *.lo ) ;;
|
1716
1916
|
*)
|
1717
1917
|
# Do a test to see if this is really a libtool program.
|
1718
1918
|
if func_ltwrapper_script_p "$file"; then
|
@@ -1754,7 +1954,7 @@ func_mode_execute ()
|
|
1754
1954
|
# Display what would be done.
|
1755
1955
|
if test -n "$shlibpath_var"; then
|
1756
1956
|
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
|
1757
|
-
|
1957
|
+
echo "export $shlibpath_var"
|
1758
1958
|
fi
|
1759
1959
|
$ECHO "$cmd$args"
|
1760
1960
|
exit $EXIT_SUCCESS
|
@@ -1795,23 +1995,23 @@ func_mode_finish ()
|
|
1795
1995
|
# Exit here if they wanted silent mode.
|
1796
1996
|
$opt_silent && exit $EXIT_SUCCESS
|
1797
1997
|
|
1798
|
-
|
1799
|
-
|
1998
|
+
echo "----------------------------------------------------------------------"
|
1999
|
+
echo "Libraries have been installed in:"
|
1800
2000
|
for libdir in $libdirs; do
|
1801
2001
|
$ECHO " $libdir"
|
1802
2002
|
done
|
1803
|
-
|
1804
|
-
|
1805
|
-
|
1806
|
-
|
1807
|
-
|
2003
|
+
echo
|
2004
|
+
echo "If you ever happen to want to link against installed libraries"
|
2005
|
+
echo "in a given directory, LIBDIR, you must either use libtool, and"
|
2006
|
+
echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
|
2007
|
+
echo "flag during linking and do at least one of the following:"
|
1808
2008
|
if test -n "$shlibpath_var"; then
|
1809
|
-
|
1810
|
-
|
2009
|
+
echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
|
2010
|
+
echo " during execution"
|
1811
2011
|
fi
|
1812
2012
|
if test -n "$runpath_var"; then
|
1813
|
-
|
1814
|
-
|
2013
|
+
echo " - add LIBDIR to the \`$runpath_var' environment variable"
|
2014
|
+
echo " during linking"
|
1815
2015
|
fi
|
1816
2016
|
if test -n "$hardcode_libdir_flag_spec"; then
|
1817
2017
|
libdir=LIBDIR
|
@@ -1823,21 +2023,21 @@ func_mode_finish ()
|
|
1823
2023
|
$ECHO " - have your system administrator run these commands:$admincmds"
|
1824
2024
|
fi
|
1825
2025
|
if test -f /etc/ld.so.conf; then
|
1826
|
-
|
2026
|
+
echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
|
1827
2027
|
fi
|
1828
|
-
|
2028
|
+
echo
|
1829
2029
|
|
1830
|
-
|
2030
|
+
echo "See any operating system documentation about shared libraries for"
|
1831
2031
|
case $host in
|
1832
2032
|
solaris2.[6789]|solaris2.1[0-9])
|
1833
|
-
|
1834
|
-
|
2033
|
+
echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
|
2034
|
+
echo "pages."
|
1835
2035
|
;;
|
1836
2036
|
*)
|
1837
|
-
|
2037
|
+
echo "more information, such as the ld(1) and ld.so(8) manual pages."
|
1838
2038
|
;;
|
1839
2039
|
esac
|
1840
|
-
|
2040
|
+
echo "----------------------------------------------------------------------"
|
1841
2041
|
exit $EXIT_SUCCESS
|
1842
2042
|
}
|
1843
2043
|
|
@@ -1852,7 +2052,7 @@ func_mode_install ()
|
|
1852
2052
|
# install_prog (especially on Windows NT).
|
1853
2053
|
if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
|
1854
2054
|
# Allow the use of GNU shtool's install command.
|
1855
|
-
|
2055
|
+
case $nonopt in *shtool*) :;; *) false;; esac; then
|
1856
2056
|
# Aesthetically quote it.
|
1857
2057
|
func_quote_for_eval "$nonopt"
|
1858
2058
|
install_prog="$func_quote_for_eval_result "
|
@@ -1867,6 +2067,11 @@ func_mode_install ()
|
|
1867
2067
|
# Aesthetically quote it.
|
1868
2068
|
func_quote_for_eval "$arg"
|
1869
2069
|
install_prog="$install_prog$func_quote_for_eval_result"
|
2070
|
+
install_shared_prog=$install_prog
|
2071
|
+
case " $install_prog " in
|
2072
|
+
*[\\\ /]cp\ *) install_cp=: ;;
|
2073
|
+
*) install_cp=false ;;
|
2074
|
+
esac
|
1870
2075
|
|
1871
2076
|
# We need to accept at least all the BSD install flags.
|
1872
2077
|
dest=
|
@@ -1876,8 +2081,10 @@ func_mode_install ()
|
|
1876
2081
|
install_type=
|
1877
2082
|
isdir=no
|
1878
2083
|
stripme=
|
2084
|
+
no_mode=:
|
1879
2085
|
for arg
|
1880
2086
|
do
|
2087
|
+
arg2=
|
1881
2088
|
if test -n "$dest"; then
|
1882
2089
|
files="$files $dest"
|
1883
2090
|
dest=$arg
|
@@ -1887,10 +2094,9 @@ func_mode_install ()
|
|
1887
2094
|
case $arg in
|
1888
2095
|
-d) isdir=yes ;;
|
1889
2096
|
-f)
|
1890
|
-
|
1891
|
-
|
1892
|
-
|
1893
|
-
esac
|
2097
|
+
if $install_cp; then :; else
|
2098
|
+
prev=$arg
|
2099
|
+
fi
|
1894
2100
|
;;
|
1895
2101
|
-g | -m | -o)
|
1896
2102
|
prev=$arg
|
@@ -1904,6 +2110,10 @@ func_mode_install ()
|
|
1904
2110
|
*)
|
1905
2111
|
# If the previous option needed an argument, then skip it.
|
1906
2112
|
if test -n "$prev"; then
|
2113
|
+
if test "x$prev" = x-m && test -n "$install_override_mode"; then
|
2114
|
+
arg2=$install_override_mode
|
2115
|
+
no_mode=false
|
2116
|
+
fi
|
1907
2117
|
prev=
|
1908
2118
|
else
|
1909
2119
|
dest=$arg
|
@@ -1915,6 +2125,10 @@ func_mode_install ()
|
|
1915
2125
|
# Aesthetically quote the argument.
|
1916
2126
|
func_quote_for_eval "$arg"
|
1917
2127
|
install_prog="$install_prog $func_quote_for_eval_result"
|
2128
|
+
if test -n "$arg2"; then
|
2129
|
+
func_quote_for_eval "$arg2"
|
2130
|
+
fi
|
2131
|
+
install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
|
1918
2132
|
done
|
1919
2133
|
|
1920
2134
|
test -z "$install_prog" && \
|
@@ -1923,6 +2137,13 @@ func_mode_install ()
|
|
1923
2137
|
test -n "$prev" && \
|
1924
2138
|
func_fatal_help "the \`$prev' option requires an argument"
|
1925
2139
|
|
2140
|
+
if test -n "$install_override_mode" && $no_mode; then
|
2141
|
+
if $install_cp; then :; else
|
2142
|
+
func_quote_for_eval "$install_override_mode"
|
2143
|
+
install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
|
2144
|
+
fi
|
2145
|
+
fi
|
2146
|
+
|
1926
2147
|
if test -z "$files"; then
|
1927
2148
|
if test -z "$dest"; then
|
1928
2149
|
func_fatal_help "no file or destination specified"
|
@@ -2010,7 +2231,7 @@ func_mode_install ()
|
|
2010
2231
|
|
2011
2232
|
if test -n "$relink_command"; then
|
2012
2233
|
# Determine the prefix the user has applied to our future dir.
|
2013
|
-
inst_prefix_dir=`$ECHO "
|
2234
|
+
inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
|
2014
2235
|
|
2015
2236
|
# Don't allow the user to place us outside of our expected
|
2016
2237
|
# location b/c this prevents finding dependent libraries that
|
@@ -2023,9 +2244,9 @@ func_mode_install ()
|
|
2023
2244
|
|
2024
2245
|
if test -n "$inst_prefix_dir"; then
|
2025
2246
|
# Stick the inst_prefix_dir data into the link command.
|
2026
|
-
relink_command=`$ECHO "
|
2247
|
+
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
|
2027
2248
|
else
|
2028
|
-
relink_command=`$ECHO "
|
2249
|
+
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
|
2029
2250
|
fi
|
2030
2251
|
|
2031
2252
|
func_warning "relinking \`$file'"
|
@@ -2043,7 +2264,7 @@ func_mode_install ()
|
|
2043
2264
|
test -n "$relink_command" && srcname="$realname"T
|
2044
2265
|
|
2045
2266
|
# Install the shared library and build the symlinks.
|
2046
|
-
func_show_eval "$
|
2267
|
+
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
|
2047
2268
|
'exit $?'
|
2048
2269
|
tstripme="$stripme"
|
2049
2270
|
case $host_os in
|
@@ -2183,7 +2404,7 @@ func_mode_install ()
|
|
2183
2404
|
if test -f "$lib"; then
|
2184
2405
|
func_source "$lib"
|
2185
2406
|
fi
|
2186
|
-
libfile="$libdir/"`$ECHO "
|
2407
|
+
libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
|
2187
2408
|
if test -n "$libdir" && test ! -f "$libfile"; then
|
2188
2409
|
func_warning "\`$lib' has not been installed in \`$libdir'"
|
2189
2410
|
finalize=no
|
@@ -2202,7 +2423,7 @@ func_mode_install ()
|
|
2202
2423
|
file="$func_basename_result"
|
2203
2424
|
outputname="$tmpdir/$file"
|
2204
2425
|
# Replace the output file specification.
|
2205
|
-
relink_command=`$ECHO "
|
2426
|
+
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
|
2206
2427
|
|
2207
2428
|
$opt_silent || {
|
2208
2429
|
func_quote_for_expand "$relink_command"
|
@@ -2221,7 +2442,7 @@ func_mode_install ()
|
|
2221
2442
|
}
|
2222
2443
|
else
|
2223
2444
|
# Install the binary that we compiled earlier.
|
2224
|
-
file=`$ECHO "
|
2445
|
+
file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
|
2225
2446
|
fi
|
2226
2447
|
fi
|
2227
2448
|
|
@@ -2323,6 +2544,10 @@ func_generate_dlsyms ()
|
|
2323
2544
|
extern \"C\" {
|
2324
2545
|
#endif
|
2325
2546
|
|
2547
|
+
#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
|
2548
|
+
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
|
2549
|
+
#endif
|
2550
|
+
|
2326
2551
|
/* External symbol declarations for the compiler. */\
|
2327
2552
|
"
|
2328
2553
|
|
@@ -2332,7 +2557,7 @@ extern \"C\" {
|
|
2332
2557
|
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
|
2333
2558
|
|
2334
2559
|
# Add our own program objects to the symbol list.
|
2335
|
-
progfiles=`$ECHO "
|
2560
|
+
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
2336
2561
|
for progfile in $progfiles; do
|
2337
2562
|
func_verbose "extracting global C symbols from \`$progfile'"
|
2338
2563
|
$opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
|
@@ -2371,7 +2596,7 @@ extern \"C\" {
|
|
2371
2596
|
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
|
2372
2597
|
eval '$MV "$nlist"T "$nlist"'
|
2373
2598
|
case $host in
|
2374
|
-
*cygwin | *mingw* | *cegcc* )
|
2599
|
+
*cygwin* | *mingw* | *cegcc* )
|
2375
2600
|
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
|
2376
2601
|
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
|
2377
2602
|
;;
|
@@ -2415,10 +2640,10 @@ extern \"C\" {
|
|
2415
2640
|
if test -f "$nlist"S; then
|
2416
2641
|
eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
|
2417
2642
|
else
|
2418
|
-
|
2643
|
+
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
|
2419
2644
|
fi
|
2420
2645
|
|
2421
|
-
|
2646
|
+
echo >> "$output_objdir/$my_dlsyms" "\
|
2422
2647
|
|
2423
2648
|
/* The mapping between symbol names and symbols. */
|
2424
2649
|
typedef struct {
|
@@ -2428,7 +2653,7 @@ typedef struct {
|
|
2428
2653
|
"
|
2429
2654
|
case $host in
|
2430
2655
|
*cygwin* | *mingw* | *cegcc* )
|
2431
|
-
|
2656
|
+
echo >> "$output_objdir/$my_dlsyms" "\
|
2432
2657
|
/* DATA imports from DLLs on WIN32 con't be const, because
|
2433
2658
|
runtime relocations are performed -- see ld's documentation
|
2434
2659
|
on pseudo-relocs. */"
|
@@ -2441,7 +2666,7 @@ typedef struct {
|
|
2441
2666
|
lt_dlsym_const=const ;;
|
2442
2667
|
esac
|
2443
2668
|
|
2444
|
-
|
2669
|
+
echo >> "$output_objdir/$my_dlsyms" "\
|
2445
2670
|
extern $lt_dlsym_const lt_dlsymlist
|
2446
2671
|
lt_${my_prefix}_LTX_preloaded_symbols[];
|
2447
2672
|
$lt_dlsym_const lt_dlsymlist
|
@@ -2457,7 +2682,7 @@ lt_${my_prefix}_LTX_preloaded_symbols[] =
|
|
2457
2682
|
eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
|
2458
2683
|
;;
|
2459
2684
|
esac
|
2460
|
-
|
2685
|
+
echo >> "$output_objdir/$my_dlsyms" "\
|
2461
2686
|
{0, (void *) 0}
|
2462
2687
|
};
|
2463
2688
|
|
@@ -2515,16 +2740,16 @@ static const void *lt_preloaded_setup() {
|
|
2515
2740
|
case $host in
|
2516
2741
|
*cygwin* | *mingw* | *cegcc* )
|
2517
2742
|
if test -f "$output_objdir/$my_outputname.def"; then
|
2518
|
-
compile_command=`$ECHO "
|
2519
|
-
finalize_command=`$ECHO "
|
2743
|
+
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
2744
|
+
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
|
2520
2745
|
else
|
2521
|
-
compile_command=`$ECHO "
|
2522
|
-
finalize_command=`$ECHO "
|
2746
|
+
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
|
2747
|
+
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
|
2523
2748
|
fi
|
2524
2749
|
;;
|
2525
2750
|
*)
|
2526
|
-
compile_command=`$ECHO "
|
2527
|
-
finalize_command=`$ECHO "
|
2751
|
+
compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
|
2752
|
+
finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
|
2528
2753
|
;;
|
2529
2754
|
esac
|
2530
2755
|
;;
|
@@ -2538,8 +2763,8 @@ static const void *lt_preloaded_setup() {
|
|
2538
2763
|
# really was required.
|
2539
2764
|
|
2540
2765
|
# Nullify the symbol file.
|
2541
|
-
compile_command=`$ECHO "
|
2542
|
-
finalize_command=`$ECHO "
|
2766
|
+
compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
|
2767
|
+
finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
|
2543
2768
|
fi
|
2544
2769
|
}
|
2545
2770
|
|
@@ -2549,6 +2774,7 @@ static const void *lt_preloaded_setup() {
|
|
2549
2774
|
# Need a lot of goo to handle *both* DLLs and import libs
|
2550
2775
|
# Has to be a shell function in order to 'eat' the argument
|
2551
2776
|
# that is supplied when $file_magic_command is called.
|
2777
|
+
# Despite the name, also deal with 64 bit binaries.
|
2552
2778
|
func_win32_libid ()
|
2553
2779
|
{
|
2554
2780
|
$opt_debug
|
@@ -2559,8 +2785,9 @@ func_win32_libid ()
|
|
2559
2785
|
win32_libid_type="x86 archive import"
|
2560
2786
|
;;
|
2561
2787
|
*ar\ archive*) # could be an import, or static
|
2788
|
+
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
|
2562
2789
|
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
|
2563
|
-
$EGREP 'file format
|
2790
|
+
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
|
2564
2791
|
win32_nmres=`eval $NM -f posix -A $1 |
|
2565
2792
|
$SED -n -e '
|
2566
2793
|
1,100{
|
@@ -2598,7 +2825,18 @@ func_extract_an_archive ()
|
|
2598
2825
|
$opt_debug
|
2599
2826
|
f_ex_an_ar_dir="$1"; shift
|
2600
2827
|
f_ex_an_ar_oldlib="$1"
|
2601
|
-
|
2828
|
+
if test "$lock_old_archive_extraction" = yes; then
|
2829
|
+
lockfile=$f_ex_an_ar_oldlib.lock
|
2830
|
+
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
|
2831
|
+
func_echo "Waiting for $lockfile to be removed"
|
2832
|
+
sleep 2
|
2833
|
+
done
|
2834
|
+
fi
|
2835
|
+
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
|
2836
|
+
'stat=$?; rm -f "$lockfile"; exit $stat'
|
2837
|
+
if test "$lock_old_archive_extraction" = yes; then
|
2838
|
+
$opt_dry_run || rm -f "$lockfile"
|
2839
|
+
fi
|
2602
2840
|
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
|
2603
2841
|
:
|
2604
2842
|
else
|
@@ -2669,7 +2907,7 @@ func_extract_archives ()
|
|
2669
2907
|
darwin_file=
|
2670
2908
|
darwin_files=
|
2671
2909
|
for darwin_file in $darwin_filelist; do
|
2672
|
-
darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
|
2910
|
+
darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
|
2673
2911
|
$LIPO -create -output "$darwin_file" $darwin_files
|
2674
2912
|
done # $darwin_filelist
|
2675
2913
|
$RM -rf unfat-$$
|
@@ -2684,25 +2922,30 @@ func_extract_archives ()
|
|
2684
2922
|
func_extract_an_archive "$my_xdir" "$my_xabs"
|
2685
2923
|
;;
|
2686
2924
|
esac
|
2687
|
-
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
|
2925
|
+
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
|
2688
2926
|
done
|
2689
2927
|
|
2690
2928
|
func_extract_archives_result="$my_oldobjs"
|
2691
2929
|
}
|
2692
2930
|
|
2693
2931
|
|
2694
|
-
|
2695
|
-
# func_emit_wrapper_part1 [arg=no]
|
2932
|
+
# func_emit_wrapper [arg=no]
|
2696
2933
|
#
|
2697
|
-
# Emit
|
2698
|
-
#
|
2699
|
-
#
|
2700
|
-
|
2934
|
+
# Emit a libtool wrapper script on stdout.
|
2935
|
+
# Don't directly open a file because we may want to
|
2936
|
+
# incorporate the script contents within a cygwin/mingw
|
2937
|
+
# wrapper executable. Must ONLY be called from within
|
2938
|
+
# func_mode_link because it depends on a number of variables
|
2939
|
+
# set therein.
|
2940
|
+
#
|
2941
|
+
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
|
2942
|
+
# variable will take. If 'yes', then the emitted script
|
2943
|
+
# will assume that the directory in which it is stored is
|
2944
|
+
# the $objdir directory. This is a cygwin/mingw-specific
|
2945
|
+
# behavior.
|
2946
|
+
func_emit_wrapper ()
|
2701
2947
|
{
|
2702
|
-
|
2703
|
-
if test -n "$1" ; then
|
2704
|
-
func_emit_wrapper_part1_arg1=$1
|
2705
|
-
fi
|
2948
|
+
func_emit_wrapper_arg1=${1-no}
|
2706
2949
|
|
2707
2950
|
$ECHO "\
|
2708
2951
|
#! $SHELL
|
@@ -2718,7 +2961,6 @@ func_emit_wrapper_part1 ()
|
|
2718
2961
|
|
2719
2962
|
# Sed substitution that helps us do robust quoting. It backslashifies
|
2720
2963
|
# metacharacters that are still active within double-quoted strings.
|
2721
|
-
Xsed='${SED} -e 1s/^X//'
|
2722
2964
|
sed_quote_subst='$sed_quote_subst'
|
2723
2965
|
|
2724
2966
|
# Be Bourne compatible
|
@@ -2749,31 +2991,132 @@ if test \"\$libtool_install_magic\" = \"$magic\"; then
|
|
2749
2991
|
else
|
2750
2992
|
# When we are sourced in execute mode, \$file and \$ECHO are already set.
|
2751
2993
|
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
2752
|
-
|
2753
|
-
|
2754
|
-
|
2755
|
-
|
2756
|
-
|
2757
|
-
|
2758
|
-
|
2759
|
-
|
2760
|
-
|
2761
|
-
|
2762
|
-
|
2763
|
-
|
2764
|
-
|
2765
|
-
fi
|
2994
|
+
file=\"\$0\""
|
2995
|
+
|
2996
|
+
qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
|
2997
|
+
$ECHO "\
|
2998
|
+
|
2999
|
+
# A function that is used when there is no print builtin or printf.
|
3000
|
+
func_fallback_echo ()
|
3001
|
+
{
|
3002
|
+
eval 'cat <<_LTECHO_EOF
|
3003
|
+
\$1
|
3004
|
+
_LTECHO_EOF'
|
3005
|
+
}
|
3006
|
+
ECHO=\"$qECHO\"
|
3007
|
+
fi
|
3008
|
+
|
3009
|
+
# Very basic option parsing. These options are (a) specific to
|
3010
|
+
# the libtool wrapper, (b) are identical between the wrapper
|
3011
|
+
# /script/ and the wrapper /executable/ which is used only on
|
3012
|
+
# windows platforms, and (c) all begin with the string "--lt-"
|
3013
|
+
# (application programs are unlikely to have options which match
|
3014
|
+
# this pattern).
|
3015
|
+
#
|
3016
|
+
# There are only two supported options: --lt-debug and
|
3017
|
+
# --lt-dump-script. There is, deliberately, no --lt-help.
|
3018
|
+
#
|
3019
|
+
# The first argument to this parsing function should be the
|
3020
|
+
# script's $0 value, followed by "$@".
|
3021
|
+
lt_option_debug=
|
3022
|
+
func_parse_lt_options ()
|
3023
|
+
{
|
3024
|
+
lt_script_arg0=\$0
|
3025
|
+
shift
|
3026
|
+
for lt_opt
|
3027
|
+
do
|
3028
|
+
case \"\$lt_opt\" in
|
3029
|
+
--lt-debug) lt_option_debug=1 ;;
|
3030
|
+
--lt-dump-script)
|
3031
|
+
lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
|
3032
|
+
test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
|
3033
|
+
lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
|
3034
|
+
cat \"\$lt_dump_D/\$lt_dump_F\"
|
3035
|
+
exit 0
|
3036
|
+
;;
|
3037
|
+
--lt-*)
|
3038
|
+
\$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
|
3039
|
+
exit 1
|
3040
|
+
;;
|
3041
|
+
esac
|
3042
|
+
done
|
3043
|
+
|
3044
|
+
# Print the debug banner immediately:
|
3045
|
+
if test -n \"\$lt_option_debug\"; then
|
3046
|
+
echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
|
3047
|
+
fi
|
3048
|
+
}
|
3049
|
+
|
3050
|
+
# Used when --lt-debug. Prints its arguments to stdout
|
3051
|
+
# (redirection is the responsibility of the caller)
|
3052
|
+
func_lt_dump_args ()
|
3053
|
+
{
|
3054
|
+
lt_dump_args_N=1;
|
3055
|
+
for lt_arg
|
3056
|
+
do
|
3057
|
+
\$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
|
3058
|
+
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
|
3059
|
+
done
|
3060
|
+
}
|
3061
|
+
|
3062
|
+
# Core function for launching the target application
|
3063
|
+
func_exec_program_core ()
|
3064
|
+
{
|
2766
3065
|
"
|
2767
|
-
|
3066
|
+
case $host in
|
3067
|
+
# Backslashes separate directories on plain windows
|
3068
|
+
*-*-mingw | *-*-os2* | *-cegcc*)
|
3069
|
+
$ECHO "\
|
3070
|
+
if test -n \"\$lt_option_debug\"; then
|
3071
|
+
\$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
|
3072
|
+
func_lt_dump_args \${1+\"\$@\"} 1>&2
|
3073
|
+
fi
|
3074
|
+
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
|
3075
|
+
"
|
3076
|
+
;;
|
3077
|
+
|
3078
|
+
*)
|
3079
|
+
$ECHO "\
|
3080
|
+
if test -n \"\$lt_option_debug\"; then
|
3081
|
+
\$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
|
3082
|
+
func_lt_dump_args \${1+\"\$@\"} 1>&2
|
3083
|
+
fi
|
3084
|
+
exec \"\$progdir/\$program\" \${1+\"\$@\"}
|
3085
|
+
"
|
3086
|
+
;;
|
3087
|
+
esac
|
3088
|
+
$ECHO "\
|
3089
|
+
\$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
|
3090
|
+
exit 1
|
3091
|
+
}
|
3092
|
+
|
3093
|
+
# A function to encapsulate launching the target application
|
3094
|
+
# Strips options in the --lt-* namespace from \$@ and
|
3095
|
+
# launches target application with the remaining arguments.
|
3096
|
+
func_exec_program ()
|
3097
|
+
{
|
3098
|
+
for lt_wr_arg
|
3099
|
+
do
|
3100
|
+
case \$lt_wr_arg in
|
3101
|
+
--lt-*) ;;
|
3102
|
+
*) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
|
3103
|
+
esac
|
3104
|
+
shift
|
3105
|
+
done
|
3106
|
+
func_exec_program_core \${1+\"\$@\"}
|
3107
|
+
}
|
3108
|
+
|
3109
|
+
# Parse options
|
3110
|
+
func_parse_lt_options \"\$0\" \${1+\"\$@\"}
|
2768
3111
|
|
2769
3112
|
# Find the directory that this script lives in.
|
2770
|
-
thisdir=\`\$ECHO \"
|
3113
|
+
thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
|
2771
3114
|
test \"x\$thisdir\" = \"x\$file\" && thisdir=.
|
2772
3115
|
|
2773
3116
|
# Follow symbolic links until we get to the real thisdir.
|
2774
|
-
file=\`ls -ld \"\$file\" | $
|
3117
|
+
file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
|
2775
3118
|
while test -n \"\$file\"; do
|
2776
|
-
destdir=\`\$ECHO \"
|
3119
|
+
destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
|
2777
3120
|
|
2778
3121
|
# If there was a directory component, then change thisdir.
|
2779
3122
|
if test \"x\$destdir\" != \"x\$file\"; then
|
@@ -2783,30 +3126,13 @@ else
|
|
2783
3126
|
esac
|
2784
3127
|
fi
|
2785
3128
|
|
2786
|
-
file=\`\$ECHO \"
|
2787
|
-
file=\`ls -ld \"\$thisdir/\$file\" | $
|
3129
|
+
file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
|
3130
|
+
file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
|
2788
3131
|
done
|
2789
|
-
"
|
2790
|
-
}
|
2791
|
-
# end: func_emit_wrapper_part1
|
2792
|
-
|
2793
|
-
# func_emit_wrapper_part2 [arg=no]
|
2794
|
-
#
|
2795
|
-
# Emit the second part of a libtool wrapper script on stdout.
|
2796
|
-
# For more information, see the description associated with
|
2797
|
-
# func_emit_wrapper(), below.
|
2798
|
-
func_emit_wrapper_part2 ()
|
2799
|
-
{
|
2800
|
-
func_emit_wrapper_part2_arg1=no
|
2801
|
-
if test -n "$1" ; then
|
2802
|
-
func_emit_wrapper_part2_arg1=$1
|
2803
|
-
fi
|
2804
|
-
|
2805
|
-
$ECHO "\
|
2806
3132
|
|
2807
3133
|
# Usually 'no', except on cygwin/mingw when embedded into
|
2808
3134
|
# the cwrapper.
|
2809
|
-
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$
|
3135
|
+
WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
|
2810
3136
|
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
|
2811
3137
|
# special case for '.'
|
2812
3138
|
if test \"\$thisdir\" = \".\"; then
|
@@ -2814,7 +3140,7 @@ func_emit_wrapper_part2 ()
|
|
2814
3140
|
fi
|
2815
3141
|
# remove .libs from thisdir
|
2816
3142
|
case \"\$thisdir\" in
|
2817
|
-
*[\\\\/]$objdir ) thisdir=\`\$ECHO \"
|
3143
|
+
*[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
|
2818
3144
|
$objdir ) thisdir=. ;;
|
2819
3145
|
esac
|
2820
3146
|
fi
|
@@ -2877,7 +3203,7 @@ func_emit_wrapper_part2 ()
|
|
2877
3203
|
|
2878
3204
|
# Some systems cannot cope with colon-terminated $shlibpath_var
|
2879
3205
|
# The second colon is a workaround for a bug in BeOS R4 sed
|
2880
|
-
$shlibpath_var=\`\$ECHO \"
|
3206
|
+
$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
|
2881
3207
|
|
2882
3208
|
export $shlibpath_var
|
2883
3209
|
"
|
@@ -2894,64 +3220,18 @@ func_emit_wrapper_part2 ()
|
|
2894
3220
|
$ECHO "\
|
2895
3221
|
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
2896
3222
|
# Run the actual program with our arguments.
|
2897
|
-
"
|
2898
|
-
case $host in
|
2899
|
-
# Backslashes separate directories on plain windows
|
2900
|
-
*-*-mingw | *-*-os2* | *-cegcc*)
|
2901
|
-
$ECHO "\
|
2902
|
-
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
|
2903
|
-
"
|
2904
|
-
;;
|
2905
|
-
|
2906
|
-
*)
|
2907
|
-
$ECHO "\
|
2908
|
-
exec \"\$progdir/\$program\" \${1+\"\$@\"}
|
2909
|
-
"
|
2910
|
-
;;
|
2911
|
-
esac
|
2912
|
-
$ECHO "\
|
2913
|
-
\$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
|
2914
|
-
exit 1
|
3223
|
+
func_exec_program \${1+\"\$@\"}
|
2915
3224
|
fi
|
2916
3225
|
else
|
2917
3226
|
# The program doesn't exist.
|
2918
3227
|
\$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
|
2919
3228
|
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
|
2920
|
-
|
3229
|
+
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
|
2921
3230
|
exit 1
|
2922
3231
|
fi
|
2923
3232
|
fi\
|
2924
3233
|
"
|
2925
3234
|
}
|
2926
|
-
# end: func_emit_wrapper_part2
|
2927
|
-
|
2928
|
-
|
2929
|
-
# func_emit_wrapper [arg=no]
|
2930
|
-
#
|
2931
|
-
# Emit a libtool wrapper script on stdout.
|
2932
|
-
# Don't directly open a file because we may want to
|
2933
|
-
# incorporate the script contents within a cygwin/mingw
|
2934
|
-
# wrapper executable. Must ONLY be called from within
|
2935
|
-
# func_mode_link because it depends on a number of variables
|
2936
|
-
# set therein.
|
2937
|
-
#
|
2938
|
-
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
|
2939
|
-
# variable will take. If 'yes', then the emitted script
|
2940
|
-
# will assume that the directory in which it is stored is
|
2941
|
-
# the $objdir directory. This is a cygwin/mingw-specific
|
2942
|
-
# behavior.
|
2943
|
-
func_emit_wrapper ()
|
2944
|
-
{
|
2945
|
-
func_emit_wrapper_arg1=no
|
2946
|
-
if test -n "$1" ; then
|
2947
|
-
func_emit_wrapper_arg1=$1
|
2948
|
-
fi
|
2949
|
-
|
2950
|
-
# split this up so that func_emit_cwrapperexe_src
|
2951
|
-
# can call each part independently.
|
2952
|
-
func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
|
2953
|
-
func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
|
2954
|
-
}
|
2955
3235
|
|
2956
3236
|
|
2957
3237
|
# func_to_host_path arg
|
@@ -2978,23 +3258,19 @@ func_emit_wrapper ()
|
|
2978
3258
|
func_to_host_path ()
|
2979
3259
|
{
|
2980
3260
|
func_to_host_path_result="$1"
|
2981
|
-
if test -n "$1"
|
3261
|
+
if test -n "$1"; then
|
2982
3262
|
case $host in
|
2983
3263
|
*mingw* )
|
2984
3264
|
lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
|
2985
3265
|
case $build in
|
2986
3266
|
*mingw* ) # actually, msys
|
2987
3267
|
# awkward: cmd appends spaces to result
|
2988
|
-
|
2989
|
-
|
2990
|
-
$SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
|
2991
|
-
func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
|
2992
|
-
$SED -e "$lt_sed_naive_backslashify"`
|
3268
|
+
func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
|
3269
|
+
$SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
|
2993
3270
|
;;
|
2994
3271
|
*cygwin* )
|
2995
|
-
|
2996
|
-
|
2997
|
-
$SED -e "$lt_sed_naive_backslashify"`
|
3272
|
+
func_to_host_path_result=`cygpath -w "$1" |
|
3273
|
+
$SED -e "$lt_sed_naive_backslashify"`
|
2998
3274
|
;;
|
2999
3275
|
* )
|
3000
3276
|
# Unfortunately, winepath does not exit with a non-zero
|
@@ -3006,17 +3282,17 @@ func_to_host_path ()
|
|
3006
3282
|
# the odd construction:
|
3007
3283
|
func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
|
3008
3284
|
if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
|
3009
|
-
func_to_host_path_result
|
3285
|
+
func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
|
3010
3286
|
$SED -e "$lt_sed_naive_backslashify"`
|
3011
3287
|
else
|
3012
3288
|
# Allow warning below.
|
3013
|
-
func_to_host_path_result=
|
3289
|
+
func_to_host_path_result=
|
3014
3290
|
fi
|
3015
3291
|
;;
|
3016
3292
|
esac
|
3017
3293
|
if test -z "$func_to_host_path_result" ; then
|
3018
3294
|
func_error "Could not determine host path corresponding to"
|
3019
|
-
func_error "
|
3295
|
+
func_error " \`$1'"
|
3020
3296
|
func_error "Continuing, but uninstalled executables may not work."
|
3021
3297
|
# Fallback:
|
3022
3298
|
func_to_host_path_result="$1"
|
@@ -3049,30 +3325,24 @@ func_to_host_path ()
|
|
3049
3325
|
func_to_host_pathlist ()
|
3050
3326
|
{
|
3051
3327
|
func_to_host_pathlist_result="$1"
|
3052
|
-
if test -n "$1"
|
3328
|
+
if test -n "$1"; then
|
3053
3329
|
case $host in
|
3054
3330
|
*mingw* )
|
3055
3331
|
lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
|
3056
3332
|
# Remove leading and trailing path separator characters from
|
3057
3333
|
# ARG. msys behavior is inconsistent here, cygpath turns them
|
3058
3334
|
# into '.;' and ';.', and winepath ignores them completely.
|
3059
|
-
|
3060
|
-
|
3061
|
-
# reassigned. It is used in tha fallback case.
|
3062
|
-
func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
|
3063
|
-
$SED -e 's|^:*||' -e 's|:*$||'`
|
3335
|
+
func_stripname : : "$1"
|
3336
|
+
func_to_host_pathlist_tmp1=$func_stripname_result
|
3064
3337
|
case $build in
|
3065
3338
|
*mingw* ) # Actually, msys.
|
3066
3339
|
# Awkward: cmd appends spaces to result.
|
3067
|
-
|
3068
|
-
|
3069
|
-
|
3070
|
-
func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
|
3071
|
-
$SED -e "$lt_sed_naive_backslashify"`
|
3340
|
+
func_to_host_pathlist_result=`
|
3341
|
+
( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
|
3342
|
+
$SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
|
3072
3343
|
;;
|
3073
3344
|
*cygwin* )
|
3074
|
-
|
3075
|
-
func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
|
3345
|
+
func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
|
3076
3346
|
$SED -e "$lt_sed_naive_backslashify"`
|
3077
3347
|
;;
|
3078
3348
|
* )
|
@@ -3088,18 +3358,17 @@ func_to_host_pathlist ()
|
|
3088
3358
|
if test -z "$func_to_host_pathlist_result" ; then
|
3089
3359
|
func_to_host_pathlist_result="$func_to_host_path_result"
|
3090
3360
|
else
|
3091
|
-
func_to_host_pathlist_result
|
3361
|
+
func_append func_to_host_pathlist_result ";$func_to_host_path_result"
|
3092
3362
|
fi
|
3093
3363
|
fi
|
3094
3364
|
fi
|
3095
|
-
IFS=:
|
3096
3365
|
done
|
3097
3366
|
IFS=$func_to_host_pathlist_oldIFS
|
3098
3367
|
;;
|
3099
3368
|
esac
|
3100
|
-
if test -z "$func_to_host_pathlist_result"
|
3369
|
+
if test -z "$func_to_host_pathlist_result"; then
|
3101
3370
|
func_error "Could not determine the host path(s) corresponding to"
|
3102
|
-
func_error "
|
3371
|
+
func_error " \`$1'"
|
3103
3372
|
func_error "Continuing, but uninstalled executables may not work."
|
3104
3373
|
# Fallback. This may break if $1 contains DOS-style drive
|
3105
3374
|
# specifications. The fix is not to complicate the expression
|
@@ -3116,7 +3385,7 @@ func_to_host_pathlist ()
|
|
3116
3385
|
;;
|
3117
3386
|
esac
|
3118
3387
|
case "$1" in
|
3119
|
-
*: ) func_to_host_pathlist_result
|
3388
|
+
*: ) func_append func_to_host_pathlist_result ";"
|
3120
3389
|
;;
|
3121
3390
|
esac
|
3122
3391
|
;;
|
@@ -3141,31 +3410,23 @@ func_emit_cwrapperexe_src ()
|
|
3141
3410
|
|
3142
3411
|
This wrapper executable should never be moved out of the build directory.
|
3143
3412
|
If it is, it will not operate correctly.
|
3144
|
-
|
3145
|
-
Currently, it simply execs the wrapper *script* "$SHELL $output",
|
3146
|
-
but could eventually absorb all of the scripts functionality and
|
3147
|
-
exec $objdir/$outputname directly.
|
3148
3413
|
*/
|
3149
3414
|
EOF
|
3150
3415
|
cat <<"EOF"
|
3416
|
+
#ifdef _MSC_VER
|
3417
|
+
# define _CRT_SECURE_NO_DEPRECATE 1
|
3418
|
+
#endif
|
3151
3419
|
#include <stdio.h>
|
3152
3420
|
#include <stdlib.h>
|
3153
3421
|
#ifdef _MSC_VER
|
3154
3422
|
# include <direct.h>
|
3155
3423
|
# include <process.h>
|
3156
3424
|
# include <io.h>
|
3157
|
-
# define setmode _setmode
|
3158
3425
|
#else
|
3159
3426
|
# include <unistd.h>
|
3160
3427
|
# include <stdint.h>
|
3161
3428
|
# ifdef __CYGWIN__
|
3162
3429
|
# include <io.h>
|
3163
|
-
# define HAVE_SETENV
|
3164
|
-
# ifdef __STRICT_ANSI__
|
3165
|
-
char *realpath (const char *, char *);
|
3166
|
-
int putenv (char *);
|
3167
|
-
int setenv (const char *, const char *, int);
|
3168
|
-
# endif
|
3169
3430
|
# endif
|
3170
3431
|
#endif
|
3171
3432
|
#include <malloc.h>
|
@@ -3177,6 +3438,44 @@ int setenv (const char *, const char *, int);
|
|
3177
3438
|
#include <fcntl.h>
|
3178
3439
|
#include <sys/stat.h>
|
3179
3440
|
|
3441
|
+
/* declarations of non-ANSI functions */
|
3442
|
+
#if defined(__MINGW32__)
|
3443
|
+
# ifdef __STRICT_ANSI__
|
3444
|
+
int _putenv (const char *);
|
3445
|
+
# endif
|
3446
|
+
#elif defined(__CYGWIN__)
|
3447
|
+
# ifdef __STRICT_ANSI__
|
3448
|
+
char *realpath (const char *, char *);
|
3449
|
+
int putenv (char *);
|
3450
|
+
int setenv (const char *, const char *, int);
|
3451
|
+
# endif
|
3452
|
+
/* #elif defined (other platforms) ... */
|
3453
|
+
#endif
|
3454
|
+
|
3455
|
+
/* portability defines, excluding path handling macros */
|
3456
|
+
#if defined(_MSC_VER)
|
3457
|
+
# define setmode _setmode
|
3458
|
+
# define stat _stat
|
3459
|
+
# define chmod _chmod
|
3460
|
+
# define getcwd _getcwd
|
3461
|
+
# define putenv _putenv
|
3462
|
+
# define S_IXUSR _S_IEXEC
|
3463
|
+
# ifndef _INTPTR_T_DEFINED
|
3464
|
+
# define _INTPTR_T_DEFINED
|
3465
|
+
# define intptr_t int
|
3466
|
+
# endif
|
3467
|
+
#elif defined(__MINGW32__)
|
3468
|
+
# define setmode _setmode
|
3469
|
+
# define stat _stat
|
3470
|
+
# define chmod _chmod
|
3471
|
+
# define getcwd _getcwd
|
3472
|
+
# define putenv _putenv
|
3473
|
+
#elif defined(__CYGWIN__)
|
3474
|
+
# define HAVE_SETENV
|
3475
|
+
# define FOPEN_WB "wb"
|
3476
|
+
/* #elif defined (other platforms) ... */
|
3477
|
+
#endif
|
3478
|
+
|
3180
3479
|
#if defined(PATH_MAX)
|
3181
3480
|
# define LT_PATHMAX PATH_MAX
|
3182
3481
|
#elif defined(MAXPATHLEN)
|
@@ -3192,14 +3491,7 @@ int setenv (const char *, const char *, int);
|
|
3192
3491
|
# define S_IXGRP 0
|
3193
3492
|
#endif
|
3194
3493
|
|
3195
|
-
|
3196
|
-
# define S_IXUSR _S_IEXEC
|
3197
|
-
# define stat _stat
|
3198
|
-
# ifndef _INTPTR_T_DEFINED
|
3199
|
-
# define intptr_t int
|
3200
|
-
# endif
|
3201
|
-
#endif
|
3202
|
-
|
3494
|
+
/* path handling portability macros */
|
3203
3495
|
#ifndef DIR_SEPARATOR
|
3204
3496
|
# define DIR_SEPARATOR '/'
|
3205
3497
|
# define PATH_SEPARATOR ':'
|
@@ -3230,10 +3522,6 @@ int setenv (const char *, const char *, int);
|
|
3230
3522
|
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
|
3231
3523
|
#endif /* PATH_SEPARATOR_2 */
|
3232
3524
|
|
3233
|
-
#ifdef __CYGWIN__
|
3234
|
-
# define FOPEN_WB "wb"
|
3235
|
-
#endif
|
3236
|
-
|
3237
3525
|
#ifndef FOPEN_WB
|
3238
3526
|
# define FOPEN_WB "w"
|
3239
3527
|
#endif
|
@@ -3246,22 +3534,13 @@ int setenv (const char *, const char *, int);
|
|
3246
3534
|
if (stale) { free ((void *) stale); stale = 0; } \
|
3247
3535
|
} while (0)
|
3248
3536
|
|
3249
|
-
#
|
3250
|
-
|
3251
|
-
# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
|
3252
|
-
static void
|
3253
|
-
ltwrapper_debugprintf (const char *fmt, ...)
|
3254
|
-
{
|
3255
|
-
va_list args;
|
3256
|
-
va_start (args, fmt);
|
3257
|
-
(void) vfprintf (stderr, fmt, args);
|
3258
|
-
va_end (args);
|
3259
|
-
}
|
3537
|
+
#if defined(LT_DEBUGWRAPPER)
|
3538
|
+
static int lt_debug = 1;
|
3260
3539
|
#else
|
3261
|
-
|
3540
|
+
static int lt_debug = 0;
|
3262
3541
|
#endif
|
3263
3542
|
|
3264
|
-
const char *program_name =
|
3543
|
+
const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
|
3265
3544
|
|
3266
3545
|
void *xmalloc (size_t num);
|
3267
3546
|
char *xstrdup (const char *string);
|
@@ -3271,31 +3550,17 @@ char *chase_symlinks (const char *pathspec);
|
|
3271
3550
|
int make_executable (const char *path);
|
3272
3551
|
int check_executable (const char *path);
|
3273
3552
|
char *strendzap (char *str, const char *pat);
|
3274
|
-
void
|
3553
|
+
void lt_debugprintf (const char *file, int line, const char *fmt, ...);
|
3554
|
+
void lt_fatal (const char *file, int line, const char *message, ...);
|
3555
|
+
static const char *nonnull (const char *s);
|
3556
|
+
static const char *nonempty (const char *s);
|
3275
3557
|
void lt_setenv (const char *name, const char *value);
|
3276
3558
|
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
|
3277
|
-
void lt_opt_process_env_set (const char *arg);
|
3278
|
-
void lt_opt_process_env_prepend (const char *arg);
|
3279
|
-
void lt_opt_process_env_append (const char *arg);
|
3280
|
-
int lt_split_name_value (const char *arg, char** name, char** value);
|
3281
3559
|
void lt_update_exe_path (const char *name, const char *value);
|
3282
3560
|
void lt_update_lib_path (const char *name, const char *value);
|
3283
|
-
|
3284
|
-
|
3285
|
-
EOF
|
3286
|
-
|
3287
|
-
func_emit_wrapper_part1 yes |
|
3288
|
-
$SED -e 's/\([\\"]\)/\\\1/g' \
|
3289
|
-
-e 's/^/ "/' -e 's/$/\\n"/'
|
3290
|
-
echo ";"
|
3291
|
-
cat <<EOF
|
3292
|
-
|
3293
|
-
static const char *script_text_part2 =
|
3561
|
+
char **prepare_spawn (char **argv);
|
3562
|
+
void lt_dump_script (FILE *f);
|
3294
3563
|
EOF
|
3295
|
-
func_emit_wrapper_part2 yes |
|
3296
|
-
$SED -e 's/\([\\"]\)/\\\1/g' \
|
3297
|
-
-e 's/^/ "/' -e 's/$/\\n"/'
|
3298
|
-
echo ";"
|
3299
3564
|
|
3300
3565
|
cat <<EOF
|
3301
3566
|
const char * MAGIC_EXE = "$magic_exe";
|
@@ -3340,24 +3605,10 @@ EOF
|
|
3340
3605
|
cat <<"EOF"
|
3341
3606
|
|
3342
3607
|
#define LTWRAPPER_OPTION_PREFIX "--lt-"
|
3343
|
-
#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
|
3344
3608
|
|
3345
|
-
static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
|
3346
3609
|
static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
|
3347
|
-
|
3348
3610
|
static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
|
3349
|
-
|
3350
|
-
static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
|
3351
|
-
static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
|
3352
|
-
/* argument is putenv-style "foo=bar", value of foo is set to bar */
|
3353
|
-
|
3354
|
-
static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
|
3355
|
-
static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
|
3356
|
-
/* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
|
3357
|
-
|
3358
|
-
static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
|
3359
|
-
static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
|
3360
|
-
/* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
|
3611
|
+
static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
|
3361
3612
|
|
3362
3613
|
int
|
3363
3614
|
main (int argc, char *argv[])
|
@@ -3374,10 +3625,13 @@ main (int argc, char *argv[])
|
|
3374
3625
|
int i;
|
3375
3626
|
|
3376
3627
|
program_name = (char *) xstrdup (base_name (argv[0]));
|
3377
|
-
|
3378
|
-
LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
|
3628
|
+
newargz = XMALLOC (char *, argc + 1);
|
3379
3629
|
|
3380
|
-
/* very simple arg parsing; don't want to rely on getopt
|
3630
|
+
/* very simple arg parsing; don't want to rely on getopt
|
3631
|
+
* also, copy all non cwrapper options to newargz, except
|
3632
|
+
* argz[0], which is handled differently
|
3633
|
+
*/
|
3634
|
+
newargc=0;
|
3381
3635
|
for (i = 1; i < argc; i++)
|
3382
3636
|
{
|
3383
3637
|
if (strcmp (argv[i], dumpscript_opt) == 0)
|
@@ -3391,25 +3645,57 @@ EOF
|
|
3391
3645
|
esac
|
3392
3646
|
|
3393
3647
|
cat <<"EOF"
|
3394
|
-
|
3395
|
-
printf ("%s", script_text_part2);
|
3648
|
+
lt_dump_script (stdout);
|
3396
3649
|
return 0;
|
3397
3650
|
}
|
3651
|
+
if (strcmp (argv[i], debug_opt) == 0)
|
3652
|
+
{
|
3653
|
+
lt_debug = 1;
|
3654
|
+
continue;
|
3655
|
+
}
|
3656
|
+
if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
|
3657
|
+
{
|
3658
|
+
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
|
3659
|
+
namespace, but it is not one of the ones we know about and
|
3660
|
+
have already dealt with, above (inluding dump-script), then
|
3661
|
+
report an error. Otherwise, targets might begin to believe
|
3662
|
+
they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
|
3663
|
+
namespace. The first time any user complains about this, we'll
|
3664
|
+
need to make LTWRAPPER_OPTION_PREFIX a configure-time option
|
3665
|
+
or a configure.ac-settable value.
|
3666
|
+
*/
|
3667
|
+
lt_fatal (__FILE__, __LINE__,
|
3668
|
+
"unrecognized %s option: '%s'",
|
3669
|
+
ltwrapper_option_prefix, argv[i]);
|
3670
|
+
}
|
3671
|
+
/* otherwise ... */
|
3672
|
+
newargz[++newargc] = xstrdup (argv[i]);
|
3398
3673
|
}
|
3674
|
+
newargz[++newargc] = NULL;
|
3675
|
+
|
3676
|
+
EOF
|
3677
|
+
cat <<EOF
|
3678
|
+
/* The GNU banner must be the first non-error debug message */
|
3679
|
+
lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
|
3680
|
+
EOF
|
3681
|
+
cat <<"EOF"
|
3682
|
+
lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
|
3683
|
+
lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
|
3399
3684
|
|
3400
|
-
newargz = XMALLOC (char *, argc + 1);
|
3401
3685
|
tmp_pathspec = find_executable (argv[0]);
|
3402
3686
|
if (tmp_pathspec == NULL)
|
3403
|
-
lt_fatal ("
|
3404
|
-
|
3405
|
-
|
3687
|
+
lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
|
3688
|
+
lt_debugprintf (__FILE__, __LINE__,
|
3689
|
+
"(main) found exe (before symlink chase) at: %s\n",
|
3690
|
+
tmp_pathspec);
|
3406
3691
|
|
3407
3692
|
actual_cwrapper_path = chase_symlinks (tmp_pathspec);
|
3408
|
-
|
3409
|
-
|
3693
|
+
lt_debugprintf (__FILE__, __LINE__,
|
3694
|
+
"(main) found exe (after symlink chase) at: %s\n",
|
3695
|
+
actual_cwrapper_path);
|
3410
3696
|
XFREE (tmp_pathspec);
|
3411
3697
|
|
3412
|
-
actual_cwrapper_name = xstrdup(
|
3698
|
+
actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
|
3413
3699
|
strendzap (actual_cwrapper_path, actual_cwrapper_name);
|
3414
3700
|
|
3415
3701
|
/* wrapper name transforms */
|
@@ -3427,8 +3713,9 @@ EOF
|
|
3427
3713
|
target_name = tmp_pathspec;
|
3428
3714
|
tmp_pathspec = 0;
|
3429
3715
|
|
3430
|
-
|
3431
|
-
|
3716
|
+
lt_debugprintf (__FILE__, __LINE__,
|
3717
|
+
"(main) libtool target name: %s\n",
|
3718
|
+
target_name);
|
3432
3719
|
EOF
|
3433
3720
|
|
3434
3721
|
cat <<EOF
|
@@ -3481,77 +3768,12 @@ EOF
|
|
3481
3768
|
lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
|
3482
3769
|
lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
|
3483
3770
|
|
3484
|
-
|
3485
|
-
|
3486
|
-
{
|
3487
|
-
if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
|
3488
|
-
{
|
3489
|
-
if (argv[i][env_set_opt_len] == '=')
|
3490
|
-
{
|
3491
|
-
const char *p = argv[i] + env_set_opt_len + 1;
|
3492
|
-
lt_opt_process_env_set (p);
|
3493
|
-
}
|
3494
|
-
else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
|
3495
|
-
{
|
3496
|
-
lt_opt_process_env_set (argv[++i]); /* don't copy */
|
3497
|
-
}
|
3498
|
-
else
|
3499
|
-
lt_fatal ("%s missing required argument", env_set_opt);
|
3500
|
-
continue;
|
3501
|
-
}
|
3502
|
-
if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
|
3503
|
-
{
|
3504
|
-
if (argv[i][env_prepend_opt_len] == '=')
|
3505
|
-
{
|
3506
|
-
const char *p = argv[i] + env_prepend_opt_len + 1;
|
3507
|
-
lt_opt_process_env_prepend (p);
|
3508
|
-
}
|
3509
|
-
else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
|
3510
|
-
{
|
3511
|
-
lt_opt_process_env_prepend (argv[++i]); /* don't copy */
|
3512
|
-
}
|
3513
|
-
else
|
3514
|
-
lt_fatal ("%s missing required argument", env_prepend_opt);
|
3515
|
-
continue;
|
3516
|
-
}
|
3517
|
-
if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
|
3518
|
-
{
|
3519
|
-
if (argv[i][env_append_opt_len] == '=')
|
3520
|
-
{
|
3521
|
-
const char *p = argv[i] + env_append_opt_len + 1;
|
3522
|
-
lt_opt_process_env_append (p);
|
3523
|
-
}
|
3524
|
-
else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
|
3525
|
-
{
|
3526
|
-
lt_opt_process_env_append (argv[++i]); /* don't copy */
|
3527
|
-
}
|
3528
|
-
else
|
3529
|
-
lt_fatal ("%s missing required argument", env_append_opt);
|
3530
|
-
continue;
|
3531
|
-
}
|
3532
|
-
if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
|
3533
|
-
{
|
3534
|
-
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
|
3535
|
-
namespace, but it is not one of the ones we know about and
|
3536
|
-
have already dealt with, above (inluding dump-script), then
|
3537
|
-
report an error. Otherwise, targets might begin to believe
|
3538
|
-
they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
|
3539
|
-
namespace. The first time any user complains about this, we'll
|
3540
|
-
need to make LTWRAPPER_OPTION_PREFIX a configure-time option
|
3541
|
-
or a configure.ac-settable value.
|
3542
|
-
*/
|
3543
|
-
lt_fatal ("Unrecognized option in %s namespace: '%s'",
|
3544
|
-
ltwrapper_option_prefix, argv[i]);
|
3545
|
-
}
|
3546
|
-
/* otherwise ... */
|
3547
|
-
newargz[++newargc] = xstrdup (argv[i]);
|
3548
|
-
}
|
3549
|
-
newargz[++newargc] = NULL;
|
3550
|
-
|
3551
|
-
LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
|
3771
|
+
lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
|
3772
|
+
nonnull (lt_argv_zero));
|
3552
3773
|
for (i = 0; i < newargc; i++)
|
3553
3774
|
{
|
3554
|
-
|
3775
|
+
lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
|
3776
|
+
i, nonnull (newargz[i]));
|
3555
3777
|
}
|
3556
3778
|
|
3557
3779
|
EOF
|
@@ -3560,11 +3782,14 @@ EOF
|
|
3560
3782
|
mingw*)
|
3561
3783
|
cat <<"EOF"
|
3562
3784
|
/* execv doesn't actually work on mingw as expected on unix */
|
3785
|
+
newargz = prepare_spawn (newargz);
|
3563
3786
|
rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
|
3564
3787
|
if (rval == -1)
|
3565
3788
|
{
|
3566
3789
|
/* failed to start process */
|
3567
|
-
|
3790
|
+
lt_debugprintf (__FILE__, __LINE__,
|
3791
|
+
"(main) failed to launch target \"%s\": %s\n",
|
3792
|
+
lt_argv_zero, nonnull (strerror (errno)));
|
3568
3793
|
return 127;
|
3569
3794
|
}
|
3570
3795
|
return rval;
|
@@ -3586,7 +3811,7 @@ xmalloc (size_t num)
|
|
3586
3811
|
{
|
3587
3812
|
void *p = (void *) malloc (num);
|
3588
3813
|
if (!p)
|
3589
|
-
lt_fatal ("
|
3814
|
+
lt_fatal (__FILE__, __LINE__, "memory exhausted");
|
3590
3815
|
|
3591
3816
|
return p;
|
3592
3817
|
}
|
@@ -3620,8 +3845,8 @@ check_executable (const char *path)
|
|
3620
3845
|
{
|
3621
3846
|
struct stat st;
|
3622
3847
|
|
3623
|
-
|
3624
|
-
|
3848
|
+
lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
|
3849
|
+
nonempty (path));
|
3625
3850
|
if ((!path) || (!*path))
|
3626
3851
|
return 0;
|
3627
3852
|
|
@@ -3638,8 +3863,8 @@ make_executable (const char *path)
|
|
3638
3863
|
int rval = 0;
|
3639
3864
|
struct stat st;
|
3640
3865
|
|
3641
|
-
|
3642
|
-
|
3866
|
+
lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
|
3867
|
+
nonempty (path));
|
3643
3868
|
if ((!path) || (!*path))
|
3644
3869
|
return 0;
|
3645
3870
|
|
@@ -3665,8 +3890,8 @@ find_executable (const char *wrapper)
|
|
3665
3890
|
int tmp_len;
|
3666
3891
|
char *concat_name;
|
3667
3892
|
|
3668
|
-
|
3669
|
-
|
3893
|
+
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
|
3894
|
+
nonempty (wrapper));
|
3670
3895
|
|
3671
3896
|
if ((wrapper == NULL) || (*wrapper == '\0'))
|
3672
3897
|
return NULL;
|
@@ -3719,7 +3944,8 @@ find_executable (const char *wrapper)
|
|
3719
3944
|
{
|
3720
3945
|
/* empty path: current directory */
|
3721
3946
|
if (getcwd (tmp, LT_PATHMAX) == NULL)
|
3722
|
-
lt_fatal ("getcwd failed"
|
3947
|
+
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
|
3948
|
+
nonnull (strerror (errno)));
|
3723
3949
|
tmp_len = strlen (tmp);
|
3724
3950
|
concat_name =
|
3725
3951
|
XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
|
@@ -3744,7 +3970,8 @@ find_executable (const char *wrapper)
|
|
3744
3970
|
}
|
3745
3971
|
/* Relative path | not found in path: prepend cwd */
|
3746
3972
|
if (getcwd (tmp, LT_PATHMAX) == NULL)
|
3747
|
-
lt_fatal ("getcwd failed"
|
3973
|
+
lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
|
3974
|
+
nonnull (strerror (errno)));
|
3748
3975
|
tmp_len = strlen (tmp);
|
3749
3976
|
concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
|
3750
3977
|
memcpy (concat_name, tmp, tmp_len);
|
@@ -3770,8 +3997,9 @@ chase_symlinks (const char *pathspec)
|
|
3770
3997
|
int has_symlinks = 0;
|
3771
3998
|
while (strlen (tmp_pathspec) && !has_symlinks)
|
3772
3999
|
{
|
3773
|
-
|
3774
|
-
|
4000
|
+
lt_debugprintf (__FILE__, __LINE__,
|
4001
|
+
"checking path component for symlinks: %s\n",
|
4002
|
+
tmp_pathspec);
|
3775
4003
|
if (lstat (tmp_pathspec, &s) == 0)
|
3776
4004
|
{
|
3777
4005
|
if (S_ISLNK (s.st_mode) != 0)
|
@@ -3793,8 +4021,9 @@ chase_symlinks (const char *pathspec)
|
|
3793
4021
|
}
|
3794
4022
|
else
|
3795
4023
|
{
|
3796
|
-
|
3797
|
-
|
4024
|
+
lt_fatal (__FILE__, __LINE__,
|
4025
|
+
"error accessing file \"%s\": %s",
|
4026
|
+
tmp_pathspec, nonnull (strerror (errno)));
|
3798
4027
|
}
|
3799
4028
|
}
|
3800
4029
|
XFREE (tmp_pathspec);
|
@@ -3807,7 +4036,8 @@ chase_symlinks (const char *pathspec)
|
|
3807
4036
|
tmp_pathspec = realpath (pathspec, buf);
|
3808
4037
|
if (tmp_pathspec == 0)
|
3809
4038
|
{
|
3810
|
-
lt_fatal (
|
4039
|
+
lt_fatal (__FILE__, __LINE__,
|
4040
|
+
"could not follow symlinks for %s", pathspec);
|
3811
4041
|
}
|
3812
4042
|
return xstrdup (tmp_pathspec);
|
3813
4043
|
#endif
|
@@ -3833,11 +4063,25 @@ strendzap (char *str, const char *pat)
|
|
3833
4063
|
return str;
|
3834
4064
|
}
|
3835
4065
|
|
4066
|
+
void
|
4067
|
+
lt_debugprintf (const char *file, int line, const char *fmt, ...)
|
4068
|
+
{
|
4069
|
+
va_list args;
|
4070
|
+
if (lt_debug)
|
4071
|
+
{
|
4072
|
+
(void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
|
4073
|
+
va_start (args, fmt);
|
4074
|
+
(void) vfprintf (stderr, fmt, args);
|
4075
|
+
va_end (args);
|
4076
|
+
}
|
4077
|
+
}
|
4078
|
+
|
3836
4079
|
static void
|
3837
|
-
lt_error_core (int exit_status, const char *
|
4080
|
+
lt_error_core (int exit_status, const char *file,
|
4081
|
+
int line, const char *mode,
|
3838
4082
|
const char *message, va_list ap)
|
3839
4083
|
{
|
3840
|
-
fprintf (stderr, "%s: %s: ", program_name, mode);
|
4084
|
+
fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
|
3841
4085
|
vfprintf (stderr, message, ap);
|
3842
4086
|
fprintf (stderr, ".\n");
|
3843
4087
|
|
@@ -3846,20 +4090,32 @@ lt_error_core (int exit_status, const char *mode,
|
|
3846
4090
|
}
|
3847
4091
|
|
3848
4092
|
void
|
3849
|
-
lt_fatal (const char *message, ...)
|
4093
|
+
lt_fatal (const char *file, int line, const char *message, ...)
|
3850
4094
|
{
|
3851
4095
|
va_list ap;
|
3852
4096
|
va_start (ap, message);
|
3853
|
-
lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
|
4097
|
+
lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
|
3854
4098
|
va_end (ap);
|
3855
4099
|
}
|
3856
4100
|
|
4101
|
+
static const char *
|
4102
|
+
nonnull (const char *s)
|
4103
|
+
{
|
4104
|
+
return s ? s : "(null)";
|
4105
|
+
}
|
4106
|
+
|
4107
|
+
static const char *
|
4108
|
+
nonempty (const char *s)
|
4109
|
+
{
|
4110
|
+
return (s && !*s) ? "(empty)" : nonnull (s);
|
4111
|
+
}
|
4112
|
+
|
3857
4113
|
void
|
3858
4114
|
lt_setenv (const char *name, const char *value)
|
3859
4115
|
{
|
3860
|
-
|
3861
|
-
|
3862
|
-
|
4116
|
+
lt_debugprintf (__FILE__, __LINE__,
|
4117
|
+
"(lt_setenv) setting '%s' to '%s'\n",
|
4118
|
+
nonnull (name), nonnull (value));
|
3863
4119
|
{
|
3864
4120
|
#ifdef HAVE_SETENV
|
3865
4121
|
/* always make a copy, for consistency with !HAVE_SETENV */
|
@@ -3904,95 +4160,12 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
|
|
3904
4160
|
return new_value;
|
3905
4161
|
}
|
3906
4162
|
|
3907
|
-
int
|
3908
|
-
lt_split_name_value (const char *arg, char** name, char** value)
|
3909
|
-
{
|
3910
|
-
const char *p;
|
3911
|
-
int len;
|
3912
|
-
if (!arg || !*arg)
|
3913
|
-
return 1;
|
3914
|
-
|
3915
|
-
p = strchr (arg, (int)'=');
|
3916
|
-
|
3917
|
-
if (!p)
|
3918
|
-
return 1;
|
3919
|
-
|
3920
|
-
*value = xstrdup (++p);
|
3921
|
-
|
3922
|
-
len = strlen (arg) - strlen (*value);
|
3923
|
-
*name = XMALLOC (char, len);
|
3924
|
-
strncpy (*name, arg, len-1);
|
3925
|
-
(*name)[len - 1] = '\0';
|
3926
|
-
|
3927
|
-
return 0;
|
3928
|
-
}
|
3929
|
-
|
3930
|
-
void
|
3931
|
-
lt_opt_process_env_set (const char *arg)
|
3932
|
-
{
|
3933
|
-
char *name = NULL;
|
3934
|
-
char *value = NULL;
|
3935
|
-
|
3936
|
-
if (lt_split_name_value (arg, &name, &value) != 0)
|
3937
|
-
{
|
3938
|
-
XFREE (name);
|
3939
|
-
XFREE (value);
|
3940
|
-
lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
|
3941
|
-
}
|
3942
|
-
|
3943
|
-
lt_setenv (name, value);
|
3944
|
-
XFREE (name);
|
3945
|
-
XFREE (value);
|
3946
|
-
}
|
3947
|
-
|
3948
|
-
void
|
3949
|
-
lt_opt_process_env_prepend (const char *arg)
|
3950
|
-
{
|
3951
|
-
char *name = NULL;
|
3952
|
-
char *value = NULL;
|
3953
|
-
char *new_value = NULL;
|
3954
|
-
|
3955
|
-
if (lt_split_name_value (arg, &name, &value) != 0)
|
3956
|
-
{
|
3957
|
-
XFREE (name);
|
3958
|
-
XFREE (value);
|
3959
|
-
lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
|
3960
|
-
}
|
3961
|
-
|
3962
|
-
new_value = lt_extend_str (getenv (name), value, 0);
|
3963
|
-
lt_setenv (name, new_value);
|
3964
|
-
XFREE (new_value);
|
3965
|
-
XFREE (name);
|
3966
|
-
XFREE (value);
|
3967
|
-
}
|
3968
|
-
|
3969
|
-
void
|
3970
|
-
lt_opt_process_env_append (const char *arg)
|
3971
|
-
{
|
3972
|
-
char *name = NULL;
|
3973
|
-
char *value = NULL;
|
3974
|
-
char *new_value = NULL;
|
3975
|
-
|
3976
|
-
if (lt_split_name_value (arg, &name, &value) != 0)
|
3977
|
-
{
|
3978
|
-
XFREE (name);
|
3979
|
-
XFREE (value);
|
3980
|
-
lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
|
3981
|
-
}
|
3982
|
-
|
3983
|
-
new_value = lt_extend_str (getenv (name), value, 1);
|
3984
|
-
lt_setenv (name, new_value);
|
3985
|
-
XFREE (new_value);
|
3986
|
-
XFREE (name);
|
3987
|
-
XFREE (value);
|
3988
|
-
}
|
3989
|
-
|
3990
4163
|
void
|
3991
4164
|
lt_update_exe_path (const char *name, const char *value)
|
3992
4165
|
{
|
3993
|
-
|
3994
|
-
|
3995
|
-
|
4166
|
+
lt_debugprintf (__FILE__, __LINE__,
|
4167
|
+
"(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
|
4168
|
+
nonnull (name), nonnull (value));
|
3996
4169
|
|
3997
4170
|
if (name && *name && value && *value)
|
3998
4171
|
{
|
@@ -4011,9 +4184,9 @@ lt_update_exe_path (const char *name, const char *value)
|
|
4011
4184
|
void
|
4012
4185
|
lt_update_lib_path (const char *name, const char *value)
|
4013
4186
|
{
|
4014
|
-
|
4015
|
-
|
4016
|
-
|
4187
|
+
lt_debugprintf (__FILE__, __LINE__,
|
4188
|
+
"(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
|
4189
|
+
nonnull (name), nonnull (value));
|
4017
4190
|
|
4018
4191
|
if (name && *name && value && *value)
|
4019
4192
|
{
|
@@ -4023,11 +4196,152 @@ lt_update_lib_path (const char *name, const char *value)
|
|
4023
4196
|
}
|
4024
4197
|
}
|
4025
4198
|
|
4199
|
+
EOF
|
4200
|
+
case $host_os in
|
4201
|
+
mingw*)
|
4202
|
+
cat <<"EOF"
|
4203
|
+
|
4204
|
+
/* Prepares an argument vector before calling spawn().
|
4205
|
+
Note that spawn() does not by itself call the command interpreter
|
4206
|
+
(getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
|
4207
|
+
({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
4208
|
+
GetVersionEx(&v);
|
4209
|
+
v.dwPlatformId == VER_PLATFORM_WIN32_NT;
|
4210
|
+
}) ? "cmd.exe" : "command.com").
|
4211
|
+
Instead it simply concatenates the arguments, separated by ' ', and calls
|
4212
|
+
CreateProcess(). We must quote the arguments since Win32 CreateProcess()
|
4213
|
+
interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
|
4214
|
+
special way:
|
4215
|
+
- Space and tab are interpreted as delimiters. They are not treated as
|
4216
|
+
delimiters if they are surrounded by double quotes: "...".
|
4217
|
+
- Unescaped double quotes are removed from the input. Their only effect is
|
4218
|
+
that within double quotes, space and tab are treated like normal
|
4219
|
+
characters.
|
4220
|
+
- Backslashes not followed by double quotes are not special.
|
4221
|
+
- But 2*n+1 backslashes followed by a double quote become
|
4222
|
+
n backslashes followed by a double quote (n >= 0):
|
4223
|
+
\" -> "
|
4224
|
+
\\\" -> \"
|
4225
|
+
\\\\\" -> \\"
|
4226
|
+
*/
|
4227
|
+
#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"
|
4228
|
+
#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"
|
4229
|
+
char **
|
4230
|
+
prepare_spawn (char **argv)
|
4231
|
+
{
|
4232
|
+
size_t argc;
|
4233
|
+
char **new_argv;
|
4234
|
+
size_t i;
|
4235
|
+
|
4236
|
+
/* Count number of arguments. */
|
4237
|
+
for (argc = 0; argv[argc] != NULL; argc++)
|
4238
|
+
;
|
4239
|
+
|
4240
|
+
/* Allocate new argument vector. */
|
4241
|
+
new_argv = XMALLOC (char *, argc + 1);
|
4242
|
+
|
4243
|
+
/* Put quoted arguments into the new argument vector. */
|
4244
|
+
for (i = 0; i < argc; i++)
|
4245
|
+
{
|
4246
|
+
const char *string = argv[i];
|
4247
|
+
|
4248
|
+
if (string[0] == '\0')
|
4249
|
+
new_argv[i] = xstrdup ("\"\"");
|
4250
|
+
else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
|
4251
|
+
{
|
4252
|
+
int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
|
4253
|
+
size_t length;
|
4254
|
+
unsigned int backslashes;
|
4255
|
+
const char *s;
|
4256
|
+
char *quoted_string;
|
4257
|
+
char *p;
|
4258
|
+
|
4259
|
+
length = 0;
|
4260
|
+
backslashes = 0;
|
4261
|
+
if (quote_around)
|
4262
|
+
length++;
|
4263
|
+
for (s = string; *s != '\0'; s++)
|
4264
|
+
{
|
4265
|
+
char c = *s;
|
4266
|
+
if (c == '"')
|
4267
|
+
length += backslashes + 1;
|
4268
|
+
length++;
|
4269
|
+
if (c == '\\')
|
4270
|
+
backslashes++;
|
4271
|
+
else
|
4272
|
+
backslashes = 0;
|
4273
|
+
}
|
4274
|
+
if (quote_around)
|
4275
|
+
length += backslashes + 1;
|
4276
|
+
|
4277
|
+
quoted_string = XMALLOC (char, length + 1);
|
4278
|
+
|
4279
|
+
p = quoted_string;
|
4280
|
+
backslashes = 0;
|
4281
|
+
if (quote_around)
|
4282
|
+
*p++ = '"';
|
4283
|
+
for (s = string; *s != '\0'; s++)
|
4284
|
+
{
|
4285
|
+
char c = *s;
|
4286
|
+
if (c == '"')
|
4287
|
+
{
|
4288
|
+
unsigned int j;
|
4289
|
+
for (j = backslashes + 1; j > 0; j--)
|
4290
|
+
*p++ = '\\';
|
4291
|
+
}
|
4292
|
+
*p++ = c;
|
4293
|
+
if (c == '\\')
|
4294
|
+
backslashes++;
|
4295
|
+
else
|
4296
|
+
backslashes = 0;
|
4297
|
+
}
|
4298
|
+
if (quote_around)
|
4299
|
+
{
|
4300
|
+
unsigned int j;
|
4301
|
+
for (j = backslashes; j > 0; j--)
|
4302
|
+
*p++ = '\\';
|
4303
|
+
*p++ = '"';
|
4304
|
+
}
|
4305
|
+
*p = '\0';
|
4306
|
+
|
4307
|
+
new_argv[i] = quoted_string;
|
4308
|
+
}
|
4309
|
+
else
|
4310
|
+
new_argv[i] = (char *) string;
|
4311
|
+
}
|
4312
|
+
new_argv[argc] = NULL;
|
4313
|
+
|
4314
|
+
return new_argv;
|
4315
|
+
}
|
4316
|
+
EOF
|
4317
|
+
;;
|
4318
|
+
esac
|
4319
|
+
|
4320
|
+
cat <<"EOF"
|
4321
|
+
void lt_dump_script (FILE* f)
|
4322
|
+
{
|
4323
|
+
EOF
|
4324
|
+
func_emit_wrapper yes |
|
4325
|
+
$SED -e 's/\([\\"]\)/\\\1/g' \
|
4326
|
+
-e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
|
4026
4327
|
|
4328
|
+
cat <<"EOF"
|
4329
|
+
}
|
4027
4330
|
EOF
|
4028
4331
|
}
|
4029
4332
|
# end: func_emit_cwrapperexe_src
|
4030
4333
|
|
4334
|
+
# func_win32_import_lib_p ARG
|
4335
|
+
# True if ARG is an import lib, as indicated by $file_magic_cmd
|
4336
|
+
func_win32_import_lib_p ()
|
4337
|
+
{
|
4338
|
+
$opt_debug
|
4339
|
+
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
|
4340
|
+
*import*) : ;;
|
4341
|
+
*) false ;;
|
4342
|
+
esac
|
4343
|
+
}
|
4344
|
+
|
4031
4345
|
# func_mode_link arg...
|
4032
4346
|
func_mode_link ()
|
4033
4347
|
{
|
@@ -4072,6 +4386,7 @@ func_mode_link ()
|
|
4072
4386
|
new_inherited_linker_flags=
|
4073
4387
|
|
4074
4388
|
avoid_version=no
|
4389
|
+
bindir=
|
4075
4390
|
dlfiles=
|
4076
4391
|
dlprefiles=
|
4077
4392
|
dlself=no
|
@@ -4164,6 +4479,11 @@ func_mode_link ()
|
|
4164
4479
|
esac
|
4165
4480
|
|
4166
4481
|
case $prev in
|
4482
|
+
bindir)
|
4483
|
+
bindir="$arg"
|
4484
|
+
prev=
|
4485
|
+
continue
|
4486
|
+
;;
|
4167
4487
|
dlfiles|dlprefiles)
|
4168
4488
|
if test "$preload" = no; then
|
4169
4489
|
# Add the symbol object into the linking commands.
|
@@ -4425,6 +4745,11 @@ func_mode_link ()
|
|
4425
4745
|
continue
|
4426
4746
|
;;
|
4427
4747
|
|
4748
|
+
-bindir)
|
4749
|
+
prev=bindir
|
4750
|
+
continue
|
4751
|
+
;;
|
4752
|
+
|
4428
4753
|
-dlopen)
|
4429
4754
|
prev=dlfiles
|
4430
4755
|
continue
|
@@ -4503,7 +4828,7 @@ func_mode_link ()
|
|
4503
4828
|
esac
|
4504
4829
|
case $host in
|
4505
4830
|
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
|
4506
|
-
testbindir=`$ECHO "
|
4831
|
+
testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
|
4507
4832
|
case :$dllsearchpath: in
|
4508
4833
|
*":$dir:"*) ;;
|
4509
4834
|
::) dllsearchpath=$dir;;
|
@@ -4522,7 +4847,7 @@ func_mode_link ()
|
|
4522
4847
|
-l*)
|
4523
4848
|
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
|
4524
4849
|
case $host in
|
4525
|
-
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
|
4850
|
+
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
4526
4851
|
# These systems don't actually have a C or math library (as such)
|
4527
4852
|
continue
|
4528
4853
|
;;
|
@@ -4708,7 +5033,7 @@ func_mode_link ()
|
|
4708
5033
|
for flag in $args; do
|
4709
5034
|
IFS="$save_ifs"
|
4710
5035
|
func_quote_for_eval "$flag"
|
4711
|
-
arg="$arg $
|
5036
|
+
arg="$arg $func_quote_for_eval_result"
|
4712
5037
|
compiler_flags="$compiler_flags $func_quote_for_eval_result"
|
4713
5038
|
done
|
4714
5039
|
IFS="$save_ifs"
|
@@ -4754,18 +5079,19 @@ func_mode_link ()
|
|
4754
5079
|
arg="$func_quote_for_eval_result"
|
4755
5080
|
;;
|
4756
5081
|
|
4757
|
-
#
|
4758
|
-
# -
|
4759
|
-
# -
|
4760
|
-
#
|
4761
|
-
#
|
4762
|
-
# -
|
4763
|
-
#
|
4764
|
-
# -F/path
|
4765
|
-
# -p, -pg, --coverage, -fprofile-*
|
4766
|
-
# @file
|
5082
|
+
# Flags to be passed through unchanged, with rationale:
|
5083
|
+
# -64, -mips[0-9] enable 64-bit mode for the SGI compiler
|
5084
|
+
# -r[0-9][0-9]* specify processor for the SGI compiler
|
5085
|
+
# -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
|
5086
|
+
# +DA*, +DD* enable 64-bit mode for the HP compiler
|
5087
|
+
# -q* compiler args for the IBM compiler
|
5088
|
+
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
|
5089
|
+
# -F/path path to uninstalled frameworks, gcc on darwin
|
5090
|
+
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
|
5091
|
+
# @file GCC response files
|
5092
|
+
# -tp=* Portland pgcc target processor selection
|
4767
5093
|
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
4768
|
-
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F
|
5094
|
+
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
|
4769
5095
|
func_quote_for_eval "$arg"
|
4770
5096
|
arg="$func_quote_for_eval_result"
|
4771
5097
|
func_append compile_command " $arg"
|
@@ -4925,7 +5251,7 @@ func_mode_link ()
|
|
4925
5251
|
|
4926
5252
|
if test -n "$shlibpath_var"; then
|
4927
5253
|
# get the directories listed in $shlibpath_var
|
4928
|
-
eval shlib_search_path=\`\$ECHO \"
|
5254
|
+
eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
|
4929
5255
|
else
|
4930
5256
|
shlib_search_path=
|
4931
5257
|
fi
|
@@ -5033,10 +5359,7 @@ func_mode_link ()
|
|
5033
5359
|
case $pass in
|
5034
5360
|
dlopen) libs="$dlfiles" ;;
|
5035
5361
|
dlpreopen) libs="$dlprefiles" ;;
|
5036
|
-
link)
|
5037
|
-
libs="$deplibs %DEPLIBS%"
|
5038
|
-
test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
|
5039
|
-
;;
|
5362
|
+
link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
|
5040
5363
|
esac
|
5041
5364
|
fi
|
5042
5365
|
if test "$linkmode,$pass" = "lib,dlpreopen"; then
|
@@ -5051,7 +5374,8 @@ func_mode_link ()
|
|
5051
5374
|
# Collect preopened libtool deplibs, except any this library
|
5052
5375
|
# has declared as weak libs
|
5053
5376
|
for deplib in $dependency_libs; do
|
5054
|
-
|
5377
|
+
func_basename "$deplib"
|
5378
|
+
deplib_base=$func_basename_result
|
5055
5379
|
case " $weak_libs " in
|
5056
5380
|
*" $deplib_base "*) ;;
|
5057
5381
|
*) deplibs="$deplibs $deplib" ;;
|
@@ -5230,7 +5554,7 @@ func_mode_link ()
|
|
5230
5554
|
match_pattern*)
|
5231
5555
|
set dummy $deplibs_check_method; shift
|
5232
5556
|
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
|
5233
|
-
if eval "\$ECHO \"
|
5557
|
+
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
|
5234
5558
|
| $EGREP "$match_pattern_regex" > /dev/null; then
|
5235
5559
|
valid_a_lib=yes
|
5236
5560
|
fi
|
@@ -5240,15 +5564,15 @@ func_mode_link ()
|
|
5240
5564
|
;;
|
5241
5565
|
esac
|
5242
5566
|
if test "$valid_a_lib" != yes; then
|
5243
|
-
|
5567
|
+
echo
|
5244
5568
|
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
|
5245
|
-
|
5246
|
-
|
5247
|
-
|
5248
|
-
|
5249
|
-
|
5569
|
+
echo "*** I have the capability to make that library automatically link in when"
|
5570
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
5571
|
+
echo "*** shared version of the library, which you do not appear to have"
|
5572
|
+
echo "*** because the file extensions .$libext of this argument makes me believe"
|
5573
|
+
echo "*** that it is just a static archive that I should not use here."
|
5250
5574
|
else
|
5251
|
-
|
5575
|
+
echo
|
5252
5576
|
$ECHO "*** Warning: Linking the shared library $output against the"
|
5253
5577
|
$ECHO "*** static library $deplib is not portable!"
|
5254
5578
|
deplibs="$deplib $deplibs"
|
@@ -5321,7 +5645,7 @@ func_mode_link ()
|
|
5321
5645
|
|
5322
5646
|
# Convert "-framework foo" to "foo.ltframework"
|
5323
5647
|
if test -n "$inherited_linker_flags"; then
|
5324
|
-
tmp_inherited_linker_flags=`$ECHO "
|
5648
|
+
tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
|
5325
5649
|
for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
|
5326
5650
|
case " $new_inherited_linker_flags " in
|
5327
5651
|
*" $tmp_inherited_linker_flag "*) ;;
|
@@ -5329,7 +5653,7 @@ func_mode_link ()
|
|
5329
5653
|
esac
|
5330
5654
|
done
|
5331
5655
|
fi
|
5332
|
-
dependency_libs=`$ECHO "
|
5656
|
+
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
5333
5657
|
if test "$linkmode,$pass" = "lib,link" ||
|
5334
5658
|
test "$linkmode,$pass" = "prog,scan" ||
|
5335
5659
|
{ test "$linkmode" != prog && test "$linkmode" != lib; }; then
|
@@ -5347,19 +5671,19 @@ func_mode_link ()
|
|
5347
5671
|
# It is a libtool convenience library, so add in its objects.
|
5348
5672
|
convenience="$convenience $ladir/$objdir/$old_library"
|
5349
5673
|
old_convenience="$old_convenience $ladir/$objdir/$old_library"
|
5350
|
-
tmp_libs=
|
5351
|
-
for deplib in $dependency_libs; do
|
5352
|
-
deplibs="$deplib $deplibs"
|
5353
|
-
if $opt_duplicate_deps ; then
|
5354
|
-
case "$tmp_libs " in
|
5355
|
-
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
|
5356
|
-
esac
|
5357
|
-
fi
|
5358
|
-
tmp_libs="$tmp_libs $deplib"
|
5359
|
-
done
|
5360
5674
|
elif test "$linkmode" != prog && test "$linkmode" != lib; then
|
5361
5675
|
func_fatal_error "\`$lib' is not a convenience library"
|
5362
5676
|
fi
|
5677
|
+
tmp_libs=
|
5678
|
+
for deplib in $dependency_libs; do
|
5679
|
+
deplibs="$deplib $deplibs"
|
5680
|
+
if $opt_duplicate_deps ; then
|
5681
|
+
case "$tmp_libs " in
|
5682
|
+
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
|
5683
|
+
esac
|
5684
|
+
fi
|
5685
|
+
tmp_libs="$tmp_libs $deplib"
|
5686
|
+
done
|
5363
5687
|
continue
|
5364
5688
|
fi # $pass = conv
|
5365
5689
|
|
@@ -5583,7 +5907,7 @@ func_mode_link ()
|
|
5583
5907
|
fi
|
5584
5908
|
done
|
5585
5909
|
if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
|
5586
|
-
|
5910
|
+
echo
|
5587
5911
|
if test "$linkmode" = prog; then
|
5588
5912
|
$ECHO "*** Warning: Linking the executable $output against the loadable module"
|
5589
5913
|
else
|
@@ -5686,9 +6010,9 @@ func_mode_link ()
|
|
5686
6010
|
if test "X$dlopenmodule" != "X$lib"; then
|
5687
6011
|
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
|
5688
6012
|
if test -z "$old_library" ; then
|
5689
|
-
|
5690
|
-
|
5691
|
-
|
6013
|
+
echo
|
6014
|
+
echo "*** And there doesn't seem to be a static archive available"
|
6015
|
+
echo "*** The link will probably fail, sorry"
|
5692
6016
|
else
|
5693
6017
|
add="$dir/$old_library"
|
5694
6018
|
fi
|
@@ -5828,21 +6152,21 @@ func_mode_link ()
|
|
5828
6152
|
|
5829
6153
|
# Just print a warning and add the library to dependency_libs so
|
5830
6154
|
# that the program can be linked against the static library.
|
5831
|
-
|
6155
|
+
echo
|
5832
6156
|
$ECHO "*** Warning: This system can not link to static lib archive $lib."
|
5833
|
-
|
5834
|
-
|
5835
|
-
|
6157
|
+
echo "*** I have the capability to make that library automatically link in when"
|
6158
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
6159
|
+
echo "*** shared version of the library, which you do not appear to have."
|
5836
6160
|
if test "$module" = yes; then
|
5837
|
-
|
5838
|
-
|
5839
|
-
|
6161
|
+
echo "*** But as you try to build a module library, libtool will still create "
|
6162
|
+
echo "*** a static module, that should work as long as the dlopening application"
|
6163
|
+
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
|
5840
6164
|
if test -z "$global_symbol_pipe"; then
|
5841
|
-
|
5842
|
-
|
5843
|
-
|
5844
|
-
|
5845
|
-
|
6165
|
+
echo
|
6166
|
+
echo "*** However, this would only work if libtool was able to extract symbol"
|
6167
|
+
echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
6168
|
+
echo "*** not find such a program. So, this module is probably useless."
|
6169
|
+
echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
5846
6170
|
fi
|
5847
6171
|
if test "$build_old_libs" = no; then
|
5848
6172
|
build_libtool_libs=module
|
@@ -5962,7 +6286,7 @@ func_mode_link ()
|
|
5962
6286
|
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
|
5963
6287
|
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
|
5964
6288
|
else
|
5965
|
-
compiler_flags="$compiler_flags "`$ECHO "
|
6289
|
+
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
5966
6290
|
fi
|
5967
6291
|
fi
|
5968
6292
|
dependency_libs="$newdependency_libs"
|
@@ -6130,7 +6454,7 @@ func_mode_link ()
|
|
6130
6454
|
if test "$deplibs_check_method" != pass_all; then
|
6131
6455
|
func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
|
6132
6456
|
else
|
6133
|
-
|
6457
|
+
echo
|
6134
6458
|
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
|
6135
6459
|
$ECHO "*** objects $objs is not portable!"
|
6136
6460
|
libobjs="$libobjs $objs"
|
@@ -6198,7 +6522,7 @@ func_mode_link ()
|
|
6198
6522
|
age="$number_minor"
|
6199
6523
|
revision="$number_revision"
|
6200
6524
|
;;
|
6201
|
-
freebsd-aout|freebsd-elf|sunos)
|
6525
|
+
freebsd-aout|freebsd-elf|qnx|sunos)
|
6202
6526
|
current="$number_major"
|
6203
6527
|
revision="$number_minor"
|
6204
6528
|
age="0"
|
@@ -6210,9 +6534,6 @@ func_mode_link ()
|
|
6210
6534
|
revision="$number_minor"
|
6211
6535
|
lt_irix_increment=no
|
6212
6536
|
;;
|
6213
|
-
*)
|
6214
|
-
func_fatal_configuration "$modename: unknown library version type \`$version_type'"
|
6215
|
-
;;
|
6216
6537
|
esac
|
6217
6538
|
;;
|
6218
6539
|
no)
|
@@ -6435,14 +6756,14 @@ func_mode_link ()
|
|
6435
6756
|
oldlibs="$oldlibs $output_objdir/$libname.$libext"
|
6436
6757
|
|
6437
6758
|
# Transform .lo files to .o files.
|
6438
|
-
oldobjs="$objs "`$ECHO "
|
6759
|
+
oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
|
6439
6760
|
fi
|
6440
6761
|
|
6441
6762
|
# Eliminate all temporary directories.
|
6442
6763
|
#for path in $notinst_path; do
|
6443
|
-
# lib_search_path=`$ECHO "
|
6444
|
-
# deplibs=`$ECHO "
|
6445
|
-
# dependency_libs=`$ECHO "
|
6764
|
+
# lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
|
6765
|
+
# deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
|
6766
|
+
# dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
|
6446
6767
|
#done
|
6447
6768
|
|
6448
6769
|
if test -n "$xrpath"; then
|
@@ -6483,7 +6804,7 @@ func_mode_link ()
|
|
6483
6804
|
if test "$build_libtool_libs" = yes; then
|
6484
6805
|
if test -n "$rpath"; then
|
6485
6806
|
case $host in
|
6486
|
-
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
|
6807
|
+
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
|
6487
6808
|
# these systems don't actually have a c library (as such)!
|
6488
6809
|
;;
|
6489
6810
|
*-*-rhapsody* | *-*-darwin1.[012])
|
@@ -6568,13 +6889,13 @@ EOF
|
|
6568
6889
|
newdeplibs="$newdeplibs $i"
|
6569
6890
|
else
|
6570
6891
|
droppeddeps=yes
|
6571
|
-
|
6892
|
+
echo
|
6572
6893
|
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
|
6573
|
-
|
6574
|
-
|
6575
|
-
|
6576
|
-
|
6577
|
-
|
6894
|
+
echo "*** I have the capability to make that library automatically link in when"
|
6895
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
6896
|
+
echo "*** shared version of the library, which I believe you do not have"
|
6897
|
+
echo "*** because a test_compile did reveal that the linker did not use it for"
|
6898
|
+
echo "*** its dynamic dependency list that programs get resolved with at runtime."
|
6578
6899
|
fi
|
6579
6900
|
fi
|
6580
6901
|
;;
|
@@ -6611,22 +6932,22 @@ EOF
|
|
6611
6932
|
newdeplibs="$newdeplibs $i"
|
6612
6933
|
else
|
6613
6934
|
droppeddeps=yes
|
6614
|
-
|
6935
|
+
echo
|
6615
6936
|
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
|
6616
|
-
|
6617
|
-
|
6618
|
-
|
6619
|
-
|
6620
|
-
|
6937
|
+
echo "*** I have the capability to make that library automatically link in when"
|
6938
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
6939
|
+
echo "*** shared version of the library, which you do not appear to have"
|
6940
|
+
echo "*** because a test_compile did reveal that the linker did not use this one"
|
6941
|
+
echo "*** as a dynamic dependency that programs can get resolved with at runtime."
|
6621
6942
|
fi
|
6622
6943
|
fi
|
6623
6944
|
else
|
6624
6945
|
droppeddeps=yes
|
6625
|
-
|
6946
|
+
echo
|
6626
6947
|
$ECHO "*** Warning! Library $i is needed by this library but I was not able to"
|
6627
|
-
|
6628
|
-
|
6629
|
-
|
6948
|
+
echo "*** make it link in! You will probably need to install it or some"
|
6949
|
+
echo "*** library that it depends on before this library will be fully"
|
6950
|
+
echo "*** functional. Installing it before continuing would be even better."
|
6630
6951
|
fi
|
6631
6952
|
;;
|
6632
6953
|
*)
|
@@ -6672,7 +6993,7 @@ EOF
|
|
6672
6993
|
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
|
6673
6994
|
case $potliblink in
|
6674
6995
|
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
|
6675
|
-
*) potlib=`$ECHO "
|
6996
|
+
*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
|
6676
6997
|
esac
|
6677
6998
|
done
|
6678
6999
|
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
|
@@ -6687,12 +7008,12 @@ EOF
|
|
6687
7008
|
fi
|
6688
7009
|
if test -n "$a_deplib" ; then
|
6689
7010
|
droppeddeps=yes
|
6690
|
-
|
7011
|
+
echo
|
6691
7012
|
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
|
6692
|
-
|
6693
|
-
|
6694
|
-
|
6695
|
-
|
7013
|
+
echo "*** I have the capability to make that library automatically link in when"
|
7014
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
7015
|
+
echo "*** shared version of the library, which you do not appear to have"
|
7016
|
+
echo "*** because I did check the linker path looking for a file starting"
|
6696
7017
|
if test -z "$potlib" ; then
|
6697
7018
|
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
|
6698
7019
|
else
|
@@ -6730,7 +7051,7 @@ EOF
|
|
6730
7051
|
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
|
6731
7052
|
for potent_lib in $potential_libs; do
|
6732
7053
|
potlib="$potent_lib" # see symlink-check above in file_magic test
|
6733
|
-
if eval "\$ECHO \"
|
7054
|
+
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
|
6734
7055
|
$EGREP "$match_pattern_regex" > /dev/null; then
|
6735
7056
|
newdeplibs="$newdeplibs $a_deplib"
|
6736
7057
|
a_deplib=""
|
@@ -6741,12 +7062,12 @@ EOF
|
|
6741
7062
|
fi
|
6742
7063
|
if test -n "$a_deplib" ; then
|
6743
7064
|
droppeddeps=yes
|
6744
|
-
|
7065
|
+
echo
|
6745
7066
|
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
|
6746
|
-
|
6747
|
-
|
6748
|
-
|
6749
|
-
|
7067
|
+
echo "*** I have the capability to make that library automatically link in when"
|
7068
|
+
echo "*** you link to this library. But I can only do this if you have a"
|
7069
|
+
echo "*** shared version of the library, which you do not appear to have"
|
7070
|
+
echo "*** because I did check the linker path looking for a file starting"
|
6750
7071
|
if test -z "$potlib" ; then
|
6751
7072
|
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
|
6752
7073
|
else
|
@@ -6764,25 +7085,25 @@ EOF
|
|
6764
7085
|
;;
|
6765
7086
|
none | unknown | *)
|
6766
7087
|
newdeplibs=""
|
6767
|
-
tmp_deplibs=`$ECHO "
|
6768
|
-
-e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
|
7088
|
+
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
|
6769
7089
|
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
|
6770
7090
|
for i in $predeps $postdeps ; do
|
6771
7091
|
# can't use Xsed below, because $i might contain '/'
|
6772
|
-
tmp_deplibs=`$ECHO "
|
7092
|
+
tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
|
6773
7093
|
done
|
6774
7094
|
fi
|
6775
|
-
|
6776
|
-
|
6777
|
-
|
7095
|
+
case $tmp_deplibs in
|
7096
|
+
*[!\ \ ]*)
|
7097
|
+
echo
|
6778
7098
|
if test "X$deplibs_check_method" = "Xnone"; then
|
6779
|
-
|
7099
|
+
echo "*** Warning: inter-library dependencies are not supported in this platform."
|
6780
7100
|
else
|
6781
|
-
|
7101
|
+
echo "*** Warning: inter-library dependencies are not known to be supported."
|
6782
7102
|
fi
|
6783
|
-
|
7103
|
+
echo "*** All declared inter-library dependencies are being dropped."
|
6784
7104
|
droppeddeps=yes
|
6785
|
-
|
7105
|
+
;;
|
7106
|
+
esac
|
6786
7107
|
;;
|
6787
7108
|
esac
|
6788
7109
|
versuffix=$versuffix_save
|
@@ -6794,23 +7115,23 @@ EOF
|
|
6794
7115
|
case $host in
|
6795
7116
|
*-*-rhapsody* | *-*-darwin1.[012])
|
6796
7117
|
# On Rhapsody replace the C library with the System framework
|
6797
|
-
newdeplibs=`$ECHO "
|
7118
|
+
newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
|
6798
7119
|
;;
|
6799
7120
|
esac
|
6800
7121
|
|
6801
7122
|
if test "$droppeddeps" = yes; then
|
6802
7123
|
if test "$module" = yes; then
|
6803
|
-
|
6804
|
-
|
7124
|
+
echo
|
7125
|
+
echo "*** Warning: libtool could not satisfy all declared inter-library"
|
6805
7126
|
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
|
6806
|
-
|
6807
|
-
|
7127
|
+
echo "*** a static module, that should work as long as the dlopening"
|
7128
|
+
echo "*** application is linked with the -dlopen flag."
|
6808
7129
|
if test -z "$global_symbol_pipe"; then
|
6809
|
-
|
6810
|
-
|
6811
|
-
|
6812
|
-
|
6813
|
-
|
7130
|
+
echo
|
7131
|
+
echo "*** However, this would only work if libtool was able to extract symbol"
|
7132
|
+
echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
|
7133
|
+
echo "*** not find such a program. So, this module is probably useless."
|
7134
|
+
echo "*** \`nm' from GNU binutils and a full rebuild may help."
|
6814
7135
|
fi
|
6815
7136
|
if test "$build_old_libs" = no; then
|
6816
7137
|
oldlibs="$output_objdir/$libname.$libext"
|
@@ -6820,16 +7141,16 @@ EOF
|
|
6820
7141
|
build_libtool_libs=no
|
6821
7142
|
fi
|
6822
7143
|
else
|
6823
|
-
|
6824
|
-
|
6825
|
-
|
7144
|
+
echo "*** The inter-library dependencies that have been dropped here will be"
|
7145
|
+
echo "*** automatically added whenever a program is linked with this library"
|
7146
|
+
echo "*** or is declared to -dlopen it."
|
6826
7147
|
|
6827
7148
|
if test "$allow_undefined" = no; then
|
6828
|
-
|
6829
|
-
|
6830
|
-
|
6831
|
-
|
6832
|
-
|
7149
|
+
echo
|
7150
|
+
echo "*** Since this library must not contain undefined symbols,"
|
7151
|
+
echo "*** because either the platform does not support them or"
|
7152
|
+
echo "*** it was explicitly requested with -no-undefined,"
|
7153
|
+
echo "*** libtool will only create a static version of it."
|
6833
7154
|
if test "$build_old_libs" = no; then
|
6834
7155
|
oldlibs="$output_objdir/$libname.$libext"
|
6835
7156
|
build_libtool_libs=module
|
@@ -6846,9 +7167,9 @@ EOF
|
|
6846
7167
|
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
|
6847
7168
|
case $host in
|
6848
7169
|
*-*-darwin*)
|
6849
|
-
newdeplibs=`$ECHO "
|
6850
|
-
new_inherited_linker_flags=`$ECHO "
|
6851
|
-
deplibs=`$ECHO "
|
7170
|
+
newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
7171
|
+
new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
7172
|
+
deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
6852
7173
|
;;
|
6853
7174
|
esac
|
6854
7175
|
|
@@ -6970,7 +7291,7 @@ EOF
|
|
6970
7291
|
done
|
6971
7292
|
|
6972
7293
|
# Use standard objects if they are pic
|
6973
|
-
test -z "$pic_flag" && libobjs=`$ECHO "
|
7294
|
+
test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
6974
7295
|
test "X$libobjs" = "X " && libobjs=
|
6975
7296
|
|
6976
7297
|
delfiles=
|
@@ -7036,7 +7357,7 @@ EOF
|
|
7036
7357
|
if test -n "$export_symbols" && test -n "$include_expsyms"; then
|
7037
7358
|
tmp_export_symbols="$export_symbols"
|
7038
7359
|
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
|
7039
|
-
$opt_dry_run || eval '$ECHO "
|
7360
|
+
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
|
7040
7361
|
fi
|
7041
7362
|
|
7042
7363
|
if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
|
@@ -7137,7 +7458,8 @@ EOF
|
|
7137
7458
|
save_libobjs=$libobjs
|
7138
7459
|
fi
|
7139
7460
|
save_output=$output
|
7140
|
-
|
7461
|
+
func_basename "$output"
|
7462
|
+
output_la=$func_basename_result
|
7141
7463
|
|
7142
7464
|
# Clear the reloadable object creation command queue and
|
7143
7465
|
# initialize k to one.
|
@@ -7150,12 +7472,12 @@ EOF
|
|
7150
7472
|
if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
|
7151
7473
|
output=${output_objdir}/${output_la}.lnkscript
|
7152
7474
|
func_verbose "creating GNU ld script: $output"
|
7153
|
-
|
7475
|
+
echo 'INPUT (' > $output
|
7154
7476
|
for obj in $save_libobjs
|
7155
7477
|
do
|
7156
7478
|
$ECHO "$obj" >> $output
|
7157
7479
|
done
|
7158
|
-
|
7480
|
+
echo ')' >> $output
|
7159
7481
|
delfiles="$delfiles $output"
|
7160
7482
|
elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
|
7161
7483
|
output=${output_objdir}/${output_la}.lnk
|
@@ -7197,17 +7519,19 @@ EOF
|
|
7197
7519
|
# command to the queue.
|
7198
7520
|
if test "$k" -eq 1 ; then
|
7199
7521
|
# The first file doesn't have a previous command to add.
|
7200
|
-
|
7522
|
+
reload_objs=$objlist
|
7523
|
+
eval concat_cmds=\"$reload_cmds\"
|
7201
7524
|
else
|
7202
7525
|
# All subsequent reloadable object files will link in
|
7203
7526
|
# the last one created.
|
7204
|
-
|
7527
|
+
reload_objs="$objlist $last_robj"
|
7528
|
+
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
|
7205
7529
|
fi
|
7206
7530
|
last_robj=$output_objdir/$output_la-${k}.$objext
|
7207
7531
|
func_arith $k + 1
|
7208
7532
|
k=$func_arith_result
|
7209
7533
|
output=$output_objdir/$output_la-${k}.$objext
|
7210
|
-
objlist
|
7534
|
+
objlist=" $obj"
|
7211
7535
|
func_len " $last_robj"
|
7212
7536
|
func_arith $len0 + $func_len_result
|
7213
7537
|
len=$func_arith_result
|
@@ -7217,7 +7541,8 @@ EOF
|
|
7217
7541
|
# reloadable object file. All subsequent reloadable object
|
7218
7542
|
# files will link in the last one created.
|
7219
7543
|
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
|
7220
|
-
|
7544
|
+
reload_objs="$objlist $last_robj"
|
7545
|
+
eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
|
7221
7546
|
if test -n "$last_robj"; then
|
7222
7547
|
eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
|
7223
7548
|
fi
|
@@ -7276,7 +7601,7 @@ EOF
|
|
7276
7601
|
if test -n "$export_symbols" && test -n "$include_expsyms"; then
|
7277
7602
|
tmp_export_symbols="$export_symbols"
|
7278
7603
|
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
|
7279
|
-
$opt_dry_run || eval '$ECHO "
|
7604
|
+
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
|
7280
7605
|
fi
|
7281
7606
|
|
7282
7607
|
if test -n "$orig_export_symbols"; then
|
@@ -7441,7 +7766,7 @@ EOF
|
|
7441
7766
|
if test -n "$convenience"; then
|
7442
7767
|
if test -n "$whole_archive_flag_spec"; then
|
7443
7768
|
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
|
7444
|
-
reload_conv_objs=$reload_objs\ `$ECHO "
|
7769
|
+
reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
|
7445
7770
|
else
|
7446
7771
|
gentop="$output_objdir/${obj}x"
|
7447
7772
|
generated="$generated $gentop"
|
@@ -7452,7 +7777,7 @@ EOF
|
|
7452
7777
|
fi
|
7453
7778
|
|
7454
7779
|
# Create the old-style object.
|
7455
|
-
reload_objs="$objs$old_deplibs "`$ECHO "
|
7780
|
+
reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
|
7456
7781
|
|
7457
7782
|
output="$obj"
|
7458
7783
|
func_execute_cmds "$reload_cmds" 'exit $?'
|
@@ -7512,8 +7837,8 @@ EOF
|
|
7512
7837
|
case $host in
|
7513
7838
|
*-*-rhapsody* | *-*-darwin1.[012])
|
7514
7839
|
# On Rhapsody replace the C library is the System framework
|
7515
|
-
compile_deplibs=`$ECHO "
|
7516
|
-
finalize_deplibs=`$ECHO "
|
7840
|
+
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
|
7841
|
+
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
|
7517
7842
|
;;
|
7518
7843
|
esac
|
7519
7844
|
|
@@ -7530,8 +7855,8 @@ EOF
|
|
7530
7855
|
esac
|
7531
7856
|
fi
|
7532
7857
|
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
|
7533
|
-
compile_deplibs=`$ECHO "
|
7534
|
-
finalize_deplibs=`$ECHO "
|
7858
|
+
compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
7859
|
+
finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
|
7535
7860
|
;;
|
7536
7861
|
esac
|
7537
7862
|
|
@@ -7668,8 +7993,8 @@ EOF
|
|
7668
7993
|
|
7669
7994
|
if test -n "$libobjs" && test "$build_old_libs" = yes; then
|
7670
7995
|
# Transform all the library objects into standard objects.
|
7671
|
-
compile_command=`$ECHO "
|
7672
|
-
finalize_command=`$ECHO "
|
7996
|
+
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
7997
|
+
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
|
7673
7998
|
fi
|
7674
7999
|
|
7675
8000
|
func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
|
@@ -7681,15 +8006,15 @@ EOF
|
|
7681
8006
|
|
7682
8007
|
wrappers_required=yes
|
7683
8008
|
case $host in
|
8009
|
+
*cegcc* | *mingw32ce*)
|
8010
|
+
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
|
8011
|
+
wrappers_required=no
|
8012
|
+
;;
|
7684
8013
|
*cygwin* | *mingw* )
|
7685
8014
|
if test "$build_libtool_libs" != yes; then
|
7686
8015
|
wrappers_required=no
|
7687
8016
|
fi
|
7688
8017
|
;;
|
7689
|
-
*cegcc)
|
7690
|
-
# Disable wrappers for cegcc, we are cross compiling anyway.
|
7691
|
-
wrappers_required=no
|
7692
|
-
;;
|
7693
8018
|
*)
|
7694
8019
|
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
|
7695
8020
|
wrappers_required=no
|
@@ -7698,7 +8023,7 @@ EOF
|
|
7698
8023
|
esac
|
7699
8024
|
if test "$wrappers_required" = no; then
|
7700
8025
|
# Replace the output file specification.
|
7701
|
-
compile_command=`$ECHO "
|
8026
|
+
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
|
7702
8027
|
link_command="$compile_command$compile_rpath"
|
7703
8028
|
|
7704
8029
|
# We have no uninstalled library dependencies, so finalize right now.
|
@@ -7745,7 +8070,7 @@ EOF
|
|
7745
8070
|
# We don't need to create a wrapper script.
|
7746
8071
|
link_command="$compile_var$compile_command$compile_rpath"
|
7747
8072
|
# Replace the output file specification.
|
7748
|
-
link_command=`$ECHO "
|
8073
|
+
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
|
7749
8074
|
# Delete the old output file.
|
7750
8075
|
$opt_dry_run || $RM $output
|
7751
8076
|
# Link the executable and exit
|
@@ -7764,7 +8089,7 @@ EOF
|
|
7764
8089
|
if test "$fast_install" != no; then
|
7765
8090
|
link_command="$finalize_var$compile_command$finalize_rpath"
|
7766
8091
|
if test "$fast_install" = yes; then
|
7767
|
-
relink_command=`$ECHO "
|
8092
|
+
relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
|
7768
8093
|
else
|
7769
8094
|
# fast_install is set to needless
|
7770
8095
|
relink_command=
|
@@ -7776,7 +8101,7 @@ EOF
|
|
7776
8101
|
fi
|
7777
8102
|
|
7778
8103
|
# Replace the output file specification.
|
7779
|
-
link_command=`$ECHO "
|
8104
|
+
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
|
7780
8105
|
|
7781
8106
|
# Delete the old output files.
|
7782
8107
|
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
|
@@ -7800,18 +8125,7 @@ EOF
|
|
7800
8125
|
fi
|
7801
8126
|
done
|
7802
8127
|
relink_command="(cd `pwd`; $relink_command)"
|
7803
|
-
relink_command=`$ECHO "
|
7804
|
-
fi
|
7805
|
-
|
7806
|
-
# Quote $ECHO for shipping.
|
7807
|
-
if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
|
7808
|
-
case $progpath in
|
7809
|
-
[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
|
7810
|
-
*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
|
7811
|
-
esac
|
7812
|
-
qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
|
7813
|
-
else
|
7814
|
-
qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
|
8128
|
+
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
|
7815
8129
|
fi
|
7816
8130
|
|
7817
8131
|
# Only actually do things if not in dry run mode.
|
@@ -7932,7 +8246,7 @@ EOF
|
|
7932
8246
|
done | sort | sort -uc >/dev/null 2>&1); then
|
7933
8247
|
:
|
7934
8248
|
else
|
7935
|
-
|
8249
|
+
echo "copying selected object files to avoid basename conflicts..."
|
7936
8250
|
gentop="$output_objdir/${outputname}x"
|
7937
8251
|
generated="$generated $gentop"
|
7938
8252
|
func_mkdir_p "$gentop"
|
@@ -8043,7 +8357,7 @@ EOF
|
|
8043
8357
|
done
|
8044
8358
|
# Quote the link command for shipping.
|
8045
8359
|
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
|
8046
|
-
relink_command=`$ECHO "
|
8360
|
+
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
|
8047
8361
|
if test "$hardcode_automatic" = yes ; then
|
8048
8362
|
relink_command=
|
8049
8363
|
fi
|
@@ -8128,9 +8442,27 @@ EOF
|
|
8128
8442
|
fi
|
8129
8443
|
$RM $output
|
8130
8444
|
# place dlname in correct position for cygwin
|
8445
|
+
# In fact, it would be nice if we could use this code for all target
|
8446
|
+
# systems that can't hard-code library paths into their executables
|
8447
|
+
# and that have no shared library path variable independent of PATH,
|
8448
|
+
# but it turns out we can't easily determine that from inspecting
|
8449
|
+
# libtool variables, so we have to hard-code the OSs to which it
|
8450
|
+
# applies here; at the moment, that means platforms that use the PE
|
8451
|
+
# object format with DLL files. See the long comment at the top of
|
8452
|
+
# tests/bindir.at for full details.
|
8131
8453
|
tdlname=$dlname
|
8132
8454
|
case $host,$output,$installed,$module,$dlname in
|
8133
|
-
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
|
8455
|
+
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
|
8456
|
+
# If a -bindir argument was supplied, place the dll there.
|
8457
|
+
if test "x$bindir" != x ;
|
8458
|
+
then
|
8459
|
+
func_relative_path "$install_libdir" "$bindir"
|
8460
|
+
tdlname=$func_relative_path_result$dlname
|
8461
|
+
else
|
8462
|
+
# Otherwise fall back on heuristic.
|
8463
|
+
tdlname=../bin/$dlname
|
8464
|
+
fi
|
8465
|
+
;;
|
8134
8466
|
esac
|
8135
8467
|
$ECHO > $output "\
|
8136
8468
|
# $outputname - a libtool library file
|