nutcracker 0.2.3 → 0.2.4.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|