diff options
Diffstat (limited to 'devel/kdevelop/files/patch-appwizard-libtool')
-rw-r--r-- | devel/kdevelop/files/patch-appwizard-libtool | 4444 |
1 files changed, 187 insertions, 4257 deletions
diff --git a/devel/kdevelop/files/patch-appwizard-libtool b/devel/kdevelop/files/patch-appwizard-libtool index 99a3a09bf555..74792fcbcc1b 100644 --- a/devel/kdevelop/files/patch-appwizard-libtool +++ b/devel/kdevelop/files/patch-appwizard-libtool @@ -1,5 +1,5 @@ ---- parts/appwizard/common/admin/libtool.m4.in Sun Oct 1 19:29:11 2006 -+++ parts/appwizard/common/admin/libtool.m4.in Sun Dec 18 22:53:17 2005 +--- parts/appwizard/common/admin/libtool.m4.in.orig Mon May 14 09:53:52 2007 ++++ parts/appwizard/common/admin/libtool.m4.in Tue May 15 15:19:39 2007 @@ -1,28 +1,13 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -## Copyright 1996, 1997, 1998, 1999, 2000, 2001 @@ -666,36 +666,7 @@ irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; -@@ -1421,22 +1565,19 @@ - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -- libsuff= -- if test "x$LINUX_64_MODE" = x64; then -- # Some platforms are per default 64-bit, so there's no /lib64 -- if test -d /lib64; then -- libsuff=64 -- fi -- fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no -- sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" -- sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - -+ # Append ld.so.conf contents to the search path -+ if test -f /etc/ld.so.conf; then -+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` -+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" -+ fi -+ - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, -@@ -1446,6 +1587,18 @@ +@@ -1446,6 +1590,18 @@ dynamic_linker='GNU/Linux ld.so' ;; @@ -714,7 +685,7 @@ netbsd*) version_type=sunos need_lib_prefix=no -@@ -1455,7 +1608,7 @@ +@@ -1455,7 +1611,7 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else @@ -723,7 +694,7 @@ soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi -@@ -1483,8 +1636,13 @@ +@@ -1483,8 +1639,13 @@ openbsd*) version_type=sunos @@ -738,7 +709,7 @@ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH -@@ -1504,7 +1662,7 @@ +@@ -1504,7 +1665,7 @@ os2*) libname_spec='$name' @@ -747,7 +718,7 @@ need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' -@@ -1522,13 +1680,6 @@ +@@ -1522,13 +1683,6 @@ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; @@ -761,7 +732,7 @@ solaris*) version_type=linux need_lib_prefix=no -@@ -1554,7 +1705,7 @@ +@@ -1554,7 +1708,7 @@ need_version=yes ;; @@ -770,7 +741,7 @@ version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' -@@ -1587,6 +1738,29 @@ +@@ -1587,6 +1741,29 @@ fi ;; @@ -800,7 +771,7 @@ uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -@@ -1600,6 +1774,11 @@ +@@ -1600,6 +1777,11 @@ esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no @@ -812,7 +783,7 @@ ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER -@@ -1624,6 +1803,9 @@ +@@ -1624,6 +1806,9 @@ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi @@ -822,7 +793,7 @@ # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. -@@ -1650,7 +1832,9 @@ +@@ -1650,7 +1835,9 @@ case $tagname in CXX) @@ -833,7 +804,7 @@ AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" -@@ -1712,7 +1896,7 @@ +@@ -1712,7 +1899,7 @@ # AC_LIBTOOL_WIN32_DLL # -------------------- @@ -842,7 +813,7 @@ AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_WIN32_DLL -@@ -1750,7 +1934,7 @@ +@@ -1750,7 +1937,7 @@ # AC_DISABLE_SHARED # ----------------- @@ -851,7 +822,7 @@ AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) -@@ -1886,7 +2070,7 @@ +@@ -1886,7 +2073,7 @@ if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) @@ -860,7 +831,7 @@ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then -@@ -1996,7 +2180,7 @@ +@@ -1996,7 +2183,7 @@ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, @@ -869,7 +840,7 @@ # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) -@@ -2028,7 +2212,7 @@ +@@ -2028,7 +2215,7 @@ AC_DEFUN([AC_PROG_LD_GNU], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, @@ -878,7 +849,7 @@ case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes -@@ -2055,6 +2239,15 @@ +@@ -2055,6 +2242,15 @@ *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' @@ -894,7 +865,7 @@ ])# AC_PROG_LD_RELOAD_FLAG -@@ -2088,44 +2281,36 @@ +@@ -2088,44 +2284,36 @@ lt_cv_deplibs_check_method=pass_all ;; @@ -950,7 +921,7 @@ lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; -@@ -2141,7 +2326,7 @@ +@@ -2141,7 +2329,7 @@ hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file @@ -959,7 +930,7 @@ ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so -@@ -2157,40 +2342,24 @@ +@@ -2157,40 +2345,24 @@ esac ;; @@ -1011,7 +982,7 @@ ;; netbsd*) -@@ -2212,32 +2381,22 @@ +@@ -2212,32 +2384,22 @@ ;; openbsd*) @@ -1047,7 +1018,7 @@ case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' -@@ -2258,10 +2417,13 @@ +@@ -2258,10 +2420,13 @@ siemens) lt_cv_deplibs_check_method=pass_all ;; @@ -1062,7 +1033,7 @@ lt_cv_deplibs_check_method=pass_all ;; esac -@@ -2281,36 +2443,43 @@ +@@ -2281,36 +2446,43 @@ # Let the user override the test. lt_cv_path_NM="$NM" else @@ -1130,7 +1101,7 @@ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" -@@ -2342,13 +2511,13 @@ +@@ -2342,13 +2514,13 @@ # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl convenience library and # LTDLINCL to the include flags for the libltdl header and adds @@ -1151,7 +1122,7 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl case $enable_ltdl_convenience in -@@ -2367,13 +2536,13 @@ +@@ -2367,13 +2539,13 @@ # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl installable library and # LTDLINCL to the include flags for the libltdl header and adds @@ -1172,7 +1143,7 @@ # In the future, this macro may have to be called after AC_PROG_LIBTOOL. AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -@@ -2411,10 +2580,21 @@ +@@ -2411,10 +2583,21 @@ # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) @@ -1195,7 +1166,7 @@ # AC_LIBTOOL_F77 # -------------- -@@ -2454,7 +2634,7 @@ +@@ -2454,7 +2637,7 @@ # AC_LIBTOOL_RC @@ -1204,7 +1175,7 @@ # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) -@@ -2487,36 +2667,9 @@ +@@ -2487,36 +2670,9 @@ _LT_AC_SYS_COMPILER @@ -1244,7 +1215,7 @@ ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change -@@ -2530,9 +2683,9 @@ +@@ -2530,9 +2686,9 @@ AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP @@ -1256,7 +1227,7 @@ AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) -@@ -2541,7 +2694,7 @@ +@@ -2541,7 +2697,7 @@ # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. @@ -1265,7 +1236,7 @@ aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then -@@ -2550,48 +2703,11 @@ +@@ -2550,48 +2706,11 @@ fi ;; @@ -1316,7 +1287,7 @@ esac AC_MSG_RESULT([$enable_shared]) -@@ -2616,7 +2732,7 @@ +@@ -2616,7 +2735,7 @@ AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) @@ -1325,7 +1296,7 @@ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= -@@ -2628,6 +2744,7 @@ +@@ -2628,6 +2747,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no @@ -1333,7 +1304,7 @@ _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= -@@ -2645,7 +2762,7 @@ +@@ -2645,7 +2765,7 @@ _LT_AC_TAGVAR(compiler_lib_search_path, $1)= # Source file extension for C++ test sources. @@ -1342,7 +1313,7 @@ # Object file extension for compiled C++ test sources. objext=o -@@ -2655,11 +2772,15 @@ +@@ -2655,11 +2775,15 @@ lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests @@ -1359,7 +1330,7 @@ # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD -@@ -2670,18 +2791,18 @@ +@@ -2670,18 +2794,18 @@ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else @@ -1381,7 +1352,7 @@ # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately -@@ -2699,8 +2820,8 @@ +@@ -2699,8 +2823,8 @@ # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then @@ -1392,7 +1363,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -@@ -2726,7 +2847,7 @@ +@@ -2726,7 +2850,7 @@ # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. @@ -1401,7 +1372,7 @@ fi # Commands to make compiler produce verbose output that lists -@@ -2756,8 +2877,23 @@ +@@ -2756,8 +2880,23 @@ exp_sym_flag='-Bexport' no_entry_flag="" else @@ -1427,7 +1398,7 @@ exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi -@@ -2774,7 +2910,7 @@ +@@ -2774,7 +2913,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then @@ -1436,7 +1407,7 @@ # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` -@@ -2793,8 +2929,12 @@ +@@ -2793,8 +2932,12 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi @@ -1449,7 +1420,7 @@ else # not using gcc if test "$host_cpu" = ia64; then -@@ -2803,15 +2943,16 @@ +@@ -2803,15 +2946,16 @@ shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then @@ -1470,7 +1441,7 @@ if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. -@@ -2820,13 +2961,12 @@ +@@ -2820,13 +2964,12 @@ _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" @@ -1486,7 +1457,7 @@ else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX -@@ -2835,16 +2975,26 @@ +@@ -2835,16 +2978,26 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' @@ -1518,7 +1489,7 @@ chorus*) case $cc_basename in *) -@@ -2858,12 +3008,12 @@ +@@ -2858,12 +3011,12 @@ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' @@ -1533,7 +1504,7 @@ # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then -@@ -2872,70 +3022,81 @@ +@@ -2872,70 +3025,81 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ @@ -1580,7 +1551,15 @@ - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' -- else ++ if test "$GXX" = yes ; then ++ lt_int_apple_cc_single_mod=no ++ output_verbose_link_cmd='echo' ++ if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then ++ lt_int_apple_cc_single_mod=yes ++ fi ++ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then ++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress' @@ -1589,11 +1568,30 @@ - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup' - ;; - esac -+ if test "$GXX" = yes ; then -+ lt_int_apple_cc_single_mod=no -+ output_verbose_link_cmd='echo' -+ if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then -+ lt_int_apple_cc_single_mod=yes ++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' ++ fi ++ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' ++ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds ++ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then ++ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ++ else ++ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ++ fi ++ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ++ else ++ case $cc_basename in ++ xlc*) ++ output_verbose_link_cmd='echo' ++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' ++ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' ++ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds ++ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ++ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ++ ;; ++ *) ++ _LT_AC_TAGVAR(ld_shlibs, $1)=no ++ ;; ++ esac fi - ;; - esac @@ -1625,34 +1623,6 @@ - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; -+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then -+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' -+ else -+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' -+ fi -+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' -+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds -+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then -+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ else -+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ fi -+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ else -+ case $cc_basename in -+ xlc*) -+ output_verbose_link_cmd='echo' -+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' -+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' -+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds -+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ ;; -+ *) -+ _LT_AC_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ fi + ;; dgux*) @@ -1667,7 +1637,7 @@ # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no -@@ -2946,14 +3107,14 @@ +@@ -2946,14 +3110,14 @@ ;; esac ;; @@ -1684,7 +1654,7 @@ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes -@@ -2970,12 +3131,12 @@ +@@ -2970,12 +3134,12 @@ # location of the library. case $cc_basename in @@ -1700,7 +1670,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. -@@ -2984,11 +3145,11 @@ +@@ -2984,11 +3148,11 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. @@ -1714,7 +1684,7 @@ else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no -@@ -2998,33 +3159,22 @@ +@@ -2998,33 +3162,22 @@ ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then @@ -1755,7 +1725,7 @@ ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes -@@ -3035,17 +3185,20 @@ +@@ -3035,17 +3188,20 @@ esac case $cc_basename in @@ -1782,7 +1752,7 @@ ;; esac # Commands to make compiler produce verbose output that lists -@@ -3061,12 +3214,15 @@ +@@ -3061,12 +3217,15 @@ *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then @@ -1802,7 +1772,7 @@ ;; esac fi -@@ -3077,11 +3233,25 @@ +@@ -3077,11 +3236,25 @@ ;; esac ;; @@ -1830,7 +1800,7 @@ # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is -@@ -3092,9 +3262,9 @@ +@@ -3092,9 +3265,9 @@ *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then @@ -1842,7 +1812,7 @@ fi fi _LT_AC_TAGVAR(link_all_deplibs, $1)=yes -@@ -3105,14 +3275,14 @@ +@@ -3105,14 +3278,14 @@ ;; linux*) case $cc_basename in @@ -1860,7 +1830,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. -@@ -3130,20 +3300,44 @@ +@@ -3130,20 +3303,44 @@ # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; @@ -1911,7 +1881,7 @@ runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -@@ -3171,7 +3365,7 @@ +@@ -3171,7 +3368,7 @@ ;; mvs*) case $cc_basename in @@ -1920,7 +1890,7 @@ # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; -@@ -3192,15 +3386,31 @@ +@@ -3192,15 +3389,31 @@ # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; @@ -1954,7 +1924,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3210,14 +3420,14 @@ +@@ -3210,14 +3423,14 @@ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; @@ -1972,7 +1942,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3235,7 +3445,7 @@ +@@ -3235,7 +3448,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' @@ -1981,7 +1951,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3254,13 +3464,13 @@ +@@ -3254,13 +3467,13 @@ ;; osf4* | osf5*) case $cc_basename in @@ -1997,7 +1967,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3269,17 +3479,17 @@ +@@ -3269,17 +3482,17 @@ # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; @@ -2019,7 +1989,7 @@ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -@@ -3298,7 +3508,7 @@ +@@ -3298,7 +3511,7 @@ *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' @@ -2028,7 +1998,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3319,27 +3529,14 @@ +@@ -3319,27 +3532,14 @@ # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -2058,7 +2028,7 @@ # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no -@@ -3352,36 +3549,33 @@ +@@ -3352,36 +3552,33 @@ ;; solaris*) case $cc_basename in @@ -2107,7 +2077,7 @@ # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is -@@ -3389,9 +3583,9 @@ +@@ -3389,9 +3586,9 @@ # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; @@ -2119,7 +2089,7 @@ # The C++ compiler must be used to create the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' -@@ -3401,9 +3595,9 @@ +@@ -3401,9 +3598,9 @@ if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then @@ -2131,7 +2101,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when -@@ -3412,9 +3606,9 @@ +@@ -3412,9 +3609,9 @@ else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. @@ -2143,14 +2113,14 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when -@@ -3427,12 +3621,63 @@ +@@ -3427,12 +3624,63 @@ ;; esac ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' -+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + @@ -2183,7 +2153,7 @@ + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ++ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' @@ -2209,7 +2179,7 @@ # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no -@@ -3469,8 +3714,6 @@ +@@ -3469,8 +3717,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) @@ -2218,7 +2188,7 @@ AC_LIBTOOL_CONFIG($1) -@@ -3488,7 +3731,7 @@ +@@ -3488,7 +3734,7 @@ ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) @@ -2227,7 +2197,7 @@ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary -@@ -3542,7 +3785,7 @@ +@@ -3542,7 +3788,7 @@ # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. @@ -2236,7 +2206,7 @@ for p in `eval $output_verbose_link_cmd`; do case $p in -@@ -3582,7 +3825,7 @@ +@@ -3582,7 +3828,7 @@ fi ;; @@ -2245,7 +2215,7 @@ # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then -@@ -3618,13 +3861,37 @@ +@@ -3618,13 +3864,37 @@ $rm -f confest.$objext @@ -2284,7 +2254,7 @@ # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -@@ -3668,12 +3935,16 @@ +@@ -3668,12 +3938,16 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -2302,7 +2272,7 @@ AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) -@@ -3683,7 +3954,7 @@ +@@ -3683,7 +3957,7 @@ # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. @@ -2311,7 +2281,7 @@ aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then -@@ -3691,8 +3962,10 @@ +@@ -3691,8 +3965,10 @@ postinstall_cmds='$RANLIB $lib' fi ;; @@ -2324,7 +2294,7 @@ ;; esac AC_MSG_RESULT([$enable_shared]) -@@ -3702,8 +3975,6 @@ +@@ -3702,8 +3978,6 @@ test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) @@ -2333,7 +2303,7 @@ _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" -@@ -3713,8 +3984,6 @@ +@@ -3713,8 +3987,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) @@ -2342,7 +2312,7 @@ AC_LIBTOOL_CONFIG($1) -@@ -3743,20 +4012,27 @@ +@@ -3743,20 +4015,27 @@ lt_simple_compile_test_code="class foo {}\n" # Code to be used in simple link tests @@ -2371,7 +2341,7 @@ ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly -@@ -3768,8 +4044,6 @@ +@@ -3768,8 +4047,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) @@ -2380,7 +2350,7 @@ AC_LIBTOOL_CONFIG($1) -@@ -3779,7 +4053,7 @@ +@@ -3779,7 +4056,7 @@ # AC_LIBTOOL_LANG_RC_CONFIG @@ -2389,7 +2359,7 @@ # Ensure that the configuration vars for the Windows resource compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -@@ -3803,11 +4077,16 @@ +@@ -3803,11 +4080,16 @@ # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -2406,7 +2376,7 @@ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) -@@ -3833,11 +4112,12 @@ +@@ -3833,11 +4115,12 @@ # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST @@ -2421,7 +2391,7 @@ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ -@@ -3887,7 +4167,7 @@ +@@ -3887,7 +4170,7 @@ _LT_AC_TAGVAR(archive_cmds, $1) | \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ _LT_AC_TAGVAR(module_cmds, $1) | \ @@ -2430,7 +2400,7 @@ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ -@@ -3953,11 +4233,11 @@ +@@ -3953,11 +4236,11 @@ SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. @@ -2444,7 +2414,7 @@ # The names of the tagged configurations supported by this script. available_tags= -@@ -3988,6 +4268,12 @@ +@@ -3988,6 +4271,12 @@ # The host system. host_alias=$host_alias host=$host @@ -2457,7 +2427,7 @@ # An echo program that does not interpret backslashes. echo=$lt_echo -@@ -3999,6 +4285,9 @@ +@@ -3999,6 +4288,9 @@ # A C compiler. LTCC=$lt_LTCC @@ -2467,7 +2437,7 @@ # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) -@@ -4018,7 +4307,7 @@ +@@ -4018,7 +4310,7 @@ NM=$lt_NM # A symbol stripping program @@ -2476,7 +2446,7 @@ # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD -@@ -4049,7 +4338,7 @@ +@@ -4049,7 +4341,7 @@ libext="$libext" # Shared library suffix (normally ".so"). @@ -2485,7 +2455,7 @@ # Executable file suffix (normally ""). exeext="$exeext" -@@ -4064,7 +4353,7 @@ +@@ -4064,7 +4356,7 @@ # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) @@ -2494,7 +2464,7 @@ need_locks=$lt_need_locks # Do we need the lib prefix for modules? -@@ -4293,7 +4582,10 @@ +@@ -4293,7 +4585,10 @@ # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. @@ -2506,7 +2476,7 @@ fi ])# AC_LIBTOOL_CONFIG -@@ -4335,9 +4627,6 @@ +@@ -4335,9 +4630,6 @@ # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' @@ -2516,7 +2486,7 @@ # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" -@@ -4359,14 +4648,30 @@ +@@ -4359,14 +4651,30 @@ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; @@ -2549,7 +2519,7 @@ ;; sysv4) symcode='[[DFNSTU]]' -@@ -4384,14 +4689,17 @@ +@@ -4384,14 +4692,17 @@ # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) @@ -2569,7 +2539,7 @@ # Check to see that the pipe works correctly. pipe_works=no -@@ -4547,6 +4855,10 @@ +@@ -4547,6 +4858,10 @@ # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; @@ -2580,7 +2550,7 @@ sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic -@@ -4555,7 +4867,7 @@ +@@ -4555,7 +4870,7 @@ hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. @@ -2589,7 +2559,7 @@ hppa*64*|ia64*) ;; *) -@@ -4580,18 +4892,28 @@ +@@ -4580,18 +4895,28 @@ ;; chorus*) case $cc_basename in @@ -2621,7 +2591,7 @@ # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; -@@ -4599,22 +4921,22 @@ +@@ -4599,22 +4924,22 @@ ;; esac ;; @@ -2650,7 +2620,7 @@ hppa*64*|ia64*) # +Z the default ;; -@@ -4627,9 +4949,13 @@ +@@ -4627,9 +4952,13 @@ ;; esac ;; @@ -2665,7 +2635,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. -@@ -4640,18 +4966,24 @@ +@@ -4640,18 +4969,24 @@ ;; linux*) case $cc_basename in @@ -2694,7 +2664,7 @@ # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. -@@ -4668,7 +5000,7 @@ +@@ -4668,7 +5003,7 @@ ;; mvs*) case $cc_basename in @@ -2703,7 +2673,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) -@@ -4679,14 +5011,14 @@ +@@ -4679,14 +5014,14 @@ ;; osf3* | osf4* | osf5*) case $cc_basename in @@ -2721,7 +2691,7 @@ # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha -@@ -4700,24 +5032,15 @@ +@@ -4700,24 +5035,15 @@ ;; psos*) ;; @@ -2748,7 +2718,7 @@ # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; -@@ -4727,12 +5050,12 @@ +@@ -4727,12 +5053,12 @@ ;; sunos4*) case $cc_basename in @@ -2763,7 +2733,7 @@ # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; -@@ -4742,7 +5065,7 @@ +@@ -4742,7 +5068,7 @@ ;; tandem*) case $cc_basename in @@ -2772,7 +2742,7 @@ # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; -@@ -4750,7 +5073,14 @@ +@@ -4750,7 +5076,14 @@ ;; esac ;; @@ -2788,7 +2758,7 @@ ;; vxworks*) ;; -@@ -4797,6 +5127,11 @@ +@@ -4797,6 +5130,11 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; @@ -2800,7 +2770,7 @@ msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. -@@ -4813,7 +5148,7 @@ +@@ -4813,7 +5151,7 @@ hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. @@ -2809,7 +2779,7 @@ hppa*64*|ia64*) # +Z the default ;; -@@ -4839,6 +5174,16 @@ +@@ -4839,6 +5177,16 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; @@ -2826,7 +2796,7 @@ mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being -@@ -4850,7 +5195,7 @@ +@@ -4850,7 +5198,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. @@ -2835,7 +2805,7 @@ hppa*64*|ia64*) # +Z the default ;; -@@ -4874,12 +5219,19 @@ +@@ -4874,12 +5222,19 @@ ;; linux*) @@ -2856,7 +2826,7 @@ ccc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. -@@ -4894,15 +5246,15 @@ +@@ -4894,15 +5249,15 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; @@ -2878,7 +2848,7 @@ ;; sunos4*) -@@ -4911,7 +5263,7 @@ +@@ -4911,7 +5266,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; @@ -2887,7 +2857,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -@@ -4924,6 +5276,17 @@ +@@ -4924,6 +5279,17 @@ fi ;; @@ -2905,7 +2875,7 @@ uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -@@ -4951,7 +5314,7 @@ +@@ -4951,7 +5317,7 @@ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi @@ -2914,7 +2884,7 @@ # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -@@ -4960,6 +5323,16 @@ +@@ -4960,6 +5326,16 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac @@ -2931,7 +2901,7 @@ ]) -@@ -4984,7 +5357,7 @@ +@@ -4984,7 +5360,7 @@ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) @@ -2940,7 +2910,7 @@ ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -@@ -5010,7 +5383,7 @@ +@@ -5010,7 +5386,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= @@ -2949,7 +2919,7 @@ _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* -@@ -5027,7 +5400,8 @@ +@@ -5027,7 +5403,8 @@ # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. extract_expsyms_cmds= @@ -2959,7 +2929,7 @@ case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time -@@ -5037,6 +5411,10 @@ +@@ -5037,6 +5414,10 @@ with_gnu_ld=no fi ;; @@ -2970,7 +2940,7 @@ openbsd*) with_gnu_ld=no ;; -@@ -5047,6 +5425,27 @@ +@@ -5047,6 +5428,27 @@ # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' @@ -2998,7 +2968,7 @@ # See if GNU ld supports shared libraries. case $host_os in aix3* | aix4* | aix5*) -@@ -5084,7 +5483,7 @@ +@@ -5084,7 +5486,7 @@ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME @@ -3007,7 +2977,7 @@ else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi -@@ -5094,13 +5493,13 @@ +@@ -5094,13 +5496,13 @@ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' @@ -3024,7 +2994,7 @@ # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then -@@ -5109,9 +5508,55 @@ +@@ -5109,9 +5511,55 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ @@ -3082,7 +3052,7 @@ fi ;; -@@ -5120,12 +5565,12 @@ +@@ -5120,12 +5568,12 @@ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else @@ -3098,7 +3068,7 @@ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 -@@ -5139,13 +5584,40 @@ +@@ -5139,13 +5587,40 @@ EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -3141,7 +3111,7 @@ sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= -@@ -5155,24 +5627,19 @@ +@@ -5155,24 +5630,19 @@ *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -3173,7 +3143,7 @@ fi else # PORTME fill in a description of your system's linker (not GNU ld) -@@ -5184,7 +5651,7 @@ +@@ -5184,7 +5654,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes @@ -3182,7 +3152,7 @@ # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported -@@ -5206,9 +5673,21 @@ +@@ -5206,9 +5676,21 @@ else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi @@ -3206,7 +3176,7 @@ exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi -@@ -5225,7 +5704,7 @@ +@@ -5225,7 +5707,7 @@ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then @@ -3215,7 +3185,7 @@ # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` -@@ -5244,8 +5723,12 @@ +@@ -5244,8 +5726,12 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi @@ -3228,7 +3198,7 @@ else # not using gcc if test "$host_cpu" = ia64; then -@@ -5253,30 +5736,30 @@ +@@ -5253,30 +5739,30 @@ # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else @@ -3270,7 +3240,7 @@ else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX -@@ -5285,13 +5768,11 @@ +@@ -5285,13 +5771,11 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' @@ -3287,7 +3257,7 @@ fi fi ;; -@@ -5304,7 +5785,7 @@ +@@ -5304,7 +5788,7 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; @@ -3296,7 +3266,7 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; -@@ -5314,69 +5795,69 @@ +@@ -5314,69 +5798,69 @@ # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -3412,7 +3382,7 @@ ;; dgux*) -@@ -5409,8 +5890,8 @@ +@@ -5409,8 +5893,8 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. @@ -3423,7 +3393,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no -@@ -5418,7 +5899,7 @@ +@@ -5418,7 +5902,7 @@ hpux9*) if test "$GCC" = yes; then @@ -3432,7 +3402,7 @@ else _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi -@@ -5432,47 +5913,62 @@ +@@ -5432,47 +5916,62 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; @@ -3519,7 +3489,7 @@ _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -@@ -5486,7 +5982,7 @@ +@@ -5486,7 +5985,7 @@ irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then @@ -3528,7 +3498,7 @@ else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' -@@ -5519,7 +6015,8 @@ +@@ -5519,7 +6018,8 @@ _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then @@ -3538,7 +3508,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else -@@ -5529,7 +6026,7 @@ +@@ -5529,7 +6029,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) @@ -3547,7 +3517,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac -@@ -5540,14 +6037,14 @@ +@@ -5540,14 +6040,14 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported @@ -3564,7 +3534,7 @@ else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' -@@ -5559,13 +6056,13 @@ +@@ -5559,13 +6059,13 @@ osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' @@ -3580,7 +3550,7 @@ # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -@@ -5573,21 +6070,15 @@ +@@ -5573,21 +6073,15 @@ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; @@ -3606,7 +3576,7 @@ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' -@@ -5596,8 +6087,18 @@ +@@ -5596,8 +6090,18 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; @@ -3627,7 +3597,7 @@ esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; -@@ -5606,7 +6107,7 @@ +@@ -5606,7 +6110,7 @@ if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. @@ -3636,7 +3606,7 @@ else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi -@@ -5654,36 +6155,45 @@ +@@ -5654,36 +6158,45 @@ fi ;; @@ -3703,7 +3673,7 @@ ;; uts4*) -@@ -5701,11 +6211,6 @@ +@@ -5701,11 +6214,6 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no @@ -3715,7 +3685,7 @@ # # Do we need to explicitly link libc? # -@@ -5726,13 +6231,14 @@ +@@ -5726,13 +6234,14 @@ AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $rm conftest* printf "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -3731,7 +3701,7 @@ compiler_flags=-v linker_flags=-v verstring= -@@ -5860,7 +6366,7 @@ +@@ -5860,7 +6369,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do @@ -3740,4043 +3710,3 @@ cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in ---- parts/appwizard/common/admin/ltmain.sh Sun Oct 1 19:29:12 2006 -+++ parts/appwizard/common/admin/ltmain.sh Sun Dec 18 23:14:54 2005 -@@ -1,7 +1,7 @@ - # ltmain.sh - Provide generalized library-building support services. - # NOTE: Changing this file will not affect anything until you rerun configure. - # --# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 - # Free Software Foundation, Inc. - # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - # -@@ -24,6 +24,34 @@ - # configuration script generated by Autoconf, you may include it under - # the same distribution terms that you use for the rest of that program. - -+basename="s,^.*/,,g" -+ -+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -+# is ksh but when the shell is invoked as "sh" and the current value of -+# the _XPG environment variable is not equal to 1 (one), the special -+# positional parameter $0, within a function call, is the name of the -+# function. -+progpath="$0" -+ -+# The name of this program: -+progname=`echo "$progpath" | $SED $basename` -+modename="$progname" -+ -+# Global variables: -+EXIT_SUCCESS=0 -+EXIT_FAILURE=1 -+ -+PROGRAM=ltmain.sh -+PACKAGE=libtool -+VERSION=1.5.22 -+TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" -+ -+# See if we are running on zsh, and set the options which allow our -+# commands through without removal of \ escapes. -+if test -n "${ZSH_VERSION+set}" ; then -+ setopt NO_GLOB_SUBST -+fi -+ - # Check that we have a working $echo. - if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. -@@ -36,7 +64,7 @@ - : - else - # Restart under the correct shell, and then maybe $echo will work. -- exec $SHELL "$0" --no-reexec ${1+"$@"} -+ exec $SHELL "$progpath" --no-reexec ${1+"$@"} - fi - - if test "X$1" = X--fallback-echo; then -@@ -45,19 +73,9 @@ - cat <<EOF - $* - EOF -- exit 0 -+ exit $EXIT_SUCCESS - fi - --# The name of this program. --progname=`$echo "$0" | ${SED} 's%^.*/%%'` --modename="$progname" -- --# Constants. --PROGRAM=ltmain.sh --PACKAGE=libtool --VERSION=1.5a --TIMESTAMP=" (1.1240 2003/06/26 06:55:19)" -- - default_mode= - help="Try \`$progname --help' for more information." - magic="%%%MAGIC variable%%%" -@@ -70,14 +88,15 @@ - Xsed="${SED}"' -e 1s/^X//' - sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' - # test EBCDIC or ASCII --case `echo A|tr A '\301'` in -- A) # EBCDIC based system -- SP2NL="tr '\100' '\n'" -- NL2SP="tr '\r\n' '\100\100'" -+case `echo X|tr X '\101'` in -+ A) # ASCII based system -+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr -+ SP2NL='tr \040 \012' -+ NL2SP='tr \015\012 \040\040' - ;; -- *) # Assume ASCII based system -- SP2NL="tr '\040' '\012'" -- NL2SP="tr '\015\012' '\040\040'" -+ *) # EBCDIC based system -+ SP2NL='tr \100 \n' -+ NL2SP='tr \r\n \100\100' - ;; - esac - -@@ -94,12 +113,14 @@ - fi - - # Make sure IFS has a sensible default --: ${IFS=" "} -+lt_nl=' -+' -+IFS=" $lt_nl" - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - $echo "$modename: not configured to build any kind of library" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Global variables. -@@ -111,6 +132,8 @@ - show="$echo" - show_help= - execute_dlfiles= -+duplicate_deps=no -+preserve_args= - lo2o="s/\\.lo\$/.${objext}/" - o2lo="s/\\.${objext}\$/.lo/" - -@@ -118,10 +141,51 @@ - # Shell function definitions: - # This seems to be the best place for them - -+# func_mktempdir [string] -+# Make a temporary directory that won't clash with other running -+# libtool processes, and avoids race conditions if possible. If -+# given, STRING is the basename for that directory. -+func_mktempdir () -+{ -+ my_template="${TMPDIR-/tmp}/${1-$progname}" -+ -+ if test "$run" = ":"; then -+ # Return a directory name, but don't create it in dry-run mode -+ my_tmpdir="${my_template}-$$" -+ else -+ -+ # If mktemp works, use that first and foremost -+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` -+ -+ if test ! -d "$my_tmpdir"; then -+ # Failing that, at least try and use $RANDOM to avoid a race -+ my_tmpdir="${my_template}-${RANDOM-0}$$" -+ -+ save_mktempdir_umask=`umask` -+ umask 0077 -+ $mkdir "$my_tmpdir" -+ umask $save_mktempdir_umask -+ fi -+ -+ # If we're not in dry-run mode, bomb out on failure -+ test -d "$my_tmpdir" || { -+ $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 -+ exit $EXIT_FAILURE -+ } -+ fi -+ -+ $echo "X$my_tmpdir" | $Xsed -+} -+ -+ -+# func_win32_libid arg -+# return the library type of file 'arg' -+# - # Need a lot of goo to handle *both* DLLs and import libs - # Has to be a shell function in order to 'eat' the argument - # that is supplied when $file_magic_command is called. --win32_libid () { -+func_win32_libid () -+{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in -@@ -130,17 +194,16 @@ - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ -- grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then -+ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ -- sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` -- if test "X$win32_nmres" = "Ximport" ; then -- win32_libid_type="x86 archive import" -- else -- win32_libid_type="x86 archive static" -- fi -+ $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` -+ case $win32_nmres in -+ import*) win32_libid_type="x86 archive import";; -+ *) win32_libid_type="x86 archive static";; -+ esac - fi - ;; -- *DLL*) -+ *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... -@@ -154,9 +217,181 @@ - $echo $win32_libid_type - } - -+ -+# func_infer_tag arg -+# Infer tagged configuration to use if any are available and -+# if one wasn't chosen via the "--tag" command line option. -+# Only attempt this if the compiler in the base compile -+# command doesn't match the default compiler. -+# arg is usually of the form 'gcc ...' -+func_infer_tag () -+{ -+ if test -n "$available_tags" && test -z "$tagname"; then -+ CC_quoted= -+ for arg in $CC; do -+ case $arg in -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") -+ arg="\"$arg\"" -+ ;; -+ esac -+ CC_quoted="$CC_quoted $arg" -+ done -+ case $@ in -+ # Blanks in the command may have been stripped by the calling shell, -+ # but not from the CC environment variable when configure was run. -+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; -+ # Blanks at the start of $base_compile will cause this to fail -+ # if we don't check for them as well. -+ *) -+ for z in $available_tags; do -+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then -+ # Evaluate the configuration. -+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" -+ CC_quoted= -+ for arg in $CC; do -+ # Double-quote args containing other shell metacharacters. -+ case $arg in -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") -+ arg="\"$arg\"" -+ ;; -+ esac -+ CC_quoted="$CC_quoted $arg" -+ done -+ case "$@ " in -+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) -+ # The compiler in the base compile command matches -+ # the one in the tagged configuration. -+ # Assume this is the tagged configuration we want. -+ tagname=$z -+ break -+ ;; -+ esac -+ fi -+ done -+ # If $tagname still isn't set, then no tagged configuration -+ # was found and let the user know that the "--tag" command -+ # line option must be used. -+ if test -z "$tagname"; then -+ $echo "$modename: unable to infer tagged configuration" -+ $echo "$modename: specify a tag with \`--tag'" 1>&2 -+ exit $EXIT_FAILURE -+# else -+# $echo "$modename: using $tagname tagged configuration" -+ fi -+ ;; -+ esac -+ fi -+} -+ -+ -+# func_extract_an_archive dir oldlib -+func_extract_an_archive () -+{ -+ f_ex_an_ar_dir="$1"; shift -+ f_ex_an_ar_oldlib="$1" -+ -+ $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" -+ $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? -+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then -+ : -+ else -+ $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 -+ exit $EXIT_FAILURE -+ fi -+} -+ -+# func_extract_archives gentop oldlib ... -+func_extract_archives () -+{ -+ my_gentop="$1"; shift -+ my_oldlibs=${1+"$@"} -+ my_oldobjs="" -+ my_xlib="" -+ my_xabs="" -+ my_xdir="" -+ my_status="" -+ -+ $show "${rm}r $my_gentop" -+ $run ${rm}r "$my_gentop" -+ $show "$mkdir $my_gentop" -+ $run $mkdir "$my_gentop" -+ my_status=$? -+ if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then -+ exit $my_status -+ fi -+ -+ for my_xlib in $my_oldlibs; do -+ # Extract the objects. -+ case $my_xlib in -+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; -+ *) my_xabs=`pwd`"/$my_xlib" ;; -+ esac -+ my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` -+ my_xdir="$my_gentop/$my_xlib" -+ -+ $show "${rm}r $my_xdir" -+ $run ${rm}r "$my_xdir" -+ $show "$mkdir $my_xdir" -+ $run $mkdir "$my_xdir" -+ exit_status=$? -+ if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then -+ exit $exit_status -+ fi -+ case $host in -+ *-darwin*) -+ $show "Extracting $my_xabs" -+ # Do not bother doing anything if just a dry run -+ if test -z "$run"; then -+ darwin_orig_dir=`pwd` -+ cd $my_xdir || exit $? -+ darwin_archive=$my_xabs -+ darwin_curdir=`pwd` -+ darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` -+ darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` -+ if test -n "$darwin_arches"; then -+ darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` -+ darwin_arch= -+ $show "$darwin_base_archive has multiple architectures $darwin_arches" -+ for darwin_arch in $darwin_arches ; do -+ mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" -+ lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" -+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" -+ func_extract_an_archive "`pwd`" "${darwin_base_archive}" -+ cd "$darwin_curdir" -+ $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" -+ done # $darwin_arches -+ ## Okay now we have a bunch of thin objects, gotta fatten them up :) -+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` -+ darwin_file= -+ darwin_files= -+ for darwin_file in $darwin_filelist; do -+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` -+ lipo -create -output "$darwin_file" $darwin_files -+ done # $darwin_filelist -+ ${rm}r unfat-$$ -+ cd "$darwin_orig_dir" -+ else -+ cd "$darwin_orig_dir" -+ func_extract_an_archive "$my_xdir" "$my_xabs" -+ fi # $darwin_arches -+ fi # $run -+ ;; -+ *) -+ func_extract_an_archive "$my_xdir" "$my_xabs" -+ ;; -+ esac -+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` -+ done -+ func_extract_archives_result="$my_oldobjs" -+} - # End of Shell function definitions - ##################################### - -+# Darwin sucks -+eval std_shrext=\"$shrext_cmds\" -+ -+disable_libs=no -+ - # Parse our command line options once, thoroughly. - while test "$#" -gt 0 - do -@@ -176,12 +411,13 @@ - ;; - tag) - tagname="$arg" -+ preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - -@@ -191,10 +427,10 @@ - # not specially marked. - ;; - *) -- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then -+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. -- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" -+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi -@@ -220,24 +456,25 @@ - --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo -- $echo "Copyright (C) 2003 Free Software Foundation, Inc." -+ $echo "Copyright (C) 2005 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -- exit 0 -+ exit $? - ;; - - --config) -- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 -+ ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do -- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" -+ ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done -- exit 0 -+ exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x -+ preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) -@@ -256,7 +493,7 @@ - else - $echo "disable static libraries" - fi -- exit 0 -+ exit $? - ;; - - --finish) mode="finish" ;; -@@ -268,13 +505,19 @@ - - --quiet | --silent) - show=: -+ preserve_args="$preserve_args $arg" - ;; - -- --tag) prevopt="--tag" prev=tag ;; -+ --tag) -+ prevopt="--tag" -+ prev=tag -+ preserve_args="$preserve_args --tag" -+ ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag -+ preserve_args="$preserve_args --tag" - ;; - - -dlopen) -@@ -285,7 +528,7 @@ - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - - *) -@@ -298,9 +541,21 @@ - if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - -+case $disable_libs in -+no) -+ ;; -+shared) -+ build_libtool_libs=no -+ build_old_libs=yes -+ ;; -+static) -+ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -+ ;; -+esac -+ - # If this variable is set in any of the actions, the command in it - # will be execed at the end. This prevents here-documents from being - # left over by shells. -@@ -311,7 +566,7 @@ - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 -- $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 -+ $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link -@@ -354,7 +609,7 @@ - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. -@@ -369,13 +624,15 @@ - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" -+ suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= -+ later= - - for arg - do -- case "$arg_mode" in -+ case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" -@@ -394,24 +651,19 @@ - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - -- -static) -- build_old_libs=yes -+ -static | -prefer-pic | -prefer-non-pic) -+ later="$later $arg" - continue - ;; - -- -prefer-pic) -- pic_mode=yes -- continue -- ;; -- -- -prefer-non-pic) -- pic_mode=no -+ -no-suppress) -+ suppress_opt=no - continue - ;; - -@@ -424,7 +676,7 @@ - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' -- for arg in $args; do -+ for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. -@@ -462,7 +714,10 @@ - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly -- # in scan sets, so we specify it separately. -+ # in scan sets, and some SunOS ksh mistreat backslash-escaping -+ # in scan sets (worked around with variable expansion), -+ # and furthermore cannot handle '|' '&' '(' ')' in scan sets -+ # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; -@@ -474,11 +729,11 @@ - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" -- exit 1 -+ exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. -@@ -511,51 +766,39 @@ - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - -- # Infer tagged configuration to use if any are available and -- # if one wasn't chosen via the "--tag" command line option. -- # Only attempt this if the compiler in the base compile -- # command doesn't match the default compiler. -- if test -n "$available_tags" && test -z "$tagname"; then -- case $base_compile in -- # Blanks in the command may have been stripped by the calling shell, -- # but not from the CC environment variable when configure was run. -- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; -- # Blanks at the start of $base_compile will cause this to fail -- # if we don't check for them as well. -- *) -- for z in $available_tags; do -- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then -- # Evaluate the configuration. -- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" -- case "$base_compile " in -- "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) -- # The compiler in the base compile command matches -- # the one in the tagged configuration. -- # Assume this is the tagged configuration we want. -- tagname=$z -- break -- ;; -- esac -- fi -- done -- # If $tagname still isn't set, then no tagged configuration -- # was found and let the user know that the "--tag" command -- # line option must be used. -- if test -z "$tagname"; then -- $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit 1 --# else --# $echo "$modename: using $tagname tagged configuration" -- fi -+ func_infer_tag $base_compile -+ -+ for arg in $later; do -+ case $arg in -+ -static) -+ build_old_libs=yes -+ continue -+ ;; -+ -+ -prefer-pic) -+ pic_mode=yes -+ continue -+ ;; -+ -+ -prefer-non-pic) -+ pic_mode=no -+ continue - ;; - esac -- fi -+ done - -+ qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` -+ case $qlibobj in -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") -+ qlibobj="\"$qlibobj\"" ;; -+ esac -+ test "X$libobj" != "X$qlibobj" \ -+ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ -+ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then -@@ -568,7 +811,7 @@ - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. -@@ -579,7 +822,7 @@ - fi - - $run $rm $removelist -- trap "$run $rm $removelist; exit 1" 1 2 15 -+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in -@@ -598,7 +841,7 @@ - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" -- trap "$run $rm $removelist; exit 1" 1 2 15 -+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no -@@ -608,7 +851,7 @@ - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then -- until $run ln "$0" "$lockfile" 2>/dev/null; do -+ until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done -@@ -626,14 +869,19 @@ - compiler." - - $run $rm $removelist -- exit 1 -+ exit $EXIT_FAILURE - fi -- $echo $srcfile > "$lockfile" -+ $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi -+ qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` -+ case $qsrcfile in -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") -+ qsrcfile="\"$qsrcfile\"" ;; -+ esac - - $run $rm "$libobj" "${libobj}T" - -@@ -655,18 +903,18 @@ - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then -- command="$base_compile $srcfile $pic_flag" -+ command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code -- command="$base_compile $srcfile" -+ command="$base_compile $qsrcfile" - fi - - if test ! -d "${xdir}$objdir"; then - $show "$mkdir ${xdir}$objdir" - $run $mkdir ${xdir}$objdir -- status=$? -- if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then -- exit $status -+ exit_status=$? -+ if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then -+ exit $exit_status - fi - fi - -@@ -681,7 +929,7 @@ - if $run eval "$command"; then : - else - test -n "$output_obj" && $run $rm $removelist -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test "$need_locks" = warn && -@@ -701,7 +949,7 @@ - compiler." - - $run $rm $removelist -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one -@@ -722,7 +970,9 @@ - EOF - - # Allow error messages only from the first compilation. -- suppress_output=' >/dev/null 2>&1' -+ if test "$suppress_opt" = yes; then -+ suppress_output=' >/dev/null 2>&1' -+ fi - else - # No PIC object so indicate it doesn't exist in the libtool - # object file. -@@ -736,9 +986,9 @@ - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code -- command="$base_compile $srcfile" -+ command="$base_compile $qsrcfile" - else -- command="$base_compile $srcfile $pic_flag" -+ command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" -@@ -751,7 +1001,7 @@ - if $run eval "$command"; then : - else - $run $rm $removelist -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test "$need_locks" = warn && -@@ -771,7 +1021,7 @@ - compiler." - - $run $rm $removelist -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Just move the object if needed -@@ -809,7 +1059,7 @@ - $run $rm "$lockfile" - fi - -- exit 0 -+ exit $EXIT_SUCCESS - ;; - - # libtool link mode -@@ -835,7 +1085,7 @@ - ;; - esac - libtool_args="$nonopt" -- base_compile="$nonopt" -+ base_compile="$nonopt $@" - compile_command="$nonopt" - finalize_command="$nonopt" - -@@ -847,7 +1097,6 @@ - old_convenience= - deplibs= - old_deplibs= -- add_flags= - compiler_flags= - linker_flags= - dllsearchpath= -@@ -868,6 +1117,8 @@ - no_install=no - objs= - non_pic_objects= -+ notinst_path= # paths that contain not-installed libtool libraries -+ precious_files_regex= - prefer_static_libs=no - preload=no - prev= -@@ -881,6 +1132,8 @@ - vinfo= - vinfo_number=no - -+ func_infer_tag $base_compile -+ - # We need to know -static, to get the right output filenames. - for arg - do -@@ -893,14 +1146,15 @@ - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi -+ prefer_static_libs=yes - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi -+ prefer_static_libs=built - fi - build_libtool_libs=no - build_old_libs=yes -- prefer_static_libs=yes - break - ;; - esac -@@ -912,7 +1166,6 @@ - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" -- base_compile="$base_compile $arg" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") -@@ -976,7 +1229,7 @@ - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" -- exit 1 -+ exit $EXIT_FAILURE - fi - prev= - continue -@@ -991,6 +1244,11 @@ - prev= - continue - ;; -+ precious_regex) -+ precious_files_regex="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -1023,7 +1281,7 @@ - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. -@@ -1071,12 +1329,17 @@ - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi -+ else -+ # If the PIC object exists, use it instead. -+ # $xdir was prepended to $pic_object above. -+ non_pic_object="$pic_object" -+ non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - else - # Dry-run case. - -@@ -1097,7 +1360,7 @@ - done - else - $echo "$modename: link input file \`$save_arg' does not exist" -- exit 1 -+ exit $EXIT_FAILURE - fi - arg=$save_arg - prev= -@@ -1109,7 +1372,7 @@ - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then -@@ -1149,16 +1412,15 @@ - finalize_command="$finalize_command $qarg" - continue - ;; -- framework) -- case $host in -- *-*-darwin*) -- case "$deplibs " in -- *" $qarg.ltframework "*) ;; -- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later -- ;; -- esac -- ;; -- esac -+ shrext) -+ shrext_cmds="$arg" -+ prev= -+ continue -+ ;; -+ darwin_framework|darwin_framework_skip) -+ test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" -+ compile_command="$compile_command $arg" -+ finalize_command="$finalize_command $arg" - prev= - continue - ;; -@@ -1210,7 +1472,7 @@ - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" -- exit 1 -+ exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms -@@ -1220,6 +1482,18 @@ - continue - ;; - -+ -framework|-arch|-isysroot) -+ case " $CC " in -+ *" ${arg} ${1} "* | *" ${arg} ${1} "*) -+ prev=darwin_framework_skip ;; -+ *) compiler_flags="$compiler_flags $arg" -+ prev=darwin_framework ;; -+ esac -+ compile_command="$compile_command $arg" -+ finalize_command="$finalize_command $arg" -+ continue -+ ;; -+ - -inst-prefix-dir) - prev=inst_prefix - continue -@@ -1246,7 +1520,8 @@ - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 -- exit 1 -+ absdir="$dir" -+ notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; -@@ -1260,10 +1535,15 @@ - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) -+ testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac -+ case :$dllsearchpath: in -+ *":$testbindir:"*) ;; -+ *) dllsearchpath="$dllsearchpath:$testbindir";; -+ esac - ;; - esac - continue -@@ -1272,26 +1552,35 @@ - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in -- *-*-cygwin* | *-*-pw32* | *-*-beos*) -+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; -- *-*-mingw* | *-*-os2*) -+ *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; -- *-*-openbsd* | *-*-freebsd*) -+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework -- deplibs="$deplibs System.ltframework" -+ deplibs="$deplibs -framework System" - continue -+ ;; -+ *-*-sco3.2v5* | *-*-sco5v6*) -+ # Causes problems with __ctype -+ test "X$arg" = "X-lc" && continue -+ ;; -+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) -+ # Compiler inserts libc in the correct place for threads to work -+ test "X$arg" = "X-lc" && continue -+ ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in -- *-*-openbsd*) -+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; -@@ -1301,18 +1590,41 @@ - continue - ;; - -+ # Tru64 UNIX uses -model [arg] to determine the layout of C++ -+ # classes, name mangling, and exception handling. -+ -model) -+ compile_command="$compile_command $arg" -+ compiler_flags="$compiler_flags $arg" -+ finalize_command="$finalize_command $arg" -+ prev=xcompiler -+ continue -+ ;; -+ -+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) -+ compiler_flags="$compiler_flags $arg" -+ compile_command="$compile_command $arg" -+ finalize_command="$finalize_command $arg" -+ continue -+ ;; -+ - -module) - module=yes - continue - ;; - -- # gcc -m* arguments should be passed to the linker via $compiler_flags -- # in order to pass architecture information to the linker -- # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo -- # but this is not reliable with gcc because gcc may use -mfoo to -- # select a different linker, different libraries, etc, while -- # -Wl,-mfoo simply passes -mfoo to the linker. -- -m*) -+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler -+ # -r[0-9][0-9]* specifies the processor on the SGI compiler -+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler -+ # +DA*, +DD* enable 64-bit mode on the HP compiler -+ # -q* pass through compiler args for the IBM compiler -+ # -m* pass through architecture-specific compiler args for GCC -+ # -m*, -t[45]*, -txscale* pass through architecture-specific -+ # compiler args for GCC -+ # -pg pass through profiling flag for GCC -+ # @file GCC response files -+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ -+ -t[45]*|-txscale*|@*) -+ - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` -@@ -1323,9 +1635,7 @@ - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" -- if test "$with_gcc" = "yes" ; then -- compiler_flags="$compiler_flags $arg" -- fi -+ compiler_flags="$compiler_flags $arg" - continue - ;; - -@@ -1365,6 +1675,11 @@ - - -o) prev=output ;; - -+ -precious-files-regex) -+ prev=precious_regex -+ continue -+ ;; -+ - -release) - prev=release - continue -@@ -1387,7 +1702,7 @@ - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in -@@ -1473,11 +1788,6 @@ - continue - ;; - -- -framework) -- prev=framework -- continue -- ;; -- - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need -@@ -1488,7 +1798,6 @@ - arg="\"$arg\"" - ;; - esac -- add_flags="$add_flags $arg" - ;; - - *.$objext) -@@ -1516,7 +1825,7 @@ - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. -@@ -1564,12 +1873,17 @@ - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi -+ else -+ # If the PIC object exists, use it instead. -+ # $xdir was prepended to $pic_object above. -+ non_pic_object="$pic_object" -+ non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - else - # Dry-run case. - -@@ -1623,7 +1937,6 @@ - arg="\"$arg\"" - ;; - esac -- add_flags="$add_flags $arg" - ;; - esac # arg - -@@ -1637,48 +1950,7 @@ - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 -- exit 1 -- fi -- -- # Infer tagged configuration to use if any are available and -- # if one wasn't chosen via the "--tag" command line option. -- # Only attempt this if the compiler in the base link -- # command doesn't match the default compiler. -- if test -n "$available_tags" && test -z "$tagname"; then -- case $base_compile in -- # Blanks in the command may have been stripped by the calling shell, -- # but not from the CC environment variable when configure was run. -- "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; -- # Blanks at the start of $base_compile will cause this to fail -- # if we don't check for them as well. -- *) -- for z in $available_tags; do -- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then -- # Evaluate the configuration. -- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" -- case $base_compile in -- "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) -- # The compiler in $compile_command matches -- # the one in the tagged configuration. -- # Assume this is the tagged configuration we want. -- tagname=$z -- break -- ;; -- esac -- fi -- done -- # If $tagname still isn't set, then no tagged configuration -- # was found and let the user know that the "--tag" command -- # line option must be used. -- if test -z "$tagname"; then -- $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit 1 --# else --# $echo "$modename: using $tagname tagged configuration" -- fi -- ;; -- esac -+ exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then -@@ -1711,9 +1983,9 @@ - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir -- status=$? -- if test "$status" -ne 0 && test ! -d "$output_objdir"; then -- exit $status -+ exit_status=$? -+ if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then -+ exit $exit_status - fi - fi - -@@ -1722,7 +1994,7 @@ - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; -@@ -1732,7 +2004,7 @@ - - case $host in - *cygwin* | *mingw* | *pw32*) -- # don't eliminate duplcations in $postdeps and $predeps -+ # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) -@@ -1776,7 +2048,6 @@ - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries -- notinst_path= # paths that contain not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" -@@ -1785,7 +2056,7 @@ - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - done -@@ -1823,18 +2094,23 @@ - lib= - found=no - case $deplib in -+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ compiler_flags="$compiler_flags $deplib" -+ fi -+ continue -+ ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi -- if test "$pass" = conv && test "$allow_undefined" = yes; then -- deplibs="$deplib $deplibs" -- continue -- fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do -- for search_ext in .la $shrext .so .a; do -+ for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then -@@ -1895,18 +2171,6 @@ - fi - fi - ;; # -l -- *.ltframework) -- if test "$linkmode,$pass" = "prog,link"; then -- compile_deplibs="$deplib $compile_deplibs" -- finalize_deplibs="$deplib $finalize_deplibs" -- else -- deplibs="$deplib $deplibs" -- if test "$linkmode" = lib ; then -- newdependency_libs="$deplib $newdependency_libs" -- fi -- fi -- continue -- ;; - -L*) - case $linkmode in - lib) -@@ -1922,11 +2186,11 @@ - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" -- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi -+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 -@@ -1954,7 +2218,22 @@ - fi - case $linkmode in - lib) -- if test "$deplibs_check_method" != pass_all; then -+ valid_a_lib=no -+ case $deplibs_check_method in -+ match_pattern*) -+ set dummy $deplibs_check_method -+ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` -+ if eval $echo \"$deplib\" 2>/dev/null \ -+ | $SED 10q \ -+ | $EGREP "$match_pattern_regex" > /dev/null; then -+ valid_a_lib=yes -+ fi -+ ;; -+ pass_all) -+ valid_a_lib=yes -+ ;; -+ esac -+ if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" -@@ -2004,15 +2283,15 @@ - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else -- $echo "$modename: cannot find the library \`$lib'" 1>&2 -- exit 1 -+ $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 -+ exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` -@@ -2028,6 +2307,8 @@ - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no -+ avoidtemprpath= -+ - - # Read the .la file - case $lib in -@@ -2035,13 +2316,6 @@ - *) . ./$lib ;; - esac - -- case $host in -- *-*-darwin*) -- # Convert "-framework foo" to "foo.ltframework" in dependency_libs -- test -n "$dependency_libs" && dependency_libs=`$echo "X$dependency_libs" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` -- ;; -- esac -- - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then -@@ -2050,35 +2324,34 @@ - fi - - if test "$pass" = conv; then -- # Only check for convenience libraries -- deplibs="$lib $deplibs" -- tmp_libs= -- for deplib in $dependency_libs; do -- #echo "Adding $deplib to \$deplibs" -- deplibs="$deplib $deplibs" -- if test "X$duplicate_deps" = "Xyes" ; then -- case "$tmp_libs " in -- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; -- esac -- fi -- tmp_libs="$tmp_libs $deplib" -- done -+ # Only check for convenience libraries -+ deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" -+ tmp_libs= -+ for deplib in $dependency_libs; do -+ deplibs="$deplib $deplibs" -+ if test "X$duplicate_deps" = "Xyes" ; then -+ case "$tmp_libs " in -+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; -+ esac -+ fi -+ tmp_libs="$tmp_libs $deplib" -+ done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - -- -+ - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do -@@ -2086,16 +2359,18 @@ - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi -- if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then -+ if test -z "$dlname" || -+ test "$dlopen_support" != yes || -+ test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't -@@ -2132,11 +2407,19 @@ - dir="$libdir" - absdir="$libdir" - fi -+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -- dir="$ladir/$objdir" -- absdir="$abs_ladir/$objdir" -- # Remove this search path later -- notinst_path="$notinst_path $abs_ladir" -+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then -+ dir="$ladir" -+ absdir="$abs_ladir" -+ # Remove this search path later -+ notinst_path="$notinst_path $abs_ladir" -+ else -+ dir="$ladir/$objdir" -+ absdir="$abs_ladir/$objdir" -+ # Remove this search path later -+ notinst_path="$notinst_path $abs_ladir" -+ fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - -@@ -2144,7 +2427,7 @@ - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). -@@ -2171,7 +2454,7 @@ - continue - fi - -- -+ - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" -@@ -2209,12 +2492,12 @@ - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path -- if test -n "$shlibpath_var"; then -+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; -- *) temp_rpath="$temp_rpath $dir" ;; -+ *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - -@@ -2251,24 +2534,29 @@ - fi - - link_static=no # Whether the deplib will be linked statically -+ use_static_libs=$prefer_static_libs -+ if test "$use_static_libs" = built && test "$installed" = yes ; then -+ use_static_libs=no -+ fi - if test -n "$library_names" && -- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then -+ { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library -- -- # Warn about portability, can't link against -module's on some systems (darwin) -- if test "$shouldnotlink" = yes && test "$pass" = link ; then -+ -+ # Warn about portability, can't link against -module's on -+ # some systems (darwin) -+ if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi -- $echo "*** $linklib is not portable!" -- fi -+ $echo "*** $linklib is not portable!" -+ fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. -@@ -2326,9 +2614,10 @@ - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' -- eval cmds=\"$extract_expsyms_cmds\" -+ cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done -@@ -2339,9 +2628,10 @@ - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' -- eval cmds=\"$old_archive_from_expsyms_cmds\" -+ cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done -@@ -2362,11 +2652,15 @@ - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in -- *-*-sco3.2v5* ) add_dir="-L$dir" ;; -+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; -+ *-*-sysv4*uw2*) add_dir="-L$dir" ;; -+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ -+ *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) -- # if the lib is a module then we can not link against it, someone -- # is ignoring the new warnings I added -- if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then -+ # if the lib is a module then we can not link against -+ # it, someone is ignoring the new warnings I added -+ if /usr/bin/file -L $add 2> /dev/null | -+ $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo -@@ -2374,7 +2668,7 @@ - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" -- fi -+ fi - fi - esac - elif test "$hardcode_minus_L" = no; then -@@ -2397,9 +2691,9 @@ - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then -- case "$libdir" in -+ case $libdir in - [\\/]*) -- add_dir="-L$inst_prefix_dir$libdir $add_dir" -+ add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi -@@ -2416,7 +2710,7 @@ - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then -@@ -2459,7 +2753,8 @@ - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then -- if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then -+ if test -n "$inst_prefix_dir" && -+ test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" -@@ -2469,9 +2764,9 @@ - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then -- case "$libdir" in -+ case $libdir in - [\\/]*) -- add_dir="-L$inst_prefix_dir$libdir $add_dir" -+ add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi -@@ -2530,17 +2825,16 @@ - fi - fi - else -- convenience="$convenience $dir/$old_library" -- old_convenience="$old_convenience $dir/$old_library" - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then -- #if test -n "$dependency_libs" && -- # { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || -- # test "$link_static" = yes; }; then -+ if test -n "$dependency_libs" && -+ { test "$hardcode_into_libs" != yes || -+ test "$build_old_libs" = yes || -+ test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do -@@ -2554,7 +2848,7 @@ - esac - done - dependency_libs="$temp_deplibs" -- #fi -+ fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library -@@ -2596,20 +2890,18 @@ - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then -- # Sure, some shells/systems don't implement the -ef. -- # Those will have to live with the warning. -- test "$absdir" -ef "$libdir" > /dev/null 2>&1 || -- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 -+ $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) -- # we do not want to link against static libs, but need to link against shared -+ # we do not want to link against static libs, -+ # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do -@@ -2617,55 +2909,45 @@ - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" -- fi -+ fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac -- path="" - fi -+ path="" - ;; - *) -- path="-L$path" -- ;; -- esac -- -+ path="-L$path" -+ ;; -+ esac - ;; -- -l*) -+ -l*) - case $host in - *-*-darwin*) -- # Again, we only want to link against shared libraries -- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` -- for tmp in $newlib_search_path ; do -- if test -f "$tmp/lib$tmp_libs.dylib" ; then -- eval depdepl="$tmp/lib$tmp_libs.dylib" -- break -- fi -- done -- path="" -+ # Again, we only want to link against shared libraries -+ eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` -+ for tmp in $newlib_search_path ; do -+ if test -f "$tmp/lib$tmp_libs.dylib" ; then -+ eval depdepl="$tmp/lib$tmp_libs.dylib" -+ break -+ fi -+ done -+ path="" - ;; - *) continue ;; -- esac -- ;; -- -- *.ltframework) -- case $host in -- *-*-darwin*) -- depdepl="$deplib" -- ;; - esac - ;; -- - *) continue ;; - esac - case " $deplibs " in -- *" $depdepl "*) ;; -- *) deplibs="$deplibs $depdepl" ;; -- esac -- case " $deplibs " in - *" $path "*) ;; -- *) deplibs="$deplibs $path" ;; -+ *) deplibs="$path $deplibs" ;; -+ esac -+ case " $deplibs " in -+ *" $depdepl "*) ;; -+ *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no -@@ -2752,7 +3034,8 @@ - eval $var=\"$tmp_libs\" - done # for var - fi -- # Last step: remove runtime libs from dependency_libs (they stay in deplibs) -+ # Last step: remove runtime libs from dependency_libs -+ # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in -@@ -2812,19 +3095,19 @@ - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` -- eval shared_ext=\"$shrext\" -+ eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` -- eval shared_ext=\"$shrext\" -+ eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` -@@ -2835,7 +3118,7 @@ - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 -- exit 1 -+ exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" -@@ -2883,13 +3166,13 @@ - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible -- -+ - case $vinfo_number in - yes) - number_major="$2" -@@ -2929,36 +3212,36 @@ - - # Check that each of the things are valid numbers. - case $current in -- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; -+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) -- $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 -+ $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - - case $revision in -- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; -+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) -- $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 -+ $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - - case $age in -- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; -+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) -- $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 -+ $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Calculate the version variables. -@@ -2975,7 +3258,7 @@ - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` -- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" -+ verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; - - freebsd-aout) -@@ -3047,7 +3330,7 @@ - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - -@@ -3098,9 +3381,15 @@ - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in -- *.$objext | *$exeext) -+ *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) -+ if test "X$precious_files_regex" != "X"; then -+ if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 -+ then -+ continue -+ fi -+ fi - removelist="$removelist $p" - ;; - *) ;; -@@ -3122,9 +3411,9 @@ - - # Eliminate all temporary directories. - for path in $notinst_path; do -- lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` -- deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` -- dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` -+ lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` -+ deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` -+ dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - done - - if test -n "$xrpath"; then -@@ -3137,7 +3426,7 @@ - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done -- if true || test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then -+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi -@@ -3170,14 +3459,19 @@ - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework -- deplibs="$deplibs System.ltframework" -+ deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; -- *-*-openbsd* | *-*-freebsd*) -+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. -- test "X$arg" = "X-lc" && continue -+ ;; -+ *-*-sco3.2v5* | *-*-sco5v6*) -+ # Causes problems with __ctype -+ ;; -+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) -+ # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. -@@ -3221,11 +3515,11 @@ - int main() { return 0; } - EOF - $rm conftest -- $LTCC -o conftest conftest.c $deplibs -+ $LTCC $LTCFLAGS -o conftest conftest.c $deplibs - if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` - for i in $deplibs; do -- name="`expr $i : '-l\(.*\)'`" -+ name=`expr $i : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" -ne "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then -@@ -3262,11 +3556,11 @@ - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do -- name="`expr $i : '-l\(.*\)'`" -+ name=`expr $i : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - $rm conftest -- $LTCC -o conftest conftest.c $i -+ $LTCC $LTCFLAGS -o conftest conftest.c $i - # Did it work? - if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` -@@ -3314,7 +3608,7 @@ - set dummy $deplibs_check_method - file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do -- name="`expr $a_deplib : '-l\(.*\)'`" -+ name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test "$name" != "" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then -@@ -3383,7 +3677,7 @@ - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do -- name="`expr $a_deplib : '-l\(.*\)'`" -+ name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then -@@ -3463,7 +3757,7 @@ - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework -- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` -+ newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - -@@ -3509,17 +3803,39 @@ - fi - fi - fi -- # Time to change all our "foo.ltframework" stuff back to "-framework foo" -- case $host in -- *-*-darwin*) -- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` -- dependency_libs=`$echo "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` -- ;; -- esac - # Done checking deplibs! - deplibs=$newdeplibs - fi - -+ -+ # move library search paths that coincide with paths to not yet -+ # installed libraries to the beginning of the library search list -+ new_libs= -+ for path in $notinst_path; do -+ case " $new_libs " in -+ *" -L$path/$objdir "*) ;; -+ *) -+ case " $deplibs " in -+ *" -L$path/$objdir "*) -+ new_libs="$new_libs -L$path/$objdir" ;; -+ esac -+ ;; -+ esac -+ done -+ for deplib in $deplibs; do -+ case $deplib in -+ -L*) -+ case " $new_libs " in -+ *" $deplib "*) ;; -+ *) new_libs="$new_libs $deplib" ;; -+ esac -+ ;; -+ *) new_libs="$new_libs $deplib" ;; -+ esac -+ done -+ deplibs="$new_libs" -+ -+ - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= -@@ -3532,7 +3848,7 @@ - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" -- test "$mode" != relink && test "$fast_install" = no && rpath="$compile_rpath$rpath" -+ test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then -@@ -3587,7 +3903,7 @@ - fi - - # Get the real and link names of the library. -- eval shared_ext=\"$shrext\" -+ eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" -@@ -3603,6 +3919,7 @@ - fi - - lib="$output_objdir/$realname" -+ linknames= - for link - do - linknames="$linknames $link" -@@ -3617,10 +3934,11 @@ - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols -- eval cmds=\"$export_symbols_cmds\" -+ cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" -@@ -3630,6 +3948,9 @@ - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: -+ # Break out early, otherwise skipped_export may be -+ # set to false by a later but shorter cmd. -+ break - fi - done - IFS="$save_ifs" -@@ -3650,12 +3971,12 @@ - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; -- *) -+ *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done -- deplibs="$tmp_deplibs" -+ deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then -@@ -3663,67 +3984,13 @@ - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" -- $show "${rm}r $gentop" -- $run ${rm}r "$gentop" -- $show "$mkdir $gentop" -- $run $mkdir "$gentop" -- status=$? -- if test "$status" -ne 0 && test ! -d "$gentop"; then -- exit $status -- fi - generated="$generated $gentop" - -- for xlib in $convenience; do -- # Extract the objects. -- case $xlib in -- [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; -- *) xabs=`pwd`"/$xlib" ;; -- esac -- xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` -- xdir="$gentop/$xlib" -- -- $show "${rm}r $xdir" -- $run ${rm}r "$xdir" -- $show "$mkdir $xdir" -- $run $mkdir "$xdir" -- status=$? -- if test "$status" -ne 0 && test ! -d "$xdir"; then -- exit $status -- fi -- # We will extract separately just the conflicting names and we will no -- # longer touch any unique names. It is faster to leave these extract -- # automatically by $AR in one run. -- $show "(cd $xdir && $AR x $xabs)" -- $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? -- if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then -- : -- else -- $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 -- $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 -- $AR t "$xabs" | sort | uniq -cd | while read -r count name -- do -- i=1 -- while test "$i" -le "$count" -- do -- # Put our $i before any first dot (extension) -- # Never overwrite any file -- name_to="$name" -- while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" -- do -- name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` -- done -- $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" -- $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? -- i=`expr $i + 1` -- done -- done -- fi -- -- libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` -- done -+ func_extract_archives $gentop $convenience -+ libobjs="$libobjs $func_extract_archives_result" - fi - fi -- -+ - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" -@@ -3734,31 +4001,27 @@ - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - -- # Add all flags from the command line. We here create a library, -- # but those flags were only added to compile_command and -- # finalize_command, which are only used when creating executables. -- # So do it by hand here. -- compiler_flags="$compiler_flags $add_flags" -- # Only add it to commands which use CC, instead of LD, i.e. -- # only to $compiler_flags -- #linker_flags="$linker_flags $add_flags" -- - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then -- eval cmds=\"$module_expsym_cmds\" -+ eval test_cmds=\"$module_expsym_cmds\" -+ cmds=$module_expsym_cmds - else -- eval cmds=\"$module_cmds\" -+ eval test_cmds=\"$module_cmds\" -+ cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then -- eval cmds=\"$archive_expsym_cmds\" -+ eval test_cmds=\"$archive_expsym_cmds\" -+ cmds=$archive_expsym_cmds - else -- eval cmds=\"$archive_cmds\" -+ eval test_cmds=\"$archive_cmds\" -+ cmds=$archive_cmds - fi - fi - -- if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && -+ if test "X$skipped_export" != "X:" && -+ len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else -@@ -3777,6 +4040,7 @@ - save_libobjs=$libobjs - fi - save_output=$output -+ output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. -@@ -3786,13 +4050,13 @@ - delfiles= - last_robj= - k=1 -- output=$output_objdir/$save_output-${k}.$objext -+ output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || -- { len=`expr "X$test_cmds" : ".*"` && -+ { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else -@@ -3806,9 +4070,9 @@ - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi -- last_robj=$output_objdir/$save_output-${k}.$objext -+ last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` -- output=$output_objdir/$save_output-${k}.$objext -+ output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi -@@ -3828,13 +4092,13 @@ - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - -- # Set up a command to remove the reloadale object files -+ # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` -- delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" -+ delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" -@@ -3859,28 +4123,54 @@ - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. -+ if test "$module" = yes && test -n "$module_cmds" ; then -+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then -+ cmds=$module_expsym_cmds -+ else -+ cmds=$module_cmds -+ fi -+ else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then -- eval cmds=\"$archive_expsym_cmds\" -+ cmds=$archive_expsym_cmds - else -- eval cmds=\"$archive_cmds\" -+ cmds=$archive_cmds -+ fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. -- eval cmds=\"\$cmds~$rm $delfiles\" -+ eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" -- $run eval "$cmd" || exit $? -+ $run eval "$cmd" || { -+ lt_exit=$? -+ -+ # Restore the uninstalled library and exit -+ if test "$mode" = relink; then -+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' -+ fi -+ -+ exit $lt_exit -+ } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? -- exit 0 -+ -+ if test -n "$convenience"; then -+ if test -z "$whole_archive_flag_spec"; then -+ $show "${rm}r $gentop" -+ $run ${rm}r "$gentop" -+ fi -+ fi -+ -+ exit $EXIT_SUCCESS - fi - - # Create links to the real library. -@@ -3928,7 +4218,7 @@ - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` -@@ -3957,64 +4247,10 @@ - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" -- $show "${rm}r $gentop" -- $run ${rm}r "$gentop" -- $show "$mkdir $gentop" -- $run $mkdir "$gentop" -- status=$? -- if test "$status" -ne 0 && test ! -d "$gentop"; then -- exit $status -- fi - generated="$generated $gentop" - -- for xlib in $convenience; do -- # Extract the objects. -- case $xlib in -- [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; -- *) xabs=`pwd`"/$xlib" ;; -- esac -- xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` -- xdir="$gentop/$xlib" -- -- $show "${rm}r $xdir" -- $run ${rm}r "$xdir" -- $show "$mkdir $xdir" -- $run $mkdir "$xdir" -- status=$? -- if test "$status" -ne 0 && test ! -d "$xdir"; then -- exit $status -- fi -- # We will extract separately just the conflicting names and we will no -- # longer touch any unique names. It is faster to leave these extract -- # automatically by $AR in one run. -- $show "(cd $xdir && $AR x $xabs)" -- $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? -- if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then -- : -- else -- $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 -- $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 -- $AR t "$xabs" | sort | uniq -cd | while read -r count name -- do -- i=1 -- while test "$i" -le "$count" -- do -- # Put our $i before any first dot (extension) -- # Never overwrite any file -- name_to="$name" -- while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" -- do -- name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` -- done -- $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" -- $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? -- i=`expr $i + 1` -- done -- done -- fi -- -- reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` -- done -+ func_extract_archives $gentop $convenience -+ reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - -@@ -4022,10 +4258,11 @@ - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" -- eval cmds=\"$reload_cmds\" -+ cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done -@@ -4038,7 +4275,7 @@ - $run ${rm}r $gentop - fi - -- exit 0 -+ exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then -@@ -4051,17 +4288,18 @@ - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? -- exit 0 -+ exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" -- eval cmds=\"$reload_cmds\" -+ cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done -@@ -4073,7 +4311,7 @@ - $run ${rm}r $gentop - fi - -- exit 0 -+ exit $EXIT_SUCCESS - ;; - - prog) -@@ -4098,24 +4336,50 @@ - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework -- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` -- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` -+ compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` -+ finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in -- *-*-darwin*) -+ *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi -- # Time to change all our "foo.ltframework" stuff back to "-framework foo" -- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` -- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - -+ -+ # move library search paths that coincide with paths to not yet -+ # installed libraries to the beginning of the library search list -+ new_libs= -+ for path in $notinst_path; do -+ case " $new_libs " in -+ *" -L$path/$objdir "*) ;; -+ *) -+ case " $compile_deplibs " in -+ *" -L$path/$objdir "*) -+ new_libs="$new_libs -L$path/$objdir" ;; -+ esac -+ ;; -+ esac -+ done -+ for deplib in $compile_deplibs; do -+ case $deplib in -+ -L*) -+ case " $new_libs " in -+ *" $deplib "*) ;; -+ *) new_libs="$new_libs $deplib" ;; -+ esac -+ ;; -+ *) new_libs="$new_libs $deplib" ;; -+ esac -+ done -+ compile_deplibs="$new_libs" -+ -+ - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - -@@ -4160,10 +4424,15 @@ - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) -+ testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac -+ case :$dllsearchpath: in -+ *":$testbindir:"*) ;; -+ *) dllsearchpath="$dllsearchpath:$testbindir";; -+ esac - ;; - esac - done -@@ -4277,13 +4546,25 @@ - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then -- export_symbols="$output_objdir/$output.exp" -+ export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols -- $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' -+ $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' -+ case $host in -+ *cygwin* | *mingw* ) -+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' -+ $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' -+ ;; -+ esac - else -- $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' -- $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' -+ $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' -+ $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' -+ case $host in -+ *cygwin* | *mingw* ) -+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' -+ $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' -+ ;; -+ esac - fi - fi - -@@ -4334,7 +4615,26 @@ - #endif - - /* The mapping between symbol names and symbols. */ -+" -+ -+ case $host in -+ *cygwin* | *mingw* ) -+ $echo >> "$output_objdir/$dlsyms" "\ -+/* DATA imports from DLLs on WIN32 can't be const, because -+ runtime relocations are performed -- see ld's documentation -+ on pseudo-relocs */ -+struct { -+" -+ ;; -+ * ) -+ $echo >> "$output_objdir/$dlsyms" "\ - const struct { -+" -+ ;; -+ esac -+ -+ -+ $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; - } -@@ -4381,20 +4681,33 @@ - esac - - # Now compile the dynamic symbol file. -- $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" -- $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? -+ $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" -+ $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. -- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -+ case $host in -+ *cygwin* | *mingw* ) -+ if test -f "$output_objdir/${outputname}.def" ; then -+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` -+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` -+ else -+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -+ fi -+ ;; -+ * ) -+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` -+ ;; -+ esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - else -@@ -4407,17 +4720,6 @@ - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - -- # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G -- # Also add -bnolibpath to the beginning of the link line, to clear the hardcoded runpath. -- # Otherwise, things like the -L path to libgcc.a are accidentally hardcoded by ld. -- # This does not apply on AIX for ia64, which uses a SysV linker. -- case "$host" in -- ia64-*-aix5*) ;; -- *-*-aix4* | *-*-aix5*) -- compile_command=`$echo "X$compile_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` -- finalize_command=`$echo "X$finalize_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` ;; -- esac -- - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` -@@ -4426,7 +4728,7 @@ - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" -- status=$? -+ exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then -@@ -4434,7 +4736,7 @@ - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - -- exit $status -+ exit $exit_status - fi - - if test -n "$shlibpath_var"; then -@@ -4493,7 +4795,7 @@ - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? -- exit 0 -+ exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then -@@ -4548,10 +4850,10 @@ - fi - - # Quote $echo for shipping. -- if test "X$echo" = "X$SHELL $0 --fallback-echo"; then -- case $0 in -- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; -- *) qecho="$SHELL `pwd`/$0 --fallback-echo";; -+ if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then -+ case $progpath in -+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; -+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else -@@ -4573,11 +4875,13 @@ - *) exeext= ;; - esac - case $host in -- *mingw* ) -- cwrappersource=`$echo ${output_objdir}/lt-${outputname}.c` -- cwrapper=`$echo ${output}.exe` -- $rm $cwrappersource $cwrapper -- trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 -+ *cygwin* | *mingw* ) -+ output_name=`basename $output` -+ output_path=`dirname $output` -+ cwrappersource="$output_path/$objdir/lt-$output_name.c" -+ cwrapper="$output_path/$output_name.exe" -+ $rm $cwrappersource $cwrapper -+ trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <<EOF - -@@ -4586,7 +4890,7 @@ - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. -- -+ - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. - -@@ -4602,6 +4906,9 @@ - #include <malloc.h> - #include <stdarg.h> - #include <assert.h> -+#include <string.h> -+#include <ctype.h> -+#include <sys/stat.h> - - #if defined(PATH_MAX) - # define LT_PATHMAX PATH_MAX -@@ -4612,15 +4919,19 @@ - #endif - - #ifndef DIR_SEPARATOR --#define DIR_SEPARATOR '/' -+# define DIR_SEPARATOR '/' -+# define PATH_SEPARATOR ':' - #endif - - #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) --#define HAVE_DOS_BASED_FILE_SYSTEM --#ifndef DIR_SEPARATOR_2 --#define DIR_SEPARATOR_2 '\\' --#endif -+# define HAVE_DOS_BASED_FILE_SYSTEM -+# ifndef DIR_SEPARATOR_2 -+# define DIR_SEPARATOR_2 '\\' -+# endif -+# ifndef PATH_SEPARATOR_2 -+# define PATH_SEPARATOR_2 ';' -+# endif - #endif - - #ifndef DIR_SEPARATOR_2 -@@ -4630,17 +4941,32 @@ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) - #endif /* DIR_SEPARATOR_2 */ - -+#ifndef PATH_SEPARATOR_2 -+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -+#else /* PATH_SEPARATOR_2 */ -+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -+#endif /* PATH_SEPARATOR_2 */ -+ - #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) - #define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ - } while (0) - -+/* -DDEBUG is fairly common in CFLAGS. */ -+#undef DEBUG -+#if defined DEBUGWRAPPER -+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -+#else -+# define DEBUG(format, ...) -+#endif -+ - const char *program_name = NULL; - - void * xmalloc (size_t num); - char * xstrdup (const char *string); --char * basename (const char *name); --char * fnqualify(const char *path); -+const char * base_name (const char *name); -+char * find_executable(const char *wrapper); -+int check_executable(const char *path); - char * strendzap(char *str, const char *pat); - void lt_fatal (const char *message, ...); - -@@ -4649,30 +4975,52 @@ - { - char **newargz; - int i; -- -- program_name = (char *) xstrdup ((char *) basename (argv[0])); -+ -+ program_name = (char *) xstrdup (base_name (argv[0])); -+ DEBUG("(main) argv[0] : %s\n",argv[0]); -+ DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); - EOF - -- cat >> $cwrappersource <<EOF -- newargz[0] = "$SHELL"; -+ cat >> $cwrappersource <<EOF -+ newargz[0] = (char *) xstrdup("$SHELL"); - EOF - -- cat >> $cwrappersource <<"EOF" -- newargz[1] = fnqualify(argv[0]); -+ cat >> $cwrappersource <<"EOF" -+ newargz[1] = find_executable(argv[0]); -+ if (newargz[1] == NULL) -+ lt_fatal("Couldn't find %s", argv[0]); -+ DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ -- strendzap(newargz[1],".exe"); -+ strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; -+ -+ for (i=0; i<argc+1; i++) -+ { -+ DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); -+ ; -+ } -+ - EOF - -- cat >> $cwrappersource <<EOF -+ case $host_os in -+ mingw*) -+ cat >> $cwrappersource <<EOF -+ execv("$SHELL",(char const **)newargz); -+EOF -+ ;; -+ *) -+ cat >> $cwrappersource <<EOF - execv("$SHELL",newargz); - EOF -+ ;; -+ esac - -- cat >> $cwrappersource <<"EOF" -+ cat >> $cwrappersource <<"EOF" -+ return 127; - } - - void * -@@ -4685,59 +5033,159 @@ - return p; - } - --char * -+char * - xstrdup (const char *string) - { - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL - ; - } - --char * --basename (const char *name) -+const char * -+base_name (const char *name) - { - const char *base; - - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ -- if (isalpha (name[0]) && name[1] == ':') -+ if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; - #endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; -- return (char *) base; -+ return base; - } - --char * --fnqualify(const char *path) -+int -+check_executable(const char * path) -+{ -+ struct stat st; -+ -+ DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); -+ if ((!path) || (!*path)) -+ return 0; -+ -+ if ((stat (path, &st) >= 0) && -+ ( -+ /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -+#if defined (S_IXOTH) -+ ((st.st_mode & S_IXOTH) == S_IXOTH) || -+#endif -+#if defined (S_IXGRP) -+ ((st.st_mode & S_IXGRP) == S_IXGRP) || -+#endif -+ ((st.st_mode & S_IXUSR) == S_IXUSR)) -+ ) -+ return 1; -+ else -+ return 0; -+} -+ -+/* Searches for the full path of the wrapper. Returns -+ newly allocated full path name if found, NULL otherwise */ -+char * -+find_executable (const char* wrapper) - { -- size_t size; -- char *p; -+ int has_slash = 0; -+ const char* p; -+ const char* p_next; -+ /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; -+ int tmp_len; -+ char* concat_name; -+ -+ DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - -- assert(path != NULL); -+ if ((wrapper == NULL) || (*wrapper == '\0')) -+ return NULL; - -- /* Is it qualified already? */ -+ /* Absolute path? */ -+#if defined (HAVE_DOS_BASED_FILE_SYSTEM) -+ if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') -+ { -+ concat_name = xstrdup (wrapper); -+ if (check_executable(concat_name)) -+ return concat_name; -+ XFREE(concat_name); -+ } -+ else -+ { -+#endif -+ if (IS_DIR_SEPARATOR (wrapper[0])) -+ { -+ concat_name = xstrdup (wrapper); -+ if (check_executable(concat_name)) -+ return concat_name; -+ XFREE(concat_name); -+ } - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) -- if (isalpha (path[0]) && path[1] == ':') -- return xstrdup (path); -+ } - #endif -- if (IS_DIR_SEPARATOR (path[0])) -- return xstrdup (path); - -- /* prepend the current directory */ -- /* doesn't handle '~' */ -+ for (p = wrapper; *p; p++) -+ if (*p == '/') -+ { -+ has_slash = 1; -+ break; -+ } -+ if (!has_slash) -+ { -+ /* no slashes; search PATH */ -+ const char* path = getenv ("PATH"); -+ if (path != NULL) -+ { -+ for (p = path; *p; p = p_next) -+ { -+ const char* q; -+ size_t p_len; -+ for (q = p; *q; q++) -+ if (IS_PATH_SEPARATOR(*q)) -+ break; -+ p_len = q - p; -+ p_next = (*q == '\0' ? q : q + 1); -+ if (p_len == 0) -+ { -+ /* empty path: current directory */ -+ if (getcwd (tmp, LT_PATHMAX) == NULL) -+ lt_fatal ("getcwd failed"); -+ tmp_len = strlen(tmp); -+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); -+ memcpy (concat_name, tmp, tmp_len); -+ concat_name[tmp_len] = '/'; -+ strcpy (concat_name + tmp_len + 1, wrapper); -+ } -+ else -+ { -+ concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); -+ memcpy (concat_name, p, p_len); -+ concat_name[p_len] = '/'; -+ strcpy (concat_name + p_len + 1, wrapper); -+ } -+ if (check_executable(concat_name)) -+ return concat_name; -+ XFREE(concat_name); -+ } -+ } -+ /* not found in PATH; assume curdir */ -+ } -+ /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); -- size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ -- p = XMALLOC(char, size); -- sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); -- return p; -+ tmp_len = strlen(tmp); -+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); -+ memcpy (concat_name, tmp, tmp_len); -+ concat_name[tmp_len] = '/'; -+ strcpy (concat_name + tmp_len + 1, wrapper); -+ -+ if (check_executable(concat_name)) -+ return concat_name; -+ XFREE(concat_name); -+ return NULL; - } - - char * --strendzap(char *str, const char *pat) -+strendzap(char *str, const char *pat) - { - size_t len, patlen; - -@@ -4757,7 +5205,7 @@ - } - - static void --lt_error_core (int exit_status, const char * mode, -+lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) - { - fprintf (stderr, "%s: %s: ", program_name, mode); -@@ -4777,16 +5225,16 @@ - va_end (ap); - } - EOF -- # we should really use a build-platform specific compiler -- # here, but OTOH, the wrappers (shell script and this C one) -- # are only useful if you want to execute the "real" binary. -- # Since the "real" binary is built for $host, then this -- # wrapper might as well be built for $host, too. -- $run $LTCC -s -o $cwrapper $cwrappersource -- ;; -- esac -- $rm $output -- trap "$rm $output; exit 1" 1 2 15 -+ # we should really use a build-platform specific compiler -+ # here, but OTOH, the wrappers (shell script and this C one) -+ # are only useful if you want to execute the "real" binary. -+ # Since the "real" binary is built for $host, then this -+ # wrapper might as well be built for $host, too. -+ $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource -+ ;; -+ esac -+ $rm $output -+ trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ - #! $SHELL -@@ -4807,7 +5255,7 @@ - - # The HP-UX ksh and POSIX shell print the target directory to stdout - # if CDPATH is set. --if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - relink_command=\"$relink_command\" - -@@ -4886,7 +5334,7 @@ - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" -- exit 1 -+ exit $EXIT_FAILURE - fi - fi - -@@ -4936,34 +5384,32 @@ - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ -- exec \$progdir\\\\\$program \${1+\"\$@\"} -+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} - " - ;; - - *) -- # Need to set LD_LIBRARY_PATH, to the value already -- # computed within libtool. - $echo >> $output "\ -- LD_LIBRARY_PATH=\"$rpath\" exec \$progdir/\$program \${1+\"\$@\"} -+ exec \"\$progdir/\$program\" \${1+\"\$@\"} - " - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" -- exit 1 -+ exit $EXIT_FAILURE - fi - else - # The program doesn't exist. -- \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 -+ \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - fi\ - " - chmod +x $output - fi -- exit 0 -+ exit $EXIT_SUCCESS - ;; - esac - -@@ -4986,78 +5432,78 @@ - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" -- $show "${rm}r $gentop" -- $run ${rm}r "$gentop" -- $show "$mkdir $gentop" -- $run $mkdir "$gentop" -- status=$? -- if test "$status" -ne 0 && test ! -d "$gentop"; then -- exit $status -- fi - generated="$generated $gentop" - -- # Add in members from convenience archives. -- for xlib in $addlibs; do -- # Extract the objects. -- case $xlib in -- [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; -- *) xabs=`pwd`"/$xlib" ;; -- esac -- xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` -- xdir="$gentop/$xlib" -- -- $show "${rm}r $xdir" -- $run ${rm}r "$xdir" -- $show "$mkdir $xdir" -- $run $mkdir "$xdir" -- status=$? -- if test "$status" -ne 0 && test ! -d "$xdir"; then -- exit $status -- fi -- # We will extract separately just the conflicting names and we will no -- # longer touch any unique names. It is faster to leave these extract -- # automatically by $AR in one run. -- $show "(cd $xdir && $AR x $xabs)" -- $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? -- if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then -- : -- else -- $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 -- $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 -- $AR t "$xabs" | sort | uniq -cd | while read -r count name -- do -- i=1 -- while test "$i" -le "$count" -- do -- # Put our $i before any first dot (extension) -- # Never overwrite any file -- name_to="$name" -- while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" -- do -- name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` -- done -- $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" -- $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? -- i=`expr $i + 1` -- done -- done -- fi -- -- oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` -- done -+ func_extract_archives $gentop $addlibs -+ oldobjs="$oldobjs $func_extract_archives_result" - fi - -- compiler_flags="$compiler_flags $add_flags" -- - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then -- eval cmds=\"$old_archive_from_new_cmds\" -+ cmds=$old_archive_from_new_cmds - else -+ # POSIX demands no paths to be encoded in archives. We have -+ # to avoid creating archives with duplicate basenames if we -+ # might have to extract them afterwards, e.g., when creating a -+ # static archive out of a convenience library, or when linking -+ # the entirety of a libtool archive into another (currently -+ # not supported by libtool). -+ if (for obj in $oldobjs -+ do -+ $echo "X$obj" | $Xsed -e 's%^.*/%%' -+ done | sort | sort -uc >/dev/null 2>&1); then -+ : -+ else -+ $echo "copying selected object files to avoid basename conflicts..." -+ -+ if test -z "$gentop"; then -+ gentop="$output_objdir/${outputname}x" -+ generated="$generated $gentop" -+ -+ $show "${rm}r $gentop" -+ $run ${rm}r "$gentop" -+ $show "$mkdir $gentop" -+ $run $mkdir "$gentop" -+ exit_status=$? -+ if test "$exit_status" -ne 0 && test ! -d "$gentop"; then -+ exit $exit_status -+ fi -+ fi -+ -+ save_oldobjs=$oldobjs -+ oldobjs= -+ counter=1 -+ for obj in $save_oldobjs -+ do -+ objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` -+ case " $oldobjs " in -+ " ") oldobjs=$obj ;; -+ *[\ /]"$objbase "*) -+ while :; do -+ # Make sure we don't pick an alternate name that also -+ # overlaps. -+ newobj=lt$counter-$objbase -+ counter=`expr $counter + 1` -+ case " $oldobjs " in -+ *[\ /]"$newobj "*) ;; -+ *) if test ! -f "$gentop/$newobj"; then break; fi ;; -+ esac -+ done -+ $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" -+ $run ln "$obj" "$gentop/$newobj" || -+ $run cp "$obj" "$gentop/$newobj" -+ oldobjs="$oldobjs $gentop/$newobj" -+ ;; -+ *) oldobjs="$oldobjs $obj" ;; -+ esac -+ done -+ fi -+ - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then -- : -+ cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." -@@ -5066,31 +5512,18 @@ - objlist= - concat_cmds= - save_oldobjs=$oldobjs -- # GNU ar 2.10+ was changed to match POSIX; thus no paths are -- # encoded into archives. This makes 'ar r' malfunction in -- # this piecewise linking case whenever conflicting object -- # names appear in distinct ar calls; check, warn and compensate. -- if (for obj in $save_oldobjs -- do -- $echo "X$obj" | $Xsed -e 's%^.*/%%' -- done | sort | sort -uc >/dev/null 2>&1); then -- : -- else -- $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 -- $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 -- AR_FLAGS=cq -- fi -+ - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj -- done -+ done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" -- if len=`expr "X$test_cmds" : ".*"` && -+ if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else -@@ -5098,7 +5531,7 @@ - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB -- fi -+ fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= -@@ -5109,12 +5542,13 @@ - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else -- eval cmds=\"\$concat_cmds~$old_archive_cmds\" -+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do -+ eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? -@@ -5146,11 +5580,13 @@ - fi - done - # Quote the link command for shipping. -- relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" -+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then -- relink_command= -- fi -+ relink_command= -+ fi -+ -+ - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do -@@ -5168,7 +5604,7 @@ - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; -@@ -5182,7 +5618,7 @@ - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done -@@ -5193,11 +5629,30 @@ - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" -+ else -+ newdlfiles= -+ for lib in $dlfiles; do -+ case $lib in -+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; -+ *) abs=`pwd`"/$lib" ;; -+ esac -+ newdlfiles="$newdlfiles $abs" -+ done -+ dlfiles="$newdlfiles" -+ newdlprefiles= -+ for lib in $dlprefiles; do -+ case $lib in -+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; -+ *) abs=`pwd`"/$lib" ;; -+ esac -+ newdlprefiles="$newdlprefiles $abs" -+ done -+ dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin -@@ -5241,7 +5696,7 @@ - - # Directory that this library needs to be installed in: - libdir='$install_libdir'" -- if test "$installed" = no && test "$need_relink" = yes && test "$fast_install" = no; then -+ if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ - relink_command=\"$relink_command\"" - fi -@@ -5254,7 +5709,7 @@ - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac -- exit 0 -+ exit $EXIT_SUCCESS - ;; - - # libtool install mode -@@ -5265,11 +5720,11 @@ - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. -- $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then -+ $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in -- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac -@@ -5278,14 +5733,14 @@ - shift - else - install_prog= -- arg="$nonopt" -+ arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in -- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac -@@ -5303,28 +5758,31 @@ - do - if test -n "$dest"; then - files="$files $dest" -- dest="$arg" -+ dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; -- -f) prev="-f" ;; -- -g) prev="-g" ;; -- -m) prev="-m" ;; -- -o) prev="-o" ;; -+ -f) -+ case " $install_prog " in -+ *[\\\ /]cp\ *) ;; -+ *) prev=$arg ;; -+ esac -+ ;; -+ -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; -- -*) ;; -- -+ -*) -+ ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else -- dest="$arg" -+ dest=$arg - continue - fi - ;; -@@ -5333,7 +5791,7 @@ - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in -- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) -+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac -@@ -5343,13 +5801,13 @@ - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test -z "$files"; then -@@ -5359,7 +5817,7 @@ - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. -@@ -5380,7 +5838,7 @@ - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - fi - case $destdir in -@@ -5392,7 +5850,7 @@ - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - done -@@ -5421,7 +5879,7 @@ - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - library_names= -@@ -5463,7 +5921,7 @@ - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then -@@ -5478,7 +5936,7 @@ - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - fi - -@@ -5502,23 +5960,36 @@ - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. -+ # Try `ln -sf' first, because the `ln' binary might depend on -+ # the symlink we replace! Solaris /bin/ln does not understand -f, -+ # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then -- $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" -- $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" -+ $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" -+ $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" -- eval cmds=\"$postinstall_cmds\" -+ cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" -- $run eval "$cmd" || exit $? -+ $run eval "$cmd" || { -+ lt_exit=$? -+ -+ # Restore the uninstalled library and exit -+ if test "$mode" = relink; then -+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' -+ fi -+ -+ exit $lt_exit -+ } - done - IFS="$save_ifs" - fi -@@ -5556,7 +6027,7 @@ - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - -@@ -5574,7 +6045,7 @@ - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi -- exit 0 -+ exit $EXIT_SUCCESS - ;; - - *) -@@ -5612,23 +6083,21 @@ - notinst_deplibs= - relink_command= - -- # To insure that "foo" is sourced, and not "foo.exe", -- # finese the cygwin/MSYS system by explicitly sourcing "foo." -- # which disallows the automatic-append-.exe behavior. -- case $build in -- *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; -- *) wrapperdot=${wrapper} ;; -- esac -+ # Note that it is not necessary on cygwin/mingw to append a dot to -+ # foo even if both foo and FILE.exe exist: automatic-append-.exe -+ # behavior happens only for exec(3), not for open(2)! Also, sourcing -+ # `FILE.' does not work on cygwin managed mounts. -+ # - # If there is no directory component, then add one. -- case $file in -- */* | *\\*) . ${wrapperdot} ;; -- *) . ./${wrapperdot} ;; -+ case $wrapper in -+ */* | *\\*) . ${wrapper} ;; -+ *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - finalize=yes -@@ -5650,30 +6119,21 @@ - done - - relink_command= -- # To insure that "foo" is sourced, and not "foo.exe", -- # finese the cygwin/MSYS system by explicitly sourcing "foo." -- # which disallows the automatic-append-.exe behavior. -- case $build in -- *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; -- *) wrapperdot=${wrapper} ;; -- esac -+ # Note that it is not necessary on cygwin/mingw to append a dot to -+ # foo even if both foo and FILE.exe exist: automatic-append-.exe -+ # behavior happens only for exec(3), not for open(2)! Also, sourcing -+ # `FILE.' does not work on cygwin managed mounts. -+ # - # If there is no directory component, then add one. -- case $file in -- */* | *\\*) . ${wrapperdot} ;; -- *) . ./${wrapperdot} ;; -+ case $wrapper in -+ */* | *\\*) . ${wrapper} ;; -+ *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then -- tmpdir="/tmp" -- test -n "$TMPDIR" && tmpdir="$TMPDIR" -- tmpdir="$tmpdir/libtool-$$" -- if $mkdir "$tmpdir" && chmod 700 "$tmpdir"; then : -- else -- $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 -- continue -- fi -+ tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. -@@ -5697,7 +6157,7 @@ - fi - - # remove .exe since cygwin /usr/bin/install will append another -- # one anyways -+ # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in -@@ -5729,16 +6189,17 @@ - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - -- if test -n "$stripme" && test -n "$striplib"; then -+ if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. -- eval cmds=\"$old_postinstall_cmds\" -+ cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done -@@ -5752,9 +6213,9 @@ - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" -- exec_cmd='$SHELL $0 --finish$current_libdirs' -+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else -- exit 0 -+ exit $EXIT_SUCCESS - fi - ;; - -@@ -5773,10 +6234,11 @@ - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. -- eval cmds=\"$finish_cmds\" -+ cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" -@@ -5793,9 +6255,9 @@ - fi - - # Exit here if they wanted silent mode. -- exit 0 -+ test "$show" = : && exit $EXIT_SUCCESS - -- $echo "----------------------------------------------------------------------" -+ $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" -@@ -5828,8 +6290,8 @@ - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." -- $echo "----------------------------------------------------------------------" -- exit 0 -+ $echo "X----------------------------------------------------------------------" | $Xsed -+ exit $EXIT_SUCCESS - ;; - - # libtool execute mode -@@ -5841,7 +6303,7 @@ - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. -@@ -5849,7 +6311,7 @@ - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - dir= -@@ -5860,7 +6322,7 @@ - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - # Read the libtool library. -@@ -5887,7 +6349,7 @@ - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - ;; - -@@ -5967,7 +6429,7 @@ - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" -- exit 0 -+ exit $EXIT_SUCCESS - fi - ;; - -@@ -5995,7 +6457,7 @@ - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - - rmdirs= -@@ -6045,15 +6507,24 @@ - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" -- test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - -- if test "$mode" = uninstall; then -+ case "$mode" in -+ clean) -+ case " $library_names " in -+ # " " in the beginning catches empty $dlname -+ *" $dlname "*) ;; -+ *) rmfiles="$rmfiles $objdir/$dlname" ;; -+ esac -+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" -+ ;; -+ uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. -- eval cmds=\"$postuninstall_cmds\" -+ cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then -@@ -6065,10 +6536,11 @@ - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. -- eval cmds=\"$old_postuninstall_cmds\" -+ cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" -+ eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then -@@ -6078,7 +6550,8 @@ - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. -- fi -+ ;; -+ esac - fi - ;; - -@@ -6107,7 +6580,7 @@ - if test "$mode" = clean ; then - noexename=$name - case $file in -- *.exe) -+ *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, -@@ -6152,20 +6625,20 @@ - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - fi - fi # test -z "$show_help" - - if test -n "$exec_cmd"; then - eval exec $exec_cmd -- exit 1 -+ exit $EXIT_FAILURE - fi - - # We need to display help for each of the modes. -@@ -6201,7 +6674,7 @@ - a more detailed description of MODE. - - Report bugs to <bug-libtool@gnu.org>." -- exit 0 -+ exit $EXIT_SUCCESS - ;; - - clean) -@@ -6313,6 +6786,8 @@ - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects -+ -precious-files-regex REGEX -+ don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -@@ -6354,14 +6829,14 @@ - *) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 -- exit 1 -+ exit $EXIT_FAILURE - ;; - esac - - $echo - $echo "Try \`$modename --help' for more information about other modes." - --exit 0 -+exit $? - - # The TAGs below are defined such that we never get into a situation - # in which we disable both kinds of libraries. Given conflicting -@@ -6375,12 +6850,11 @@ - # configuration. But we'll never go from static-only to shared-only. - - # ### BEGIN LIBTOOL TAG CONFIG: disable-shared --build_libtool_libs=no --build_old_libs=yes -+disable_libs=shared - # ### END LIBTOOL TAG CONFIG: disable-shared - - # ### BEGIN LIBTOOL TAG CONFIG: disable-static --build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` -+disable_libs=static - # ### END LIBTOOL TAG CONFIG: disable-static - - # Local Variables: |