Index: libtool/.cvsignore diff -c libtool/.cvsignore:1.2.6.1 libtool/.cvsignore:1.2 *** libtool/.cvsignore:1.2.6.1 Mon Sep 10 18:25:54 2001 --- libtool/.cvsignore Sun Mar 14 00:42:46 1999 *************** *** 8,11 **** --- 8,12 ---- config.* libtool ltmain.sh + ltconfig libtoolize Index: libtool/AUTHORS diff -c libtool/AUTHORS:1.8 libtool/AUTHORS:1.9 *** libtool/AUTHORS:1.8 Wed Apr 11 11:54:32 2001 --- libtool/AUTHORS Wed Aug 28 16:26:54 2002 *************** *** 8,10 **** --- 8,11 ---- Gary V. Vaughan . Co-maintainer. Ossama Othman . Co-maintainer. Robert Boehne . Co-maintainer. + Bob Friesenhahn . Co-maintainer. Index: libtool/ChangeLog diff -c libtool/ChangeLog:1.922.2.111 libtool/ChangeLog:1.1220.2.1 *** libtool/ChangeLog:1.922.2.111 Tue Oct 22 22:54:36 2002 --- libtool/ChangeLog Mon Apr 14 18:48:00 2003 *************** *** 1,64 **** ! 2002-10-22 Robert Boehne - GNU libtool 1.4.3 was released. - - * configure.in: Bumped version to 1.4.3. - * config.sub, config.guess: Synchronised from ftp.gnu.org. * NEWS: Updated. ! 2002-10-22 Albert Chin-A-Young ! * libltdl/ltdl.c: Init char * to NULL, not 0. And, for ! some char * values, set *[var] = 0 to *[var] = '\0'. ! 2002-10-22 Brad Smith ! * libtool.m4: $linker_flag -> $compiler_flag for OpenBSD ! archive_cmds entries using $CC. ! 2002-10-22 Alexandre Duret-Lutz ! * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_ENABLE_INSTALL, ! AC_LTDL_SYS_DLOPEN_DEPLIBS, AC_LTDL_SHLIBEXT, AC_LTDL_SHLIBPATH, ! AC_LTDL_SYSSEARCHPATH, AC_LTDL_OBJDIR, AC_LTDL_DLPREOPEN, ! AC_LTDL_DLLIB, AC_LTDL_SYMBOL_USCORE, AC_LTDL_DLSYM_USCORE): Quote ! macro name in definition. ! 2002-10-22 Albert Chin-A-Young * libtool.m4: When a module is built for AIX, the 'lib' prefix isn't needed, neither is the version. AIX dlopen will honor the RPATH in a library. ! 2002-10-20 Alexandre Duret-Lutz ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Honor ! ac_exeext. ! 2002-10-14 Albert Chin-A-Young ! * libtool.m4: If ld is being used on IRIX to embed the ! runtmie path, use -rpath, not -Wl,-rpath. Embed the runtime ! path into libraries for AIX (supported on AIX 4.3.2+). ! Embed the runtime path into Tru64 libraries, even though it ! doesn't make much sense unless using Tru64 UNIX 5.1 with a ! specific patch and >5.1. ! ! 2002-10-11 Albert Chin-A-Young ! ! * libtool.m4 (aix): When LDFLAGS="-Wl,-brtl,[other options]", ! the "-brtl" special-case code for AIX never gets triggered ! because were are being too specific about how we search for ! "-brtl". Use case statement to avoid this. Remove extraneous ! semicolon. ! * ltmain.in: Recognize the IBM xlc compiler family. ! 2002-10-11 Christoph Egger ! * libtool.m4 (darwin): Add -install_name to the link line only ! when -dynamiclib is specified for a module. ! * ltmain.in (darwin): Use -bind_at_load when linking shared ! libraries. 2002-09-09 Albert Chin-A-Young --- 1,701 ---- ! 2003-04-14 Robert Boehne * NEWS: Updated. + * configure.ac: Bumped version to 1.5a. + + GNU libtool 1.5 was released. + + * configure.ac: Bumped version to 1.5. + * NEWS: updated. + * README: Changed typo in version description. + * config.guess, config.sub, texinfo.tex: Synchronized from + ftp.gnu.org. + + 2003-04-05 Peter O'Gorman + + * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so + libtool works. Remove zsh echo test code, don't bother checking + for zsh anymore in the darwin archive_expsym_cmds. + + 2003-04-05 Allan Sandfeld Jensen + + * libtool.m4: Switch on $CC not $cc_basename. + + 2003-04-02 Robert Boehne + + * tests/defs: Quote $DJGPP to prevent problems with some shells. + Pointed out by Albert Chin + + 2003-04-01 Peter O'Gorman + + * libtool.m4: Fix the echo test which I broke earlier. + * ltmain.in: Make DESTDIR work on darwin, don't use otool. + + 2003-03-31 Keith Packard + + * ltmain.in: New flag -version-number to be used for maintaining + compatability with a previously non-Libtool versioning scheme. + * doc/libtool.texi: Document it. + + 2003-03-31 Naofumi Yasufuku + + * ltmain.in (win32_libid): Fixed sed expression error in + win32_nmres evaluation. + + 2003-03-31 Albert Chin + + * ltmain.in: Don't pass -R flags found in a .la's dependency_libs + variable directly down to the linker. + Reported by Tim Mooney . + + 2003-03-28 Richard Dawe + + * Makefile.am: Define CONF_SUBDIRS. + * tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP, + which requires its config.site, to work correctly. + * tests/cdemo-conf.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-nofast.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-shared.test, + tests/demo-static.test, tests/depdemo-conf.test, + tests/depdemo-nofast.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/f77demo-conf.test, + tests/f77demo-shared.test, tests/f77demo-static.test, + tests/mdemo-conf.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/pdemo-conf.test, + tests/tagdemo-conf.test, tests/tagdemo-shared.test, + tests/tagdemo-static.test: Don't set CONFIG_SITE, now that + tests/defs sets it. + * tests/cdemo-exec.test, tests/demo-exec.test, + tests/demo-inst.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/f77demo-exec.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/tagdemo-exec.test: When checking for the existence + of executables, use the executable file extension from $EXEEXT. + + 2003-03-28 Peter O'Gorman + + * libltdl/ltdl.c (dyld): Remove some debug printf's, fix a bug. + * ltmain.in (darwin): Only link against shared libraries when doing + link_all_deplibs. + + 2003-03-25 Robert Boehne + + * bootstrap: Add f77demo to the directories that AUTOHEADER + is run in. + + 2003-03-21 Wesley W. Terpstra + + * ltmain.in: Don't accumulate directory information in clean mode. + Include properly pathed wrapper script. + + 2003-03-21 Peter O'Gorman + + * README: Remove "Important" information about patching automake. + * configure.ac: Fix misapplied patch in last commit + * libtool.m4 (darwin): Check compiler is apple gcc, add -single_module + support so that dyloading c++ shared libraries will work. + * libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that + it will work outside of libtool. + * doc/PLATFORMS: Add darwin + * f77demo/configure.ac: Add config.h which was misapplied previously. + + 2003-03-20 Peter O'Gorman + + * ltmain.in: Always use $echo not echo for consistency. + Changes for darwin building. Warn if linking against libs linked + with -module. Use module_cmds if available and building a module, + move convenience double lib check, + * libltdl/ltdl.c: ltdl support for darwin (first blush) + * libltdl/README: note that darwin is supported + * ltdl.m4: Changes for darwin, and for new shrext + * libtool.m4: Changed the way darwin builds stuff (make check passes) + added module_cmds, module_expsym_cmds and hardcode_automatic and put + them in the libtool script. check for zsh's removal of escapes. Allow + libraries to be stripped on darwin. + * TODO: Remove the todo about zsh's removal of excapes. note that zsh + echo works perfectly well, eval is screwed up. Seems to be fixed in + latest zsh. + * THANKS: added self :) + * f77demo/configure.ac: Use config.h or it doesn't work. + + 2003-03-19 Robert Boehne + + * libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that + adds tags to the libtool script so that they won't run when not + needed. + * configure.ac: Set F77 to no when no Fortran compiler is found. + + 2003-03-16 Charles Wilson + + * ltmain.in (win32_libid): use $SED, not head. + + 2003-03-02 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. + (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, + and reset them for a C++ environment. Use the with_gnu_ld setting + from AC_PROG_LD. + + 2003-02-28 Ralph Schleicher + + * ltmain.in: Only append a dot to the wrapper script when + building on cygwin/MSYS (check for $build, not $host). + + 2003-02-27 Samuel Meder + + * libtool.m4 (ia64): Add support for Intel compiler (ecc) on IA64 + Linux. + + 2003-02-27 Benjamin Reed + + * THANKS: Added people who have submitted 3 or more patches + to libtool to the THANKS file. + * README: Added notes about the Darwin (MacOSX) support. + + 2003-02-25 Bob McElrath + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Add support for + the Compaq C compiler for Alpha Linux. + + 2003-02-25 Benjamin Reed + + * libtool.m4 (darwin): Disable hardcoding library paths to + make relinking unnecessary. + + 2003-02-24 Robert Boehne + + * libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place + auxilary files in the libltdl directory. + * Makefile.am: Add to the ltmain.sh rule to copy it into the + libltdl subdirectory. + * bootstrap: Explicitly handle ltmain.sh in libltdl, and pass + --copy to automake. + + 2003-02-24 Ralph Schleicher + + * libtool.m4 (AC_LIBTOOL_SETUP): Check for ar. + + 2003-02-23 Peter O'Gorman + + * libtool.m4 (darwin): Revamp darwin platform support. + * ltdl.m4 (darwin): Support dlcompat if found. + * ltmain.in: Make sure ranlib is run if needed when piecewise + linking. + + 2003-02-23 Alexandre Duret-Lutz + + * ltmain.in (--help): Show mailing-address for bug reports. + (--version): Mention only the most recent copyright year. + * libtoolize.in (--help): Show mailing-address for bug reports. + (--version): Mention only the most recent copyright year. + + 2003-02-19 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. + (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, + and reset them for a C++ environment. Use the with_gnu_ld setting + from AC_PROG_LD. + + * libtool.m4: Replace $linker_flags with $compiler_flags wherever + it is used as argument to $CC. + + * libtool.m4: Use linux version_type on IRIX with GNU ld. + Prefix -soname, -set_version and their arguments with ${wl}. Add + -melf* linker scripts to LD, and use them to determine libsuff, + shlibsuff and libmagic. + + 2003-02-17 Allan Sandfeld Jensen + + * libtool.m4: Intel icc fixups for version 7.0. + + 2003-02-17 Ralph Schleicher + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to + the value of the shrext (aka shared_ext) variable and delete it + from the library_names_spec and soname_spec definitions. That + way the user can omit the shared library suffix by setting it + to the empty string. + (AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for + the KCC compiler. + * doc/libtool.texi (Link mode): Update the manual. + + 2003-02-17 Charles Wilson + + * ltmain.in (win32_libid): Rewritten to improve speed. + + 2003-02-11 Richard Dawe + + * libtoolize.in: Use the program found by AC_PROG_LN_S + to create symlinks. + + 2003-02-08 Jan Kratochvil + + * ltmain.in: Handle duplicate object file names when performing + piecewise archive linking by renaming object files when needed. + + 2003-02-05 Robert Boehne + + * libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in + the math library rather than 'main', it causes problems for + C++ compilers with certain Auto* tools. + (AC_LIBLTDL_INSTALLABLE): ditto. + + 2003-02-05 Christian Cornelssen + + * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) + (AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so + that the format string cannot be mistaken as an option. + Reported by Martin MOKREJS. + + 2003-02-05 Robert Boehne + + * libtool.m4: Modify the sys_lib_search_path_spec to allow + for either native sed or GNU sed to be used. + + 2003-02-04 Nick Hudson + + * libtool.m4: don't use -nodefaultlibs in archive_commands + or archive_expsym_commands on NetBSD. + + 2003-02-04 Albert Chin-A-Young + + * libtool.m4: Change setting of archive_cmds_need_lc + so that it doesn't overwrite the previous setting. + + 2003-01-28 Albert Chin-A-Young + + * libtool.m4: Allow compiler variable, CC, CXX, etc. to + be a program name with arguments. Original version stripped + arguments for CC. + + 2003-01-28 Charles Wilson + + * ltmain.in: add code for a binary wrapper + to use with uninstalled executables on cygwin/mingw. + Make sure that --mode=clean gets shell wrapper and + binary wrapper. When sourcing the shell wrapper, + invoke using a terminal `.' on cygwin/mingw to + avoid the automatic append-.exe behavior. + + 2003-01-28 Albert Chin-A-Young + + * libtool.m4: Hardcode library paths into libraries on IRIX. + + 2003-01-18 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC + for languages other than C and C++. + + 2003-01-13 Albert Chin-A-Young + + * libtool.m4, ltmain.in: Add support for hppa*64* based on + a patch by Ross Alexander . + Credit to Ross! Use +b to hardcode library runtime path. + Add new variable, $hardcode_libdir_flag_spec_ld, that + is equivalent to $hardcode_libdir_flag_spec but is used + when ld is used for linking. This works around having to + set wl=''. + + 2003-01-12 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Revert an + accidental rearranging of dylib and so for darwin. + + 2003-01-10 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the + "-shrext" option so that is works properly under Darwin. + Modify the processing of 'gcc -print-search-dirs' under + Darwin to make it behave like GNU gcc does. + (AC_LIBTOOL_CONFIG): Single quote $shrext. + * ltimain.in: Expand shared_ext just before it is used + so that it can be conditional on the value of $module. + + 2002-12-31 Benjamin Reed + + * ltmain.in [darwin]: disable lazy linking, needed + to resolve C++ global constructor issues + + 2002-12-30 Ralph Schleicher + + Rework by Robert Boehne + * ltmain.in: New link option -shrext. + * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared + library file name extensions in library_names_spec and + soname_spec with $shrext. + * doc/libtool.texi (Link mode): Document it. + + 2002-12-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify + $archive_expsym_cmds to restore support for using + .def files via the -export-symbols switch. + (AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX] + branch and the default branch, improve $export_symbols_cmds + so that DATA symbols are properly labelled. In the default + branch, duplicate the _CXX_CONFIG correction for + $archive_expsym_cmds. + + 2002-12-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_RC): AC_PROG_RC doesn't exist -- + but we do AC_DEFUN something called LT_AC_PROG_RC. + Call that instead. + + 2002-12-30 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section + for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX + tag doesn't use the g++ defaults for the OS X compiler. + + 2002-12-30 Albert Chin-A-Young + + * libtool.m4: Sync methods used to detect GNU ld. + + 2002-12-20 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, + AC_LIBTOOL_PROG_CC_C_O): Do not escape } or ? in sed argument. + + 2002-12-19 Robert Boehne + + * ltmain.in: Use the sed program found by LT_AC_PROG_SED + so that relink commands don't get truncated. + + 2002-12-18 Robert Boehne + + * libtool.m4: Move AC_REQUIRE([LT_AC_PROG_SED]) to AC_PROG_LD + so it is invoked earlier. + + 2002-12-11 Allan Sandfeld Jensen + + * libtool.m4: Add support for Intel icc compiler for Linux. + + 2002-12-11 Robert Boehne + + * ltmain.in: Revert the version +1 change for IRIX, it could + cause compatibility problems. + + 2002-11-22 Christian Cornelssen + + * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, + AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with + custom flags to be language-independent. Thereby removed + CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging. + Log entries no longer discarded by compilation failures. + (_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, + _LT_AC_LANG_GCJ_CONFIG): Tuned settings of + lt_simple_compile_test_code and lt_simple_link_test_code + to avoid warnings that could break some option detections. + (AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed + redundant "-c conftest.$ac_ext" in the argument to + AC_LIBTOOL_COMPILER_OPTION. + (AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest + source code with $lt_simple_compile_test_code, to support + the "-lc" test with other languages. + + 2002-11-19 Paul Eggert + + Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no + longer requires them; you're supposed to use grep -E and grep -F + instead. Also, don't assume that "test -a" works, since POSIX + doesn't require it. + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, + _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, + AC_LIBTOOL_PROG_LD_SHLIBS): + egrep -> grep, when that makes no difference. + * libtoolize.in: Likewise. + * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. + * ltmain.in: Likewise. + * demo/Makefile.am (hc-direct): Likewise. + * pdemo/Makefile.am (hc-direct): Likewise. + * tests/build-relink.test, tests/build-relink2.test, + tests/cdemo-conf.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-nofast.test, tests/demo-shared.test, + tests/demo-static.test, tests/depdemo-conf.test, + tests/depdemo-nofast.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/hardcode.test, + tests/mdemo-conf.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/pdemo-conf.test, + tests/tagdemo-conf.test, tests/tagdemo-shared.test, + tests/tagdemo-static.test: Likewise. + + * libtool.m4 (AC_PROG_EGREP): + New macro, defined if Autoconf doesn't define. + (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. + (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): + Use shell pattern matching rather than egrep. + (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. + + * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. + * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. + + * tests/defs (EGREP, FGREP): New vars. + + * ltmain.in: egrep -> $EGREP + * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: + Likewise. + + * tests/hardcode.test: fgrep -> $FGREP + + * tests/f77demo-exec.test: test -a -> test && + + 2002-11-18 Bob Friesenhahn + + * ltmain.in: When using gcc, pass -mfoo 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. If there is a better + solution, please let me know what it is. + + 2002-11-18 Bob Friesenhahn + + * tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@ + does not appear to be necessary given that Automake makes this + assignment by default. The condition is removed since Automake + 1.7.1 complains about it. + + 2002-11-18 Jakub Jelinek + + * libtool.m4: Support linking of 64-bit libraries on + sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux* + GNU/Linux systems when the platform default is to build + 32-bit libraries. + + 2002-11-18 Andreas Jaeger , Bo Thorsen + + * libtool.m4: Support linking of 32-bit libraries with ld + on the x86-64, ppc64, s390x and sparc64 GNU/Linux systems. + + 2002-11-18 Akim Demaille + + * ltmain.in: Do not change the PATH in the wrappers: let them + launch the real binary using its path. + + 2002-11-18 Kevin Ryde + + * doc/libtool.texi (Library tips): Note array dimensions. + + 2002-11-18 Bob Friesenhahn + + * tests/*.test: MinGW's MSYS treats files under /dev + specially. This causes 'test -r /dev/null/config/site' to + improperly report success, causing configure to fail. Change the + CONFIG_SITE definition from "/dev/null/config/site" to + "/nonexistent" to avoid this problem. + + 2002-11-18 Charles Wilson + + * libtool.m4 (_LT_AC_LOCK): remove support for ancient + versions of mingw and cygwin. + (AC_LIBTOOL_POSTDEP_PREDEP): new function. + moved the "find hidden library dependencies" code here + from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it + multi-tag compatible, but currently only CXX calls it. + (AC_LIBTOOL_LANG_CXX_CONFIG): set + enable_shared_with_satic_runtimes to 'no' by default + Set it to 'yes' for cygwin, mingw, pw32. Replace + "find hidden library dependencies" code with a call + to the new function AC_LIBTOOL_POSTDEP_PREDEP. + Consolidate cygwin and mingw/pw32 stanzas. + (AC_LIBTOOL_LANG_F77_CONFIG): set + enable_shared_with_static_runtimes to 'no' by default + (AC_LIBTOOL_CONFIG): add + enable_shared_with_static_runtimes to the list of variables + to write into ltmain.sh; include it in the libtool script + template as allow_libtool_libs_with_static_runtimes. + (AC_LIBTOOL_PROG_LD_SHLIBS): set + enable_shared_with_static_runtimes to 'no' by default + Set it to 'yes' for cygwin, mingw, pw32. + (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp + if the build_os is mingw, not host_os + + * ltmain.in (case deplibs_check_method): for all appropriate + cases, if allow_libtool_libs_with_static_runtimes, then remove + predeps and postdeps from the list of dependencies that must + be checked for "dynamicness". For the "none" case, the + presence of compiler-generated postdeps and predeps should + not trigger "inter-library dependencies not supported" error. + (initial setup after arg processing): on cygwin/mingw, allow + compiler-generated dependent libs to be duplicated without + elimination. + (initial search loop for deplibs): if the deplib in question + is a libtool lib, then if + allow_libtool_libs_with_static_runtimes then parse the .la file. + If the .la file only has an "old_library", add the deplib + directly to the deplibs list (-lstdc++) and DON'T use the .la + file; this allows the (case deplibs_check_method) change above + to take effect. + * ltmain.in (for pass in $passes loop): remove predeps, + postdeps, and compiler_lib_search_path from dependency_libs. + + 2002-11-08 Robert Boehne + + * doc/libtool.texi: Add --mode=* to every example using libtool. + + 2002-11-03 Ossama Othman + + * ltmain.in: add support for installing into temporary + staging area (e.g. 'make install DESTDIR=...') + + 2002-11-03 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting + allow_undefined_flag=unsupported for cygwin and mingw. + (AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld + and for the (unmaintained?) MSVC case. + + 2002-11-03 Charles Wilson + + * doc/libtool.texi (Install mode): document new + -inst-prefix option. + + 2002-11-02 Robert Boehne + + * ltmain.in: Print a warning if the mode is not specified. + * doc/libtool.texi: Document the change that the mode must be + specified. + + 2002-10-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not + echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function + win32_libid on w32 platforms + * ltmain.in: add new section for shell functions. Add + win32_libid() shell function. + * f77demo/Makefile.am: add -no-undefined flag + + 2002-10-30 Rob Browning + + * ltdl.c (realloc): Remove custom realloc. (#define + rpl_realloc realloc) and comment out later code for custom + realloc. You can't define your own malloc unless you know + enough about the malloc in use to be able to tell how big + the src ptr is. The disabled code incorrectly used the + *destination* ptr to decide how much to copy. This + sometimes results in out-of-bound accesses which cause + segfaults. This is a quick hack for now; we may want + something cleaner later. (tryall_dlopen_module): check to + be sure (dirname_len > 0) before testing first character + against '/'. (try_dlopen): check for feof(file) in read + loop -- otherwise infloop? + + 2002-10-25 Robert Boehne + + * ltmain.in (-XCClinker): New flag passes a linking option + directly to the compiler driver without appending ${wl}. + + 2002-10-25 Gary V. Vaughan + + * README-alpha: Add some release not templates for inspiration and + consistency at release time. + + * Makefile.am (cvs-diff): Compress the generated diff file, ready + for upload to ftp.gnu.org. + + 2002-10-25 Howard Chu + + * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other + compiler variants. + + 2002-10-25 Gary V. Vaughan + + * libtool.m4 (_LT_AC_FILE_IMPGEN_C): Removed. No longer used. + (_LT_AC_FILE_LTDLL_C): Ditto. + (AC_LIBTOOL_CONFIG) [cygwin, mingw, pw32, os2]: Don't call + _LT_AC_FILE_LTDLL_C or _LT_AC_FILE_IMPGEN_C. + + 2002-10-25 Albert Chin-A-Young + + * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the + -brtl special-case code for AIX never gets triggered because + were are being too specific about how we search for -brtl. + Use case statement to avoid this. Remove extraneous + semicolon. + * ltmain.in: Recognize the IBM xlc compiler. + + 2002-10-24 Andrew Suffield + + * libltdl/ltdl.c (lt_dlopenext): Corrected sense of "file not + found" check. + + 2002-10-24 Ossama Othman + + * ltmain.in: Support compiler names matching g++* + + 2002-10-23 Bob Friesenhahn + + * libtool.m4: Removed old Windows cruft. + * libtool.m4: Adapted pw32 to be like Cygwin/MinGW. + + 2002-10-23 Robert Boehne + + ltmain.in: Do not add 1 to the version under IRIX, it is + not necessary. ! 2002-10-15 Charles Wilson ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): avoid long delay on ! cygwin/Win9x when computing commandline length. ! (AC_LIBTOOL_SYS_DYNAMIC_LINKER): fix postinstall_cmds when ! sources are in a subdirectory ! * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): use $PATH_SEPARATOR, not ! $ac_path_separator ! * configure.ac: move depdemo-specific stuff. You must configure ! libtool before you can try './libtool --features'. ! * mdemo-inst.test: set $PATH to include the directory in which ! the modules are installed (on cygwin, DLL search path is the ! $PATH) ! 2002-10-15 Bob Friesenhahn ! * ltmain.in: MinGW works identically to Cygwin. ! * libtool.m4: lt_cv_sys_max_cmd_len hard-coded to 8192 ! * Model MinGW configuration after Cygwin configuration. ! Some portions share implementation. ! 2002-10-15 Elizabeth Barham ! * libtool.m4: Pattern MinGW library naming after that ! used by Cygwin except use 'lib' prefix rather than 'cyg'. ! * Transfer some configuration from Cygwin with adjustments ! for MinGW. ! 2002-10-15 Albert Chin-A-Young * libtool.m4: When a module is built for AIX, the 'lib' prefix isn't needed, neither is the version. AIX dlopen will honor the RPATH in a library. ! 2002-10-11 Christoph Egger ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add ! -install_name to the link line only when -dynamiclib is ! specified for a module. Use -bind_at_load when linking C++ ! shared libraries. ! 2002-10-04 Elizabeth Barham ! * libtool.m4 (AC_LIBTOOL_SETUP): GCC now checks -shared to ! create a dll for Windows targets. ! 2002-09-24 Robert Boehne ! ! * ltmain.in: Fixed a few spelling errors. ! 2002-09-17 Robert Boehne ! ! * libltdl/ltdl.c: Commented out access() call that checks for a ! library file's existence and permissions, as it appears to fail ! in every case. 2002-09-09 Albert Chin-A-Young *************** *** 71,86 **** Reflect this in library_names_spec. * ltmain.in (osf): Prefix $major with '.' for use as extension. 2002-06-26 Bob Friesenhahn ! * libtool.m4 (sys_lib_search_path_spec): Remove extraneous '=' ! character which appears in gcc 3.1 -print-search-dirs output. 2002-06-23 Albert Chin-A-Young * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs libltdl_cv_sys_dlopen_deplibs set to yes. 2002-06-23 Gary V. Vaughan * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL --- 708,771 ---- Reflect this in library_names_spec. * ltmain.in (osf): Prefix $major with '.' for use as extension. + 2002-08-28 Bob Friesenhahn + + * ltdl.m4 & libltdl/ltdl.c: Port fully to native Win32 API. + + 2002-07-31 Robert Boehne + + * f77demo/.cvsignore: New file, forgotten in the last commit. + + 2002-07-31 Eric Lindahl + + * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 + Fortran support tag. + (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. + (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): + New macros for F77 tag Fortran support. + * configure.ac: Add support for creating the new F77 tag. + * bootstrap: Add f77demo directory to the list to be processed. + * Makefile.am: Add support for FFLAGS and FLIBS. + * tests/Makefile.am: Add new Fortran tests. + * tests/f77demo-*.test: New files. + * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c + * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f + * f77demo/Makefile.am, f77demo/README: New files. + + 2002-07-16 Gary V. Vaughan + + * libltdl/ltdl.c (tryall_dlopen): We need to catch missing file + errors early so that file_not_found() can detect what happened. + 2002-06-26 Bob Friesenhahn ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove ! extraneous '=' character which appears in gcc 3.1 ! -print-search-dirs output. ! Handle both upper and lower case drive letters when testing for ! Windows vs POSIX style path output from -print-search-dirs ! output. ! ! 2002-06-24 Robert Boehne ! ! * ltmain.in (Piecewise linking): Add a clause to skip creating ! the export file until the reloadable object file(s) have been ! created, then use them as input for $export_symbols_cmds. 2002-06-23 Albert Chin-A-Young + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Need to quote [ and ] for + Autoconf. + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs libltdl_cv_sys_dlopen_deplibs set to yes. + 2002-06-23 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_SETUP, _LT_AC_LOCK): Use + AC_PROVIDE_IFELSE to test AC_LIBTOOL_WIN32_DLL and + AC_LIBTOOL_DLOPEN, necessary for autoconf 2.53. + 2002-06-23 Gary V. Vaughan * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL *************** *** 99,104 **** --- 784,790 ---- From Kevin Ryde : * doc/libtool.texi (Platform quirks): s/dependan/dependen/ + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Ditto. * TODO: Ditto. 2002-06-13 Rainer Orth *************** *** 110,118 **** * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user if tryall_dlopen() fails. 2002-05-06 Paul Eggert ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): head -1 -> sed 1q to port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with _POSIX2_VERSION=200112. --- 796,884 ---- * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user if tryall_dlopen() fails. + 2002-06-01 Gary V. Vaughan + + * tests/pdemo-exec.test: Typo. s/hell-static/hell_static/ + + 2002-05-31 Charles Wilson + + * NEWS: Updated. + * libtool.m4: use $NM to create the symbol list on cygwin, not + $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set + allow_undefined_flag="" so that the --auto-import magic + works properly. For all tags (and host=cygiwn) set + always_export_symbols=no -- it is unnecessary thanks to + binutils' auto-export magic. + * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary + wrapper; use cygwin's builtin implementatino of dl*. + * cdemo/Makefile.am: the downside of unsetting + 'allow_undefined_flag' -- we must include -no-undefined + in the _la_LDFLAGS variable. + * depdemo/l1/Makefile.am: ditto. + * depdemo/l2/Makefile.am: ditto. + * depdemo/l3/Makefile.am: ditto. + * depdemo/l4/Makefile.am: ditto. + * mdemo/Makefile.am: ditto. + * tagdemo/Makefile.am: ditto. + * demo/Makefile.am: ditto. But also, we must make special + provision to clean up the hell0 wrapper script. + * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. + And use 'hell_static' instead of 'hell.static'. + * tests/pdemo-inst.test: use 'hell_static' instead + of 'hell.static'. + * tests/pdemo-exec.test: ditto. + + 2002-05-30 Charles Wilson + + * tests/build-relink2.test: look for installed libl3.la + in $prefix/lib/ as well as $prefix/lib/extra/. + + 2002-05-30 Gary V. Vaughan + + * tests/hardcode.test: Use libtool --config to collect the + variable values for the test, otherwise the tag values interfere + with a straight grep. + + 2002-05-30 Gary V. Vaughan + + Finally fix the annoying bug which always adds all tags to the + libtool script built by your project configure. Now we set the + default tags depending on whether AC_PROG_CXX et. al. are actually + called from configure.ac. + + * libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when + no --with-tags argument is given. + (_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code + in... + (_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro + instead. + (AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the + initialisation sequence for tagnames. + (AC_LIBTOOL_GCJ): Similarly for GCJ tag. + (AC_LIBTOOL_RC): Likewise for RC tag. + + 2002-05-21 Jon Meredith + + * ltmain.in: Fix a problem on SCO OpenServer5 that caused a + failure in three depdemo-make tests. For some reason the linker + tries to find the dependent libraries using the library search + path before it has read the libraries specified with absolute + paths in the full commandline. This patch add -L's for each of + the dependent library directories so that they can be resolved. + + 2002-05-09 Nick Hudson + + * libtool.m4: Update support for NetBSD + * ltdl.m4: Make sure that libltdl_cv_func_dlopen and + libltdl_cv_lib_dl_dlopen are set and used instead of the + ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe + instread of global_symbol_pipe. This fixes the detection of + dlopen on BSD derived plaforms and more importantly fixes + need_uscore detection. + 2002-05-06 Paul Eggert ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with _POSIX2_VERSION=200112. *************** *** 123,128 **** --- 889,899 ---- named "+2". An example host that behaves like this is textutils 2.0.21 with _POSIX2_VERSION=200112. + 2002-05-06 Loren James Rittle + + * ltmain.in: Detect and handle object name conflicts while + piecewise linking a static library. + 2002-05-02 Dave Vasilevsky * ltmain.in: Remove convenience libraries from deplibs for Darwin. *************** *** 132,199 **** * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds to catch properly handle dll alias symbols. 2002-04-14 Jean-Frederic Clere * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). * ltmain.in: Add support for EBCDIC based systems. 2002-03-16 Gary V. Vaughan * TODO: Removed obsolete comments about RMS' package system. ! 2002-03-07 Albert Chin-A-Young ! * libtool.m4: Allow LT_AC_PROG_SED to work under autoconf ! 2.13 and 2.5x with $ECHO_N/$ECHO_C and $ac_n/$ac_c. ! 2002-02-25 Albert Chin-A-Young ! * ltmain.in: Quote $pic_mode. ! 2002-02-25 Albert Chin-A-Young ! * ltmain.in: Fix version string under IRIX. ! 2002-02-25 Albert Chin-A-Young ! * libtool.m4 (LT_AC_PROG_SED): Use $ac_n and $ac_c rather than ! $ECHO_N and $ECHO_C for new LT_AC_PROG_SED macro. ! $ECHO_N and $ECHO_C defined for autoconf 2.50 and above only. ! 2002-02-01 Robert Boehne * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of output. AC_REQUIRE the new macro. * ltmain.in: Use $SED rather than plan old sed, as set by the new macro LT_AC_PROG_SED. ! 2002-01-14 Ossama Othman ! From Roger Leigh : ! * libtoolize.in (auxdirline): Fixed hardcoded value of ! "configure.in." Instead use "$configure_ac" variable. Corrects ! AC_CONFIG_AUX_DIR support when using new style `configure.ac.' ! * doc/libtool.texi: Corrected typo. "Safety" not "Saftey". ! 2002-01-14 Robert Boehne ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Add mips/mipsel to list of ! architectures for linux. ! 2002-01-10 Volker Christian ! * libltdl/ltdl.c (find_handle_callback): treat the result of a call ! to access(2) correctly when deciding whether a library can be found ! in a directory from user_search_path. 2001-11-28 Robert Boehne ! With help from Michael Matz : ! * ltmain.in: Add a new command line argument ! --preserve-dup-deps for preserving duplicate ! dependent libraries. ! * libtool.texi: Document it. 2001-11-28 Gary V. Vaughan --- 903,1051 ---- * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds to catch properly handle dll alias symbols. + 2002-04-24 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use $build_os not $host_os. + + 2002-04-14 Robert Boehne + + * doc/libtool.texi (C++ libraries): Finally updated to reflect + Libtool's support for C++. + 2002-04-14 Jean-Frederic Clere * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). * ltmain.in: Add support for EBCDIC based systems. + 2002-04-07 Robert Boehne + + * libtool.m4 (LT_AC_PROG_SED): Refactor, removing temporary directory + and consistent use of the shell variable namespace "lt_ac_". + + 2002-04-02 Robert Boehne + + * ltmain.in: Finish the tag matching logic started yesterday and + refactor it a bit. + + 2002-04-01 Robert Boehne + + * ltmain.in: Handle the case when no tag is explicitly set, and + $base_compile has a space in front of $CC, and revert the setting + of tagname checked in on 2002-3-14. + + 2002-04-01 Robert Boehne + + * tagdemo/foo.cpp: Use C++ IO to catch problems linking to C++ + runtime libraries. + * tagdemo/main.cpp: Ditto. + 2002-03-16 Gary V. Vaughan * TODO: Removed obsolete comments about RMS' package system. ! 2002-03-14 Robert Boehne ! ! ltmain.in: Touch-up to make testsuite pass, and default tagname ! to CC when it isn't explicitly set. ! 2002-03-14 Anthony Green ! * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Albert Chin's gcj fix. ! (AC_LIBTOOL_PROG_COMPILER_PIC): Per Bothner's change for not ! using -DPIC with gcj. ! 2002-03-11 Bruce Korb ! * ltmain.in(compile): bring a touch of order to the option processing ! 2002-02-09 Gary V. Vaughan ! * NEWS: Updated. ! * THANKS: Added Rob Collins and Chuck Wilson for their cygwin ! work. ! ! From Robert Collins : ! * configure.ac (AC_EXEEXT): Needed for DOSish systems. ! * libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes ! when compiling with gcc. ! (lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT ! hack, so we just say the pic is the default. ! (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a ! library normally. ! [cygwin]: Declare C++ compiler characterisics for g++, taking into ! account the new auto-import support in cygwin ld. ! * ltmain.in (specialdeplibs) [cygwin]: Be careful about ! eliminating duplicate -lgcc's from the link line. ! [cygwin]: Be smarter about .exe suffixes. ! * demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support ! DOSish systems properly. ! * depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto. ! * demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use ! hell_static instead of hell.static for multi-`.' inhibited OSes. ! * tests/demo-exec.test: Ditto. ! * tests/demo-inst.test: Ditto. ! * demo/foo.h [cygwin]: Sanitize cygwin dll support. ! * demo/foo.c (_LIBFOO_COMPILATION_): No longer required. ! * demo/hello.c (_LIBFOO_COMPILATION_): Ditto. ! * depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead ! of depdemo.static for multi-`.' inhibited OSes. ! * tests/depdemo-exec.test: Ditto. ! * tests/depdemo-inst.test: Ditto. ! * mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static. ! * tests/dryrun.test: Ditto. ! * tests/mdemo-exec.test: Ditto. ! * tests/mdemo-inst.test: Ditto. ! * tests/build-relink.test: Be careful about possible .exe ! suffixes. ! * tests/noinst-link.test: Allow for .exe suffix. ! ! 2002-02-07 Alexandre Oliva ! ! Reverted incorrect patch: ! 2001-10-24 H.J. Lu ! * ltmain.sh: Allow link against an archive when building a ! shared library. ! * libtool.m4 (lt_cv_deplibs_check_method): Always use ! file_magic for Linux ELF. ! 2002-01-30 Robert Boehne ! * libtool.m4 (LT_AC_PROG_SED): Removed a mysterious newline. ! ! 2002-01-28 Robert Boehne * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of output. AC_REQUIRE the new macro. * ltmain.in: Use $SED rather than plan old sed, as set by the new macro LT_AC_PROG_SED. ! 2002-01-10 Volker Christian ! * libltdl/ltdl.c (find_handle_callback): treat the result of a call ! to access(2) correctly when deciding whether a library can be found ! in a directory from user_search_path. ! 2002-01-07 Robert Boehne ! * NEWS: Fixed wrong path for texinfo.tex. ! * configure.ac: Bumped version to 1.4e. ! GNU libtool 1.4d was released. ! * configure.ac: Bumped version to 1.4d. ! * NEWS: updated. ! * config.guess, config.sub, texinfo.tex: Synchronised from ! ftp.gnu.org. ! 2001-12-06 Jens Petersen ! ! * ltmain.in: Replace all test "-a"s by "&& test" ! for portability. 2001-11-28 Robert Boehne ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Change the ! factor of saftey as 3/4 of the result was not low enough. 2001-11-28 Gary V. Vaughan *************** *** 207,215 **** not be explicitly used. ld handles this depending on the presence of the -pthread option. ! 2001-11-15 Guido Draheim ! * ltdl.m4: Changed "underscode to underscore". 2001-11-15 Gary V. Vaughan --- 1059,1082 ---- not be explicitly used. ld handles this depending on the presence of the -pthread option. ! 2001-11-27 Robert Boehne ! With help from Michael Matz : ! * ltmain.in: Add a new command line argument ! --preserve-dup-deps for preserving duplicate ! dependent libraries. ! * libtool.texi: Document it. ! ! 2001-11-27 Kevin Ryde ! ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Send "test" ! warnings to /dev/null, helps FreeBSD and maybe others. ! ! 2001-11-15 Albert Chin-A-Young ! ! * libtool.m4: quote LTCC because autoconf AC_PROG_CC_STDC ! macro might add to $CC if options needed by compiler to ! grok ANSI. 2001-11-15 Gary V. Vaughan *************** *** 223,232 **** where libtool ended up in the wrong directory after relinking a .la file. ! 2001-11-15 Guido Draheim ! * ltmain.in: Display better and different error messages when ! library linkage fails in various ways. 2001-10-28 Gary V. Vaughan --- 1090,1100 ---- where libtool ended up in the wrong directory after relinking a .la file. ! 2001-10-31 Raja R Harinath ! * configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE ! before the use of $PACKAGE in $pkgdatadir. ! Reported by Bob Friesenhahn 2001-10-28 Gary V. Vaughan *************** *** 234,242 **** * libtool.m4 [mips-compaq-nonstopux]: New port. * ltmain.in [mips-compaq-nonstopux]: Support $version_type == nonstopux. - * NEWS: Updated. ! 2001-10-28 Albert Chin-A-Young * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t from int because strlen() returns size_t. argz_len changed to --- 1102,1109 ---- * libtool.m4 [mips-compaq-nonstopux]: New port. * ltmain.in [mips-compaq-nonstopux]: Support $version_type == nonstopux. ! 2001-10-28 Albert Chin-A-Young * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t from int because strlen() returns size_t. argz_len changed to *************** *** 246,256 **** 2001-10-27 Gary V. Vaughan * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' option to configure, but to find an appropriate ltdl library and append the right options to link it. ! 2001-10-04 Albert Chin-A-Young * libltdl/ltdl.c: Match function return type with prototype (add static initializer to file_not_found). --- 1113,1154 ---- 2001-10-27 Gary V. Vaughan + * libtool.m4 (_LT_AC_TAGCONFIG): Cray sed does not allow character + sets to contain the separator character. + Reported by Kevin Ryde + * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' option to configure, but to find an appropriate ltdl library and append the right options to link it. ! 2001-10-24 Kevin Ryde ! ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Remove a stray ' quote. ! ! 2001-10-24 H.J. Lu ! ! * ltmain.sh: Allow link against an archive when building a ! shared library. ! * libtool.m4 (lt_cv_deplibs_check_method): Always use ! file_magic for Linux ELF. ! ! 2001-10-12 Guido Draheim ! ! * ltdl.m4: Changed "underscode to underscore". ! ! 2001-10-06 Gary V. Vaughan ! ! * configure.ac: General modernisation and cleanup. ! * cdemo/configure.ac: Ditto. ! * demo/configure.ac: Ditto. ! * depdemo/configrue.ac: Ditto. ! * ltdl/configure.ac: Ditto. ! * ltdldemo/configure.ac: Ditto. ! * mdemo/configure.ac: Ditto. ! * pdemo/configure.ac: Ditto. ! * tagdemo/configure.ac: Ditto. ! ! 2001-10-04 Albert Chin-A-Young * libltdl/ltdl.c: Match function return type with prototype (add static initializer to file_not_found). *************** *** 263,269 **** (AC_LIBLTDL_INSTALLABLE): Ditto. * doc/libtool.texi (Distributing libltdl): Adjust documentation. ! 22001-09-22 Albert Chin-A-Young * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 support shl_load *and* dlopen, dlopen works correctly only --- 1161,1167 ---- (AC_LIBLTDL_INSTALLABLE): Ditto. * doc/libtool.texi (Distributing libltdl): Adjust documentation. ! 2001-09-22 Albert Chin-A-Young * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 support shl_load *and* dlopen, dlopen works correctly only *************** *** 271,276 **** --- 1169,1205 ---- build on a system with the patch but deploy on a system without, use shl_load exclusively if found. + 2001-09-22 Gary V. Vaughan + + * libtool.m4 (_LT_AC_FILE_LTDLL_C): Be carefule that the start + marker searched for by sed must start in column 0. + (_LT_AC_FILE_IMPGEN_C): Ditto. + Reported by Tor Lillqvist + + 2001-09-22 Tor Lillqvist + + * libtool.m4 [mingw* cygwin*]: Small improvement for mingw-hosted + tool support (while still running libtool on cygwin). In that case + PATH_SEPARATOR is ':', but gcc -print-search-dirs still prints its + search path with ';' as separator. + (AC_LIBTOOL_RC, AC_LIBTOOL_LANG_RC_CONFIG): Add support for .rc + files (Windows resource files), compiled by the resource compiler + (windres in mingw) to .o files. + (AC_PROG_NM): Minor bug fix for $PATH elements with spaces in + them. + * configure.ac: Use LT_AC_PROG_RC. + * ltmain.in: Check for .rc files. + * NEWS: Updated. + + * ltmain.in: Add a space to $base_compile in the case statement, + as the case labels checks for trailing spaces, but there aren't + necessarily in $base_compile. + + 2001-09-22 Albert Chin-A-Young + + * libtool.m4: When setting archive_cmds for CC, don't + test for $GXX but for $GCC on HP-UX. Indentation fixes. + 2001-09-21 Gary V. Vaughan From Tor Lillqvist : *************** *** 293,391 **** * libltdl/ltdl.c: Added support for dmalloc, and uncovered some memory bugs as a result. ! 2001-09-13 Gary V. Vaughan ! * ltmain.in (exec_cmd): Don't overquote or we end up with this: ! $ libtool --mode=execute echo foo ! "foo" ! Reported by Rob Browning 2001-09-13 Assar Westerlund * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test does not fail due to a prototype in dlfcn.h ! 2001-09-11 Gary V. Vaughan ! ! * libltdl/Makefile.am (OBJECTS): In addition to making $(OBJECTS) ! depend on libtool -- which causes Automake 1.4 to generate the ! ibtool script in this directory during bootstrap -- also add ! libltdl_la_OBJECTS and libltdlc_la_OBJECTS, the Automake 1.5 ! equivalents. ! * NEWS: Updated. ! ! * bootstrap: Be robust to having no files that need removing. ! ! * configure.in: Bumped version to 1.4.2a. ! ! GNU libtool 1.4.2 was released. ! ! * configure.in: Bumped version to 1.4.2. ! * config.sub, config.guess: Synchronised from ftp.gnu.org. ! * NEWS: Updated. ! ! 2001-09-11 Gary V. Vaughan , Albert Chin . Tim Van Holder ! ! * libtool.m4 (no_undefine_flag) [solaris*]: Don't set this flag ! if GCC < 3.0 with native ld, which introduces a dependency on ! libgcc.a under certain circumstances, which in turn violates ! -no-undefined. Also display a prominent configure time warning if ! the buggy combination of GCC and ld is detected. ! (AC_LIBTOOL_HEADER_ASSERT): libltdl falls foul of this bug ! because assert requires __eprintf from libgcc.a. This macro ! detects the combination of GCC and ld that produce this problem, ! and pretends that assert.h does not exist... ! * libltdl/ltdl.c (HAVE_ASSERT_H): ...so that assertions can be ! disabled in libltdl. Otherwise the library would only be useable ! when linking using gcc, or by manually adding libgcc.a to the link ! line of the application that uses libltdl. ! * ltdl.m4 (AC_LIB_LTDL): Require AC_LIBTOOL_HEADER_ASSERT. ! * doc/PLATFORMS: Updated. ! ! 2001-09-11 Daniel Harvey ! * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through ! the script correctly, change to $''0 2001-09-11 Gary V. Vaughan ! * libltdl/configure.in (AC_CONFIG_HEADER): Use config-h.in for DOS ! compatibility. ! ! * libtool.m4: Add missing M4 quotation to $1 of AC_DEFUN calls. ! * libltdl/configure.in (AM_INIT_AUTOMAKE): Bump libltdl version to 1.2. * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library version info to 4:0:1. 2001-09-10 Gary V. Vaughan ! * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Oops. We ! really ought to set PATH_SEPARATOR in here somewhere. ! (AC_PROG_LD): Don't forget to AC_REQUIRE it! Be careful not to ! set IFS="${IFS}$PATH_SEPARATOR" for PATH splitting, otherwise ! spaces in directory names will be lost. ! (AC_PROG_NM): Ditto. * ltmain.in: Default IFS once, at the start. Reported by Akim Demaille ! 2001-09-10 Brad * ltmain.in (-lc_r): Style improvement. * doc/libtool.texi: Remove obsolete references to ltconfig. - * bootstrap: Don't bother creating an empty ltconfig and then - removing it. * tests/quote.test: s/ltconfig/\$0/ 2001-09-09 Gary V. Vaughan - From Brad : * libtool.m4: Use Autoconf square bracket quoting style consistently throughout. ! 2001-09-07 Gary V. Vaughan * bootstrap: Cleanup `autom4te' and `libtool' so that we don't get caught by something from a previous build. --- 1222,1287 ---- * libltdl/ltdl.c: Added support for dmalloc, and uncovered some memory bugs as a result. ! 2001-09-21 Albert Chin ! ! * libtool.m4: Don't include main() when testing for command to ! parse $NM output because some C++ compilers don't allow you to ! take the address of main (e.g. HP-UX aCC). ! * libtool.m4: Some uses of $GXX were unquoted, but GXX is either ! NULL or yes. Use "$GXX". 2001-09-13 Assar Westerlund * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test does not fail due to a prototype in dlfcn.h ! 2001-09-13 Gary V. Vaughan ! * ltdl.m4 (AC_CHECK_HEADERS): Check for assert.h. ! * libltdl/ltdl.c: If not, disable assertions manually. 2001-09-11 Gary V. Vaughan ! * bootstrap: Be robust to having no files that need removing. ! * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump libltdl version to 1.2. * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library version info to 4:0:1. + 2001-09-11 Gary V. Vaughan + + * libtool.m4: No need to undefine([symbols]), proper quotation is + enough. + 2001-09-10 Gary V. Vaughan ! * libtool.m4: CVS Autoconf guarantees a decent default IFS, so ! there is no need for us to preset it anymore. ! Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH ! splitting, otherwise spaces in directory names will be lost. ! Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was ! an autoconf internal until just now, when it disappeared! * ltmain.in: Default IFS once, at the start. Reported by Akim Demaille ! 2001-09-10 Brad ! ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Missed an instance of ! Autoconf square bracket quoting style normalisation. * ltmain.in (-lc_r): Style improvement. * doc/libtool.texi: Remove obsolete references to ltconfig. * tests/quote.test: s/ltconfig/\$0/ 2001-09-09 Gary V. Vaughan * libtool.m4: Use Autoconf square bracket quoting style consistently throughout. ! 2001-09-08 Gary V. Vaughan * bootstrap: Cleanup `autom4te' and `libtool' so that we don't get caught by something from a previous build. *************** *** 394,407 **** my 2001-09-06 patch. (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. ! * libltdl/acconfig.h: Removed. Obsoleted with modern Automake ! (i.e. 1.4 or better). * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. Reported by Albert Chin 2001-09-06 Gary V. Vaughan * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing no_undefined_flag from `-z text' to `-z defs' (see entry below at 2001-04-11 Alexandre Oliva ) has a problem. --- 1290,1304 ---- my 2001-09-06 patch. (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. ! 2001-09-07 Gary V. Vaughan * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. Reported by Albert Chin 2001-09-06 Gary V. Vaughan + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [solaris*]: Typo. s/GXX/GCC/. + * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing no_undefined_flag from `-z text' to `-z defs' (see entry below at 2001-04-11 Alexandre Oliva ) has a problem. *************** *** 417,422 **** --- 1314,1329 ---- tryall_dlopen_module() must be explicitly cast to avoid compiler warnings on some environments. + From Daniel Johnson : + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Move from GNU + ld section to non-GNU ld section. + + 2001-09-05 Robert Boehne + + * pdemo/Makefile.am (helldl): Automake 1.4 can't find the target + if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. + Using both targets to the left of the colon seems to work though! + 2001-09-03 Gary V. Vaughan * demo/Makefile.am (helldl): Automake 1.4 can't find the target *************** *** 430,450 **** 2001-09-03 Gary V. Vaughan - * configure.in: Bumped version to 1.4.1a. - - GNU libtool 1.4.1 was released. - - * configure.in: Bumped version to 1.4.1. - * config.sub, config.guess: Synchronised from ftp.gnu.org. - * doc/texinfo.tex: Ditto. - * NEWS: Updated. - * TODO: Remove fixed bugs. - - * ltdl.m4 (AC_CHECK_TYPES): This macro was introduced in Autoconf - 2.5x. Backported a fallback implementation (directly to ltdl.m4) - from Autoconf 2.50, so that we can still bootstrap with Autoconf - 2.13. - From Marius Vollmer : * libltdl/ltdl.c (tryall_dlopen_module): Don't forget to propogate errors over recurse levels. --- 1337,1342 ---- *************** *** 453,461 **** * libtool.m4 [openbsd*]: More improvements to the OpenBSD port. - * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant - setting of this variable. - 2001-09-02 Gary V. Vaughan From Albert Chin : --- 1345,1350 ---- *************** *** 471,482 **** 2001-09-02 Gary V. Vaughan - Backported the following patches from the development branch: - Based on a patch from Marius Vollmer : * NEWS: updated. * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. ! * libltdl/ltdl.c: Include unistd.h if it exists. (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding "LTDL_LIBRARY_PATH". (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". --- 1360,1369 ---- 2001-09-02 Gary V. Vaughan Based on a patch from Marius Vollmer : * NEWS: updated. * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. ! * ltdl.c: Include unistd.h if it exists. (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding "LTDL_LIBRARY_PATH". (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". *************** *** 498,509 **** an eventual FILE_NOT_FOUND when a genuine failure earlier in the search process could be legitimately reported. ! * libltdl/ltdl.c (argz_create_sep): Don't forget to include the ! terminating '\0' when counting argz_len. ! (argz_create_sep): When canonicalizing argz, don't forget to copy ! the terminating '\0', incase canonicalization has shortened argz. (argz_stringify): Don't covert the final '\0' to a separator. * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all loaded module handles as originally intended. --- 1385,1424 ---- an eventual FILE_NOT_FOUND when a genuine failure earlier in the search process could be legitimately reported. ! * demo/Makefile.am (helldl$(EXEEXT)): Automake-1.5 made me change ! this from just `helldl'. ! ! 2001-07-31 Robert Boehne ! ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) Fixed a problem ! with export_symbols_cmds not being set for CXX tags, and ! not being properly set for any tag under AIX/Power. ! ! 2001-08-19 Ossama Othman ! ! * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Corrected and improved ! error message that is displayed when there was a problem ! compiling the C++ test program. It still mentioned the now ! non-existent `ltcf-cxx.sh' file. ! ! * doc/libtool.texi (LTDL_SET_PRELOADED_SYMBOLS): Removed ! parentheses at end of starting "defmac" line, as pointed out by ! makeinfo. ! ! 2001-08-18 Brad ! ! * ltmain.in: Do not remove -lm from deplibs for OpenBSD. ! ! 2001-08-16 Gary V. Vaughan ! ! * libltdl/ltdl.c (argz_create_sep): Don't forget to include the ! terminating '\0' when counting argz_len. ! (argz_create_sep): When canonicalizing argz, don't forget to copy ! the terminating '\0', incase canonicalization has shortened argz. (argz_stringify): Don't covert the final '\0' to a separator. + 2001-08-15 Gary V. Vaughan + * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all loaded module handles as originally intended. *************** *** 517,526 **** --- 1432,1450 ---- use a zero valued key as the end marker. (lt_dlcaller_get_data): Iterate up to the end marker in one pass. + 2001-08-14 Gary V. Vaughan + * libltdl/ltdl.c (lt_dlcaller_register): Caller ids are allocated starting from value `1', so that clients can use a value of zero to indicate that libltdl has not yet initialised. + * ltmain.in (exec_cmd): Fix quoting in execute mode so that the + double quotes added by libtool (to prevent lossage with embedded + spaces in filenames etc.) are not interpreted as literals by the + shell. + + 2001-08-13 Gary V. Vaughan + * libltdl/ltdl.c (find_file_callback): Fix a multiple free() bug. (tryall_dlopen_module): Remove some unused variables. *************** *** 540,4163 **** (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. * doc/libtool.texi (Libltdl interface): Document it. ! 2001-08-18 Brad ! ! * ltmain.in: Do not remove -lm from deplibs for OpenBSD. ! 2001-08-05 Gary V. Vaughan ! From Brad : ! * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace ! 1.3 era $linkopts references with $linker_flags. From Brad : ! * libtool.m4 [openbsd]: OpenBSD can build modules without a `lib' ! prefix and version number. ! ! 2001-08-04 Gary V. Vaughan ! ! From Edouard G. Parmelan ! * libtool.m4 [darwin, openbsd]: Fix quoting problems with ! unquoted [] expressions. ! 2001-07-29 Albert Chin-A-Young ! * libtool.m4: Prefer shl_load to dlopen on HP-UX because ! dlopen won't work properly without a patch. ! 2001-07-12 Dan McNichol ! From albert chin ! * libtool.m4: Fix AIX run-time-linking when using gcc. ! From albert chin ! * ltmain.in: Fix a case where the lockfile is not removed, thus ! causing libtool to loop forever waiting for it to be removed. ! 2001-07-05 Gary V. Vaughan ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Revert to 1.3.x ! sematics, and always build static libs when the host machine ! cannot build shared libs. Even if static libs were explicitly ! disabled. ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define ! lt_cv_sys_global_symbol_to_c_name_address to be a sed expression ! for mangling the output of the symbol pipe into a brace delimited ! C declaration of symbol name and address. ! * ltmain.in: Use it to generate the fooS.c symbol name to address ! map. ! 2001-06-30 Gary V. Vaughan ! Porting test improvements from multi-language-branch: ! * tests/defs: Find and set the value of CC probed by libtool.m4 ! * tests/link-2.test: Use a .lo wrapper script, and the value of ! CC set by defs instead of hardcoding gcc. ! * tests/link.test: Use the value of CC set by defs instead of ! hardcoding gcc. ! * tests/quote.test: Ditto. ! * tests/suffix.test: Ditto. ! * libtool.m4 (_LT_AC_LTCONFIG_HACK) [aix*]: Always set ! lt_prog_compiler_wl to `-Wl'. ! Reported by Albert Chin-A-Young ! 2001-06-29 Gary V. Vaughan ! From Tim Van Holder ! * tests/suffix.test: Typo in 2nd for loop. ! From Bruno Haible ! * libtool.m4: undefine the m4 builtin `symbols', so that the ! string `symbols' can be used in the rest of the code without ! causing errors with autoconf-2.13. ! From "Golubev I. N." ! * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. ! * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 ! does use symbols from libsub.la -- only platforms that allow ! undefined symbols in libraries were able to cope with this ! previously. ! Reported by Robert Collins ! From "Golubev I. N." ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs ! -wl,-Bexport to make self dlopen work. ! From Chris Leishman ! * libtool,m4 (_LT_AC_LTCONFIG_HACK) [darwin]: Cheap hack to ! help fake a C++ compilation. ! From Bruno Haible ! * NEWS: Updated. ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Make sure ac_objext is ! set to `lo' when testing for compiler output to *.lo filenames. ! 2001-06-28 Gary V. Vaughan ! From Alexander Bluhm ! * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation ! assumptions. ! 2001-06-27 Gary V. Vaughan ! From brad@openbsd.org: * NEWS: Updated. - * libtool.m4 (_LT_AC_LTCONFIG_HACK) [openbsd]: Improved support - for various openbsd platforms. - * ltmain.in: Ditto, - - 2001-05-20 Peter Eisentraut ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fix typo in variable name. ! ! 2001-05-20 Alexandre Oliva ! ! * libtool.m4 (allow_undefined_flag) [aix4* | aix5*]: Fix quote ! error. ! ! * ltmain.in (exec_cmd): New variable. Don't exec programs within ! the big `case'; set the variable instead, and exec the cmd ! afterwards, so that the shell gets a chance to clean up here-doc ! files. ! * NEWS: Update. ! ! 2001-05-16 Alan Modra ! ! * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. ! ! 2001-05-03 Andreas Jaeger , Andreas Schwab ! ! * ltmain.in (relink_command): Arrange for wrapper script to save ! output to a variable and display it only if relinking fails. ! ! 2001-05-03 Alexandre Oliva ! ! * configure.in: Bumped version to 1.4.0a. ! ! 2001-04-25 Gary V. Vaughan ! ! GNU libtool 1.4 was released. ! ! * configure.in: Bumped version to 1.4. ! * config.sub, config.guess: Synchronised from ftp.gnu.org. ! * NEWS: updated. ! ! 2001-04-24 Peter Eisentraut ! ! * libtool.m4: Support $host_os as /sysv5uw7*/ from newer ! config.guess in addition to older /unixware*/. Use compiler ! driver, not linker, for linking shared libraries. ! ! 2001-04-24 Gary V. Vaughan ! ! * libtool.m4, ltmain.in, libltdl/configure.in, ! tests/quote.test: Remove stale references to ltconfig. ! ! * ltdl.m4 (AC_C_INLINE): No longer required. ! * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, ! free_vars): Revoke inline keyword from declarations. `static ! inline' is not very portable, and in addition Unixware 7.1.1's ! compiler says you can't access static variables from inline ! functions. ! Reported by Peter Eisentraut ! ! 2001-04-24 Albert Chin-A-Young ! ! * libtool.m4: Handle case where /bin/nm -p outputs multiple ! symbol types (like under HP-UX 11.00). ! ! 2001-04-24 Thomas Tanner ! ! * TODO: describe problems with libltdl ! * ltmain.in (ILD): tidy up, add comments, remove dead code, ! merge duplicate code ! * ltmain.in (ILD): don't touch newdependency_libs after scan or ! dlopen pass ! * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened ! module (remove absolutely wrong quick hack) ! * ltmain.in (ILD): remove wrong comments about duplicate removal ! * ltmain.in (ILD): build a static-only module if it has ! static libraries in its dependencies (so that libltdl can ! safely load dependency_libs) ! * ltmain.in (argument parsing): prefix comparsions of -l args with X, ! replace -lc with `-framework System' _after_ the ILD passes ! * ltmain.in (argument parsing): support dl[pre]open ! for both .o and .lo files ! * ltmain.in (deplibs_check): use portable test syntax ! * ltmain.in (help): document -prefer-[non-]pic flags ! * ltmain.in: improve readablity by adding some comments, ! rename uninst_* to notinst_* (more adequate name) ! 2001-04-24 Gary V. Vaughan ! * doc/PLATFORMS: More updates from subscribers to ! libtool@gnu.org. ! From Tim Mooney ! * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test ! scripts get the same make that was used in the top level ! directory. ! 2001-04-23 Gary V. Vaughan ! * doc/PLATFORMS: Updated with more platforms successfully ! tested by members of libtool@gnu.org. ! 2001-04-23 Peter Eisentraut ! * doc/PLATFORMS: With this patch, freebsd4.3 passes the test ! suite. ! * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules ! are left. ! 2001-04-23 Gary V. Vaughan ! * doc/PLATFORMS: With this patch, my Solaris boxes now pass the ! test suite, Yay! ! From Albert Chin-A-Young ! * ltmain.in: `test -L' is not portable, and infact breaks uninstall ! mode on Solaris. Fallback to `test -h' and finally `test -f', ! but be careful not to let the failure status cause libtool to ! stop. ! From Simon Spero ! * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while ! checking for dlsym _. ! From Simon Spero ! * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! ! * TODO: Make a note to undo this later. ! From Christoph Pfisterer ! * libtool.m4: Use $() execution substitution quotation to work ! around zsh builtin echo \ escape removal. ! 2001-04-22 Peter Eisentraut ! * bootstrap: Allow overriding the location aclocal, automake, ! autoconf, autoheader from the environment. ! * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments ! if the variable was not set with `=' earlier. `+=' was not useful ! here anyway. ! 2001-04-22 Gary V. Vaughan ! * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must ! check for that here. ! * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for ! the dlopen loader. ! Reported by Matthew Schalit ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for ! various releases of UnixWare and OpenServer that support it. ! Reported by Matthew Schalit ! * doc/PLATFORMS: Updated with various platforms successfully ! tested by members of libtool@gnu.org. ! 2001-04-21 Gary V. Vaughan ! * TODO: propose pkg-config merge. ! 2001-04-21 Nick Hudson ! * ltmain.in: Correct an error in yesterday's patch. ! 2001-04-20 Nick Hudson ! * libtool.m4: Improve NetBSD support. ! * ltmain.in: ditto. ! 2001-04-19 Dan McNichol ! * libtool.m4: Build standard shared libraries on AIX POWER ! more like AIX does, with a shared object archived into lib.a. ! On AIX -bexpall flag does strange things... Don't use it. ! Fix quotes around -berok flag. Add support for AIX 5. ! Add support for run time linking on AIX POWER. (should work ! on AIX 4.2 and up). Turn this feature on by adding -brtl flag ! to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 ! uses a SYSV type linker. Add a comment telling what to do if the ! TOC starts getting too large on AIX. ! * NEWS: mention aix5 support. ! 2001-04-18 Alexandre Oliva ! * TODO: Add -L- flag. ! 2001-04-11 Alexandre Oliva ! * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. ! 2001-04-11 Ossama Othman ! * AUTHORS: Added myself to the list of maintainers. ! 2001-04-08 Gary V. Vaughan ! * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} ! to pass -rpath when compiling with gcc. Reported by Tim Mooney ! * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' ! module, since HPUX adds module symbols into the `self' pool if ! it is opened later. Return the cached pointer if the caller ! subsequently tries to open `self'. ! (sys_shl_sym): Diagnose NULL modules. ! ! From Peter Eisentraut ! * ltmain.in (clean,uninstall): test -e is not portable. Well, ! neither is -L, but I'm hoping that redirecting error messages ! to /dev/null and relying on non-zero exit status will work okay ! on the few hosts that don't support -L. ! ! 2001-04-08 Nick Hudson ! ! * ltmain.in: Improve check for valid -version-info parameter. ! ! 2001-04-08 Gary V. Vaughan ! From Nick Hudson ! * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it ! is included in the distribution. ! 2001-04-07 Peter Eisentraut ! * ltmain.in (clean,uninstall): Do not error if the file doesn't ! exist and 'rm -f' was used. Exit with status 1 on error. ! ! 2001-04-06 Nick Hudson ! ! * ltmain.in: Implement a new deplibs_check_method called ! match_pattern that does pattern matching on filenames... ! * libtool.m4: ...use it with NetBSD ! ! 2001-04-05 Gary V. Vaughan ! ! * doc/libtool.texi (Multiple dependencies): A note about the ! problems I've reintroduced by reverting the my patch of 2001-03-31. ! ! From Edward Lee ! * libtool.m4: Typos. ! ! * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. ! * tests/depdemo-dups.test: Removed, as part of the patch ! reversion below. ! * ltmain.in: Revert my change from 2001-03-31. Although it ! was technically correct, it opens a whole can of worms we don't ! want to deal with right now. ! ! From Ahmed Masud ! * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle ! for self opening. ! (sys_shl_close): Be careful not to close a NULL module handle. ! (sys_shl_sym): Allow shl_findsym() to open NULL modules, but ! discard the modified module address it returns. ! ! * libltdl/ltdl.c (lt_dlopen): When reading the .la file, ! reallocate the line buffer size if the line overflows the ! original buffer. ! Reported by Nick Hudson ! ! * NEWS (1.3d) Removed bogus ltconfig reference. ! ! 2001-04-03 Gary V. Vaughan ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious ! `dnl' from the help text of --with-pic. ! Reported by stefan ! ! 2001-04-02 Gary V. Vaughan ! ! * configure.in: bumped version to 1.3e. ! ! GNU libtool 1.3d was released. ! ! * NEWS: inserted todays date. ! ! 2001-04-01 Christoph Pfisterer ! ! * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly ! hardcodes the library path and adds versioning. Other small ! fixes. ! * ltmain.in: Fixed special cases for libc and libm on Rhapsody and ! Darwin. One of them was misplaced. Added version_type case for ! Rhapsody and Darwin, named "darwin". ! ! 2001-03-31 Gary V. Vaughan ! ! * ltmain.in: Remove the code for stripping duplicate deplibs ! from libtool link lines -- duplicates are somtimes necessary ! to satisfy inter-library dependencies, and never cause link to ! fail even if they are spurious. ! * tests/depdemo-dups.test: New file. Make sure this bug doesn't ! creep back in again! ! * tests/Makefile.am (TESTS): Use the new test above. ! ! 2001-03-29 Edward M. Lee ! ! * libtoolize.in: Check configure.ac and prefer configure.ac to ! configure.in. ! ! * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to ! AC_PROG_LIBTOOL. ! ! * libtool.m4: Generate dll/import libraries for cygwin according ! to the following: libFOO.a (static lib), libFOO.dll.a (import ! lib), cygFOO-version.dll (dll). Update postinstall_cmds and ! postuninstall_cmds to reflect this. ! * ltmain.in: Generate installed .la files with dlnames set to ! ../bin/cygFOO-version.dll for normal dlls. dlls for modules ! remain with the .la file. ! ! * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. ! ! 2001-03-16 Albert Chin ! ! * libtool.m4 (save_CPPFLAGS): Fix typo. ! ! 2001-03-13 Alexandre Oliva ! ! * libtool.m4 (lt_cv_compiler_c_o): Cache it. ! (lt_cv_compiler_o_lo): Likewise. ! ! 2001-03-09 Peter Eisentraut ! ! * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). ! ! 2001-03-08 Gary V. Vaughan ! ! * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted ! in yesterday by mistake. ! ! 2001-03-07 Gary V. Vaughan ! ! From Tor Lillqvist ! * libtool.m4 (export_symbols): On Windows, if the export_symbols ! file (which has been passed to libtool with the -export-symbols ! command line switch) already is a .def file, use it as is. ! * libtool.m4 (library_names_spec): Using m4 quotes correctly this ! time around! ! From Tor Lillqvist ! * libtool.m4 (library_names_spec): Use an appropriate filename ! prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. ! 2001-03-06 Alexandre Oliva ! * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to ! 2.96 can't build shared libraries reliably. Disable them. ! * ltmain.in: When dropping dependencies of a -no-undefined ! library, give up on building a shared library. ! 2001-03-05 Akim Demaille ! * ltmain.sh: Don't quote the argument of case/esac and ! assignments. ! * libtool.m4: Likewise. ! 2001-03-03 Markus F.X.J. Oberhumer , ! Alexandre Oliva ! * libtool.m4: Added explicit return type to all C functions. ! 2001-02-22 Gary Vaughan ! * NEWS: Updated. ! * doc/libtool.texi (Thread Safety in libltdl): New node describing ! the application the new MT API. ! * libltdl/ltdl.h: Prototypes. ! * libltdl/ltdl.c: Use these functions throughout the rest of ! the file to provide thread locking. ! (lt_dlmutex_register): New function to set callbacks for ! multi-threaded calls into libltdl. ! (lt_dl_mutex_lock): Type of a locking callback function. ! (lt_dl_mutex_lock): Type of an unlocking callback function. ! (lt_dl_mutex_seterror): Type of a callback function to save the ! last libltdl error message in thread local storage. ! (lt_dl_mutex_geterror): Type of a callback function to retrieve ! the last saved error message from thread local storage. ! 2001-02-20 Gary Vaughan ! * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned ! type to a negative number. ! Reported by Guenter Millahn ! 2001-02-05 Gary V. Vaughan ! From Nick Hudson ! * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to ! automatically load module deplibs without assistance from ! libltdl. ! 2001-02-02 Gary V. Vaughan ! * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, ! even when deplibs are not used because of the patch below. ! * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host ! architecture automatically loads deplibs, then... ! * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. ! 2001-01-31 Gary V. Vaughan ! * TODO: Updated. ! * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, ! don't sweat -- it may be a lib that is already statically linked ! into the loading application. ! * libltdl/ltdl.c: Clean up the shadowing of the global handles ! variable. ! (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. ! (load_deplibs): Cast isspace() argument to an int to satisfy ! -Wall. ! 2001-01-30 Robert Boehne ! * AUTHORS: added myself to the list of maintainers. ! 2001-01-28 Alexandre Oliva ! * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built ! libraries. ! 2001-01-27 Alexandre Oliva ! * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. ! 2001-01-07 Gary V. Vaughan ! * NEWS: Updated. ! * doc/libtool.texi (User defined module data): Updated. ! * libltdl/ltdl.c (lt_dlhandle_next): New function. ! * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. ! 2001-01-05 Gary V. Vaughan * NEWS: Updated. ! * doc/libtool.texi (User defined module data): Document it all. ! * ltdl.m4: Check for memcpy, or else bcopy. ! * ltdl.c (lt_caller_data): New type. ! (lt_dl_handle_struct): Add an lt_caller_data field. ! (lt_dlcaller_register, lt_dlcaller_set_data, ! lt_dlcaller_get_data): New functions. ! (rpl_memcpy): A minimal fallback implementation. ! (rpl_realloc): A realloc implemented with lt_dlmalloc and ! lt_dlfree. ! (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): ! New memory handling convenience macros. Use them ! appropriately throughout the rest of this file. ! * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, ! lt_dlcaller_get_data): Prototyped. ! ! 2001-01-04 Gary V. Vaughan ! ! * libltdl/ltdl.h: formatting change. ! ! 2000-12-23 Gary V. Vaughan ! ! From vvv@vsu.ru: ! * doc/fdl.texi (GNU Free Documentation License): contained @bye ! command which prevented part of document to be generated (indices, ! etc). ! * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain ! a space after a type. ! ! 2000-12-22 Akim Demaille ! ! * libtool.m4: s/[ \t]*$// ! ! 2000-12-22 Aneesh Kumar K.V ! ! * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. ! ! 2000-12-20 Gary V. Vaughan ! ! * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the ! wrong module. ! Reported by Robert Boehne ! ! * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch ! below can detect preopened library deplibs correctly in libltdl, ! we need to ensure that libtool library deplibs are also preloaded ! into the binary for that phase to work. ! ! 2000-12-16 Aneesh Kumar K.V ! ! * libtool.m4 (OSF/1): Change the way to pass linker flags through ! compiler on a Tru64 machine. ! ! 2000-12-16 Gary V. Vaughan ! ! * libtool.m4 (sys_lib_search_path_spec): Use test instead of ! `['. ! (archive_cmds): And another one. ! ! * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the ! last patch. ! ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from ! sequent, ncr and newos6 back into here from other macros. ! ! 2000-12-16 Wilfredo Sanchez ! ! * libtool.m4: (dyld/darwin*) Much improved port. ! * ltmain.in: (dyld/darwin*) Much improved port. ! ! 2000-12-16 Sascha Schumann ! ! * libtool.m4: Accept darwin as an alias for rhapsody. ! * ltmain.in: ditto. ! ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 ! methods to check for library dependencies on HPUX 11. ! ! 2000-12-16 Nick Hudson ! ! * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support ! for NetBSD a.out. ! ! 2000-12-15 Akim Demaille ! ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename ! `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. ! Similarly with `lt_cv_global_symbol_to_cdecl ! (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', ! `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', ! `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', ! `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. ! (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' ! (AC_PROG_LD) : Likewise. ! (AC_PROG_LD_GNU) : Likewise. ! (AC_PROG_NM) : Likewise. ! ! 2000-12-15 Utz-Uwe Haus ! ! * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword ! to "dependency_libs". ! ! 2000-12-14 Tod Milam ! ! * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when ! the last module has been unloaded. ! ! 2000-12-14 Michael Schmitz ! ! * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) ! * README: added Reliant Unix to hte list of supported platforms ! * doc/PLATFORMS: added note on tests on Reliant Unix ! 2000-12-14 Masahiro Nobori - * README: Updated. * NEWS: Updated. ! * libtool.m4: New port to NEWS-OS Release 6. ! ! 2000-12-14 Nick Hudson ! ! * libtool.m4 (hardcode_libdir_flag_spec): Remove linker ! specification for netbsd. ! ! 2000-12-14 Akim Demaille ! ! * libtool.m4: Don't depend on Autoconf internals: ! s/ac_cv_prog_gcc/GCC/. ! ! 2000-12-14 Gary V. Vaughan ! ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty ! out ac_cv_global_symbol_to_cdecl inside the loop, incase we ! need to go around again and try with underscore prefix. ! (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) ! self dlclosing unloads the main program and causes a SIGSEGV. So ! don't do it for now. ! ! 2000-12-05 Gary V. Vaughan ! ! Oh My! Cygwin support has bitrotted while I was looking the other ! way. This should fix it some: ! * libtool.m4 (extract_expsyms_cmds): There is a quoting problem ! with autoconf-2.13 that prevents [$]0 from expanding. Use shell ! quotes instead to delay eval of $0. ! (impgen.c) The '# ' sequence stripped by sed works again. ! ! 2000-12-01 Gary V. Vaughan ! ! * doc/libtool.texi (Libltdl interface): Add documentation. ! * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add ! prototypes. ! (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. ! * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow ! making and testing of resident module status, which prevents a ! module from being lt_dlclosed. ! (lt_dlopen): If lt_dlopen()ing self, make the module resident. ! (lt_dlclose): Return an error if the module is resident. ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen ! from here... ! (AC_LIBTOOL_DLOPEN_SELF): ...to here. ! (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h ! (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for ! checking dlopen status. ! * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. ! dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. ! (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. ! ! 2000-11-29 Gary V. Vaughan ! ! * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure ! to prevent nameclash when used from C++. ! * libltdl/ltdl.c: Fixed all references. ! 2000-11-25 Gary V. Vaughan ! * libltdl/ltdl.c (lt_dlopen): Change the default search order ! for modules. If the named module has no directory component, ! always start the search with the user_search_path directories, ! and then fall back on the current directory only if that fails. ! 2000-11-20 Gary V. Vaughan ! * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version ! number to reflect the breakage of binary compatibility. ! * doc/libtool.texi (Libltdl interface): Document ! LT_NON_POSIX_NAMESPACE. ! * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is ! now to use this namespace, so the cpp macro is no longer ! necessary. ! ! 2000-11-20 Morten Eriksen ! ! * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular ! dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. ! ! 2000-11-20 Paul Berrevoets ! ! * ltmain.in: Some versions of expr respond with "0" if a ! regexp fails to match. ! ! 2000-11-19 Paul Berrevoets ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and ! $3 in variable 'archive_expsym_cmds' for cygwin. ! ! 2000-11-19 Gary V. Vaughan ! ! * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those ! ending in ``_t'') to deprecated #define compatibility macros. ! Also ease up on the namespace pollution, so that only ``lt_'' ! and ``LT_'' prefixes are taken from the global namespace. ! * ltdl.h: ditto. ! ! 2000-11-17 Gary V. Vaughan ! ! * ltdl.c: Reformatted. ! * ltdl.h: ditto. ! ! 2000-11-11 Gary V. Vaughan ! ! * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest ! sourcefile. ! * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest ! sources and objects. ! Reported by Carlo Wood ! ! * doc/fdl.texi: New file. The license for distributing the ! libtool manual. ! * doc/libtool.texi: Reference the new license. ! ! 2000-10-31 Morten Eriksen ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid ! error output from cygpath when $srcdir is empty. ! ! 2000-10-31 Gary V. Vaughan ! ! * bootstrap: rm Makefiles to prevent infinite loop during ! configure when libtool.m4 is newer than Makefile. ! ! 2000-10-31 Akim Demaille ! ! * libtool.m4: Adjust the copyright notice. ! Quote all the macro names when defined. ! Some minor formatting changes. ! (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) ! (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): ! Don't use indir when useless. Don't add trailing `dnl' either. ! ! 2000-10-30 Gary V. Vaughan ! ! * doc/libtool.texi: Corrected another attack of CRLF line ! endings. ! ! 2000-10-30 Ossama Othman ! ! * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken ! in the middle of an expression. ! ! 2000-10-30 Aneesh Kumar K.V ! ! * libtool.m4 (archive_expsym_cmds): Support for -export-symbol ! option on Tru64. ! (hardcode_libdir_flag_spec): Fixed cxx throwing error while using ! libtool. Done by passing -rpath directlty to the compiler. ! ! 2000-10-27 Robert Boehne ! ! * docs/libtool.texi: Added pointers to documentation ! of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. ! ! 2000-10-02 Gary V. Vaughan ! ! From Bruce Korb ! * ltmain.in (execute_dlfiles): Reduce obfuscation. ! ! 2000-09-30 Alexandre Oliva ! ! * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, ! file_magic_test_file): Removed inappropriate duplicate ! definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. ! ! * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or ! '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. ! (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. ! ! 2000-09-28 Gary V. Vaughan ! ! * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of ! the file command use this environment variable to hold the ! location of the magic database. ! Reported by Marc Espie ! ! 2000-09-19 Gary V. Vaughan ! ! * doc/PLATFORMS: Updated. ! * demo/configure.in: Revert to the `libtool --features' test. ! * Makefile.am (libtool): This needs to rerun configure now that ! libtool is generated entirely by AC_PROG_LIBTOOL again. ! (ltconfig): Removed. ! (ltmain.sh): Is now regenerated when ltmain.in changes. ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for ! generating libtool immediately in configure.in, rather than ! deferring part of the creation until config.status runs. ! ! 2000-09-17 Gary V. Vaughan ! ! * bootstrap: Backed out yesterdays patch which is no longer ! necessary. ! * Makefile.am (libtool): Reworked rule for regeneration of libtool, ! now that it is built entirely withing config.status. ! (libtoolize): Tidied for orthogonality with the other generation ! rules. ! (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from ! make by running config.status --recheck. ! (ltmain.sh): Moved primary generation of this file into here... ! * configure.in (AC_OUTPUT): ...instead of here. ! * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig ! where it can be reused, rather than directly to libtool. ! * demo/configure.in: libtool is no longer present immediately ! after AC_LIBTOOL_M4 has completed, so the tests now grep through ! ltconfig instead -- which *will* be present. ! ! 2000-09-16 Gary V. Vaughan ! ! * TODO: Removed the item describing the change below, and added a ! similar item to remind us to change the ltdl.m4 macros again when ! _LT_AC_LTCONFIG_HACK is divided into proper macros. ! * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required ! now that ltconfig has migrated to libtool.m4. ! (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. ! (AC_LTDL_SHLIBPATH): ditto. ! (AC_LTDL_SYSSEARCHPATH): ditto. ! ! * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe ! macro. ! (AC_LTDL_SYMBOL_USCORE): ditto. ! (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate ! of... ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new ! macro, extracted from _LT_AC_LTCONFIG_HACK. ! ! * ltdl.m4 (changequote): An audit of changequote and m4 ! quote usage -- all changequotes have been removed, and some ! latent unquoted `[' and `]' bugs have been fixed. ! ! * configure.in (AC_OUTPUT): ltmain.sh must be generated in the ! source tree since this is where it would be found in a freshly ! unrolled tarball. ! ! * configure.in: Replace `dnl' comments with `#' comments for ! more conformity with cvs autoconf. ! Removed emacs hack-local-variables, since there is now a ! proper Autoconf major mode. ! Removed a couple of changequote()s. ! ! * bootstrap (ltconfig): When bootstrapping libtool with a ! stock automake (i.e. without the README patch applied), ! references to ltconfig are manually removed from the generated ! Makefile.in files. ! ! 2000-09-15 Gary V. Vaughan ! ! * doc/libtool.texi: Removes references to ltconfig, and a small ! amount of tidying up to compensate. ! ! 2000-09-15 Nick Hudson ! ! * libtool.m4 (netbsd): Improved support. ! ! 2000-09-15 Gary V. Vaughan ! ! * ltmain.in (version_type): Use "-iface" as the windows ! versioning scheme, where iface is the number of the oldest ! interface supported. ! ! 2000-09-14 Gary V. Vaughan ! ! From Paul Sokolovsky ! * libtool.m4 (pw32): Initial support for pw32, assuming that ! libtool's behaviour in this environment is identical to under ! cygwin. ! * ltmain.in (pw32): ditto. ! * NEWS: Updated. ! ! * libtool.m4 (changequote): An audit of changequote and m4 ! quote usage -- all changequotes (except a few with non-nesting ! square brackets) have been removed. ! ! * Makefile.am (EXTRA_DIST): The bootstrap script should be ! distributed with libtool. ! ! 2000-09-13 Gary V. Vaughan ! ! libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. ! I just discovered that '&' needs to be escaped inside ! AC_TRY_EVAL. ! ! 2000-09-12 Michael Matz ! ! * ltmain.in: Be careful about filenames with multiple `.'s in ! them when calculating file extensions. ! Reported by Joel Reed ! ! 2000-09-12 Gary V. Vaughan ! ! libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a ! bug in Autoconf-2.13 AC_REQUIRE implementation which inserted ! some of the expanded tests too early in the generaated configure. ! (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines ! itself to an empty expansion to prevent multiple expansions. ! configure.in (AC_LIBTOOL_SETUP): Replaced by a call to ! AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked ! around. ! ! 2000-09-09 Gary V. Vaughan ! ! libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the ! redirections inside AC_TRY_EVAL in the need_lc tests. Doh! ! ! libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the ! output of grep to /dev/null in the need_lc tests. ! ! configure.in (AC_PROG_LIBTOOL): Using this in libtools own ! configure.in interacts badly with the AC_PROVIDE calls and ! results in several tests being inserted into configure too ! early. Use AC_LIBTOOL_SETUP instead. ! ! 2000-09-08 Gary V. Vaughan ! ! libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I ! ported from ltconfig.in was incomplete -- this is a backport ! of the missing code taken from the multi-language branch. ! ! 2000-09-07 Pavel Roskin ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of ! changequote ! ! 2000-09-07 Gary V. Vaughan ! ! * NEWS: Updated. ! * TODO: Add a reminder to get rid of ltconfig in mlb. ! * README: Until things even out, I have added a note and a ! patch to make the installed automake cooperate with the new ! ltconfig free libtool. ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in ! ltmain.sh as it has not yet been set in libtool.m4. Use ! $ac_cv_prog_gcc instead. ! ! * doc/PLATFORMS: Updated. ! ! * configure.in (AC_PROG_AWK): Removed -- no longer required by ! the build process. ! * lineno: ditto. ! ! * libtoolize.in (files): Don't try to install ltconfig -- it ! doesn't exist!! ! * bootstrap: Fake an ltconfig incase the installed automake ! calls an installed libtoolize (as part of its --add-missing ! process) which thinks ltconfig should be there. ! ! * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' ! terminator from a case statement by mistake. ! ! * Makefile.am (ltmain.sh): Make this depend on TSDEPS again ! so that the Changelog timestamp is used for ltmain.sh at `make ! dist' time. ! ! 2000-09-06 Gary V. Vaughan ! ! libtool.m4 now contains a version of the code that used to run ! from ltconfig, so that ltmain.sh and then libtool are ! generated at configure time. ! ! * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. ! * bootstrap: ltconfig is no more! ! * configure.in: Call AC_PROG_LIBTOOL directly. ! (AC_OUTPUT): Generate tmain.sh. ! * libtool.m4: Don't build an argument list for ltconfig. ! (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of ! ltconfig.in to take advantage of the m4 macros from autoconf. ! * ltmain.in: Don't do a version check against ltconfig. ! * tests/assign.test: Remove reference to ltconfig. ! * tests/hardcode.test: ditto. ! * tests/sh.test: ditto. ! ! 2000-09-05 Alexandre Oliva ! ! * depdemo/main.c: Support -alt. ! * tests/build-relink2.test: Try it. ! ! * ltconfig.in: Removed all references to what used to be ! hardcode_into_libs=all. 2000-09-03's patch was wrong. ! * ltmain.in: Likewise. ! * tests/build-relink.test, tests/build-relink2.test: Adjust. ! * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before ! libfoo2.la, so that they're installed in the right order. ! ! 2000-09-04 Alexandre Oliva ! ! * tests/dryrun.test: Build libsub.la along with the object files, ! since it is needed by libfoo2.la. ! ! * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. ! Explicitly link it with libsub.la. ! ! * ltconfig.in (need_lc): Preserve allow_undefined_flag. ! ! * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on ! `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make ! sure we pick a non-existent file. ! ! * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with ! ECHO down to ltconfig. ! ! * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): ! Use ${wl}, not ${wlarc}. ! ! * ltmain.in (compile, need_lock): Don't create nor remove lock ! files in dry runs. ! ! * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use ! lt_dlopenext() instead. ! ! * ltmain.in (link -static): Don't add $link_static_flag; only ! -all-static should do that. ! * mdemo/configure.in: Revert part of the previous delta. ! ! * mdemo/configure.in: Don't use -static on AIX4.1. ! * mdemo/Makefile.am: Likewise. ! ! 2000-09-03 Alexandre Oliva ! ! * ltconfig.in: Get rid of hardcode_into_libs=all; use ! hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes ! instead. ! [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. ! * ltmain.in: Likewise. ! * tests/build-relink.test, tests/build-relink2.test: Adjust. ! ! * libtool.m4: Fix typo I introduced in yesterday's patch. ! ! * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if ! dlname is empty. ! ! * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. ! * ltconfig.in: Likewise. ! ! * tests/mdemo-exec.test: Modify failure message. ! ! * ltmain.in (newdlprefiles): Use dlname if it's available and ! old_library isn't; use linklib only if dlname is not available. ! ! * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. ! ! * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. ! Quote $@ properly so that the shell expands it, not m4. ! ! * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL ! can be `/path/to/shell -x'. ! ! * tests/quote.test: Move the match test out of case statements, to ! work around bug in /bin/sh of several OSs. ! ! * ltmain.in (variables_saved_for_relink): Attempt to unset them ! instead of setting them to an empty string. ! ! 2000-09-02 Alexandre Oliva ! ! * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) ! : Use compiler_flags instead of linker ! flags. ! Reported by Alex Hornby ! ! 2000-09-02 Makoto Ishisone ! ! * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, ! add support for compact format library. ! ! 2000-09-02 Alexandre Oliva ! ! * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's ! patch from 2000-06-17. ! ! 2000-09-02 Tom Kacvinsky , Tim Mooney ! ! * libtool.m4: Ignore Tru64's nm's complaint. ! ! 2000-09-02 Pavel Roskin ! ! * ltconfig.in: only load $cache_file if it's a regular file ! ! 2000-09-02 Assar Westerlund ! ! * ltconfig.in: Add back ranlib calls for static libraries if there ! is a ranlib. ! ! 2000-08-31 Gary V. Vaughan ! ! Move the echo detection code to a macro in libtool.m4. The code ! at the top ofltconfig.in is ugly, but will go away when the rest ! of ltconfig is migrated. ! ! * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as ! an environment variable. ! * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value ! correctly so that it inserts the correct code into configure.in ! suitably quoted for M4 expansion. This code needs to be near ! the top of configure.in as it calls itself recursively, so I ! am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS ! Autoconf). The value of ECHO is also substitued into the ! Makefile to be used when Make calls ltconfig to generate ! libtool, so another layer of quotation is required for the ! Makefile. ! (AC_LIBTOOL_SETUP): Use it. ! * ltconfig.in: Accept a value for ECHO from the environment, and ! carefully substitue for $0 if it is present in the ECHO value. ! Because ECHO was quoted for Make, when ltconfig is called by ! configure, it is overquoted, and one layer of quotes must be ! stripped. ! ! 2000-08-27 Gary V. Vaughan ! ! * ltconfig.in (with_gcc): Make the value of this option ! available to the generated libtool script. ! * ltmain.in (compile_command, finalize_command): The native C ! and C++ compilers on IRIX require the -LANG:std in order to to ! compile correctly. The same options should _not_ be passed ! through to gcc on IRIX, or at all on other architectures for ! backwards compatibility (among others). ! Reported by Bob Friesenhahn ! Reported by Albert Chin-A-Young ! ! 2000-08-26 Gary V. Vaughan ! ! * ltconfig.in (old_reload_flag): typo. ! ! 2000-08-01 Alexandre Oliva ! ! * ltmain.in (shtool): Use echo|grep instead of expr, as in the ! original patch. ! ! 2000-08-01 Alexandre Oliva ! ! * ltconfig.in (need_lc): Fix test message. ! ! 2000-07-24 Mocha ! ! * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. ! (NetBSD, file_magic_cmd, file_magic_test_file): Set. ! ! 2000-07-24 Alexandre Oliva , David Kaelbling ! ! * ltmain.in (irix, major): Prepend a `.'. ! * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. ! ! 2000-07-24 Alexandre Oliva , Ralf S. Engelschall ! ! * ltmain.in: Support GNU shtool's install. ! ! 2000-07-24 Alexandre Oliva ! ! * ltconfig.in (linkopts): Don't set for test. ! ! 2000-07-24 Nick Hudson ! ! * ltconfig.in (linkopts): Replace with linker_flags. ! ! * ltmain.in (ILD): Fix addition of deplibs in relink case. ! ! 2000-07-18 H.J. Lu ! ! * ltconfig.in: Check if -lc is necessary for building shared ! library. Set build_libtool_need_lc to indicate it. ! * ltmain.in: Add -lc when building shared library only if ! necessary. ! ! 2000-07-10 Mo DeJong ! ! * libtool.m4 (AC_PROG_NM): Fix macro so that it ! finds a cross NM on the PATH. ! ! 2000-07-10 Ken Block ! ! * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not ! by Compaq C++ compiler ! ! 2000-07-10 Alexandre Oliva ! ! * ltconfig.in (wlarc, netbsd, aout): Set to empty. ! (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. ! ! * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable ! shared libraries just because of MkLinux. ! ! * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend ! on $version_type; check for ELF support as in other BSDs. ! ! 2000-06-17 Syd Polk ! ! * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based ! on target; use host instead. ! ! 2000-05-30 Gary V. Vaughan ! ! * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when ! the echo probing code falls into this branch without setting ! this variable. ! ! * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds ! were reversed with respect to definition of __ELF__. ! From Keisuke Inoue ! ! 2000-05-29 Gary V. Vaughan ! ! * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for ! freebsd (below). ! * libtool.m4 (netbsd ELF): support file_magic. ! From Dan Winship . ! ! 2000-05-29 Steven M. Schultz ! ! * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd ! command. Under BSD/OS 4.1 several libraries are now symlinks ! rather than regular files. Adding -L tells the file program ! to follow the symlink. ! ! 2000-05-29 Gary V. Vaughan ! ! * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). ! ! * NEWS: Updated. ! * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. ! From ! ! 2000-05-29 Fred Fish ! ! Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. ! * ltconfig (old_AR_FLAGS): Add. ! (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". ! (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". ! (AR_FLAGS): Default to "cru" if not set. ! ! 2000-05-29 Gary V. Vaughan ! ! * ltconfig.in (echo): The following code actually prints the ! double quotes -- so I removed them: ! echo='printf "%s\n"' /bin/ksh -c '$echo \\t' ! From Tuukka Toivonen ! ! * NEWS: Updated. ! ! 2000-05-29 Bernhard Rosenkraenzer ! ! * libtool.m4: adding ia64 as supported linux platform ! ! 2000-05-29 Michael Matz ! ! * ltmain.in: fix quoting for $var_value. ! ! * ltconfig.in: check for dlfcn.h: include return value ! to make -Wall in CFLAGS work. ! ! 2000-05-27 Gary V. Vaughan ! ! * README-alpha: note new location of config.(guess|sub). ! ! 2000-05-27 Chad Cunningham ! ! * ltconfig.in (rhapsody*): New Port. ! * ltmain.in (rhapsody*): ditto. ! ! 2000-05-27 Chris Lattner ! ! * ltconfig.in (*-sequent-sysv4): New Port. ! ! 2000-05-17 Gary V. Vaughan ! ! * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path ! separators. ! ! 2000-05-14 Alexandre Oliva ! ! * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): ! Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. ! * mdemo/configure.in: Remove comments on ! AC_LIBLTLD_CONVENIENCE. ! ! * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... ! (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid ! effects of multiple runs. ! ! 2000-05-11 Thomas Tanner ! ! * NEWS: update ! * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader ! to lt_dlloader_* ! * libltdl/ltdl.c: ditto ! * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) ! ! 2000-05-06 Pavel Roskin ! ! * libltdl/ltdl.c: Typo. ! ! * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets ! target to "NONE", but to an empty string. ! ! 2000-05-05 Paul Sokolovsky ! ! * ltdl.c: support lt_dlopen(0) for win32 ! ! 2000-05-03 Thomas Tanner ! ! * doc/libtool.texi (libltdl): fix typos, ! INCLTDL starts with top_srcdir, replace NULL with @code{NULL} ! ! * ltmain.in (ILD): search in newlib_search_path, too ! ! * ltmain.in (ILD): fix bugs in conv pass, expand convenience ! libs to deplibs and link them later on ! ! * ltmain.in (ILD): don't allow convenience libs to be ! -dlopen/preopen'ed ! ! * ltmain.in (ILD): it's not required to link all deplibs ! in fast-install mode ! ! * ltmain.in (ILD): if hardcode_into_libs=all, only relink ! a library if it is linked against uninstalled libtool libraries, ! rename link_against_libtool_libs to uninst_deplibs ! ! * ltmain.in (ILD): tidy up, add some comments ! ! 2000-05-03 John Wehle (john@feith.com) ! ! * libtool.m4 (hpux10.20*): use file_magic for ! inter-library dependency tracking. ! ! 2000-05-02 Gary V. Vaughan ! ! * AUTHORS: Update my email address. ! * commit: ditto. ! ! 2000-04-11 Thomas Tanner ! ! * NEWS: update ! * libtool.m4: add AC_LIBTOOL_PICMODE ! * ltconfig.in: move pic_mode checks to ltmain.in ! * ltmain.in: add -prefer-pic and -prefer-non-pic ! ! 2000-03-29 Alexandre Oliva ! ! * ltmain.in (tmpdir): Do not accept an existing directory, and ! force its mode to 700, for security reasons. ! Reported by Joseph S. Myers ! ! 2000-03-27 Thomas Tanner ! ! * NEWS: reformatting ! ! * ltmain.in (ILD): add extra convenience library scanning pass ! ! * ltmain.in (ILD): accept -R flags for libraries, too ! ! * ltmain.in (ILD): correclty merge the dlpreopened libraries ! with deplibs ! ! * ltmain.in (install mode): remove directories from filenames ! before relinking (reported by Elrond ) ! ! * doc/libtool.texi (libltdl): rename Library -> Lesser, ! clarify exception clause ! * libltdl/ltdl.c, libltdl.h (License): ditto ! ! 2000-03-21 Alexandre Oliva ! ! * ltconfig.in (variables_saved_for_relink): Set to `PATH ! $shlibpath_var $runpath_var'. If with_gcc, add gcc-related ! environment variables. Add it to the configuration section. ! * ltmain.in (relink_command): Expand those variables. ! ! 2000-03-14 Christopher A. Knight ! ! * ltconfig.in: added main() definition in compile ! check for header `dlfcn.h' to fix link errors ! when built with Sun Workshop Pro CC 4.2 (and perhaps ! others). ! ! 2000-02-03 Gary V. Vaughan ! ! * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. ! far cleaner to use lt_dlforeach and lt_dlgetinfo. ! * libltdl/ltdl.h: Prototype deleted. ! * doc/libtool.texi: Documentation deleted. ! * NEWS: annoncement deleted. ! ! 2000-02-23 Thomas Tanner ! ! * ltmain.in: remove duplicates from deplibs, handle ! interdependent libraries (e.g. -la -lb -la), ! this requires adding deplibs in reverse order ! ! * ltmain.in: link dlpreopened libraries before other libraries ! (reported by Pavel Roskin) ! * mdemo/Makefile.am: build and link libsub.la ! * mdemo/sub.c: new file used by both dlopened modules ! * mdemo/foo*: use sub() defined in libsub ! * tests/dryrun.test: build libsub.la ! ! * mdemo/Makefile.am: always link mdemo.static with -static ! * mdemo/configure.in: ditto ! ! * ltmain.in: fix dlopen/dlpreopening of objects ! ! * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler ! ! * ltmain.in: merge duplicated code of clean and uninstall mode ! ! * libtool.m4: recognize powerpc*linux* (reported by ! Dirk A. Mueller ) ! ! 2000-02-23 Gary V. Vaughan ! ! * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, ! old_deplibs_check_method, old_file_magic_cmd): New variabes. ! Treat these as old_CC etc. ! (STRIP, MAGIC): Create and set these variables in the generated ! libtool script. ! Reported by Pavel Roskin ! ! * configure.in: Due to a bug in autoconf-2.13 implementation of ! AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the ! holder of the command to run in file_magic_cmd instead. ! * ltconfig.in: s/FILE/MAGIC/g. ! * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when ! calling ltconfig. ! (AC_PATH_MAGIC): renamed from AC_PATH_FILE. ! (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd ! to '${MAGIC}' so that make can grok it. ! * Makefile.am (libtool): ! (clibtool): ditto. ! ! 2000-02-21 Gary V. Vaughan ! ! * libltdl/ltdl.c (lt_find_dlhandle): New function. ! (tryall_dlopen): Use it. ! * libltdl/ltdl.h: Prototype it. ! * doc/libtool.texi: Document it. ! * NEWS: updated. ! ! * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. ! ! * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. ! ! 2000-02-03 Gary V. Vaughan ! ! * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader ! instance data. ! (lt_user_dlloader): New lt_dlloader_data_t field. ! (lt_module_open_t): Add lt_dlloader_data_t parameter. ! (lt_module_close_t): Add lt_dlloader_data_t parameter. ! (lt_find_sym_t): Add lt_dlloader_data_t parameter. ! (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. ! * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to ! reassure lint that the unused arguments are intentional. ! (lt_dlloader_t): New lt_dlloader_data_t field. ! (lt_dlloader_data): New function to return the contents of the ! dlloader_data field. ! (sys_dl_open): Take an additional lt_dlloader_data_t argument. ! (sys_dl_close): Ditto. ! (sys_dl_sym): Ditto. ! (sys_dl): Initialise lt_dlloader_data_t field. ! (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. ! (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. ! (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As ! above. ! (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. ! (presym_init, presym_exit, presym_open, presym_close, presym_sym, ! presym): As above. ! (lt_dlinit): Call presym_init with additional argument. ! (lt_dlexit): Call dlloader_exit method with additional argument. ! (tryall_dlopen): Call module_open method with additional argument. ! (lt_dlclose): Call module_close method with additional argument. ! (lt_dlsym): Call find_sym method with additional argument. ! (lt_add_dlloader): Initialise dlloader_data field. ! (lt_remove_dlloader): Call dlloader_exit method with additional ! argument. ! ! * libltdl/ltdl.c (find_file): Prevent early release of memory ! in filename/*pdir. ! From Jon Leichter ! ! (sys_wll_init): Deleted. No longer required. And this time, ! with feeling! ! (sys_wll_exit): Ditto. ! ! 2000-02-02 Gary V. Vaughan ! ! * NEWS: updated. ! * doc/libtool.texi (Libltdl interface): Moved user defined module ! loader documentation from here... ! (Module loaders for libltdl) ...to here, and updated the text and ! added examples. ! * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. ! * libltdl/ltdl.h: Reformatted and commented for readability. ! (struct lt_user_dlloader): New data type for passing ! initialisation pointers to lt_add_dlloader. ! (LTDL_ERROR_INVALID_LOADER): New error message when non loader ! handles are passed to the user loader API. ! (LTDL_ERROR_INIT_LOADER): New error when loader initialisation ! fails. ! (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. ! (lt_module_open_t): renamed from lt_lib_open_t. ! (lt_module_close_t): renamed from lt_lib_close_t. ! (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. ! * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" ! loader no longer occurs before "dlopen" on some platforms and ! after it on others. ! (lt_dlloader_t): Moved here from ltdl.h, added a field, ! "loader_name", for identifying the loader, and renamed from ! lt_dltype_t. Renamed type variables to loader IFF of type ! lt_dlloader_t. ! (lt_module_t): Renamed from lt_syshandle. Renamed handle variables ! to module IFF of type lt_module_t. ! (LTDL_TYPE_TOP): Deleted. No longer required. ! (sys_dl): Initialised as a struct lt_user_dlloader. ! (sys_dl_init): Deleted. No longer required. ! (sys_dl_exit): Ditto. ! (sys_shl): Initialised as a struct lt_user_dlloader. ! (sys_shl_init): Deleted. No longer required. ! (sys_shl_exit): Ditto. ! (sys_wll): Initialised as a struct lt_user_dlloader. ! (sys_wll_init): Deleted. No longer required. ! (sys_wll_exit): Ditto. ! (sys_bedl): Initialised as a struct lt_user_dlloader. ! (sys_bedl_init): Deleted. No longer required. ! (sys_bedl_exit): Ditto. ! (sys_dld): Initialised as a struct lt_user_dlloader. ! (sys_dld_init): Deleted. No longer required. ! (sys_dld_exit): Ditto. ! (sys_presym): Initialised as a struct lt_user_dlloader. ! (lt_mod_init_t): Moved to here from ltdl.h. ! (lt_dlinit): Add builtin loaders using the user loader API. ! (lt_dlexit): Unregister and free all loaders. ! (lt_add_dlloader): New function to add a new module loader after the ! loader specified in the argument. ! (lt_remove_dlloader): New function to remove a module loader. ! (lt_next_dlloader): New function for iterating over module loaders. ! (lt_dlloader_name): Accessor function for name of dlloader. ! (lt_find_dlloader): New function to get a reference to a registered ! module loader. ! (strcmp): static implementation incase the host has none. ! (lt_dlgettypes, lt_dlsettypes): Removed. ! ! 2000-02-02 Thomas Tanner ! ! * libltdl/ltdl.c: replace NULL with 0, remove unused system ! and app_private pointers from lt_dlhandle_t ! * libltdl/ltdl.c (presym_add_list): new preloaded symbols ! don't need to be added to the end ! ! * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed ! * libltdl/ltdl.h: ditto ! * doc/libtool.texi (libltdl interface): ditto ! ! 2000-02-01 Thomas Tanner ! ! * ltmain.in: support -dlopen/dlpreopen for libraries ! * NEWS: updated ! * TODO: updated ! * ltmain.in: rename dlopen to dlopen_support ! * ltconfig.in: ditto ! * doc/libtool.texi: ditto ! ! * ltmain.in: check whether libraries are moved out of $libdir, ! replace .a and .lib with .$libext, .o and .obj with .$objext ! ! 2000-01-31 Gary V. Vaughan ! ! * libltdl/ltdl.h (lt_dlrealloc): removed declaration. ! * libltdl/ltdl.c (lt_dlrealloc): removed definition. ! (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, ! and lt_dlfree. ! ! 2000-01-30 Ossama Othman ! ! * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C ! prior to executing the test that checks if the C compiler needs ! "-belf." ! Reported by Chris Butler ! ! 2000-01-28 Gary V. Vaughan ! ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to ! protect `[' and `]' in deplibs_check_method. ! ! * libltdl/ltdl.h (lt_dlrealloc): Added declaration. ! * libltdl/ltdl.c (lt_dlrealloc): Added default definition. ! ! * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as ! invalid. ! * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R ! definition. ! ! * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and ! fixed typo in another code. ! * doc/libtool.texi (Libltdl interface): Added missing @end ! clause. ! ! 2000-01-27 Thomas Tanner ! ! * ltconfig.in: Oops, replace the remaining $objdir's ! ! * ltmain.in: merge library linking code of programs and libraries, ! some cleanups ! ! 2000-01-27 Gary V. Vaughan ! ! * NEWS: Updated. ! * doc/libtool.texi (Libltdl interface): Document new entry ! points. ! * libltdl/ltdl.c (lt_dladderror): New function to add a user ! defined error message to the tables used by lt_dlerror(). ! (lt_dlseterror): New function to allow setting of last_error by ! user modules. ! (ltdl_error_strings): New preprocessor generated table of internal ! error diagnostic strings. ! (user_error_strings): New internal list of registered user error ! diagnostic strings. ! (throughout!): Use error messages from ltdl_error_strings. ! * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate ! internal diagnostic error strings alongside enum keys. ! ! * NEWS: Updated. ! * doc/libtool.texi (Libltdl interface): Document new entry ! points. ! * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for ! existing fields. ! (lt_dladdtype): New function to add a new ltdl dynamic loader ! type to the end of the list of valid types.. ! (lt_dlgettypes): New function to return the complete list of ltdl ! dynamic loader types. ! (lt_dlsettypes): New function to replace the list of ltdl dynamic ! loader types entirely -- e.g. to prepend a new type to the ! existing list. ! (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. ! (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. ! (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. ! (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. ! (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. ! (presym_open, presym_close, presym_sym): ditto. ! (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle ! compatibly. ! (lt_dlclose): Call lt_lib_close_t functions lt_syshandle ! compatibly. ! (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. ! (lt_dltype_t): moved type declaration from here... ! * libltdl/ltdl.h (lt_dltype_t): ...to here. ! (lt_syshandle): new type for low level system handles passed by ! loader functions ! (lt_mod_init_t): New type for functions implementing the ! initialisation for an ltdl dynamic loader. ! (lt_mod_exit_t): Type of exit functions for the same. ! (lt_lib_open_t): Type of loader functions for the same. ! (lt_lib_close_t): Type of unloader functions for the same. ! (lt_find_sym_t): Type of symbol resolver functions for the same. ! ! * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, ! sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to ! avoid spurious error messages. ! ! 2000-01-24 Thomas Tanner ! ! fix severe bugs reported by Elrond ! ! * ltconfig.in: replace $objdir with $output_objdir ! ! * ltmain.in: change to the builddir before relinking programs ! ! * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: ! remove unnessary spaces from line endings ! ! 2000-01-19 Thomas Tanner ! ! * ltmain.in: rewrite of the ILD code, merge linking code for ! programs, libraries and objects, allow linking of shared libraries ! against static libraries/objects on platforms that support it ! but print a warning, fix some typos ! ! * partially revert my previous change and ! update only copyright notices of files that were actually modified ! ! * NEWS: update ! ! * libltdl/Makefile.am: version number was wrong ! ! * libltdl/ltdl.c (tryall_dlopen): revert Gary's change ! since it breaks dlpreopening ! * ltdl.m4: ditto ! ! * libltdl/ltdl.c (sys_search_path): search in the system default ! library search path, too ! * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path ! ! * libltdl/ltdl.c (find_module): remove bogus file_not_found_error ! ! * libltdl/ltdl.c (load_deplibs): implement loading of dependency ! libraries ! * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency ! libraries ! * libltdl/ltdl.c (lt_dlexit): correctly close all modules and ! their dependencies ! ! * libltdl/ltdl.c (lt_dlforeach): new function ! * libltdl/ltdl.h: ditto ! * doc/libtool.texi (using libltdl): document it ! ! * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to ! INCLTDL ! ! * libtoolize.in: reformatting ! * ltconfig.in: reformatting ! * ltmain.in: reformatting ! ! * mdemo/configure.in: AC_SUBST INCLTDL ! * mdemo/Makefile.am: use INCLTDL ! ! * tests/Makefile.am: reexport OBJEXT and EXEEXT ! * tests/dryrun.test: use them for building main.obj and mdemo.exe ! ! 2000-01-17 Gary V. Vaughan ! ! * libltdl/ltdl.c (tryall_dlopen): Abort with ! file_not_found_error before trying all lib_open() methods ! if the file to be dlopened doesn't exist. ! * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. ! ! 2000-01-16 Gary V. Vaughan ! ! * libltdl/ltdl.c (find_file): memory error fixed. ! ! 2000-01-14 Gary V. Vaughan ! ! * ltconfig.in (Usage): Now it matches the code! ! Reported by Jon Leichter ! ! * README: Some notes about libtool release numbers. ! ! * mdemo/README: Explain the deliberate incompleteness of the ! Windows port. ! * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. ! * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. ! ! * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for ! wrapping other macros to make a portable compound statement from ! multiple C statements in the expansion. ! (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an ! extern declaration for lt_preloaded_symbols, to remove ! dependency on undefined symbol from libltdl.dll on cygwin (and ! other -no-undefined architectures). ! * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. ! ! * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain ! was set to the opposite of what it should be. ! * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is ! required for libtool configury to test lt_cv_need_dllmain on ! Windows. ! ! * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly ! escaped and portable \{0,1\} in sed expression. ! From Jon Leichter ! ! 2000-01-13 Gary V. Vaughan ! ! * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl ! to default INCLTDL for VPATH. ! (AC_LIBLTDL_INSTALLABLE): ditto. ! Reported by Tom Tromey ! ! 2000-01-12 Thomas Tanner ! ! * update all copyright notices to 2000 ! ! * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, ! replace NULL with @code{NULL}, document lt_dlsetdata(), ! lt_dlgetdata() and lt_dlgetinfo() ! * libltdl/Makefile.am: increment interface version number ! * libltdl/configure.in: set version number to 1.1 ! * libltdl/ltdl.c: make some variables public by moving them ! to the info struct, add support for application specific data ! within module handles, new lt_dlsetdata(), lt_dlgetdata() and ! lt_dlgetinfo() functions, ! fix memory leaks, minor cleanups ! * libltdl/ltdl.h: ditto ! * mdemo/main.c: demonstrate use of lt_dlgetinfo, ! improved handling of errors ! ! * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux ! and Solaris, only hardcode *all* run-paths if hardcode_into_libs ! is set to 'all', otherwise hardcode only user-specified rpaths ! into libraries ! * ltmain.in: minor cleanups, we don't need to add user-specified ! rpaths to compile_rpath, finalize_rpath is sufficient ! ! * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has ! been set! (reported by Bruno Haible ) ! ! * configure.in: AC_SUBST reload_flag, deplibs_check_method ! and file_magic_cmd ! ! * README: use 'libtool --version' instead of 'ltconfig --version' ! (suggested by Francios Pinard ! ! 2000-01-10 Gary V. Vaughan ! ! * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when ! not compiling for a Windows target. ! * libltdl/ltdl.c (canonicalize_path): New function to ! ensure internal paths use '/' directory separators. ! (find_file): use canonicalize_path. Memory management ! changed to cope. ! (lt_dlopen): ditto. ! (free_vars): Removed `dir' and `name', which are now handled ! internally. ! ! * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', ! as suitable for the target host. ! (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. ! * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR ! instead of hardcoding throughout. ! Reported by Jon Leichter ! ! 1999-12-18 Alexandre Oliva ! ! * ltmain.in: Oops, `largarg' -> `lastarg'. ! ! * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. ! ! * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and ! finalize_command. ! (-Wc, -Wl): Likewise. ! ! * tests/quote.test: Adjust quoting style of -Wl. ! ! * ltmain.in: Oops, `echo' -> `$echo'. ! ! * ltmain.in (-Wl, -Wc): Make commas argument separators, just like ! in gcc. ! ! * ltmain.in (libtool_args): Get all arguments properly enclosed in ! quotes and backslash-protected when needed. ! ! 1999-12-16 Alexandre Oliva ! ! * ltdl.m4: Renamed from... ! * libltdl/ltdl.m4: that no longer exists. ! * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. ! * Makefile.am (aclocal_macros): Added ltdl.m4. ! (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. ! * bootstrap: Likewise. ! * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying ! upon -I may lead to duplicates. ! * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. ! * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. ! ! * libltdl/configure.in (with_auxdir): Do not use it as the ! argument of AC_CONFIG_AUX_DIR, automake requires a literal here. ! Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. ! ! * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in ! bootstrap. ! ! 1999-12-15 Thomas Tanner ! ! * libltdl/configure.in: path to auxiliary files can be specified ! using --with-auxdir (idea by Howard Chu ) ! ! * ltmain.in: don't remove multiple occurences from dependency_libs ! of a library, otherwise many dependencies would get lost ! ! * bootstrap: use "aclocal -I ." instead of adding the contents ! of ltdl.m4 to acinclude.m4 ! ! 1999-12-13 Gary V. Vaughan ! ! * NEWS: updated. ! * libltdl/Makefile.am: Use -no-undefined for dll compliance. ! * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll ! compliance. ! * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly ! export global data symbols from libtldl.dll. ! * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data ! symbols as dllexport, dllimport or plain ornary extern depending ! in the context in which it is used. ! ! * doc/libtool.texi (Distributing libltdl): document use of ! ltdl.m4. ! * libltdl/configure.in: Removed header checks, as they are ! automatically performed by AC_LIB_LTDL. ! * libltdl/ltdl.m4: Added header checks from configure.in, so that ! AC_LIB_LTDL is sufficient to compile ltdl.c. ! Reported by Stephan Kulow . ! ! * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir ! ! 1999-12-12 Gary V. Vaughan ! ! * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any ! DATA tags associated with symbols by recent dlltool. ! (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags ! found in the symbol list. ! Reported by Jon Leichter . ! ! 1999-12-10 Gary V. Vaughan ! ! From Stephan Kulow ! * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user ! from having to hack acconfig.h. ! ! 1999-12-06 Gary V. Vaughan ! ! * NEWS: Updated. ! * TODO: Note some cleanups that are now needed. ! * libltdl/configure.in: Use the new macroised tests. ! * libltdl/ltdl.m4: New file, macroised tests formerly in ! libltdl/configure.in. ! Reported by Stephan Kulow . ! ! From Tim Mooney ! * ltconfig.in: split off the osf3 section, so that the osf4 and ! osf5 sections can add `-msym' to arguments passed to the linker ! for shared libs. ! ! 1999-12-03 Alexandre Oliva ! ! * ltconfig.in (ac_compile): Use $ac_ext instead of .c. ! (ac_link): Likewise. ! (dlfcn.h, ac_try): Do not add filename, it is already in ! ac_compile. ! Reported by Stephane Conversy ! ! * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it ! works together with fast_install. ! ! * libtool.m4: Use host when --target is not specified. ! ! * configure.in: AC_SUBST variables that are used by ltconfig to ! build libtool. ! ! * ltconfig.in (irix6*): Do not override deplibs_check_method ! here. ! ! * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. ! ! 1999-11-20 Michael Forster ! ! * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. ! ! 1999-11-29 Gary V. Vaughan ! ! * ltconfig.in: Be friendlier to C++ compilers when testing ! for dlopen support. ! Reported by Stephan Kulow ! ! 1999-11-26 Gary V. Vaughan ! ! * libtool.m4: better use of $target instead of $host to support ! cross compilation. ! Reported by Sam Latinga ! ! 1999-11-16 Thomas Tanner ! ! * configure.in: generate ltconfig and ltmain.sh before configuring ! libltdl ! ! 1999-11-04 Alexandre Oliva ! ! * tests/sh.test: New test to detect uses of quotes within ! backticks within quotes. ! * ltconfig.in, ltmain.in: Fix detected errors. Mark false ! positives with a comment that disables the detector. ! Reported by Akim Demaille ! ! * configure.in: Move ltconfig and ltmain.sh generation back... ! * Makefile.am: here. ! ! 1999-11-02 Thomas Tanner ! ! * NEWS: updated ! * THANKS: added Olly Betts and Pavel Roskin ! * doc/libtool.texi: fix typo ! ! * fix major bugs which rendered libtool virtually ! unusable (i.e. not portable): ! * ltconfig.in: don't hardcode system dependent variables in ltconfig!! ! but set sane defaults ! * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig ! * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG ! ! * ltconfig.in: use old_deplibs for archives, too ! remove second occurence of sysv5 ! * ltmain.in: fix typo, fix the second occurence of -DPIC, too ! ! * libltdl/Makefile.am: increment version number, fix typo ! * libltdl/ltdl.c (lt_dlsym): don't report an error if the ! libltdl-style symbol name wasn't found ! ! 1999-11-02 Wolfgang Rapp ! ! * ltconfig.in: add support for Unixware (sysv4.2uw2*) ! ! 1999-10-29 Gary V. Vaughan ! ! * ltmain.in: Damnit! Cygwin cvs committed all the ! dos line endings. ! ! 1999-10-28 Stephane Conversy ! ! * ltmain.in (-DPIC): changed the order of pic flags a little to ! prevent upsetting the sgi c++ compiler. ! ! 1999-10-28 Olly Betts ! ! * ltconfig.in (opt_cr): Handle crlf sequences output by the ! mingw toolchain. ! ! * libtool.m4: Third time lucky, with Tor's patch. ! ! 1999-10-19 Tor Lillqvist ! ! * libtool.m4: these was a missing `*' in the -mno-cygwin ! match. ! * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. ! (export_symbols_cmds): added missing cosmetic newline. ! ! 1999-10-18 Tor Lillqvist ! ! * libtool.m4: test command used == which should be =. ! Support -mno-cygwin flag for building mingw32 dlls. ! * ltconfig.in (file_magic_cmd): add missing quotes. ! (deplibs_check_method): and here. ! ! 1999-10-16 Alexandre Oliva ! ! * libltdl/ltdl.c (lt_dlopen): Do not search paths when the ! specified library is not just a basename. ! ! 1999-10-10 Gary V. Vaughan ! ! * libtool.m4 (AC_PATH_FILE): new macro replaces ! AC_PATH_TOOL_GREP_OUTPUT. ! (AC_PATH_TOOL_PREFIX): new macro replaces ! AC_PATH_PROG_GREP_OUTPUT. ! (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. ! (AC_DEPLIBS_CHECK_METHOD): ditto. ! * ltconfig.in (reload_flag): moved to libtool.m4. ! (deplbs_check_method): ditto. ! ! 1999-10-07 Gary V. Vaughan ! ! * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the ! more general AC_PATH_PROG_GREP_OUTPUT. ! (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general ! AC_PATH_TOOL_GREP_OUTPUT. ! (AC_PROG_LIBTOOL): Search for a working find program in the ! user's PATH using the new macros. ! ! 1999-10-06 Gary V. Vaughan ! ! * NEWS: updtaed. ! * ltconfig.in: Accept osf5. ! Reported by Sascha Schumann ! ! 1999-10-04 Gary V. Vaughan ! ! * ltmain.in (-no-install): This doesn't work on win32 since ! the search path for libraries is not encoded in the binary, ! and dlls not in $PATH won't be found. Fall back to -no-fast-install ! instead. ! ! * ltmain.in (-no-fast-install): Wrapper script used to add the ! exeext on again when naming the wrapped executable. ! ! 1999-10-03 Gary V. Vaughan ! ! * ltconfig.in: Set $FILE to @FILE@ for substitution with ! the value found in libtool.m4 at configure time. ! * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines ! AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the ! output of $ac_dir/${ac_prefix} --version for a ! given regex. ! (AC_PATH_PROG_GREP_VERSION): New macro used by the above. ! (AC_LIBTOOL_SETUP): Use the new macros to search the PATH ! [starting at /usr/bin] for a file program which accepts ! --version and has "file" in its --version output. ! ! 1999-10-03 Thomas Tanner ! ! * NEWS: new -no-install flag ! * configure.in: fix typo ! * doc/libtool.texi(Link mode): document -no-install flag, ! correct -no-fast-install docs ! * libtool.m4: check for "file" command ! * ltconfig.in: don't hardcode /usr/bin/file, remove second ! definition of sysv5, replace linkopts -> linker_flags ! * ltmain.in: add new -no-install flag, print help for -no-install ! and -no-fast-install flags ! ! 1999-10-03 Olly Betts ! ! * ltmain.in: always create output_objdir ! ! 1999-10-03 Pavel Roskin ! ! * libltdl/Makefile.am: don't preserve file attributes when ! installing the libltdl sources ! ! 1999-10-01 Gary V. Vaughan ! ! * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh ! * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the ! rules to automatically call config.status. ! ! * libtool.m4: be sure to AC_SUBST values no longer tested in ! ltconfig.in. ! * ltconfig.in: replaced several of the simple feature tests with ! substitutions from config.status. ! * Makefile.am (ltconfig): generate ltconfig with config.status. ! * configure.in (AC_OUTPUT): generate ltconfig with config.status. ! ! 1999-09-30 Donald Anderson ! ! * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method ! for SCO3.2. ! ! 1999-09-29 Gary V. Vaughan ! ! * ltconfig.in (whole-archive-flag-spec): I had been ! wondering why my file system was filling up with empty ! files named `71'... seems I forgot to hold in the ! shift key when redirecting stderr, 2>&1. Doh! ! ! 1999-09-29 Vadim ! ! * ltconfig.in (sysv): More UW7 support. ! ! 1999-09-28 Albert Cheng ! ! * ltmain.in (shlibpath_var): ensure the variable is non-empty before ! exporting it. ! ! 1999-09-27 Manfred Weichel ! ! * ltconfig.in (sysv5): Added support required for shared ! library linking on SCO UW7. ! ! 1999-09-22 Gary V. Vaughan ! ! * ltconfig.in (whole-archive-flag-spec): test whether the ! version of GNU ld being used understands --whole-archive ! before using it. ! ! 1999-09-19 Thomas Tanner ! ! * ltmain.in: don't ignore convenience libraries for objects/archives ! (temporary hack) ! ! 1999-09-14 Alexandre Oliva ! ! * ltconfig.in (CDPATH): Set to `:' instead of empty. ! * ltmain.in (CDPATH): Likewise. ! Reported by Greg McGary ! ! 1999-08-24 Gary V. Vaughan ! ! * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from ! expanding variables & backslash escapes when writing these ! files to the libtool script. ! ! 1999-08-24 Thomas Tanner ! ! * NEWS: mention fixes ! * doc/PLATFORMS: GNU/Hurd update ! * depdemo: make use of variables ! * ltconfig.in: use CC -E when checking for ELF support ! on NetBSD (reported by Todd Vierling ), ! replace all occurences of 'linkopts' with 'linker_flags' ! * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and ! only add them to the libtool script if it's necessary ! ! 1999-08-24 Boyd Gerber ! ! * ltconfig.in: add support for UnixWare 7.X.X ! * doc/PLATFORMS: add new platforms ! ! 1999-08-24 Pavel Roskin ! ! * doc/libtool.texi: document use of noinst_LTLIBRARIES for ! convenience libraries ! ! * ltconfig.in: check for freebsdelf3, not just freebsd3. ! Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 ! ! * ltmain.in: enable workaround for freebsdelf3.0 ! ! 1999-08-24 Bert Driehuis ! ! * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS ! ! 1999-08-07 Alexandre Oliva ! ! * libltdl/COPYING.LIB: Update to version 2.1. ! * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. ! ! 1999-08-03 Gary V. Vaughan ! ! * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return ! stripping. ! * ltconfig.in: ditto. ! From Olly Betts ! ! 1999-08-02 Olly Betts ! ! * doc/libtool.texi (Compile mode): typo correction. ! (Link mode): and another. ! (Release numbers): and another. ! (Distributing libltdl): and another. ! (Test descriptions): and another. ! (libtool script contents): and one more. ! ! * libtool.m4 (AC_PROG_LD): strip carriage returns from the ! output of gcc -print-prog-name=ld. ! * ltconfig.in: ditto. ! ! 1999-07-30 Pavel Roskin ! ! * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else ! initialised structures are sometimes emitted in the code section. ! ! 1999-07-30 Mumit Khan ! ! * ltconfig.in: Read line at a time to avoid tokenisation by ! shell. ! ! 1999-07-29 Alexandre Oliva ! ! * ltmain.in: Fix creation of relative links to object files in ! sub-dirs. ! ! 1999-07-29 Olly Betts ! ! * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile ! and link ltdll.c if the libtool.m4 macros discovered that it is ! required. ! ! 1999-07-26 Olly Betts ! ! * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some ! typos made by Evil Gary while (mis)applying my patch :-). ! ! * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second ! thoughts, only probe for -mdll vs -dll on mingw, and revert to ! the old `-Wl,--dll -nostartfiles' on cygwin. ! ! 1999-07-24 Erez Zadok ! ! * doc/PLATFORMS (i*86-*openbsd2.5): New platform. ! Slight reordering of other bsd entries. ! ! 1999-07-24 Olly Betts ! ! * NEWS: Note new user visible changes. ! * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll ! under cygwin/mingw. ! probe whether the cygwin/mingw library supplies a stub DllMain ! (but this information isn't yet used). ! * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, ! use that to build impgen so we can use it when cross-compiling. ! use correct entry points for mingw so static C++ constructors get ! called for code in the DLL. ! * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the ! system headers. ! ! 1999-07-24 Bert Driehuis ! ! * ltconfig.in: Updated bsdi4 soname specs to be more like ! linux as discussed on the bsdi mailing list. ! ! 1999-07-20 Gary V. Vaughan ! ! * configure.in (AC_PROG_RANLIB): No longer required as we now use ! AC_CHECK_TOOL in AC_LIBTOOL_SETUP. ! * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to ! ltconfig. ! (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. ! * ltconfig.in (build): new variable to hold the build triplet ! which is now checked for unless --no-verify is specified. ! (--build): new argument to set the build triplet. ! (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different ! to $host. ! * doc/libtool.texi (Invoking ltconfig): Document --build option. ! * NEWS: Note --build option. ! ! 1999-07-19 Erez Zadok ! ! * doc/PLATFORMS: Updated mostly *bsd platforms. ! ! 1999-07-19 Alexandre Oliva ! ! * doc/libtool.texi (Porting inter-library dependencies): Typos ! Reported by Petter Reinholdtsen ! ! 1999-07-17 Thomas Tanner ! ! * NEWS, TODO: updated (pic flags) ! * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag ! * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, ! fixed the strip check (reported by Keith Bostic ) ! * ltmain.in (compile mode): build only PIC/non-PIC code depending ! on pic_mode ! * libltdl/README: document the supported dlopen interfaces ! * doc/libtool.texi (tests): documented new tests ! * tests/Makefile.am: added new tests ! * tests/demo-pic.test: new test to test --with-pic ! * tests/demo-nopic.test: new test to test --without-pic ! * tests/build-relink2.test: variant of build-relink.test that ! uses depdemo ! ! 1999-07-09 Olly Betts ! ! * doc/libtool.texi (C++ Libraries): fixed a typo. ! ! 1999-07-06 Gary V. Vaughan ! ! * README-alpha: improved the release instructions to mention ! actual list addresses for announcements, and urls for upload ! locations. ! ! 1999-07-03 Thomas Tanner ! ! * doc/PLATFORMS: 1.3b passes all tests on cygwin ! ! 1999-07-03 Pavel Roskin ! ! * ltconfig.in: finish_cmds for FreeBSD removed ! * depdemo/l3/Makefile.am: install libl3.la into an extra directory ! ! 1999-07-02 Gary V. Vaughan ! ! * configure.in: bumped version to 1.3c. ! ! GNU libtool 1.3b was released. ! ! * NEWS: inserted todays date. ! ! 1999-07-02 Alexandre Oliva ! ! * doc/PLATFORMS: Tested on as many platforms as possible for me. ! ! 1999-07-01 Thomas Tanner ! ! * NEWS: updated ! * doc/PLATFORMS: updated ! * changed my email address ! ! 1999-06-30 Thomas Tanner ! ! * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) ! * tests/build-relink.test: also check for hardcode_into_libs = yes, ! if set, we need to relink at install-time ! ! 1999-06-29 Thomas Tanner ! ! * NEWS: mention -no-fast-install, rename dummy to force ! * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, ! FreeBSD (2.2.6 and 3.1) ! * doc/libtool.texi: it's possible to link libtool libraries ! using -L and -l, better documentation of uninstall and clean mode, ! rename dummy to force, documented -no-fast-install, ! AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, ! documented hardcode_into_libs and striplib/old_striplib, ! * ltconfig.in: search for strip program, added hardcode_into_libs ! and striplib/old_striplib variables, set strip commands for GNU strip, ! on FreeBSD >= 3.2 set hardcode_into_libs to yes, ! fast-install mode doesn't work if hardcode_into_libs = yes ! * ltmain.in: reimplemented hardcoding into libraries: ! new relink mode, preserve all libtool args, relink libraries ! when installing if necessary ! added -no-fast-install flag, removed unnecessary `dlname' ! initialization, use striplib/old_striplib for stripping libraries, ! dlname is always soname or in library_names so we don't need ! to handle different file names ! ! 1999-06-29 Alexandre Oliva ! ! * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes ! up to release 3.1, and to no from 3.2 on. ! Reported by Pavel Roskin ! ! 1999-06-29 Pavel Roskin , Alexandre Oliva ! ! * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to ! yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. ! ! 1999-06-25 Alexandre Oliva ! ! * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on ! alpha, x86 and sparc architectures by now, reverting to file_magic ! at least on ARM, where it breaks. ! ! 1999-06-23 Thomas Tanner ! ! * NEWS: updated ! * README: added GNU Hurd to the supported platforms ! * doc/libtool.texi: document `-dlpreopen dummy' ! instead of `-dlopen dummy' ! * libltdl/ltdl.c (strchr): fixed typo (missing star) ! ! 1999-06-23 Stephan Kulow ! ! * libltdl/ltdl.c (strrchr): fixed typo (missing star) ! * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings ! ! 1999-06-23 Olly Betts ! ! * ltmain.in (ltdll.c): Support for crosscompiling from linux to ! mingw32. ! ! 1999-06-23 Gary V. Vaughan ! ! * ltconfig.in (cygwin, export_symbols_cmds): If there is already ! an extracted and compiled ltdll.c, then don't delete, reextract ! and recompile. ! (cygwin, archive_expsym_cmds): Make sure the ltdll source has been ! extracted and compiled before referencing the object, since there ! are paths through the code which run archive_expsym_cmds without ! running export_symbols_cmds. ! ! 1999-06-20 Gary V. Vaughan ! ! * ltconfig.in: moved the test for NM after the test for ! no_builtin_flag. ! ! 1999-06-20 Alexandre Oliva ! ! * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, ! just in case some sed does not support an empty command. ! ! * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the ! latter in the test. ! ! 1999-06-18 Thomas Tanner ! ! * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive ! regex (reported by Chris P. Ross ) ! * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols ! if dlself != no ! * doc/libtool.texi (Compile and Link mode): document it, ! documented the -Wc, -Wl flags, libtool does also support non C ! source code ! ! 1999-06-18 Teun Burgers ! ! * ltconfig.in: CR/LF fix for broken DJGPP bash ! * ltmain.in: CR/LF fix for DJGPP ! ! 1999-06-18 Gary V. Vaughan ! ! * ltmain.in (outputname): When generating the executable wrapper ! script, $outputname already has the $exeext suffix, so we needn't ! add it again. ! ! 1999-06-16 Gary V. Vaughan ! ! * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test ! comparison corrected. ! ! * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to ! fail if it is unable to physically load the library. Sadly, ! LoadLibrary will search the loaded libraries for a match and ! return one of them if the path search load fails. Simulate a ! failure in this case for compatibility with the other APIs. ! Also, LoadLibrary takes the liberty of adding `.dll' to library ! names passed without an extension, we now add a trailing `.' to ! prevent this from happening. ! ! 1999-06-15 Gary V. Vaughan ! ! * libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have ! decided that LoadLibrary returns `0' for success, yet FreeLibrary ! returns `0' for failure! The FreeLibrary call used to interpret ! `0' as success for both functions. ! ! 1999-06-14 Thomas Tanner ! ! * ltconfig.in: use eval when setting have_dlfcn_h, reformatting ! ! 1999-06-12 Thomas Tanner ! ! * ltmain.in: store old archives in deplibs and old_deplibs, ! retain the order of dependency libraries (even old archives), ! determining the absolute directory name didn't work due to a typo, ! add the library search paths of all dependency libraries when ! linking a library (fixes IRIX 5.2 bug) ! ! 1999-06-10 Alexandre Oliva ! ! * ltconfig.in: Reverted June 6's patch for new GNU ld output, it ! is no longer needed, as ld reverted to the original format. ! * NEWS: Likewise. ! ! * ltconfig.in: When testing self-dlopening, test whether dlclose ! crashes. On FreeBSD 3.1, it does. :-( ! * libltdl/configure.in: Likewise. ! * NEWS: Note work-around. ! Reported by Pavel Roskin ! ! 1999-06-09 Gary V. Vaughan ! ! * ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate ! no extension, and we must do the same in order to share the cache ! value. Also we must ignore conftest.err which HPsUX (at least) ! fills with gratuitous warnings. ! (objext): for consistency, do the same as above. ! Reported by Pavel Roskin ! ! 1999-06-09 Pavel Roskin ! ! * ltconfig.in (exeext): Use quotes in the test, to prevent a ! failure in sh.test. ! ! 1999-06-09 Gary V. Vaughan ! ! * ltconfig.in: Reordered tests to be more like configure.in's ! recommended order (programs first, then libraries, etc.). ! Performed a manual ``constant folding pass'' (eg: s/eval "test ! \"echo '$''{'lt_cv_dlopen'+set}'`\" != set/test ! "${lt_cv_dlopen+set}" != set/). ! s/test "${foo+set}" = "set"/test "X${foo+set}" = Xset/g ! ! * ltconfig.in (link_static_flag): Accept, in order of decreasing ! preference: the cached value; the default value for the current ! host. Also test that the compiler accepts the flag, and cache ! that result too. ! ! * ltconfig.in (pic_flag): Accept, in order of decreasing ! preference: the cached value; the default value for the current ! host. Also test that the compiler accepts the flag, and cache ! that result too. ! ! 1999-06-08 Gary V. Vaughan ! ! * ltconfig.in (LN_S): Accept, in order of decreasing preference: ! the cached value; an environment setting; ``ln -s'' if it works; ! ``ln'' if ``ln -s'' doesn't appear to work. ! ! * ltconfig.in (objext): Accept, in order of decreasing preference: ! the cached value; the result of a test object compilation. ! ! * ltconfig.in (RANLIB): Accept, in order of decreasing preference: ! the cached value; an environment setting; the first file called ! ``ranlib'' in the user's path. ! ! * ltmain.in (exeext): Use $exeext when working out the names of ! programs (but not the wrapper script itself due to a stupidity in ! win32 which hardwires the .exe extension to the binary loader!). ! * ltconfig.in (exeext): Now that the wrapper script tries to move ! executables, we need to know whether they have an extension (ala ! AC_EXEEXT). Since we can't rely on AC_EXEEXT having been called ! in configure.in, we must be able to check for ourselves, though we ! can look for a cached result incase AC_EXEEXT was called. ! ! * ltconfig.in (cygwin, pic_flag): Force separate compilation of ! objects for dlls vs. objects for static archives. Using a cpp ! macro also allows us to decide whether or not we need to use ! dllexport/import declarations. ! ! * ltconfig.in (cygwin, need_version): Set to no, otherwise module ! dll's end up with mighty long names! ! ! 1999-06-06 Alexandre Oliva ! ! * ltconfig.in: Support new GNU ld --help output format. ! * NEWS: Likewise. ! Reported by Gaël Quéri and ! H.J. Lu . ! ! 1999-06-05 Mark Kettenis ! ! * ltconfig.in: Update support for the Hurd. Make sure that the ! soname includes the major version number and create the right ! links. Allow shared objects without the `lib' prefix and without ! version information. ! ! 1999-06-02 Nick Rasmussen ! ! * ltmain.in (link): use "$nonopt" as the compiler for ! compile/finalize_command ! ! 1999-05-27 Alexandre Oliva ! ! * TODO: Remove the short list of people interested in C++ ! constructors; it's not meaningful, since there are so many more ! people requesting this feature, and we just can't maintain it ! accurate. ! ! 1999-05-27 Pavel Roskin ! ! * ltconfig.in (GNU Hurd, deplibs_check_method): Use pass_all. ! ! 1999-05-27 Alexandre Oliva , Olly Betts ! ! * ltmain.in: Expand convenience libraries when creating reloadable ! objects. ! * NEWS: Ditto. ! ! 1999-05-27 Alexandre Oliva ! ! * NEWS: Mention the two bugfixes below. ! ! * ltmain.in: Only create directory into which to extract ! convenience libraries when $convenience is not empty. It would ! always be created on systems that did not support ! whole_archive_flag_spec. ! ! * ltconfig.in (export_symbols_cmds): Add $convenience. ! (cygwin, export_symbols_cmds): Ditto. ! * ltmain.in: Generate export symbol list before expanding ! convenience libraries, to avoid passing whole_archive_flag_spec to ! $NM. ! Reported by Godmar Back ! ! 1999-05-27 David Jones ! ! * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid ! printing error messages. ! ! 1999-05-26 Alexandre Oliva ! ! GNU libtool 1.3.2 was released. ! ! 1999-05-25 Alexandre Oliva ! ! * NEWS: List fixed problems. ! * doc/PLATFORMS: Tested for 1.3.2. ! ! * config.guess: Synch with GNU common. ! ! * ltmain.in: Revert to stripping .exe on all platforms. ! * TODO: Note about this problem. Demo is fixed on win32. Support ! `empty' convenience libraries. ! ! * ltconfig.in (solaris*, ld_shlibs): Do not enable shared ! libraries with GNU ld 2.8.*, it's broken. Emit a warning ! suggesting an upgrade. ! Reported by Brian Ford and Ronald Pijnacker ! ! ! 1999-05-25 Frank Ch. Eigler ! ! * ltmain.in: file_magic check would not avoid cyclic links. ! ! 1999-05-25 Alexandre Oliva ! ! * depdemo/main.c, depdemo/l1/l1.c, depdemo/l2/l2.c: K&R-ize. ! * depdemo/l3/l3.c, depdemo/l4/l4.c: Likewise. ! ! * ltmain.in: Remove object files before writing to them, to avoid ! circular links. ! Reported by Ron O'Hara ! ! 1999-05-24 Thomas Tanner ! ! * NEWS: support for installing stripped libraries using GNU strip ! * ltconfig.in: set deplibs_check_method=pass_all on FreeBSD, ! Linux and Solaris since no one can reproduce the famous deplibs ! bug ! * ltmain.in: preserve $CC (reported by Tom Tromey), ! strip libraries using GNU strip if it's available and the ! -s flag was passed to "install" ! ! 1999-05-23 Alexandre Oliva ! ! * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86. ! Reported by Pavel Roskin ! ! 1999-05-23 Thomas Tanner ! ! * ltmain.in: strip off the .exe suffix only on *Win ! (Reported by Matthew D. Langston ) ! ! 1999-05-22 Thomas Tanner ! ! * NEWS: updated ! * TODO: -Wc, -Wl, implemented ! * AUTHORS: changed my email address ! * doc/libtool.texi: fix "wierd" typo :) ! * ltmain.in: linking against convenience libraries was broken, ! implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for ! compiler and linker-specific flags, ! add -lc before we do the deplibs check ! * ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags ! for $LD, link_all_deplibs=yes on IRIX ! ! 1999-05-22 Gary V. Vaughan ! ! * NEWS: insert todays date alongside 1.3.1 release. ! * Makefile.in: use gnu not gnits rules ! * config.guess: synch with gnu common & apply Takabatake-san's ! MIPS *000 patch. ! * config.sub: synch with gnu common. ! ! 1999-05-22 Doug Evans ! ! * libltdl/configure.in (dlerror): Fix typo in dlopen found in -ldl ! test. ! ! 1999-05-21 Pavel Roskin ! ! * Makefile.am (EXTRA_DIST): Don't distribute instutils. ! (install-data-hook): use libltdl/Makefile.am's local-install files ! rule. ! * libltdl/Makefile.am (local-install-files): New rule to install ! libltdl without creating links or mode 777 directories. ! * instutil/*: deleted. ! ! 1999-05-21 Alexandre Oliva ! ! * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got. ! Added sparc-unknown-linux-gnu. ! ! 1999-05-21 Gary V. Vaughan ! ! * demo/foo.h: s/PARAMS/LTDL_PARAMS/g ! * libltdl/ltdl.h: ditto. ! * libltdl/ltdl.c: ditto. ! ! * demo/foo.h: s/__P/PARAMS/g ! * libltdl/ltdl.h: ditto. ! * libltdl/ltdl.c: ditto. ! Reported by Akim Demaille ! ! 1999-05-20 Alexandre Oliva ! ! * NEWS: Updated docs. ! * TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX ! 4.3.2.0 no longer fails on static dlopening. GNU DLD no longer ! has to support .la files, since libltdl already does. Convenience ! libraries and reloadable objects should be tested in the ! testsuite. We could support some amount of control on the soname ! of libraries. ! * doc/libtool.texi: Notes about convenience libraries and ! automake. Documented INCLTDL. ! ! 1999-05-20 Thomas Tanner ! ! * cdemo/main.c: "Welcome _to_ ..." ! * mdemo/main.c: ditto ! * libltdl/configure.in: support multiple dlopening mechanisms ! at once ! * libltdl/ltdl.c: prefix system dependent functions with "sys_" ! to avoid symbol conflicts (libdld didn't work) ! * libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h ! * ltconfig.in: check for dlopen with -ldl first ! ! 1999-05-19 Gary V. Vaughan ! ! * NEWS: Added 1.3.1 news items. ! * doc/PLATFORMS: updated the boxes I have access to, to 1.3.1 ! in preparation for the next release. ! ! 1999-05-18 Gary V. Vaughan ! ! * ltconfig.in (cygwin*, whole_archive_flag_spec): dlltool chokes ! on this, so leave it unset in this case so that the ltmain code ! knows it has to unpack convenience archives by itself. ! ! 1999-05-17 Gary V. Vaughan ! ! * ltmain.in: Do not exit when an unknown library name is passed ! passed in, simply warn and continue since some compilers require ! -LANG:* like options to work. ! Reported by Adam C. Powell, IV ! ! 1999-05-17 Jiro Takabatake ! ! * ltconfig.in: port to NEC UX/4800. ! * NEWS: updated. ! ! 1999-05-17 Gary V. Vaughan ! ! * ltconfig.in (beos*, deplibs_check_method): set to pass_all. BeOS ! is PIC by default. ! Reported by "Shawn T . Amundson" ! ! * libltdl/configure.in: Fix test failures on AIX 4.3.2 by checking ! for dlopen *with* -ldl first. ! Reported by Greg Wooledge ! ! * demo/foo.h: Don't set any declspecs until we have full dll ! support. ! ! 1999-05-16 Alexandre Oliva ! ! * ltconfig.in (solaris2.6, whole_archive_flag_spec): Do not use ! -Wl for allextract. ! ! 1999-05-14 Alexandre Oliva ! ! * instutil/chmod: New script to avoid chmod'ing files while ! installing libltdl's sources. ! * instutil/ln: New script to avoid hard-linking libltdl's sources ! in the install tree. ! * Makefile.am (EXTRA_DIST): Dist them. ! (instal-data-hook): Add srcdir/instutil to the beginning of the ! PATH before installing libltdl's sources. ! ! 1999-05-09 Gary V. Vaughan ! ! * TODO: updated. ! ! 1999-05-06 Gary V. Vaughan ! ! * Makefile.am (install-data-hook): make sure the install directory ! is not left world writable. ! Reported by Andreas Schwab ! ! 1999-04-30 Alexandre Oliva ! ! * libtool.m4: Use ifelse instead of if. ! Reported by David Mazieres ! ! 1999-04-29 Alexandre Oliva ! ! GNU Libtool 1.3 was released. ! ! * NEWS: Summarize news from 1.2 to 1.3. ! ! * ltmain.in: Save exit status of link_command before removing ! symbol table object file. ! ! 1999-04-29 Gary V. Vaughan ! ! * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. ! ! 1999-04-29 Alexandre Oliva ! ! * NEWS: Improved support for DU and IRIX too. ! ! * config.sub, config.guess: Updated from GNU common. ! ! * mdemo/configure.in: Move AC_LIBLTDL_CONVENIENCE before ! AM_PROG_LIBTOOL, as suggested by autoconf. ! ! * doc/libtool.texi (Distributing libltdl): Document that -static ! may cause the same problems on libltdl as -all-static. ! * TODO: We might want to fix this in the future. ! ! * doc/libtool.texi: Clear up overfull hbox. ! ! * libltdl/Makefile.am (ltdl.lo): Add dependencies. ! * libltdl/configure.in: Clean up some duplicate defines. Enable ! support for multiple dlopening mechanisms. ! * libltdl/acconfig.h: New file. Add #undefs for defines that ! would be duplicated. ! ! 1999-04-29 Gary V. Vaughan ! ! * libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the ! code that makes these configure time checks on hosts that need the ! tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used. ! ! 1999-04-29 Alexandre Oliva ! ! * ltmain.in (nlist, SYMFILE): Use outputname instead of output for ! names within output_objdir. ! ! 1999-04-28 Alexandre Oliva ! ! * libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC, ! AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're ! AC_REQUIREd by AC_LIBTOOL_SETUP. ! (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): ! Call AC_BEFORE here, and now with two arguments, since these do ! change the default. ! (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to ! AC_BEFORE. ! ! 1999-04-28 Gary V. Vaughan ! ! * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to ! ltconfig if this is set. ! (AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt ! a dll build on win32 hosts. ! * ltconfig.in (--enable-win32-dll): new flag for the cli. ! (cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set ! to yes, then do not attempt to build shared libraries. ! * doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL. ! * NEWS: noted new macro. ! ! 1999-04-27 Alexandre Oliva ! ! * libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED, ! AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE, ! AC_LIBLTDL_INSTALLABLE): Warn if they appear after ! AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually. ! (AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled ! at autoconf time, not configure time. Simplify code and ! improve (?) help message about --disable-libtool-lock. ! ! 1999-04-27 Thomas Tanner ! ! * NEWS: new clean mode ! * THANKS: added Ossama Othman ! * doc/libtool.texi: documented the new `clean' mode ! * ltconfig.in: set need_version=no on OSF (reported by ! Marcus Sundberg ) ! * ltmain.in: allow absolute non-existant -L paths, ! always use output_objdir instead of objdir for temporary files, ! delete generated temporary symbol lists, ! don't add .la twice in the pseudo-library header, ! implemented and documented clean mode (deletes libraries, ! programs and object files and the files associated with them), ! if build_libtool_libs=no and no static library is available, ! try to link the program against the shared library, ! don't add a statically linked library to the dependency_libs ! * ltmain.in (help uninstall): added a missing backslash ! after echo (reported by Ossama Othman) ! ! 1999-04-27 Alexandre Oliva ! ! * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out ! which links to object files we must create. Do not test for empty ! pic_flag to create such links. Use objext when searching for ! object files extracted from convenience library. ! ! * ltconfig.in (compiler_c_o): Make sure the compiler does not ! create temporaries in the current directory when output should go ! elsewhere. We must perform locking if it does. ! ! 1999-04-27 Gary V. Vaughan ! ! * ltmain.in (old_archive_cmds): Ensure that there are always .o ! objects available before running old_archive_cmds. ! ! 1999-04-26 Erez Zadok ! ! * doc/PLATFORMS: Updates for netbsd 1.3.3 and 1.4. ! ! 1999-04-26 Alexandre Oliva ! ! * ltconfig.in (aix4.[01], always_export_symbols): The case pattern ! would never match; fixed. ! Reported by Stephan Kulow ! ! 1999-04-25 Alexandre Oliva ! ! * libtool.m4 (OBJDUMP): Pass it to ltconfig. ! * configure.in: AC_SUBST DLLTOOL, OBJDUMP and AS. ! * Makefile.am (libtool, clibtool): Pass them to ltconfig. ! ! 1999-04-25 Frank Ch. Eigler ! ! * libtool.m4 (cygwin*): Look for target objdump tool. ! * ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target ! objdump tool. Track OBJDUMP like DLLTOOL and AS. ! ! * ltconfig.in (cygwin*, deplibs_check_method): Accept ! "architecture: i386" as optional suffix, for it is printed on a ! separate line sometimes. ! ! * ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C". ! ! * ltmain.in (deplibs_check_method=file_magic): Redirect stderr to ! /dev/null, to suppress error messages from target objdump. ! ! 1999-04-25 Alexandre Oliva ! ! * ltconfig.in (irix*, soname_spec, library_names_spec): Missing ! dots before $versuffix and $major. ! ! * ltconfig.in (solaris*, whole_archive_flag_spec): Use -z ! allextract/defaultextract from Solaris 2.6 on. ! Reported by Brian Ford ! ! * ltconfig.in (beos*, allow_undefined_flag): Do not build shared ! libraries with undefined symbols. ! ! * ltconfig.in (aix4*, allow_undefined_flag): Set to -berok. ! (aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE. ! (aix4*, archive_cmds): Use -bexpall. ! (aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and ! allow_undefined_flag. ! (aix4*, always_export_symbols): Set to yes up to AIX 4.1.*, ! because -bexpall is supported from 4.2 on. ! Reported by Greg Wooledge ! ! ! * ltconfig.in (hpux*, hardcode_minus_L): Set to yes. ! (hpux*, hardcode_libdir_flag_spec): Do not use +s by default. ! (hpux*, shlibpath_overrides_runpath): Set to no. ! ! * ltconfig.in (irix*, osf*, archive_cmds): Write so_locations ! within objdir. ! ! * ltconfig.in (irix*, soname_spec): Append $major. ! (irix*, library_names_spec): Add new soname. ! Reported by David Kaelbling ! ! * ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib ! is not searched by default. /usr/lib is searched before /lib. ! * ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is ! searched before /lib. ! ! * ltconfig.in (irix5*, need_lib_prefix, need_version): Set to no, ! by unifying with irix6*. ! ! * ltconfig.in (irix*, osf*, deplibs_check_method): Use pass_all. ! ! * ltconfig.in (old_LDFLAGS, old_LIBS): Save and write to comments ! in output file. ! ! * ltmain.in (prefer_static_libs): New variable, set to no by ! default, but set to yes by -static and -all-static. Used instead ! of build_libtool_libs to decide whether to use a shared or static ! version of a library, when both versions are available. ! ! 1999-04-25 Boyd Lynn Gerber ! ! * ltconfig.in (sco3.2v5*): Use LD_RUN_PATH for hard-coding. ! ! 1999-04-25 Pavel Roskin ! ! * Makefile.am (uninstall-local): Remove installed libltdl tree. ! ! 1999-04-25 Alexandre Oliva ! ! * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl): ! Added CFLAGS to link commands; SCO OSR needs it for -belf. ! ! * TODO: -Wl and -Wc options. ! ! 1999-04-12 Alexandre Oliva ! ! * libltdl/ltdl.c: Remove trivial warnings. ! ! 1999-04-22 Frank Ch. Eigler ! ! * ltconfig.in: Correct sed expression that extracts symbols ! from cygwin def files. Ignore demangled C++ names, if any. ! ! 1999-04-12 John David Anglin ! ! * libltdl/ltdl.c (shl_close): shl_t was correct here... ! (shl_sym): ... but we have to pass the handle by reference here. ! ! 1999-04-12 Alexandre Oliva ! ! * doc/libtool.texi (Invoking ltconfig): Document environment ! variables used. ! ! * doc/libtool.texi (Invoking ltconfig): Document --cache-file. ! ! * doc/libtool.texi (Invoking ltconfig): Document ! --disable-fast-install, --enable-dlopen, --with-gnu-ld and ! --disable-lock. ! ! 1999-04-11 Thomas Tanner ! ! * libltdl/configure.in: check for shl_load in libdld ! * libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t ! * ltconfig.in (check for gcc): removed a bogus line, ! check for shl_load in libdld ! * ltmain.in: added a warning to the header of the .la file ! to warn users against deleting the file, ! link shared against static libraries if ! deplibs_check_method == pass_all ! ! 1999-04-10 Alexandre Oliva ! ! * libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs, ! try $ac_exeext too, so that they're found on DJGPP/MS-DOS. ! * ltconfig.in: Likewise. ! Reported by Robert S. Maier ! ! * ltconfig.in (Usage): Removed --enable-dlopen-self. ! Reported by Pavel Roskin ! ! * ltconfig.in: Moved sysv4 before sysv4.*. ! (symcode): Brian's overrider is specific to sysv4, not sysv4*. ! ! 1999-04-09 Thomas Tanner ! ! * NEWS, README: Motorola System V 4 support ! * doc/PLATFORMS: added mk88-motorola-sysv4 ! * ltconfig.in: installed patch from Brian Ford ! to support mk88-motorola-sysv4 ! ! * doc/libtool.texi: some cleanups in the libltdl documentation ! ! 1999-04-07 Alexandre Oliva ! ! * ltconfig.in (--fallback-echo): Do not put an inline document and ! an exec in the same if construct; otherwise the inline document ! may not be removed. ! * ltmain.in (--fallback-echo): Likewise. ! Reported by John David Anglin ! ! * dryrun.test: It would still fail at random times, because `cp' ! and `mv' are not guaranteed to preserve the timestamps of the ! installed files. Instead of preserving them, just remove them ! before the dry uninstall test. Redirect dry-run output to stderr, ! so that it can be easily separated from the regular output. ! ! 1999-04-07 Thomas Tanner ! ! * NEWS: support for moved libraries ! * libtool.m4: another DJGPP fix ! ! 1999-04-07 Alexandre Oliva ! ! * doc/PLATFORMS: Updated to 1.3 for all platforms I've got. I'll ! make sure 1.3 won't be released unless it passes all tests on ! those platforms. ! ! * doc/libtool.texi (Compile mode): Document potential problem and ! work-around for `-c -o dir/foo.lo'. ! ! * tests/dryrun.test: The constant modifications of libtool would ! cause main.o to be updated at the wrong time; the new approach is ! to modify the libtool script so that it enables dry run depending ! on whether an environment variable is set or not. I've also moved ! `after' and `before' to a directory deep within $objdir, instead ! of creating it in ../tests. ! * tests/Makefile.am (CLEANFILES): Removed. ! ! 1999-04-06 Alexandre Oliva ! ! * tests/dryrun.test: We cannot rely on setting LIBTOOL, because ! automake may use sub-makes, and the setting will not be propagated ! to them on some makes. Instead, create a dry version of libtool ! and switch between it and the original one before and after dry ! runs. ! * tests/Makefile.am (CLEANFILES): Added libtool-*, created by ! dryrun.test. ! ! * tests/dryrun.test: Use cmp instead of diff. ! (before, after): Create them within ../tests. ! (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, ! SHELL and top_builddir from the environment if available. For dry ! runs, use "$libtool -n". ! * tests/Makefile.am (CLEANFILES): Added before and after. ! * ltmain.in: Do not create links to object files in dry runs. ! ! 1999-04-06 Thomas Tanner ! ! * ltmain.in: added a missing line of the ILD patch ! ! * NEWS: improved DJGPP support ! * doc/libtool.texi: removed hardcode_into_libs documentation ! * libtool.m4: some DJGPP fixes ! * ltconfig.in: ditto, reverted one of my previous patches: we need ! to check for NM, removed the hardcode_into_libs support since ! no platform seems to support it ! * ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support ! ! 1999-04-05 Alexandre Oliva ! ! * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries ! ! * Makefile.am (CVS): allow command-line overriding of cvs ! ! * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by ! default, as most a.out platforms use it, and end up in trouble if ! we preload it, so it's safer to rule it out by default, and ! special case its removal from exclude_expsyms if someone ever ! complains. ! ! 1999-04-05 Thomas Tanner ! ! * doc/libtool.texi: reorder tests to reflect execution order, ! documented dryrun.test and depdemo* ! * ltmain.in (lt_preloaded_symbols): dry-run mode bugfix ! * tests/dryrun.test: new test to check whether the dry-run ! mode works properly ! ! * demo/run.test: removed the unnecessary test ! * demo/Makefile.am: ditto ! * ltmain.in: set the DLL search path on cygwin,mingw and os2 ! ! 1999-04-04 Alexandre Oliva ! ! * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for ! deplibs.test to work with GNU ld; -Bshareable is needed here. ! ! * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with ! native ld too. ! ! * ltconfig.in (sunos4*, GNU ld): Reordered. ! ! * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the ! native linker doesn't even support -Bshareable, only GNU ld does. ! Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test. ! ! * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too, ! otherwise it will just be disregarded. This would cause ! netbsd/m68k with GNU ld a.out, and certainly many other platforms, ! to incorrectly believe that shared libraries were supported, while ! archive_cmds was empty, causing shared libraries not to be created ! ! 1999-04-03 Alexandre Oliva ! ! * NEWS: improved support for AIX and HP/UX ! ! 1999-04-03 Thomas Tanner ! ! * NEWS: updated ! * libtool.m4: check for main in libm instead of cos ! * ltmain.in: cosmetic fixes, don't try to link libraries only once ! (although it's not necessary on many platforms and looks ugly...), ! ! 1999-04-02 Alexandre Oliva ! ! * ltmain.in (convenience): fixed race condition when more than one ! library was linked with the same convenience library by ! uniquifying the extract directory. It is now named after the new ! library *and* the old one, and lives in the objdir of the new one. ! ! * ltmain.in (-L*): do not abort just because a directory specified ! with -L does not exist; just warn and discard it ! ! * depdemo/l1/Makefile.am (AUTOMAKE_OPTIONS): no-dependencies ! * depdemo/l2/Makefile.am (AUTOMAKE_OPTIONS): ditto ! * depdemo/l3/Makefile.am (AUTOMAKE_OPTIONS): ditto ! * depdemo/l4/Makefile.am (AUTOMAKE_OPTIONS): ditto ! ! * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we ! should have been using -Bshareable ! ! * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check ! ! * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests ! that involve linking ! * Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto ! * tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set ! (LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down ! ! 1999-04-02 Erez Zadok ! ! * doc/PLATFORMS: 1.2f ok on various versions of hpux cc ! ! 1999-04-02 Alexandre Oliva ! ! * ltconfig.in (link_all_deplibs): set to unknown by default ! * ltmain.in: test != no, not = yes ! * doc/libtool.texi: document unknown ! ! 1999-04-01 Thomas Tanner ! ! * doc/libtool.texi: documented deplibs.test ! ! * demo/Makefile.am: moved testsuite specific declarations to the end, ! the deplibs check is now optional ! * libltdl/configure.in: read libtool --config only once, ! merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4 ! * libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not ! used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN ! no longer necessary ! * ltconfig.in: NM is already checked in libtool.m4, ! * ltmain.in: always link all static dependency_libs ! * tests/Makefile.am: added deplibs.test ! * tests/demo-exec.test, demo-inst.test: removed hell0 ! * tests/deplibs.test: new test to test the deplibs_check_method ! ! 1999-03-31 Thomas Tanner ! ! * ltmain.in: always link a library before its dependency libs ! * mdemo/Makefile.am: test -export-symbols-regex ! ! 1999-03-30 Thomas Tanner ! ! * doc/libtool.texi: fixed a typo ! * libtoolize.in: add the libtool scripts to libltdl.tar.gz ! * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), ! AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work ! when libltdl is already installed ! * *demo/Makefile.am: use LIBM ! * *demo/configure.in: AC_SUBST LIBM ! * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of ! USE_SYMBOL_UNDERSCORE ! * ltconfig.in: added link_all_deplibs variable ! * doc/libtool.texi: document it ! * ltmain.in: always search for libname.la - don't eval libname_spec, ! when linking libraries against static ones just print a warning ! and add them to dependency_libs, add -lc before deplibs, ! always link all dependencies of a static library or if ! link_all_deplibs is yes, hardcode library paths if ! hardcode_into_libs is no, don't link against dependency_libs ! that already are deplibs ! ! 1999-03-30 Alexandre Oliva ! ! * ltconfig.in (aix4*, collect2name): make sure collect2 exists ! before running string on it, to avoid errors on old gccs ! Reported by Erez Zadok ! ! * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're ! using gcc with old collect2, use -b libpath to hardcode the ! library search path ! ! * ltmain.in, ltconfig.in: reverted most of the quoting changes ! from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19 ! obviates it. Keep only quoting of $PATH, for uniformity with ! other systems that already did it ! ! 1999-03-29 Gary V. Vaughan ! ! * libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the ! extra byte of memory for the teminating NUL, and forgot to ! strcpy the original path in to the new memory before appending ! the new path compononent. ! ! 1999-03-27 Thomas Tanner ! ! * NEWS: updated ! * README: updated (BeOS support, no longer shared libraries ! support for AmigaOS), cleanups, we have now two mailing lists ! * REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists ! * THANKS: added Xavier Pianet ! * doc/PLATFORMS: BeOS works ! * doc/libtool.texi: we have now to two mailing lists, ! updated -dlopen self documentation, documented libltdl's license, ! put each author in a separate line, ! inter-library dependencies on uninstalled libtool libraries are ! now supported, cleanups and minor corrections ! * libltdl/COPYING.LIB: new file ! * libltdl/ltdl.[ch]: added special exception to the LGPL license ! * libtool.spec: removed, it was outdated ! * Makefile.am: removed libtool.spec ! * ltmain.in: use TMPDIR when possible, create a subdirectory ! in the temporary directory, added -export-symbols-regex to the help, ! ! 1999-03-25 Alexandre Oliva ! ! * demo/Makefile.am: create a static library, link two libtool ! archives with it, then link the program hell0 with both ! * demo/hell1.c, demo/hell2.c: dummy files used to create the ! libtool archives without introducing symbol conflicts ! * tests/demo-exec.test, tests/demo-inst.test: run the new program ! * ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all ! ! * ltmain.in ($PATH): instead of modifying the PATH, better prevent ! its expansion the first time *_cmds variables are eval'ed. Modify ! $show within loops that eval them so as to expand variables ! * ltconfig.in (*_cmds): quote $ so that they're not expanded by ! the first eval ! ! 1999-03-25 Gary V. Vaughan ! ! * ltmain.in ($PATH): Expand any tildes in the users path to the ! contents of $HOME to avoid problems with *_cmds splitting and ! evaluation. ! ! 1999-03-24 Thomas Tanner ! ! * TODO: support -dlopen for libraries ! * doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1 ! * doc/libtool.texi (libltdl): libltdl supports BeOS ! * libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT ! didn't exist, partially reverted my previous patch: BeOS will ! automatically search in ADDON_PATH ! * ltmain.in: don't allow relative run-paths, fixed a typo in a warning, ! ignore -dlopen self for libraries and objects, ! only accept -L paths that exist, minor cleanups, ! bugfix: add -lc for normal libraries, not convenicence libraries ! removed offensive warnings/comments ! ! 1999-03-24 Alexandre Oliva ! ! * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries ! ! 1999-03-23 Gary V. Vaughan ! ! * libltdl/configure.in: the sed expression for finding the shared ! library extension used to think the . in [.] for the cygwin ! shared_library_names_spec was the start of the extension!! We now ! remove anything in square brackets (assuming that the square ! brackets delimit a sed or expr expression which is not part of the ! extension) before looking for the extension. ! ! * TODO (cygwin): food for thought re: mutually dependant dlls. ! ! 1999-03-21 Alexandre Oliva ! ! * tests/build-relink.test: if we relink and have hardcode_direct, ! removing an uninstalled library breaks an uninstalled program ! ! * doc/libtool.texi: documented convenience libraries ! * TODO: removed entry about it ! ! * tests/*-unst.test: if directory is not configured, skip it ! * tests/demo.test, tests/mdemo.test: unused, removed ! * tests/depdemo.test: ditto ! ! 1999-03-20 Thomas Tanner ! ! * doc/libtool.texi (link mode): documentation for -module updated ! * ltconfig.in: fast-install mode doesn't work for ! hardcode_into_libs=yes ! * ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use ! dlopen_self_static, automatically enable -export-dynamic when ! using "-dlopen self", always make run-paths absolute, ! ignore -lc only on platforms that don't have such a library, ! cleanups in the ILD code, find even installed libtool libraries ! that were moved, before generating the DLL-import library we need ! to set libname, improved hardcoding of shlibpath for libraries, ! don't generate an installable pseudo-library for convenience ! libraries, bugfix: export_symbols would be removed immediately ! before it is used ! ! 1999-03-19 Thomas Tanner ! ! * use the same header in all configure.in's and Makefile.am's ! * NEWS: improved support for BeOS and Cygwin ! * TODO: ILD branch was merged, all internal variables and macros ! are now documented ! * demo/Makefile.am: use $(LIBS) instead of -lm ! * doc/libtool.texi: documented new variable hardcode_into_libs ! and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros ! to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN ! * libltdl/ltdl.c: added two new error messages (cannot_open_error, ! cannot_close_error), use them where approriate, ! BeOS support (thanks to Xavier Pianet), on BeOS search modules ! additionally in ADDON_PATH ! * libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have ! libm and *-ncr-sysv4.3* requires libmw ! * ltconfig.in: don't check for LoadLibrary, hardcode dlopen ! configuration for BeOS and Cygwin ! * ltmain.in: fix sourcing of .la files on Solaris ! (patch by Raja R Harinath) ! ! 1999-03-19 Alexandre Oliva ! ! * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we ! have -rpath ! (aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is ! default ! (hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here ! (hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s ! before +b ! (hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s ! appears before +b, set it to yes ! (hardcode_shlibpath_var, hardcode_action): do not use ! shlibpath_var to specify the compile-time search path; it loses, ! and we may end up linking with pre-installed older versions of ! libraries instead of yet-to-be-installed ones ! (*, hardcode_direct, hardcode_minus_L): remove entries that set ! them to no, that is default ! ! * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with ! $$hardcode_libdir_flag_spec, if available, with libdir=$(libdir), ! to make sure the hardcode_* variables will produce the expected ! results even in the presence of a hardcoding flag; depend on ! libhello.la having been installed already ! (hc-libflag): link with the installed library, but try to ! hard-code the uninstalled one ! * doc/libtool.texi: document the changes ! ! * tests/*.test: when a test fails, skip tests that depend on it. ! If a certain configuration is not supported, skip all its tests. ! ! * doc/libtool.texi: reorder tests to reflect execution order ! ! * tests/noinst-link.test: new test ! * tests/Makefile.am (TESTS): added noinst-link.test ! * doc/libtool.texi: document it ! ! 1999-03-19 Gary V. Vaughan ! ! * ltmain.in (dependency_libs): There is no reason to infer that ! the pseudo library is invalid if dependency_libs='' at ! install-time, or else libltdl/libltdl.la is invalid!! ! ! 1999-03-18 Thomas Tanner ! ! * merged my inter-library dependencies code from the ILD branch: ! * NEWS: inter-library dependencies are now supported ! * configure.in: add the depdemo subdirectory ! * depdemo/*: new demo to demonstrate inter-library dependencies ! * tests/depdemo*: new tests for depdemo ! * ltconfig.in: added hardcode_into_libs (whether library paths ! should be hardcoded into the libraries), ! it currently defaults to 'no' ! * ltmain.in: new internal 'relink' mode to relink libraries ! on platforms with hardcode_into_libs=yes, save command line ! arguments in libtool_args, accept relative -L directories, ! ignore -lm on BeOS and Cygwin, always ignore -lc, ! handle -l, -L and .la arguments later, always make the library ! installation directory (-rpath) absolute, in relink mode don't ! delete the not-relinked library and exit immediately after relinking, ! try to find already-installed libtool libraries that were specified ! using -l, support hardcoding of library paths into libraries too, ! export shlibpath before linking libraries, and a lot of other ! big changes that I don't want to describe here... please read ! the source. ! ! * merged Gary's Win32 code from the ILD branch: ! * NEWS: Win32 DLLs are now supported ! * TODO: removed .a library namespace clash for win32. It is ! now resolved. ! * ltconfig.in (cygwin, library_names_spec): removed $libname.a. ! Creating a dll with libtool no longer creates an import library. ! * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does ! not exist -- i.e. we need to generate import an import library ! in a directory which has no libs of its own. ! * doc/libtool.texi (old_archive_from_expsyms_cmds, ! extract_expsyms_cmds): documented these new variables. ! * ltconfig.in (extract_expsyms_cmds): New variable. Commands to ! extract the exported symbol list from a dll. ! (old_archive_from_expsyms_cmds): New variable. Commands to build ! an old archive from the extracted expsyms list. ! * ltmain.in: run the cmds in extract_expsyms_cmds and ! old_archive_from_expsyms_cmds as necessary. ! * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer ! required. ! * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even ! sure whether win32 honours the runpath at all when searching for ! a dll to load! Anyway, when set to yes this prevents a gratuitous ! warning. ! * ltmain.in (deplib): The cygwin environment doesn't actually have ! -lm, and although the linker fakes having one, specifiying it to ! libtool will break ILD, so we ignore it when generating ! dependencies. ! ! 1999-03-17 Gary V. Vaughan ! ! * doc/PLATFORMS: Thanks to Alexandres changes below, both my ! hp boxes pass the entire test suite. ! ! 1999-03-17 Alexandre Oliva ! ! * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b ! (hpux*, hardcode_libdir_separator): set to colon ! ! 1999-03-17 Alexandre Oliva ! ! * doc/PLATFORMS: egcs is gcc; updates from Erez Zadok ! ! 1999-03-16 Alexandre Oliva ! ! * ltmain.in (deplibs, beos*): don't append -lc ! Reported by Xavier Pianet ! ! * tests/build-relink.test (hardcode_action): when set to relink, ! skip the test with lt-hell ! ! * Makefile.am (EXTRA_DIST): add mkstamp ! Reported by Xavier Pianet ! * Makefile.am (EXTRA_DIST): add ChangeLog.0 ! 1999-03-16 Thomas Tanner ! * doc/libtool.texi: some minor corrections to the "-dlopen self" ! documentation ! * tests/Makefile.am: sorted by name, added assign.test ! * ChangeLog: started new file ! * ltconfig.in: some cosmetical changes ! * ltmain.in: ditto ! Continued in ChangeLog.0 ! $Revision: 1.922.2.111 $ $Date: 2002/10/23 02:54:36 $ --- 1464,2125 ---- (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. * doc/libtool.texi (Libltdl interface): Document it. + * NEWS: Updated, ! 2001-08-07 Gary V. Vaughan ! From Albert Chin : ! * ltmain.in [irix*]: $with_gcc is either "yes" or "" (empty string) ! with current autoconf, so we need to be robust to that when testing ! it, ! 2001-08-06 Gary V. Vaughan From Brad : ! * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant setting ! of this variable. ! 2001-08-05 Gary V. Vaughan ! * libltdl/ltdl.c (load_deplibs): Insert missing 1st argument to ! LT_EMALLOC. ! 2001-08-05 Tim Van Holder ! * ltdl.m4: Canonicalize descriptive text used with ! AC_DEFINE. ! * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Remove. ! (_LT_AC_PROG_ECHO_BACKSLASH): Use $ac_path_separator ! instead of $PATH_SEPARATOR. ! (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Ditto. ! (_LT_AC_TAGCONFIG): Ditto. ! (AC_ENABLE_SHARED): Ditto. ! (AC_ENABLE_STATIC): Ditto. ! (AC_ENABLE_FAST_INSTALL): Ditto. ! (AC_PATH_TOOL_PREFIX): Ditto. ! (AC_PATH_MAGIC): Ditto. ! (AC_PROG_LD): Ditto. ! (AC_PROG_NM): Ditto. ! * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): Ditto. ! 2001-08-05 Gary V. Vaughan ! From Brad : ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: OpenBSD ! can build modules without a `lib' prefix and version number. ! Move the deplibs check code from here... ! (AC_DEPLIBS_CHECK_METHOD): ...to here. ! 2001-08-05 Tim Mooney ! * libtool.m4 [osf3*, osf4*, osf5*]: Tru64 *can* build modules ! without a `lib' prefix to the module name. ! 2001-08-05 Gary V. Vuaghan ! From Guido Draheim : ! * ltmain.in: Display better and different error messages when ! library linkage fails in various ways. ! 2001-08-05 Albert Chin-A-Young ! * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Add newline after ! terminating '}' grouping character. Change '[0-9][0-9]' ! to '0' as we've already matched it. ! 2001-08-05 Gary V. Vaughan ! From Brad : ! * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace ! 1.3 era $linkopts references with $linker_flags. ! * libltdl/ltdl.c: Fixed several careless mistakes in the ! foreach_dirinpath support functions. ! (foreach_dirinpath): Walk path elements with the argz API. ! 2001-08-04 Gary V. Vaughan ! From Sedi Master Albert Chin : ! * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Replace the awk invocation ! with an equivalent bit of sed wizardry. ! From Edouard G. Parmelan ! * libtool.m4 [darwin, openbsd]: Fix quoting problems with ! unquoted [] expressions. ! 2001-08-03 Gary V. Vaughan ! * bootstrap: s/ltdldemo // -- This demo soesn't work properly, ! so I haven't committed it yet. ! 2001-08-01 Ossama Othman ! * libtool.m4 (AC_LIBTOOL_SETUP): Require Autoconf-2.50 via the ! AC_PREREQ autoconf macro since the new libtool macros utilize ! macros from that version of Autoconf. ! ! 2001-08-01 Gary V. Vaughan ! ! * ltdl.m4: Bump serial number. ! General reformat and tify up in line with Autoconf-2.50 support. ! (AC_LTDL_FUNC_ARGZ): Test for system implementations of a ! handful of argz API calls, the error_t type, and the argz.h ! header. ! * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump version number. ! * libltdl/ltdl.c (rpl_argz_append, rpl_argz_create_sep. ! rpl_argz_insert, rpl_rgz_next): Fallback implementations of ! the similarly named functions for machines that don;t use glibc. ! (lt_dlrealloc): New memory function pointer that can be set by ! the client. Defaults to rpl_realloc, which in turn uses only ! lt_dlmalloc and lt_dlfree. ! (LT_EMALLOC, LT_EREALLOC): Set internal out-of-memory error ! inside the functions called by these new macros. Simplified all ! callers by removing explicit client error reporting. ! (memmove): Fallback implementation of overlap safe memory copy ! function. ! (tryall_dlopen): Factorized common code into... ! (tryall_dlopen_module): ...this new helper function. ! (canonicalize_path): Changed function signature to return success ! or failure. Updated all callers. ! (foreachfile_callback): Make use of argz API. ! (LT_DLSTRLEN): Moved from here... ! * libltdl/ltdl.h (LT_STRLEN): ...to here. Updated all callers. ! (lt_dlrealloc): Declare new memory management handle. ! ! 2001-07-31 Robert Boehne ! ! * libtool.m4 (mingw*) Revert the previous change as it was ! applied by mistake. ! ! 2001-07-31 Guido Draheim ! ! * libtool.m4 (mingw*) sys_lib_search_path_spec: ! Sets the proper path separator for cross-compiling. ! ! 2001-07-30 Steve Ellcey ! ! * libtool.m4 (ia64-*-hpux*) Add support for ia64*-*-hpux* platform. ! ! 2001-07-30 Robert Boehne ! ! * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Fixed an ! incorrect resetting of lt_prog_compiler_static when using gcc ! under AIX Power. ! ! 2001-07-31 Gary V. Vaughan ! ! * bootstrap: Remove generated files (incase they are links) before ! rerunning the autotools to regenerate them. ! ! 2001-07-30 Gary V. Vaughan ! ! * libtool.m4 (AC_LIBTOOL_SETUP): Use Autoconf-2.50 era ! quadrigraphs and AC_HELP_STRING to bring AC_ARG_WITH/ENABLE ! macros up to date. ! (_LT_AC_LOCK): Ditto. ! (_LT_AC_TAGCONFIG): Ditto. ! (AC_PROG_LD): Ditto. ! (AC_ENABLE_SHARED): Ditto. And eliminate the last remaining ! changequote invocations. ! (AC_ENABLE_STATIC): Ditto. And Ditto. ! (AC_ENABLE_FAST_INSTALL): Ditto. And Ditto. ! * ltdl.m4 (AC_LTDL_ENABLE_INSTALL): Use Autoconf-2.50 era ! quadrigraphs and AC_HELP_STRING to bring AC_ARG_ENABLE ! macro up to date. * NEWS: Updated. ! * libtool.m4 [UnixWare7, OpenUNIX8]: Initial support for ! UnixWare7 and OpenUNIX8. Accept these identifiers from the ! latest config.guess/config.sub as pseudonyms for sysv5uw[78]. ! * NEWS: Updated. ! Reported by Boyd Lynn Gerber ! 2001-07-29 Gary V. Vaughan ! * tests/sh.test: Add a new test to enforce X as the fill ! character in `test "X...'. ! Beef up the `test' tests to also check `test -.' and `test ! -.' ! phrases for compliance. ! * ltmain.in: Fix quoting problems uncovered by the new tests. ! 2001-07-29 Andrew C. Feren ! * tests/sh.test: New test to disallow `test $foo', where ! `test "$foo"' is much safer. ! * ltmain.in: Fix quoting problems uncovered by the new test. ! 2001-07-29 Steve Ellcey ! * libtool.m4 (lt_cv_sys_global_symbol_to_cdecl): Change it from ! "extern char" to "extern int" so that GCC 3.0 won't complain and ! refuse to compile programs containing "extern char main()". ! 2001-07-29 Gary V. Vaughan ! From Guido Draheim : ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Support ! cross compilation to mingw by allowing `:' or ';' as a path ! separator. ! * NEWS: Updated. ! 2001-07-27 NIIBE Yutaka ! * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all ! for sh*-*-linux* (SuperH) too. ! 2001-07-25 Ossama Othman ! From Thomas Poindessous ! * ltmain.in (pic_mode): Added missing quotes around shell ! variable in "if test" conditional. ! From Peter Moulder ! * ltmain.in (xform): Add support for pre-processed ! (e.g. `*.{i,ii}' sources). ! 2001-07-25 Gary V. Vaughan ! From Steve Ellcey : ! * libltdl/ltdl.c (foreach_dirinpath): Free unassigned pointer ! fix for `canonical'. ! 2001-07-23 Robert Boehne ! * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS) ! [aix4*, aix5*]: Fixed a mispelled binder option under AIX. ! The option to throw errors for unresolved external references is ! -bernotok, not -bnoerok. ! 2001-07-23 Gary V. Vaughan ! * Makefile.am (EXTRA_DIST): Don't forget to distribute ! ChangeLog.1. ! From Erik Lindahl ! * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Used on aix to discover ! the compiler's default library search path so that the MPI ! compiler suite is not hosed by the previously hardcoded path. ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Use it. ! 2001-07-23 Andreas Schwab ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for ! s390*-*-linux* and m68*-*-linux*. ! 2001-07-19 Robert Boehne ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix tag support ! problems with CXX variables being overwritten by the individual ! macros. ! (AC_LIBTOOL_PROG_CC_C_O): Ditto. ! (AC_LIBTOOL_PROG_COMPILER_PIC): Ditto. ! (AC_LIBTOOL_LANG_CXX_CONFIG): Moved call to ! AC_LIBTOOL_SYS_HARD_LINK_LOCKS after the call to ! AC_LIBTOOL_PROG_CC_C_O as it depends on the result. ! (AC_LIBTOOL_LANG_GCJ_CONFIG): Ditto. ! (AC_LIBTOOL_LANG_C_CONFIG): Ditto. ! (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Used the macro ! _LT_AC_TAGVAR to ensure the correct variable is being queried. ! (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Changed the naming of shared ! objects under IRIX back to what it was in the MLB. ! 2001-07-23 Mark Kettenis ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN) [gnu*]: Remove spurious ! "break" and bogus comment ! (_LT_AC_LANG_CXX_CONFIG): Add support for the Hurd. ! * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Add support for the Hurd. ! 2001-07-16 Robert Boehne , Tim Mooney ! * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): add cases and comments for ! more platforms, including AIX, Digital/Tru64 UNIX and IRIX. ! 2001-07-16 Gary V. Vaughan ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix ia64 AIX ! run-time-linking when not using gcc. ! (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. ! Reported by Dan McNichol ! 2001-07-12 Gary V. Vaughan ! From dda@sleepycat.com (Don Anderson): ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [qnx]: New ! supported architecture. ! (AC_DEPLIBS_CHECK_METHOD) [qnx]: Ditto. ! * NEWS: Updated. ! From Stefan Ondrejicka : ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [cygwin*]: Make ! sure that /lib/w32api is searched for system libraries to ! match recent versions of cygwin. ! * NEWS: Updated. ! 2001-07-12 Dan McNichol ! From albert chin ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix AIX ! run-time-linking when using gcc. ! (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. ! ! 2001-07-11 Gary V. Vaughan ! ! * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, ! solaris]: Doh! the evalled variable shouldn't have been ! quoted. ! ! * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, ! solaris]: output_verbose_link_cmd have unquoted `*' in case ! statements for these architectures. Be sure to quote them ! with a sed expression before passing to eval. Reported by Tim Mooney ! 2001-07-09 Gary V. Vaughan ! * README-alpha: s/configure.in/configure.ac. ! * configure.ac: Bumped version to 1.4c. ! GNU libtool 1.4b was released. ! * configure.ac: Bumped version to 1.4b. ! * NEWS: updated. ! * config.guess, config.sub, texinfo.tex: Synchronised from ! ftp.gnu.org. ! 2001-07-09 Robert Boehne ! From Michael Elizabeth Chastain : ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len ! to a maximum of 512Kb, as it seems some HPUX 11.0 systems ! have trouble with 1MB. ! 2001-07-09 Gary V. Vaughan ! * README-alpha: Upgrade distribution instructions to include ! canonical location of texinfo.tex. ! 2001-07-09 Timothy Wall ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Don't disable shlibs ! on AIX5/IA64 with GNU ld. Keep gnu defaults if using gnu tools ! on AIX5/IA64. ! 2001-07-09 Robert Boehne ! * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len ! to -1 on hurd, it has no command line argument limits. ! * ltmain.in Handle max_cmd_len=-1 for systems that don't have ! command line argument limits. ! 2001-07-05 Gary V. Vaughan ! * libtool.m4 (_LT_AC_LANG_C_CONFIG): Revert to 1.3.x ! sematics, and always build static libs when the host machine ! cannot build shared libs. Even if static libs were explicitly ! disabled. ! 2001-07-02 Gary V. Vaughan ! Cleanup of libltdl: ! * ltdl.c (lt_dladderror): Don't use `index' as a variable name, ! since it is a function on BSD based boxes. ! (lt_dlseterror): Ditto. ! (lt_dlexit): Remove unused errormsg declaration. ! (foreach_dirinpath): Make sure filename is initialised. ! (find_handle): Return NULL for a failed search. ! (foreachfile_callback): Don't reuse data2 symbol from prototype ! in func declaration to prevent symbol shadowing. ! * ltdl.h (lt_dlmutex_seterror): Don't use `error' as a parameter ! name, since it is a function on glibc boxes. ! ! * libtoolize.in: Display --version in the same format as ! autoconf and automake. ! * ltmain.in: Ditto. ! 2001-06-30 Gary V. Vaughan ! Merge test improvements from multi-language-branch: ! * tests/defs: Find and set the value of CC probed by libtool.m4 ! * tests/link-2.test: Use a .lo wrapper script, and the value of ! CC set by defs instead of hardcoding gcc. ! * tests/link.test: Use the value of CC set by defs instead of ! hardcoding gcc. ! * tests/quote.test: Ditto. ! * tests/suffix.test: Ditto. ! * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Always set ! lt_prog_compiler_wl to `-Wl'. ! Reported by Albert Chin-A-Young ! * ltdl.m4 (AC_LTDL_DLLIB) [sco3.2*]: When searching for a dlopen ! implementation, and adding `-ldl' has failed, try linking a call ! to dlopen, #including dlfcn.h, and without -ldl. On sco3.2 the ! header files redefines the interface symbols to point at the ! implementation symbols in libc. ! Reported by "Golubev I. N." ! ! 2001-06-29 Tim Van Holder ! ! General cleanup of autoconf-2.50 upgrade: ! * configure.ac: Mark as needing autoconf-mode in ! emacs. Pass arguments to AC_INIT. ! * cdemo/configure.ac: Ditto. ! * demo/configure.ac: Ditto. ! * depdemo/configure.ac: Ditto. ! * libtldl/configure.ac: Ditto. ! * mdemo/configure.ac: Ditto. ! * pdemo/configure.ac: Ditto. ! * tagdemo/configure.ac: Ditto. ! * ltdl.m4: Mark as needing autoconf-mode in ! emacs. ! * libtool.m4: Mark as needing autoconf-mode in ! emacs. Don't add () to AS_MESSAGE_LOG_FD. ! * libltdl/configure.ac: Use config-h.in as ! template for config.h. ! * tagdemo/configure.ac: Drop the AC_DIAGNOSTIC. Move ! AC_LANG([C++]) after the OBJEXT/EXEEXT check. ! 2001-06-29 Gary V. Vaughan ! From Tim Van Holder ! * tests/suffix.test: Typo in 2nd for loop. ! From Tim Van Holder ! * libltdl/Makefile.am (OBJECTS): This was an implicit variable. ! instead state the list of object variables explicitly. ! From Bruno Haible ! * libtool.m4: undefine the m4 builtin `symbols', so that the ! string `symbols' can be used in the rest of the code without ! causing errors with autoconf-2.13. ! From "Golubev I. N." ! * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. ! * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 ! does use symbols from libsub.la -- only platforms that allow ! undefined symbols in libraries were able to cope with this ! previously. ! Reported by Robert Collins ! From "Golubev I. N." ! * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs ! -wl,-Bexport to make self dlopen work. ! 2001-06-28 Gary V. Vaughan ! From Alexander Bluhm ! * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation ! assumptions. ! * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define ! lt_cv_sys_global_symbol_to_c_name_address to be a sed expression ! for mangling the output of the symbol pipe into a brace delimited ! C declaration of symbol name and address. ! * ltmain.in: Use it to generate the fooS.c symbol name ! Reported by Albert Chin-A-Young ! 2001-06-28 Tim Van Holder , Gary V. Vaughan ! * bootstrap: Use cp instead of ln -s, for systems without ! symlinks. Reorder the statements to avoid repetition outside ! the loop. ! ! 2001-06-28 Paolo Bonzini , Gary V. Vaughan ! ! Libtool now builds with the help of Autoconf-2.50! ! * configure.ac (AC_PREREQ): Require Autoconf-2.50 or newer. ! (AC_PROG_CPP, AC_EXEEXT, AC_OBJEXT): Removed. Autoconf-2.50 ! doesn't have the AC_REQUIRE bug that required these to be called ! explicitly from here. Autoconf-2.50 uses this file instead of... ! * configure.in: ...this, which is now deleted. ! * cdemo/configure.ac, cdemo/configure.in: Ditto. ! * demo/configure.ac, demo/configure.in: Ditto. ! * depdemo/configure.ac, depdemo/configure.in: Ditto. ! * libltdl/configure.ac, libltdl/configure.in: Ditto. ! * mdemo/configure.ac, mdemo/configure.in: Ditto. ! * pdemo/configure.ac, pdemo/configure.in: Ditto. ! * tagdemo/configure.ac, tagdemo/configure.in: Ditto. ! * libltdl/acconfig.h: Deleted. ! * Makefile.am (libtool): libtool now depends on configure.ac. ! * libtool.m4 (_LT_AC_LOCK): Use 2.50's AC_LANG_PUSH/AC_LANG_POP ! instead of 2.13's AC_LANG_SAVE/AC_LANG_RESTORE. ! (AC_LIBTOOL_LANG_C_CONFIG): Ditto. ! (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. ! * libtoolize.in: Use $configure_ac, instead of hardcoding ! configure.in. ! 2001-06-28 Tim Van Holder ! * pdemo/Makefile.am: Use '=' instead of '+=' to shut up ! automake. ! 2001-06-27 Gary V. Vaughan + From brad@openbsd.org: * NEWS: Updated. ! * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: Improved ! support for various openbsd platforms. ! (AC_LIBTOOL_PROG_LD_SHLIBS): Ditto. ! * ltmain.in: Ditto, ! 2001-06-26 Gary V. Vaughan * NEWS: Updated. ! * libltdl/ltdl,c (LT_DLMUTEX_LOCK): Renamed from MUTEX_LOCK to ! avoid potential namespace clash. ! (LT_DLMUTEX_UNLOCK, LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR): ! Ditto. ! (lt_dlmutex_lock_func): Renamed from mutex_lock to avoid a ! namespace clash of NCR MP-RAS. ! (lt_dlmutex_unlock_func, lt_dlmutex_seterror_func, ! lt_dlmutex_geterror_func): Ditto. ! Reported by Edouard G. Parmelan ! ! * libltdl/ltdl.c (LT_DLSTRLEN): Call strlen only if the argument ! is non-NULL and non-zero in length. Changed all calls to strlen ! appropriately. ! ! * libltdl/ltdl.c: Prototype all static functions. ! ! * ltdl.m4: Bump serial number to 3. ! (AC_LIB_LTDL): Require AC_HEADER_DIRENT for ltdl.c. ! * libltdl/ltdl.h (lt_dlforeachfile): Prototype for new function. ! * libltdl/ltdl.c: Include an appropriate header for the ! opendir/dirent api. ! (foreach_dirinpath): Visit each file in a list of directories. ! (find_file_callback): Factor out the core of find_file() to make ! use of foreach_dirinpath(). ! (find_file): Use it! ! (find_handle_callback, find_handle): Ditto. ! (lt_dlforeachfile): New function to find files in a searchpath.,, ! (foreachfile_callback): ...using this callback. ! * doc/libtool.texi (Libltdl interface): Document new ! lt_dlforeachfile api call. ! ! 2001-06-25 Gary V. Vaughan ! ! * THANKS: Added Albert Chin-A-Young. ! ! * libtool.m4 (IFS): When IFS is changed to split a string for ! examination in a loop, restore it inside the loop as well as ! outside incase IFS is needed by commands in that loop. ! Reported by Pavel Roskin ! 2001-06-25 Albert Chin-A-Young ! * libtool.m4: Prefer shl_load to dlopen on HP-UX because dlopen ! won't work properly without a patch. ! 2001-06-25 Daniel Harvey ! * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through ! the script correctly, change to $''0 ! 2001-06-25 Maciej W. Rozycki ! * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for ! mips-*-linux* and mipsel-*-linux*. ! 2001-06-24 Andreas Schwab ! * libtool.m4 (AC_LIBTOOL_SETUP): Remove failed try to ! transform linux to linux-gnu in $host. ! (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match $host_os against ! linux*, not linux-gnu*. ! (AC_DEPLIBS_CHECK_METHOD): Likewise. ! ! 2001-06-24 Gary V. Vaughan ! ! * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Set ! PATH_SEPARATOR appropriately if it is not set already, ! (_LT_AC_TAGCONFIG): Use it. ! (AC_ENABLE_SHARED): Ditto. ! (AC_ENABLE_STATIC): Ditto. ! (AC_ENABLE_FAST_INSTALL): Ditto. ! (AC_PATH_TOOL_PREFIX): Ditto. ! (AC_PATH_MAGIC): Ditto. ! (AC_PATH_PROG_NM): Ditto. ! ! From Tim Van Holder : ! * libtool.m4: Use the canonical absolute path test ! ([\\/]* | ?:[\\/]) and $PATH_SEPARATOR wherever ! appropriate. ! (AC_LIBTOOL_PROG_CC_PIC): Properly recognize DJGPP as a ! platform that doesn't support shared libraries. ! (AC_LIBTOOL_SYS_MAX_CMD_LEN): Avoid this test on DJGPP; use a ! fixed value (12K) instead. ! (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't forget $ac_exeext ! when testing for link success. ! ! * configure.in (AM_INIT_AUTOMAKE): Bumped version to 1.4a. ! ! Complete the new configure time tags creation facility based on ! the ltcf-*.sh and ltconfig.in files from multi-language-branch: ! * libtool.m4: More refactoring and reformatting. ! (_LT_AC_LANG_GCJ_CONFIG): Merged ltcf-gcj.sh from ! multi-language-branch. ! (_LT_AC_LANG_CXX_CONFIG): Merged ltcf-cxx.sh from ! multi-language-branch. ! * configure.in (AC_PROG_CXX, LT_AC_PROG_GCJ): Compiler checks must ! be done before AC_PROG_LIBTOOL which appends tags based on their ! results. ! ! 2001-06-12 Robert Boehne ! ! * docs/libtool.texi: Updated the libltdl interface documentation ! to bring it up to date. ! ! 2001-06-06 Gary V. Vaughan ! ! * demo/Makefile.am (objdir): Use `libtool --config' for ! extracting configuration values, since a given value may ! be present in each tag. ! (hc-libpath): Ditto. ! (hc-minusL): Ditto. ! * libtool.m4 (_LT_AC_TAGCONFIG): Add tagged configurations from ! the --with-tags option. ! (_LT_AC_LTCONFIG_HACK): Factored out into separate configuration ! macros -- The interdependencies and running order are still ! immutable, and need a lot of work to fix. ! (AC_LIBTOOL_CONFIG): Taken from the previous incarnation of ! _LT_AC_LTCONFIG_HACK -- this macro is used both to create the ! primary (C language) libtool configuration from ! _LT_AC_LTCONFIG_HACK and also to append tagged configurations from ! _LT_AC_TAGCONFIG. ! * NEWS: Merged from multi-language-branch. ! ! 2001-06-06 Robert Boehne ! ! * bootstrap: Added tagdemo and pdemo tests from ! multi-language-branch. ! * configure.in: Added pdemo and tagdemo to CONF_SUBDIRS ! and merged references to CXX and GCJ from multi-language-branch. ! * pdemo: Added test directory from multi-language-branch. ! * tagdemo: Added test directory from multi-language-branch. ! * tests/Makefile.am: Merged additional tests from ! multi-language-branch. ! * tests/pdemo-*.test: ditto. ! * tests/tagdemo-*.test: ditto. ! ! 2001-05-30 Gary V. Vaughan ! ! * libtool.m4: Merged ltconfig.in from multi-language-branch. ! ! 2001-05-28 Gary V. Vaughan ! ! * libtool.m4: Reformatting for consistency, and some refactoring ! in preparation for ltcf-*.sh merge. ! ! 2001-05-27 Gary V. Vaughan ! ! * ltmain.in: Merged from multi-language-branch. ! * libtool.m4: Merged from multi-language-branch. ! * ChangeLog: Started afresh. Old ChangeLog history moved to... ! * ChangeLog.1: ...here. ! Continued in ChangeLog.1 ! $Revision: 1.1220.2.1 $ $Date: 2003/04/14 22:48:00 $ Index: libtool/ChangeLog.1 diff -c /dev/null libtool/ChangeLog.1:1.3 *** /dev/null Mon Apr 14 19:16:45 2003 --- libtool/ChangeLog.1 Mon Jun 25 16:42:45 2001 *************** *** 0 **** --- 1,3537 ---- + 2000-06-04 Mark Mitchell + + * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, + with_gcc]: Use `gcc -shared' to build a shared library. + + 2001-06-04 John David Anglin + + * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared + archives. + + 2001-05-28 Simon Patarin + + * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared + libraries when using g++ with native linker. + + 2001-05-28 Albert Chin + + * ltconfig.in (version_type, soname_spec) [aix4* | aix5*]: Use + linux-style versioning, and remove trailing .o from soname_spec. + + 2001-05-22 Alexandre Oliva + + * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) + [aix4*|aix5*]: Prepend blank. + + 2001-05-20 Alexandre Oliva + + * configure.in: Reverted to 1.4, to avoid confusion with MLB. + Mainline is the release snapshot, except for the ChangeLog version + number, until the multi-language branch is merged into it. + + * ltconfig.in: Fix sh.test regression introduced in previous patch. + + * ltconfig.in (lt_cv_sys_max_cmd_len): Improve test to work better + in case of non-built-in echo. Set bounds correctly. + + * ltcf-cxx.sh (allow_undefined_flag) [aix4* | aix5*]: Fix quote + error. + + * ltmain.in (exec_cmd): New variable. Don't exec programs within + the big `case'; set the variable instead, and exec the cmd + afterwards, so that the shell gets a chance to clean up here-doc + files. + * NEWS: Update. + + 2001-05-16 Alan Modra + + * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. + + 2001-05-03 Andreas Jaeger , Andreas Schwab + + * ltmain.in (relink_command): Arrange for wrapper script to save + output to a variable and display it only if relinking fails. + + 2001-04-25 Gary V. Vaughan + + * configure.in: bumped version to 1.4a. + + GNU libtool 1.4 was released. + + * configure.in: Bumped version to 1.4. + * config.sub, config.guess: Synchronised from ftp.gnu.org. + * NEWS: updated. + + 2001-04-24 Peter Eisentraut + + * libtool.m4: Support $host_os as /sysv5uw7*/ from newer + config.guess in addition to older /unixware*/. Use compiler + driver, not linker, for linking shared libraries. + + 2001-04-24 Gary V. Vaughan + + * libtool.m4, ltmain.in, libltdl/configure.in, + tests/quote.test: Remove stale references to ltconfig. + + * ltdl.m4 (AC_C_INLINE): No longer required. + * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, + free_vars): Revoke inline keyword from declarations. `static + inline' is not very portable, and in addition Unixware 7.1.1's + compiler says you can't access static variables from inline + functions. + Reported by Peter Eisentraut + + 2001-04-24 Albert Chin-A-Young + + * libtool.m4: Handle case where /bin/nm -p outputs multiple + symbol types (like under HP-UX 11.00). + + 2001-04-24 Thomas Tanner + + * TODO: describe problems with libltdl + * ltmain.in (ILD): tidy up, add comments, remove dead code, + merge duplicate code + * ltmain.in (ILD): don't touch newdependency_libs after scan or + dlopen pass + * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened + module (remove absolutely wrong quick hack) + * ltmain.in (ILD): remove wrong comments about duplicate removal + * ltmain.in (ILD): build a static-only module if it has + static libraries in its dependencies (so that libltdl can + safely load dependency_libs) + * ltmain.in (argument parsing): prefix comparsions of -l args with X, + replace -lc with `-framework System' _after_ the ILD passes + * ltmain.in (argument parsing): support dl[pre]open + for both .o and .lo files + * ltmain.in (deplibs_check): use portable test syntax + * ltmain.in (help): document -prefer-[non-]pic flags + * ltmain.in: improve readablity by adding some comments, + rename uninst_* to notinst_* (more adequate name) + + 2001-04-24 Gary V. Vaughan + + * doc/PLATFORMS: More updates from subscribers to + libtool@gnu.org. + + From Tim Mooney + * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test + scripts get the same make that was used in the top level + directory. + + 2001-04-23 Gary V. Vaughan + + * doc/PLATFORMS: Updated with more platforms successfully + tested by members of libtool@gnu.org. + + 2001-04-23 Peter Eisentraut + + * doc/PLATFORMS: With this patch, freebsd4.3 passes the test + suite. + * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules + are left. + + 2001-04-23 Gary V. Vaughan + + * doc/PLATFORMS: With this patch, my Solaris boxes now pass the + test suite, Yay! + From Albert Chin-A-Young + * ltmain.in: `test -L' is not portable, and infact breaks uninstall + mode on Solaris. Fallback to `test -h' and finally `test -f', + but be careful not to let the failure status cause libtool to + stop. + + From Simon Spero + * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while + checking for dlsym _. + + From Simon Spero + * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! + + * TODO: Make a note to undo this later. + From Christoph Pfisterer + * libtool.m4: Use $() execution substitution quotation to work + around zsh builtin echo \ escape removal. + + 2001-04-22 Peter Eisentraut + + * bootstrap: Allow overriding the location aclocal, automake, + autoconf, autoheader from the environment. + + * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments + if the variable was not set with `=' earlier. `+=' was not useful + here anyway. + + 2001-04-22 Gary V. Vaughan + + * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must + check for that here. + * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for + the dlopen loader. + Reported by Matthew Schalit + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for + various releases of UnixWare and OpenServer that support it. + Reported by Matthew Schalit + + * doc/PLATFORMS: Updated with various platforms successfully + tested by members of libtool@gnu.org. + + 2001-04-21 Gary V. Vaughan + + * TODO: propose pkg-config merge. + + 2001-04-21 Nick Hudson + + * ltmain.in: Correct an error in yesterday's patch. + + 2001-04-20 Nick Hudson + + * libtool.m4: Improve NetBSD support. + * ltmain.in: ditto. + + 2001-04-19 Dan McNichol + + * libtool.m4: Build standard shared libraries on AIX POWER + more like AIX does, with a shared object archived into lib.a. + On AIX -bexpall flag does strange things... Don't use it. + Fix quotes around -berok flag. Add support for AIX 5. + Add support for run time linking on AIX POWER. (should work + on AIX 4.2 and up). Turn this feature on by adding -brtl flag + to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 + uses a SYSV type linker. Add a comment telling what to do if the + TOC starts getting too large on AIX. + * NEWS: mention aix5 support. + + 2001-04-18 Alexandre Oliva + + * TODO: Add -L- flag. + + 2001-04-11 Alexandre Oliva + + * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. + + 2001-04-11 Ossama Othman + + * AUTHORS: Added myself to the list of maintainers. + + 2001-04-08 Gary V. Vaughan + + * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} + to pass -rpath when compiling with gcc. + Reported by Tim Mooney + + * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' + module, since HPUX adds module symbols into the `self' pool if + it is opened later. Return the cached pointer if the caller + subsequently tries to open `self'. + (sys_shl_sym): Diagnose NULL modules. + + From Peter Eisentraut + * ltmain.in (clean,uninstall): test -e is not portable. Well, + neither is -L, but I'm hoping that redirecting error messages + to /dev/null and relying on non-zero exit status will work okay + on the few hosts that don't support -L. + + 2001-04-08 Nick Hudson + + * ltmain.in: Improve check for valid -version-info parameter. + + 2001-04-08 Gary V. Vaughan + + From Nick Hudson + * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it + is included in the distribution. + + 2001-04-07 Peter Eisentraut + + * ltmain.in (clean,uninstall): Do not error if the file doesn't + exist and 'rm -f' was used. Exit with status 1 on error. + + 2001-04-06 Nick Hudson + + * ltmain.in: Implement a new deplibs_check_method called + match_pattern that does pattern matching on filenames... + * libtool.m4: ...use it with NetBSD + + 2001-04-05 Gary V. Vaughan + + * doc/libtool.texi (Multiple dependencies): A note about the + problems I've reintroduced by reverting the my patch of 2001-03-31. + + From Edward Lee + * libtool.m4: Typos. + + * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. + * tests/depdemo-dups.test: Removed, as part of the patch + reversion below. + * ltmain.in: Revert my change from 2001-03-31. Although it + was technically correct, it opens a whole can of worms we don't + want to deal with right now. + + From Ahmed Masud + * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle + for self opening. + (sys_shl_close): Be careful not to close a NULL module handle. + (sys_shl_sym): Allow shl_findsym() to open NULL modules, but + discard the modified module address it returns. + + * libltdl/ltdl.c (lt_dlopen): When reading the .la file, + reallocate the line buffer size if the line overflows the + original buffer. + Reported by Nick Hudson + + * NEWS (1.3d) Removed bogus ltconfig reference. + + 2001-04-03 Gary V. Vaughan + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious + `dnl' from the help text of --with-pic. + Reported by stefan + + 2001-04-02 Gary V. Vaughan + + * configure.in: bumped version to 1.3e. + + GNU libtool 1.3d was released. + + * NEWS: inserted todays date. + + 2001-04-01 Christoph Pfisterer + + * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly + hardcodes the library path and adds versioning. Other small + fixes. + * ltmain.in: Fixed special cases for libc and libm on Rhapsody and + Darwin. One of them was misplaced. Added version_type case for + Rhapsody and Darwin, named "darwin". + + 2001-03-31 Gary V. Vaughan + + * ltmain.in: Remove the code for stripping duplicate deplibs + from libtool link lines -- duplicates are somtimes necessary + to satisfy inter-library dependencies, and never cause link to + fail even if they are spurious. + * tests/depdemo-dups.test: New file. Make sure this bug doesn't + creep back in again! + * tests/Makefile.am (TESTS): Use the new test above. + + 2001-03-29 Edward M. Lee + + * libtoolize.in: Check configure.ac and prefer configure.ac to + configure.in. + + * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to + AC_PROG_LIBTOOL. + + * libtool.m4: Generate dll/import libraries for cygwin according + to the following: libFOO.a (static lib), libFOO.dll.a (import + lib), cygFOO-version.dll (dll). Update postinstall_cmds and + postuninstall_cmds to reflect this. + * ltmain.in: Generate installed .la files with dlnames set to + ../bin/cygFOO-version.dll for normal dlls. dlls for modules + remain with the .la file. + + * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. + + 2001-03-16 Albert Chin + + * libtool.m4 (save_CPPFLAGS): Fix typo. + + 2001-03-13 Alexandre Oliva + + * libtool.m4 (lt_cv_compiler_c_o): Cache it. + (lt_cv_compiler_o_lo): Likewise. + + 2001-03-09 Peter Eisentraut + + * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). + + 2001-03-08 Gary V. Vaughan + + * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted + in yesterday by mistake. + + 2001-03-07 Gary V. Vaughan + + From Tor Lillqvist + * libtool.m4 (export_symbols): On Windows, if the export_symbols + file (which has been passed to libtool with the -export-symbols + command line switch) already is a .def file, use it as is. + + * libtool.m4 (library_names_spec): Using m4 quotes correctly this + time around! + + From Tor Lillqvist + * libtool.m4 (library_names_spec): Use an appropriate filename + prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. + + 2001-03-06 Alexandre Oliva + + * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to + 2.96 can't build shared libraries reliably. Disable them. + + * ltmain.in: When dropping dependencies of a -no-undefined + library, give up on building a shared library. + + 2001-03-05 Akim Demaille + + * ltmain.sh: Don't quote the argument of case/esac and + assignments. + * libtool.m4: Likewise. + + 2001-03-03 Markus F.X.J. Oberhumer , + Alexandre Oliva + + * libtool.m4: Added explicit return type to all C functions. + + 2001-02-22 Gary Vaughan + + * NEWS: Updated. + * doc/libtool.texi (Thread Safety in libltdl): New node describing + the application the new MT API. + * libltdl/ltdl.h: Prototypes. + * libltdl/ltdl.c: Use these functions throughout the rest of + the file to provide thread locking. + (lt_dlmutex_register): New function to set callbacks for + multi-threaded calls into libltdl. + (lt_dl_mutex_lock): Type of a locking callback function. + (lt_dl_mutex_lock): Type of an unlocking callback function. + (lt_dl_mutex_seterror): Type of a callback function to save the + last libltdl error message in thread local storage. + (lt_dl_mutex_geterror): Type of a callback function to retrieve + the last saved error message from thread local storage. + + 2001-02-20 Gary Vaughan + + * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned + type to a negative number. + Reported by Guenter Millahn + + 2001-02-05 Gary V. Vaughan + + From Nick Hudson + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to + automatically load module deplibs without assistance from + libltdl. + + 2001-02-02 Gary V. Vaughan + + * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, + even when deplibs are not used because of the patch below. + + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host + architecture automatically loads deplibs, then... + * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. + + 2001-01-31 Gary V. Vaughan + + * TODO: Updated. + + * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, + don't sweat -- it may be a lib that is already statically linked + into the loading application. + + * libltdl/ltdl.c: Clean up the shadowing of the global handles + variable. + (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. + (load_deplibs): Cast isspace() argument to an int to satisfy + -Wall. + + 2001-01-30 Robert Boehne + + * AUTHORS: added myself to the list of maintainers. + + 2001-01-28 Alexandre Oliva + + * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built + libraries. + + 2001-01-27 Alexandre Oliva + + * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. + + 2001-01-07 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (User defined module data): Updated. + * libltdl/ltdl.c (lt_dlhandle_next): New function. + * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. + + 2001-01-05 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (User defined module data): Document it all. + * ltdl.m4: Check for memcpy, or else bcopy. + * ltdl.c (lt_caller_data): New type. + (lt_dl_handle_struct): Add an lt_caller_data field. + (lt_dlcaller_register, lt_dlcaller_set_data, + lt_dlcaller_get_data): New functions. + (rpl_memcpy): A minimal fallback implementation. + (rpl_realloc): A realloc implemented with lt_dlmalloc and + lt_dlfree. + (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): + New memory handling convenience macros. Use them + appropriately throughout the rest of this file. + * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, + lt_dlcaller_get_data): Prototyped. + + 2001-01-04 Gary V. Vaughan + + * libltdl/ltdl.h: formatting change. + + 2000-12-23 Gary V. Vaughan + + From vvv@vsu.ru: + * doc/fdl.texi (GNU Free Documentation License): contained @bye + command which prevented part of document to be generated (indices, + etc). + * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain + a space after a type. + + 2000-12-22 Akim Demaille + + * libtool.m4: s/[ \t]*$// + + 2000-12-22 Aneesh Kumar K.V + + * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. + + 2000-12-20 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the + wrong module. + Reported by Robert Boehne + + * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch + below can detect preopened library deplibs correctly in libltdl, + we need to ensure that libtool library deplibs are also preloaded + into the binary for that phase to work. + + 2000-12-16 Aneesh Kumar K.V + + * libtool.m4 (OSF/1): Change the way to pass linker flags through + compiler on a Tru64 machine. + + 2000-12-16 Gary V. Vaughan + + * libtool.m4 (sys_lib_search_path_spec): Use test instead of + `['. + (archive_cmds): And another one. + + * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the + last patch. + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from + sequent, ncr and newos6 back into here from other macros. + + 2000-12-16 Wilfredo Sanchez + + * libtool.m4: (dyld/darwin*) Much improved port. + * ltmain.in: (dyld/darwin*) Much improved port. + + 2000-12-16 Sascha Schumann + + * libtool.m4: Accept darwin as an alias for rhapsody. + * ltmain.in: ditto. + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 + methods to check for library dependencies on HPUX 11. + + 2000-12-16 Nick Hudson + + * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support + for NetBSD a.out. + + 2000-12-15 Akim Demaille + + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename + `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. + Similarly with `lt_cv_global_symbol_to_cdecl + (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', + `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', + `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', + `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. + (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' + (AC_PROG_LD) : Likewise. + (AC_PROG_LD_GNU) : Likewise. + (AC_PROG_NM) : Likewise. + + 2000-12-15 Utz-Uwe Haus + + * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword + to "dependency_libs". + + 2000-12-14 Tod Milam + + * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when + the last module has been unloaded. + + 2000-12-14 Michael Schmitz + + * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) + * README: added Reliant Unix to hte list of supported platforms + * doc/PLATFORMS: added note on tests on Reliant Unix + + 2000-12-14 Masahiro Nobori + + * README: Updated. + * NEWS: Updated. + * libtool.m4: New port to NEWS-OS Release 6. + + 2000-12-14 Nick Hudson + + * libtool.m4 (hardcode_libdir_flag_spec): Remove linker + specification for netbsd. + + 2000-12-14 Akim Demaille + + * libtool.m4: Don't depend on Autoconf internals: + s/ac_cv_prog_gcc/GCC/. + + 2000-12-14 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty + out ac_cv_global_symbol_to_cdecl inside the loop, incase we + need to go around again and try with underscore prefix. + (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) + self dlclosing unloads the main program and causes a SIGSEGV. So + don't do it for now. + + 2000-12-05 Gary V. Vaughan + + Oh My! Cygwin support has bitrotted while I was looking the other + way. This should fix it some: + * libtool.m4 (extract_expsyms_cmds): There is a quoting problem + with autoconf-2.13 that prevents [$]0 from expanding. Use shell + quotes instead to delay eval of $0. + (impgen.c) The '# ' sequence stripped by sed works again. + + 2000-12-01 Gary V. Vaughan + + * doc/libtool.texi (Libltdl interface): Add documentation. + * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add + prototypes. + (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. + * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow + making and testing of resident module status, which prevents a + module from being lt_dlclosed. + (lt_dlopen): If lt_dlopen()ing self, make the module resident. + (lt_dlclose): Return an error if the module is resident. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen + from here... + (AC_LIBTOOL_DLOPEN_SELF): ...to here. + (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h + (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for + checking dlopen status. + * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. + dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. + (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. + + 2000-11-29 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure + to prevent nameclash when used from C++. + * libltdl/ltdl.c: Fixed all references. + + 2000-11-25 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlopen): Change the default search order + for modules. If the named module has no directory component, + always start the search with the user_search_path directories, + and then fall back on the current directory only if that fails. + + 2000-11-20 Gary V. Vaughan + + * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version + number to reflect the breakage of binary compatibility. + * doc/libtool.texi (Libltdl interface): Document + LT_NON_POSIX_NAMESPACE. + * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is + now to use this namespace, so the cpp macro is no longer + necessary. + + 2000-11-20 Morten Eriksen + + * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular + dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. + + 2000-11-20 Paul Berrevoets + + * ltmain.in: Some versions of expr respond with "0" if a + regexp fails to match. + + 2000-11-19 Paul Berrevoets + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and + $3 in variable 'archive_expsym_cmds' for cygwin. + + 2000-11-19 Gary V. Vaughan + + * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those + ending in ``_t'') to deprecated #define compatibility macros. + Also ease up on the namespace pollution, so that only ``lt_'' + and ``LT_'' prefixes are taken from the global namespace. + * ltdl.h: ditto. + + 2000-11-17 Gary V. Vaughan + + * ltdl.c: Reformatted. + * ltdl.h: ditto. + + 2000-11-11 Gary V. Vaughan + + * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest + sourcefile. + * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest + sources and objects. + Reported by Carlo Wood + + * doc/fdl.texi: New file. The license for distributing the + libtool manual. + * doc/libtool.texi: Reference the new license. + + 2000-10-31 Morten Eriksen + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid + error output from cygpath when $srcdir is empty. + + 2000-10-31 Gary V. Vaughan + + * bootstrap: rm Makefiles to prevent infinite loop during + configure when libtool.m4 is newer than Makefile. + + 2000-10-31 Akim Demaille + + * libtool.m4: Adjust the copyright notice. + Quote all the macro names when defined. + Some minor formatting changes. + (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) + (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): + Don't use indir when useless. Don't add trailing `dnl' either. + + 2000-10-30 Gary V. Vaughan + + * doc/libtool.texi: Corrected another attack of CRLF line + endings. + + 2000-10-30 Ossama Othman + + * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken + in the middle of an expression. + + 2000-10-30 Aneesh Kumar K.V + + * libtool.m4 (archive_expsym_cmds): Support for -export-symbol + option on Tru64. + (hardcode_libdir_flag_spec): Fixed cxx throwing error while using + libtool. Done by passing -rpath directlty to the compiler. + + 2000-10-27 Robert Boehne + + * docs/libtool.texi: Added pointers to documentation + of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. + + 2000-10-02 Gary V. Vaughan + + From Bruce Korb + * ltmain.in (execute_dlfiles): Reduce obfuscation. + + 2000-09-30 Alexandre Oliva + + * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, + file_magic_test_file): Removed inappropriate duplicate + definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. + + * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or + '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. + (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. + + 2000-09-28 Gary V. Vaughan + + * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of + the file command use this environment variable to hold the + location of the magic database. + Reported by Marc Espie + + 2000-09-19 Gary V. Vaughan + + * doc/PLATFORMS: Updated. + * demo/configure.in: Revert to the `libtool --features' test. + * Makefile.am (libtool): This needs to rerun configure now that + libtool is generated entirely by AC_PROG_LIBTOOL again. + (ltconfig): Removed. + (ltmain.sh): Is now regenerated when ltmain.in changes. + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for + generating libtool immediately in configure.in, rather than + deferring part of the creation until config.status runs. + + 2000-09-17 Gary V. Vaughan + + * bootstrap: Backed out yesterdays patch which is no longer + necessary. + * Makefile.am (libtool): Reworked rule for regeneration of libtool, + now that it is built entirely withing config.status. + (libtoolize): Tidied for orthogonality with the other generation + rules. + (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from + make by running config.status --recheck. + (ltmain.sh): Moved primary generation of this file into here... + * configure.in (AC_OUTPUT): ...instead of here. + * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig + where it can be reused, rather than directly to libtool. + * demo/configure.in: libtool is no longer present immediately + after AC_LIBTOOL_M4 has completed, so the tests now grep through + ltconfig instead -- which *will* be present. + + 2000-09-16 Gary V. Vaughan + + * TODO: Removed the item describing the change below, and added a + similar item to remind us to change the ltdl.m4 macros again when + _LT_AC_LTCONFIG_HACK is divided into proper macros. + * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required + now that ltconfig has migrated to libtool.m4. + (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. + (AC_LTDL_SHLIBPATH): ditto. + (AC_LTDL_SYSSEARCHPATH): ditto. + + * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe + macro. + (AC_LTDL_SYMBOL_USCORE): ditto. + (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate + of... + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new + macro, extracted from _LT_AC_LTCONFIG_HACK. + + * ltdl.m4 (changequote): An audit of changequote and m4 + quote usage -- all changequotes have been removed, and some + latent unquoted `[' and `]' bugs have been fixed. + + * configure.in (AC_OUTPUT): ltmain.sh must be generated in the + source tree since this is where it would be found in a freshly + unrolled tarball. + + * configure.in: Replace `dnl' comments with `#' comments for + more conformity with cvs autoconf. + Removed emacs hack-local-variables, since there is now a + proper Autoconf major mode. + Removed a couple of changequote()s. + + * bootstrap (ltconfig): When bootstrapping libtool with a + stock automake (i.e. without the README patch applied), + references to ltconfig are manually removed from the generated + Makefile.in files. + + 2000-09-15 Gary V. Vaughan + + * doc/libtool.texi: Removes references to ltconfig, and a small + amount of tidying up to compensate. + + 2000-09-15 Nick Hudson + + * libtool.m4 (netbsd): Improved support. + + 2000-09-15 Gary V. Vaughan + + * ltmain.in (version_type): Use "-iface" as the windows + versioning scheme, where iface is the number of the oldest + interface supported. + + 2000-09-14 Gary V. Vaughan + + From Paul Sokolovsky + * libtool.m4 (pw32): Initial support for pw32, assuming that + libtool's behaviour in this environment is identical to under + cygwin. + * ltmain.in (pw32): ditto. + * NEWS: Updated. + + * libtool.m4 (changequote): An audit of changequote and m4 + quote usage -- all changequotes (except a few with non-nesting + square brackets) have been removed. + + * Makefile.am (EXTRA_DIST): The bootstrap script should be + distributed with libtool. + + 2000-09-13 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. + I just discovered that '&' needs to be escaped inside + AC_TRY_EVAL. + + 2000-09-12 Michael Matz + + * ltmain.in: Be careful about filenames with multiple `.'s in + them when calculating file extensions. + Reported by Joel Reed + + 2000-09-12 Gary V. Vaughan + + libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a + bug in Autoconf-2.13 AC_REQUIRE implementation which inserted + some of the expanded tests too early in the generaated configure. + (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines + itself to an empty expansion to prevent multiple expansions. + configure.in (AC_LIBTOOL_SETUP): Replaced by a call to + AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked + around. + + 2000-09-09 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the + redirections inside AC_TRY_EVAL in the need_lc tests. Doh! + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the + output of grep to /dev/null in the need_lc tests. + + configure.in (AC_PROG_LIBTOOL): Using this in libtools own + configure.in interacts badly with the AC_PROVIDE calls and + results in several tests being inserted into configure too + early. Use AC_LIBTOOL_SETUP instead. + + 2000-09-08 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I + ported from ltconfig.in was incomplete -- this is a backport + of the missing code taken from the multi-language branch. + + 2000-09-07 Pavel Roskin + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of + changequote + + 2000-09-07 Gary V. Vaughan + + * NEWS: Updated. + * TODO: Add a reminder to get rid of ltconfig in mlb. + * README: Until things even out, I have added a note and a + patch to make the installed automake cooperate with the new + ltconfig free libtool. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in + ltmain.sh as it has not yet been set in libtool.m4. Use + $ac_cv_prog_gcc instead. + + * doc/PLATFORMS: Updated. + + * configure.in (AC_PROG_AWK): Removed -- no longer required by + the build process. + * lineno: ditto. + + * libtoolize.in (files): Don't try to install ltconfig -- it + doesn't exist!! + * bootstrap: Fake an ltconfig incase the installed automake + calls an installed libtoolize (as part of its --add-missing + process) which thinks ltconfig should be there. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' + terminator from a case statement by mistake. + + * Makefile.am (ltmain.sh): Make this depend on TSDEPS again + so that the Changelog timestamp is used for ltmain.sh at `make + dist' time. + + 2000-09-06 Gary V. Vaughan + + libtool.m4 now contains a version of the code that used to run + from ltconfig, so that ltmain.sh and then libtool are + generated at configure time. + + * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. + * bootstrap: ltconfig is no more! + * configure.in: Call AC_PROG_LIBTOOL directly. + (AC_OUTPUT): Generate tmain.sh. + * libtool.m4: Don't build an argument list for ltconfig. + (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of + ltconfig.in to take advantage of the m4 macros from autoconf. + * ltmain.in: Don't do a version check against ltconfig. + * tests/assign.test: Remove reference to ltconfig. + * tests/hardcode.test: ditto. + * tests/sh.test: ditto. + + 2000-09-05 Alexandre Oliva + + * depdemo/main.c: Support -alt. + * tests/build-relink2.test: Try it. + + * ltconfig.in: Removed all references to what used to be + hardcode_into_libs=all. 2000-09-03's patch was wrong. + * ltmain.in: Likewise. + * tests/build-relink.test, tests/build-relink2.test: Adjust. + * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before + libfoo2.la, so that they're installed in the right order. + + 2000-09-04 Alexandre Oliva + + * tests/dryrun.test: Build libsub.la along with the object files, + since it is needed by libfoo2.la. + + * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. + Explicitly link it with libsub.la. + + * ltconfig.in (need_lc): Preserve allow_undefined_flag. + + * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on + `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make + sure we pick a non-existent file. + + * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with + ECHO down to ltconfig. + + * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): + Use ${wl}, not ${wlarc}. + + * ltmain.in (compile, need_lock): Don't create nor remove lock + files in dry runs. + + * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use + lt_dlopenext() instead. + + * ltmain.in (link -static): Don't add $link_static_flag; only + -all-static should do that. + * mdemo/configure.in: Revert part of the previous delta. + + * mdemo/configure.in: Don't use -static on AIX4.1. + * mdemo/Makefile.am: Likewise. + + 2000-09-03 Alexandre Oliva + + * ltconfig.in: Get rid of hardcode_into_libs=all; use + hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes + instead. + [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. + * ltmain.in: Likewise. + * tests/build-relink.test, tests/build-relink2.test: Adjust. + + * libtool.m4: Fix typo I introduced in yesterday's patch. + + * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if + dlname is empty. + + * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. + * ltconfig.in: Likewise. + + * tests/mdemo-exec.test: Modify failure message. + + * ltmain.in (newdlprefiles): Use dlname if it's available and + old_library isn't; use linklib only if dlname is not available. + + * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. + + * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. + Quote $@ properly so that the shell expands it, not m4. + + * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL + can be `/path/to/shell -x'. + + * tests/quote.test: Move the match test out of case statements, to + work around bug in /bin/sh of several OSs. + + * ltmain.in (variables_saved_for_relink): Attempt to unset them + instead of setting them to an empty string. + + 2000-09-02 Alexandre Oliva + + * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) + : Use compiler_flags instead of linker + flags. + Reported by Alex Hornby + + 2000-09-02 Makoto Ishisone + + * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, + add support for compact format library. + + 2000-09-02 Alexandre Oliva + + * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's + patch from 2000-06-17. + + 2000-09-02 Tom Kacvinsky , Tim Mooney + + * libtool.m4: Ignore Tru64's nm's complaint. + + 2000-09-02 Pavel Roskin + + * ltconfig.in: only load $cache_file if it's a regular file + + 2000-09-02 Assar Westerlund + + * ltconfig.in: Add back ranlib calls for static libraries if there + is a ranlib. + + 2000-08-31 Gary V. Vaughan + + Move the echo detection code to a macro in libtool.m4. The code + at the top ofltconfig.in is ugly, but will go away when the rest + of ltconfig is migrated. + + * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as + an environment variable. + * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value + correctly so that it inserts the correct code into configure.in + suitably quoted for M4 expansion. This code needs to be near + the top of configure.in as it calls itself recursively, so I + am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS + Autoconf). The value of ECHO is also substitued into the + Makefile to be used when Make calls ltconfig to generate + libtool, so another layer of quotation is required for the + Makefile. + (AC_LIBTOOL_SETUP): Use it. + * ltconfig.in: Accept a value for ECHO from the environment, and + carefully substitue for $0 if it is present in the ECHO value. + Because ECHO was quoted for Make, when ltconfig is called by + configure, it is overquoted, and one layer of quotes must be + stripped. + + 2000-08-27 Gary V. Vaughan + + * ltconfig.in (with_gcc): Make the value of this option + available to the generated libtool script. + * ltmain.in (compile_command, finalize_command): The native C + and C++ compilers on IRIX require the -LANG:std in order to to + compile correctly. The same options should _not_ be passed + through to gcc on IRIX, or at all on other architectures for + backwards compatibility (among others). + Reported by Bob Friesenhahn + Reported by Albert Chin-A-Young + + 2000-08-26 Gary V. Vaughan + + * ltconfig.in (old_reload_flag): typo. + + 2000-08-01 Alexandre Oliva + + * ltmain.in (shtool): Use echo|grep instead of expr, as in the + original patch. + + 2000-08-01 Alexandre Oliva + + * ltconfig.in (need_lc): Fix test message. + + 2000-07-24 Mocha + + * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. + (NetBSD, file_magic_cmd, file_magic_test_file): Set. + + 2000-07-24 Alexandre Oliva , David Kaelbling + + * ltmain.in (irix, major): Prepend a `.'. + * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. + + 2000-07-24 Alexandre Oliva , Ralf S. Engelschall + + * ltmain.in: Support GNU shtool's install. + + 2000-07-24 Alexandre Oliva + + * ltconfig.in (linkopts): Don't set for test. + + 2000-07-24 Nick Hudson + + * ltconfig.in (linkopts): Replace with linker_flags. + + * ltmain.in (ILD): Fix addition of deplibs in relink case. + + 2000-07-18 H.J. Lu + + * ltconfig.in: Check if -lc is necessary for building shared + library. Set build_libtool_need_lc to indicate it. + * ltmain.in: Add -lc when building shared library only if + necessary. + + 2000-07-10 Mo DeJong + + * libtool.m4 (AC_PROG_NM): Fix macro so that it + finds a cross NM on the PATH. + + 2000-07-10 Ken Block + + * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not + by Compaq C++ compiler + + 2000-07-10 Alexandre Oliva + + * ltconfig.in (wlarc, netbsd, aout): Set to empty. + (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. + + * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable + shared libraries just because of MkLinux. + + * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend + on $version_type; check for ELF support as in other BSDs. + + 2000-06-17 Syd Polk + + * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based + on target; use host instead. + + 2000-05-30 Gary V. Vaughan + + * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when + the echo probing code falls into this branch without setting + this variable. + + * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds + were reversed with respect to definition of __ELF__. + From Keisuke Inoue + + 2000-05-29 Gary V. Vaughan + + * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for + freebsd (below). + * libtool.m4 (netbsd ELF): support file_magic. + From Dan Winship . + + 2000-05-29 Steven M. Schultz + + * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd + command. Under BSD/OS 4.1 several libraries are now symlinks + rather than regular files. Adding -L tells the file program + to follow the symlink. + + 2000-05-29 Gary V. Vaughan + + * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). + + * NEWS: Updated. + * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. + From + + 2000-05-29 Fred Fish + + Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. + * ltconfig (old_AR_FLAGS): Add. + (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". + (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". + (AR_FLAGS): Default to "cru" if not set. + + 2000-05-29 Gary V. Vaughan + + * ltconfig.in (echo): The following code actually prints the + double quotes -- so I removed them: + echo='printf "%s\n"' /bin/ksh -c '$echo \\t' + From Tuukka Toivonen + + * NEWS: Updated. + + 2000-05-29 Bernhard Rosenkraenzer + + * libtool.m4: adding ia64 as supported linux platform + + 2000-05-29 Michael Matz + + * ltmain.in: fix quoting for $var_value. + + * ltconfig.in: check for dlfcn.h: include return value + to make -Wall in CFLAGS work. + + 2000-05-27 Gary V. Vaughan + + * README-alpha: note new location of config.(guess|sub). + + 2000-05-27 Chad Cunningham + + * ltconfig.in (rhapsody*): New Port. + * ltmain.in (rhapsody*): ditto. + + 2000-05-27 Chris Lattner + + * ltconfig.in (*-sequent-sysv4): New Port. + + 2000-05-17 Gary V. Vaughan + + * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path + separators. + + 2000-05-14 Alexandre Oliva + + * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): + Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. + * mdemo/configure.in: Remove comments on + AC_LIBLTLD_CONVENIENCE. + + * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... + (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid + effects of multiple runs. + + 2000-05-11 Thomas Tanner + + * NEWS: update + * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader + to lt_dlloader_* + * libltdl/ltdl.c: ditto + * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) + + 2000-05-06 Pavel Roskin + + * libltdl/ltdl.c: Typo. + + * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets + target to "NONE", but to an empty string. + + 2000-05-05 Paul Sokolovsky + + * ltdl.c: support lt_dlopen(0) for win32 + + 2000-05-03 Thomas Tanner + + * doc/libtool.texi (libltdl): fix typos, + INCLTDL starts with top_srcdir, replace NULL with @code{NULL} + + * ltmain.in (ILD): search in newlib_search_path, too + + * ltmain.in (ILD): fix bugs in conv pass, expand convenience + libs to deplibs and link them later on + + * ltmain.in (ILD): don't allow convenience libs to be + -dlopen/preopen'ed + + * ltmain.in (ILD): it's not required to link all deplibs + in fast-install mode + + * ltmain.in (ILD): if hardcode_into_libs=all, only relink + a library if it is linked against uninstalled libtool libraries, + rename link_against_libtool_libs to uninst_deplibs + + * ltmain.in (ILD): tidy up, add some comments + + 2000-05-03 John Wehle (john@feith.com) + + * libtool.m4 (hpux10.20*): use file_magic for + inter-library dependency tracking. + + 2000-05-02 Gary V. Vaughan + + * AUTHORS: Update my email address. + * commit: ditto. + + 2000-04-11 Thomas Tanner + + * NEWS: update + * libtool.m4: add AC_LIBTOOL_PICMODE + * ltconfig.in: move pic_mode checks to ltmain.in + * ltmain.in: add -prefer-pic and -prefer-non-pic + + 2000-03-29 Alexandre Oliva + + * ltmain.in (tmpdir): Do not accept an existing directory, and + force its mode to 700, for security reasons. + Reported by Joseph S. Myers + + 2000-03-27 Thomas Tanner + + * NEWS: reformatting + + * ltmain.in (ILD): add extra convenience library scanning pass + + * ltmain.in (ILD): accept -R flags for libraries, too + + * ltmain.in (ILD): correclty merge the dlpreopened libraries + with deplibs + + * ltmain.in (install mode): remove directories from filenames + before relinking (reported by Elrond ) + + * doc/libtool.texi (libltdl): rename Library -> Lesser, + clarify exception clause + * libltdl/ltdl.c, libltdl.h (License): ditto + + 2000-03-21 Alexandre Oliva + + * ltconfig.in (variables_saved_for_relink): Set to `PATH + $shlibpath_var $runpath_var'. If with_gcc, add gcc-related + environment variables. Add it to the configuration section. + * ltmain.in (relink_command): Expand those variables. + + 2000-03-14 Christopher A. Knight + + * ltconfig.in: added main() definition in compile + check for header `dlfcn.h' to fix link errors + when built with Sun Workshop Pro CC 4.2 (and perhaps + others). + + 2000-02-03 Gary V. Vaughan + + * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. + far cleaner to use lt_dlforeach and lt_dlgetinfo. + * libltdl/ltdl.h: Prototype deleted. + * doc/libtool.texi: Documentation deleted. + * NEWS: annoncement deleted. + + 2000-02-23 Thomas Tanner + + * ltmain.in: remove duplicates from deplibs, handle + interdependent libraries (e.g. -la -lb -la), + this requires adding deplibs in reverse order + + * ltmain.in: link dlpreopened libraries before other libraries + (reported by Pavel Roskin) + * mdemo/Makefile.am: build and link libsub.la + * mdemo/sub.c: new file used by both dlopened modules + * mdemo/foo*: use sub() defined in libsub + * tests/dryrun.test: build libsub.la + + * mdemo/Makefile.am: always link mdemo.static with -static + * mdemo/configure.in: ditto + + * ltmain.in: fix dlopen/dlpreopening of objects + + * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler + + * ltmain.in: merge duplicated code of clean and uninstall mode + + * libtool.m4: recognize powerpc*linux* (reported by + Dirk A. Mueller ) + + 2000-02-23 Gary V. Vaughan + + * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, + old_deplibs_check_method, old_file_magic_cmd): New variabes. + Treat these as old_CC etc. + (STRIP, MAGIC): Create and set these variables in the generated + libtool script. + Reported by Pavel Roskin + + * configure.in: Due to a bug in autoconf-2.13 implementation of + AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the + holder of the command to run in file_magic_cmd instead. + * ltconfig.in: s/FILE/MAGIC/g. + * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when + calling ltconfig. + (AC_PATH_MAGIC): renamed from AC_PATH_FILE. + (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd + to '${MAGIC}' so that make can grok it. + * Makefile.am (libtool): + (clibtool): ditto. + + 2000-02-21 Gary V. Vaughan + + * libltdl/ltdl.c (lt_find_dlhandle): New function. + (tryall_dlopen): Use it. + * libltdl/ltdl.h: Prototype it. + * doc/libtool.texi: Document it. + * NEWS: updated. + + * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. + + * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. + + 2000-02-03 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader + instance data. + (lt_user_dlloader): New lt_dlloader_data_t field. + (lt_module_open_t): Add lt_dlloader_data_t parameter. + (lt_module_close_t): Add lt_dlloader_data_t parameter. + (lt_find_sym_t): Add lt_dlloader_data_t parameter. + (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. + * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to + reassure lint that the unused arguments are intentional. + (lt_dlloader_t): New lt_dlloader_data_t field. + (lt_dlloader_data): New function to return the contents of the + dlloader_data field. + (sys_dl_open): Take an additional lt_dlloader_data_t argument. + (sys_dl_close): Ditto. + (sys_dl_sym): Ditto. + (sys_dl): Initialise lt_dlloader_data_t field. + (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. + (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. + (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As + above. + (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. + (presym_init, presym_exit, presym_open, presym_close, presym_sym, + presym): As above. + (lt_dlinit): Call presym_init with additional argument. + (lt_dlexit): Call dlloader_exit method with additional argument. + (tryall_dlopen): Call module_open method with additional argument. + (lt_dlclose): Call module_close method with additional argument. + (lt_dlsym): Call find_sym method with additional argument. + (lt_add_dlloader): Initialise dlloader_data field. + (lt_remove_dlloader): Call dlloader_exit method with additional + argument. + + * libltdl/ltdl.c (find_file): Prevent early release of memory + in filename/*pdir. + From Jon Leichter + + (sys_wll_init): Deleted. No longer required. And this time, + with feeling! + (sys_wll_exit): Ditto. + + 2000-02-02 Gary V. Vaughan + + * NEWS: updated. + * doc/libtool.texi (Libltdl interface): Moved user defined module + loader documentation from here... + (Module loaders for libltdl) ...to here, and updated the text and + added examples. + * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. + * libltdl/ltdl.h: Reformatted and commented for readability. + (struct lt_user_dlloader): New data type for passing + initialisation pointers to lt_add_dlloader. + (LTDL_ERROR_INVALID_LOADER): New error message when non loader + handles are passed to the user loader API. + (LTDL_ERROR_INIT_LOADER): New error when loader initialisation + fails. + (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. + (lt_module_open_t): renamed from lt_lib_open_t. + (lt_module_close_t): renamed from lt_lib_close_t. + (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. + * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" + loader no longer occurs before "dlopen" on some platforms and + after it on others. + (lt_dlloader_t): Moved here from ltdl.h, added a field, + "loader_name", for identifying the loader, and renamed from + lt_dltype_t. Renamed type variables to loader IFF of type + lt_dlloader_t. + (lt_module_t): Renamed from lt_syshandle. Renamed handle variables + to module IFF of type lt_module_t. + (LTDL_TYPE_TOP): Deleted. No longer required. + (sys_dl): Initialised as a struct lt_user_dlloader. + (sys_dl_init): Deleted. No longer required. + (sys_dl_exit): Ditto. + (sys_shl): Initialised as a struct lt_user_dlloader. + (sys_shl_init): Deleted. No longer required. + (sys_shl_exit): Ditto. + (sys_wll): Initialised as a struct lt_user_dlloader. + (sys_wll_init): Deleted. No longer required. + (sys_wll_exit): Ditto. + (sys_bedl): Initialised as a struct lt_user_dlloader. + (sys_bedl_init): Deleted. No longer required. + (sys_bedl_exit): Ditto. + (sys_dld): Initialised as a struct lt_user_dlloader. + (sys_dld_init): Deleted. No longer required. + (sys_dld_exit): Ditto. + (sys_presym): Initialised as a struct lt_user_dlloader. + (lt_mod_init_t): Moved to here from ltdl.h. + (lt_dlinit): Add builtin loaders using the user loader API. + (lt_dlexit): Unregister and free all loaders. + (lt_add_dlloader): New function to add a new module loader after the + loader specified in the argument. + (lt_remove_dlloader): New function to remove a module loader. + (lt_next_dlloader): New function for iterating over module loaders. + (lt_dlloader_name): Accessor function for name of dlloader. + (lt_find_dlloader): New function to get a reference to a registered + module loader. + (strcmp): static implementation incase the host has none. + (lt_dlgettypes, lt_dlsettypes): Removed. + + 2000-02-02 Thomas Tanner + + * libltdl/ltdl.c: replace NULL with 0, remove unused system + and app_private pointers from lt_dlhandle_t + * libltdl/ltdl.c (presym_add_list): new preloaded symbols + don't need to be added to the end + + * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed + * libltdl/ltdl.h: ditto + * doc/libtool.texi (libltdl interface): ditto + + 2000-02-01 Thomas Tanner + + * ltmain.in: support -dlopen/dlpreopen for libraries + * NEWS: updated + * TODO: updated + * ltmain.in: rename dlopen to dlopen_support + * ltconfig.in: ditto + * doc/libtool.texi: ditto + + * ltmain.in: check whether libraries are moved out of $libdir, + replace .a and .lib with .$libext, .o and .obj with .$objext + + 2000-01-31 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlrealloc): removed declaration. + * libltdl/ltdl.c (lt_dlrealloc): removed definition. + (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, + and lt_dlfree. + + 2000-01-30 Ossama Othman + + * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C + prior to executing the test that checks if the C compiler needs + "-belf." + Reported by Chris Butler + + 2000-01-28 Gary V. Vaughan + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to + protect `[' and `]' in deplibs_check_method. + + * libltdl/ltdl.h (lt_dlrealloc): Added declaration. + * libltdl/ltdl.c (lt_dlrealloc): Added default definition. + + * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as + invalid. + * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R + definition. + + * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and + fixed typo in another code. + * doc/libtool.texi (Libltdl interface): Added missing @end + clause. + + 2000-01-27 Thomas Tanner + + * ltconfig.in: Oops, replace the remaining $objdir's + + * ltmain.in: merge library linking code of programs and libraries, + some cleanups + + 2000-01-27 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (Libltdl interface): Document new entry + points. + * libltdl/ltdl.c (lt_dladderror): New function to add a user + defined error message to the tables used by lt_dlerror(). + (lt_dlseterror): New function to allow setting of last_error by + user modules. + (ltdl_error_strings): New preprocessor generated table of internal + error diagnostic strings. + (user_error_strings): New internal list of registered user error + diagnostic strings. + (throughout!): Use error messages from ltdl_error_strings. + * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate + internal diagnostic error strings alongside enum keys. + + * NEWS: Updated. + * doc/libtool.texi (Libltdl interface): Document new entry + points. + * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for + existing fields. + (lt_dladdtype): New function to add a new ltdl dynamic loader + type to the end of the list of valid types.. + (lt_dlgettypes): New function to return the complete list of ltdl + dynamic loader types. + (lt_dlsettypes): New function to replace the list of ltdl dynamic + loader types entirely -- e.g. to prepend a new type to the + existing list. + (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. + (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. + (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. + (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. + (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. + (presym_open, presym_close, presym_sym): ditto. + (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle + compatibly. + (lt_dlclose): Call lt_lib_close_t functions lt_syshandle + compatibly. + (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. + (lt_dltype_t): moved type declaration from here... + * libltdl/ltdl.h (lt_dltype_t): ...to here. + (lt_syshandle): new type for low level system handles passed by + loader functions + (lt_mod_init_t): New type for functions implementing the + initialisation for an ltdl dynamic loader. + (lt_mod_exit_t): Type of exit functions for the same. + (lt_lib_open_t): Type of loader functions for the same. + (lt_lib_close_t): Type of unloader functions for the same. + (lt_find_sym_t): Type of symbol resolver functions for the same. + + * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, + sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to + avoid spurious error messages. + + 2000-01-24 Thomas Tanner + + fix severe bugs reported by Elrond + + * ltconfig.in: replace $objdir with $output_objdir + + * ltmain.in: change to the builddir before relinking programs + + * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: + remove unnessary spaces from line endings + + 2000-01-19 Thomas Tanner + + * ltmain.in: rewrite of the ILD code, merge linking code for + programs, libraries and objects, allow linking of shared libraries + against static libraries/objects on platforms that support it + but print a warning, fix some typos + + * partially revert my previous change and + update only copyright notices of files that were actually modified + + * NEWS: update + + * libltdl/Makefile.am: version number was wrong + + * libltdl/ltdl.c (tryall_dlopen): revert Gary's change + since it breaks dlpreopening + * ltdl.m4: ditto + + * libltdl/ltdl.c (sys_search_path): search in the system default + library search path, too + * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path + + * libltdl/ltdl.c (find_module): remove bogus file_not_found_error + + * libltdl/ltdl.c (load_deplibs): implement loading of dependency + libraries + * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency + libraries + * libltdl/ltdl.c (lt_dlexit): correctly close all modules and + their dependencies + + * libltdl/ltdl.c (lt_dlforeach): new function + * libltdl/ltdl.h: ditto + * doc/libtool.texi (using libltdl): document it + + * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to + INCLTDL + + * libtoolize.in: reformatting + * ltconfig.in: reformatting + * ltmain.in: reformatting + + * mdemo/configure.in: AC_SUBST INCLTDL + * mdemo/Makefile.am: use INCLTDL + + * tests/Makefile.am: reexport OBJEXT and EXEEXT + * tests/dryrun.test: use them for building main.obj and mdemo.exe + + 2000-01-17 Gary V. Vaughan + + * libltdl/ltdl.c (tryall_dlopen): Abort with + file_not_found_error before trying all lib_open() methods + if the file to be dlopened doesn't exist. + * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. + + 2000-01-16 Gary V. Vaughan + + * libltdl/ltdl.c (find_file): memory error fixed. + + 2000-01-14 Gary V. Vaughan + + * ltconfig.in (Usage): Now it matches the code! + Reported by Jon Leichter + + * README: Some notes about libtool release numbers. + + * mdemo/README: Explain the deliberate incompleteness of the + Windows port. + * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. + * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. + + * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for + wrapping other macros to make a portable compound statement from + multiple C statements in the expansion. + (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an + extern declaration for lt_preloaded_symbols, to remove + dependency on undefined symbol from libltdl.dll on cygwin (and + other -no-undefined architectures). + * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. + + * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain + was set to the opposite of what it should be. + * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is + required for libtool configury to test lt_cv_need_dllmain on + Windows. + + * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly + escaped and portable \{0,1\} in sed expression. + From Jon Leichter + + 2000-01-13 Gary V. Vaughan + + * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl + to default INCLTDL for VPATH. + (AC_LIBLTDL_INSTALLABLE): ditto. + Reported by Tom Tromey + + 2000-01-12 Thomas Tanner + + * update all copyright notices to 2000 + + * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, + replace NULL with @code{NULL}, document lt_dlsetdata(), + lt_dlgetdata() and lt_dlgetinfo() + * libltdl/Makefile.am: increment interface version number + * libltdl/configure.in: set version number to 1.1 + * libltdl/ltdl.c: make some variables public by moving them + to the info struct, add support for application specific data + within module handles, new lt_dlsetdata(), lt_dlgetdata() and + lt_dlgetinfo() functions, + fix memory leaks, minor cleanups + * libltdl/ltdl.h: ditto + * mdemo/main.c: demonstrate use of lt_dlgetinfo, + improved handling of errors + + * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux + and Solaris, only hardcode *all* run-paths if hardcode_into_libs + is set to 'all', otherwise hardcode only user-specified rpaths + into libraries + * ltmain.in: minor cleanups, we don't need to add user-specified + rpaths to compile_rpath, finalize_rpath is sufficient + + * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has + been set! (reported by Bruno Haible ) + + * configure.in: AC_SUBST reload_flag, deplibs_check_method + and file_magic_cmd + + * README: use 'libtool --version' instead of 'ltconfig --version' + (suggested by Francios Pinard + + 2000-01-10 Gary V. Vaughan + + * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when + not compiling for a Windows target. + * libltdl/ltdl.c (canonicalize_path): New function to + ensure internal paths use '/' directory separators. + (find_file): use canonicalize_path. Memory management + changed to cope. + (lt_dlopen): ditto. + (free_vars): Removed `dir' and `name', which are now handled + internally. + + * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', + as suitable for the target host. + (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. + * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR + instead of hardcoding throughout. + Reported by Jon Leichter + + 1999-12-18 Alexandre Oliva + + * ltmain.in: Oops, `largarg' -> `lastarg'. + + * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. + + * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and + finalize_command. + (-Wc, -Wl): Likewise. + + * tests/quote.test: Adjust quoting style of -Wl. + + * ltmain.in: Oops, `echo' -> `$echo'. + + * ltmain.in (-Wl, -Wc): Make commas argument separators, just like + in gcc. + + * ltmain.in (libtool_args): Get all arguments properly enclosed in + quotes and backslash-protected when needed. + + 1999-12-16 Alexandre Oliva + + * ltdl.m4: Renamed from... + * libltdl/ltdl.m4: that no longer exists. + * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. + * Makefile.am (aclocal_macros): Added ltdl.m4. + (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. + * bootstrap: Likewise. + * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying + upon -I may lead to duplicates. + * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. + * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. + + * libltdl/configure.in (with_auxdir): Do not use it as the + argument of AC_CONFIG_AUX_DIR, automake requires a literal here. + Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. + + * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in + bootstrap. + + 1999-12-15 Thomas Tanner + + * libltdl/configure.in: path to auxiliary files can be specified + using --with-auxdir (idea by Howard Chu ) + + * ltmain.in: don't remove multiple occurences from dependency_libs + of a library, otherwise many dependencies would get lost + + * bootstrap: use "aclocal -I ." instead of adding the contents + of ltdl.m4 to acinclude.m4 + + 1999-12-13 Gary V. Vaughan + + * NEWS: updated. + * libltdl/Makefile.am: Use -no-undefined for dll compliance. + * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll + compliance. + * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly + export global data symbols from libtldl.dll. + * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data + symbols as dllexport, dllimport or plain ornary extern depending + in the context in which it is used. + + * doc/libtool.texi (Distributing libltdl): document use of + ltdl.m4. + * libltdl/configure.in: Removed header checks, as they are + automatically performed by AC_LIB_LTDL. + * libltdl/ltdl.m4: Added header checks from configure.in, so that + AC_LIB_LTDL is sufficient to compile ltdl.c. + Reported by Stephan Kulow . + + * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir + + 1999-12-12 Gary V. Vaughan + + * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any + DATA tags associated with symbols by recent dlltool. + (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags + found in the symbol list. + Reported by Jon Leichter . + + 1999-12-10 Gary V. Vaughan + + From Stephan Kulow + * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user + from having to hack acconfig.h. + + 1999-12-06 Gary V. Vaughan + + * NEWS: Updated. + * TODO: Note some cleanups that are now needed. + * libltdl/configure.in: Use the new macroised tests. + * libltdl/ltdl.m4: New file, macroised tests formerly in + libltdl/configure.in. + Reported by Stephan Kulow . + + From Tim Mooney + * ltconfig.in: split off the osf3 section, so that the osf4 and + osf5 sections can add `-msym' to arguments passed to the linker + for shared libs. + + 1999-12-03 Alexandre Oliva + + * ltconfig.in (ac_compile): Use $ac_ext instead of .c. + (ac_link): Likewise. + (dlfcn.h, ac_try): Do not add filename, it is already in + ac_compile. + Reported by Stephane Conversy + + * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it + works together with fast_install. + + * libtool.m4: Use host when --target is not specified. + + * configure.in: AC_SUBST variables that are used by ltconfig to + build libtool. + + * ltconfig.in (irix6*): Do not override deplibs_check_method + here. + + * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. + + 1999-11-20 Michael Forster + + * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. + + 1999-11-29 Gary V. Vaughan + + * ltconfig.in: Be friendlier to C++ compilers when testing + for dlopen support. + Reported by Stephan Kulow + + 1999-11-26 Gary V. Vaughan + + * libtool.m4: better use of $target instead of $host to support + cross compilation. + Reported by Sam Latinga + + 1999-11-16 Thomas Tanner + + * configure.in: generate ltconfig and ltmain.sh before configuring + libltdl + + 1999-11-04 Alexandre Oliva + + * tests/sh.test: New test to detect uses of quotes within + backticks within quotes. + * ltconfig.in, ltmain.in: Fix detected errors. Mark false + positives with a comment that disables the detector. + Reported by Akim Demaille + + * configure.in: Move ltconfig and ltmain.sh generation back... + * Makefile.am: here. + + 1999-11-02 Thomas Tanner + + * NEWS: updated + * THANKS: added Olly Betts and Pavel Roskin + * doc/libtool.texi: fix typo + + * fix major bugs which rendered libtool virtually + unusable (i.e. not portable): + * ltconfig.in: don't hardcode system dependent variables in ltconfig!! + but set sane defaults + * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig + * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG + + * ltconfig.in: use old_deplibs for archives, too + remove second occurence of sysv5 + * ltmain.in: fix typo, fix the second occurence of -DPIC, too + + * libltdl/Makefile.am: increment version number, fix typo + * libltdl/ltdl.c (lt_dlsym): don't report an error if the + libltdl-style symbol name wasn't found + + 1999-11-02 Wolfgang Rapp + + * ltconfig.in: add support for Unixware (sysv4.2uw2*) + + 1999-10-29 Gary V. Vaughan + + * ltmain.in: Damnit! Cygwin cvs committed all the + dos line endings. + + 1999-10-28 Stephane Conversy + + * ltmain.in (-DPIC): changed the order of pic flags a little to + prevent upsetting the sgi c++ compiler. + + 1999-10-28 Olly Betts + + * ltconfig.in (opt_cr): Handle crlf sequences output by the + mingw toolchain. + + * libtool.m4: Third time lucky, with Tor's patch. + + 1999-10-19 Tor Lillqvist + + * libtool.m4: these was a missing `*' in the -mno-cygwin + match. + * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. + (export_symbols_cmds): added missing cosmetic newline. + + 1999-10-18 Tor Lillqvist + + * libtool.m4: test command used == which should be =. + Support -mno-cygwin flag for building mingw32 dlls. + * ltconfig.in (file_magic_cmd): add missing quotes. + (deplibs_check_method): and here. + + 1999-10-16 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopen): Do not search paths when the + specified library is not just a basename. + + 1999-10-10 Gary V. Vaughan + + * libtool.m4 (AC_PATH_FILE): new macro replaces + AC_PATH_TOOL_GREP_OUTPUT. + (AC_PATH_TOOL_PREFIX): new macro replaces + AC_PATH_PROG_GREP_OUTPUT. + (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. + (AC_DEPLIBS_CHECK_METHOD): ditto. + * ltconfig.in (reload_flag): moved to libtool.m4. + (deplbs_check_method): ditto. + + 1999-10-07 Gary V. Vaughan + + * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the + more general AC_PATH_PROG_GREP_OUTPUT. + (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general + AC_PATH_TOOL_GREP_OUTPUT. + (AC_PROG_LIBTOOL): Search for a working find program in the + user's PATH using the new macros. + + 1999-10-06 Gary V. Vaughan + + * NEWS: updtaed. + * ltconfig.in: Accept osf5. + Reported by Sascha Schumann + + 1999-10-04 Gary V. Vaughan + + * ltmain.in (-no-install): This doesn't work on win32 since + the search path for libraries is not encoded in the binary, + and dlls not in $PATH won't be found. Fall back to -no-fast-install + instead. + + * ltmain.in (-no-fast-install): Wrapper script used to add the + exeext on again when naming the wrapped executable. + + 1999-10-03 Gary V. Vaughan + + * ltconfig.in: Set $FILE to @FILE@ for substitution with + the value found in libtool.m4 at configure time. + * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines + AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the + output of $ac_dir/${ac_prefix} --version for a + given regex. + (AC_PATH_PROG_GREP_VERSION): New macro used by the above. + (AC_LIBTOOL_SETUP): Use the new macros to search the PATH + [starting at /usr/bin] for a file program which accepts + --version and has "file" in its --version output. + + 1999-10-03 Thomas Tanner + + * NEWS: new -no-install flag + * configure.in: fix typo + * doc/libtool.texi(Link mode): document -no-install flag, + correct -no-fast-install docs + * libtool.m4: check for "file" command + * ltconfig.in: don't hardcode /usr/bin/file, remove second + definition of sysv5, replace linkopts -> linker_flags + * ltmain.in: add new -no-install flag, print help for -no-install + and -no-fast-install flags + + 1999-10-03 Olly Betts + + * ltmain.in: always create output_objdir + + 1999-10-03 Pavel Roskin + + * libltdl/Makefile.am: don't preserve file attributes when + installing the libltdl sources + + 1999-10-01 Gary V. Vaughan + + * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh + * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the + rules to automatically call config.status. + + * libtool.m4: be sure to AC_SUBST values no longer tested in + ltconfig.in. + * ltconfig.in: replaced several of the simple feature tests with + substitutions from config.status. + * Makefile.am (ltconfig): generate ltconfig with config.status. + * configure.in (AC_OUTPUT): generate ltconfig with config.status. + + 1999-09-30 Donald Anderson + + * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method + for SCO3.2. + + 1999-09-29 Gary V. Vaughan + + * ltconfig.in (whole-archive-flag-spec): I had been + wondering why my file system was filling up with empty + files named `71'... seems I forgot to hold in the + shift key when redirecting stderr, 2>&1. Doh! + + 1999-09-29 Vadim + + * ltconfig.in (sysv): More UW7 support. + + 1999-09-28 Albert Cheng + + * ltmain.in (shlibpath_var): ensure the variable is non-empty before + exporting it. + + 1999-09-27 Manfred Weichel + + * ltconfig.in (sysv5): Added support required for shared + library linking on SCO UW7. + + 1999-09-22 Gary V. Vaughan + + * ltconfig.in (whole-archive-flag-spec): test whether the + version of GNU ld being used understands --whole-archive + before using it. + + 1999-09-19 Thomas Tanner + + * ltmain.in: don't ignore convenience libraries for objects/archives + (temporary hack) + + 1999-09-14 Alexandre Oliva + + * ltconfig.in (CDPATH): Set to `:' instead of empty. + * ltmain.in (CDPATH): Likewise. + Reported by Greg McGary + + 1999-08-24 Gary V. Vaughan + + * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from + expanding variables & backslash escapes when writing these + files to the libtool script. + + 1999-08-24 Thomas Tanner + + * NEWS: mention fixes + * doc/PLATFORMS: GNU/Hurd update + * depdemo: make use of variables + * ltconfig.in: use CC -E when checking for ELF support + on NetBSD (reported by Todd Vierling ), + replace all occurences of 'linkopts' with 'linker_flags' + * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and + only add them to the libtool script if it's necessary + + 1999-08-24 Boyd Gerber + + * ltconfig.in: add support for UnixWare 7.X.X + * doc/PLATFORMS: add new platforms + + 1999-08-24 Pavel Roskin + + * doc/libtool.texi: document use of noinst_LTLIBRARIES for + convenience libraries + + * ltconfig.in: check for freebsdelf3, not just freebsd3. + Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 + + * ltmain.in: enable workaround for freebsdelf3.0 + + 1999-08-24 Bert Driehuis + + * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS + + 1999-08-07 Alexandre Oliva + + * libltdl/COPYING.LIB: Update to version 2.1. + * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. + + 1999-08-03 Gary V. Vaughan + + * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return + stripping. + * ltconfig.in: ditto. + From Olly Betts + + 1999-08-02 Olly Betts + + * doc/libtool.texi (Compile mode): typo correction. + (Link mode): and another. + (Release numbers): and another. + (Distributing libltdl): and another. + (Test descriptions): and another. + (libtool script contents): and one more. + + * libtool.m4 (AC_PROG_LD): strip carriage returns from the + output of gcc -print-prog-name=ld. + * ltconfig.in: ditto. + + 1999-07-30 Pavel Roskin + + * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else + initialised structures are sometimes emitted in the code section. + + 1999-07-30 Mumit Khan + + * ltconfig.in: Read line at a time to avoid tokenisation by + shell. + + 1999-07-29 Alexandre Oliva + + * ltmain.in: Fix creation of relative links to object files in + sub-dirs. + + 1999-07-29 Olly Betts + + * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile + and link ltdll.c if the libtool.m4 macros discovered that it is + required. + + 1999-07-26 Olly Betts + + * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some + typos made by Evil Gary while (mis)applying my patch :-). + + * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second + thoughts, only probe for -mdll vs -dll on mingw, and revert to + the old `-Wl,--dll -nostartfiles' on cygwin. + + 1999-07-24 Erez Zadok + + * doc/PLATFORMS (i*86-*openbsd2.5): New platform. + Slight reordering of other bsd entries. + + 1999-07-24 Olly Betts + + * NEWS: Note new user visible changes. + * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll + under cygwin/mingw. + probe whether the cygwin/mingw library supplies a stub DllMain + (but this information isn't yet used). + * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, + use that to build impgen so we can use it when cross-compiling. + use correct entry points for mingw so static C++ constructors get + called for code in the DLL. + * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the + system headers. + + 1999-07-24 Bert Driehuis + + * ltconfig.in: Updated bsdi4 soname specs to be more like + linux as discussed on the bsdi mailing list. + + 1999-07-20 Gary V. Vaughan + + * configure.in (AC_PROG_RANLIB): No longer required as we now use + AC_CHECK_TOOL in AC_LIBTOOL_SETUP. + * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to + ltconfig. + (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. + * ltconfig.in (build): new variable to hold the build triplet + which is now checked for unless --no-verify is specified. + (--build): new argument to set the build triplet. + (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different + to $host. + * doc/libtool.texi (Invoking ltconfig): Document --build option. + * NEWS: Note --build option. + + 1999-07-19 Erez Zadok + + * doc/PLATFORMS: Updated mostly *bsd platforms. + + 1999-07-19 Alexandre Oliva + + * doc/libtool.texi (Porting inter-library dependencies): Typos + Reported by Petter Reinholdtsen + + 1999-07-17 Thomas Tanner + + * NEWS, TODO: updated (pic flags) + * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag + * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, + fixed the strip check (reported by Keith Bostic ) + * ltmain.in (compile mode): build only PIC/non-PIC code depending + on pic_mode + * libltdl/README: document the supported dlopen interfaces + * doc/libtool.texi (tests): documented new tests + * tests/Makefile.am: added new tests + * tests/demo-pic.test: new test to test --with-pic + * tests/demo-nopic.test: new test to test --without-pic + * tests/build-relink2.test: variant of build-relink.test that + uses depdemo + + 1999-07-09 Olly Betts + + * doc/libtool.texi (C++ Libraries): fixed a typo. + + 1999-07-06 Gary V. Vaughan + + * README-alpha: improved the release instructions to mention + actual list addresses for announcements, and urls for upload + locations. + + 1999-07-03 Thomas Tanner + + * doc/PLATFORMS: 1.3b passes all tests on cygwin + + 1999-07-03 Pavel Roskin + + * ltconfig.in: finish_cmds for FreeBSD removed + * depdemo/l3/Makefile.am: install libl3.la into an extra directory + + 1999-07-02 Gary V. Vaughan + + * configure.in: bumped version to 1.3c. + + GNU libtool 1.3b was released. + + * NEWS: inserted todays date. + + 1999-07-02 Alexandre Oliva + + * doc/PLATFORMS: Tested on as many platforms as possible for me. + + 1999-07-01 Thomas Tanner + + * NEWS: updated + * doc/PLATFORMS: updated + * changed my email address + + 1999-06-30 Thomas Tanner + + * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) + * tests/build-relink.test: also check for hardcode_into_libs = yes, + if set, we need to relink at install-time + + 1999-06-29 Thomas Tanner + + * NEWS: mention -no-fast-install, rename dummy to force + * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, + FreeBSD (2.2.6 and 3.1) + * doc/libtool.texi: it's possible to link libtool libraries + using -L and -l, better documentation of uninstall and clean mode, + rename dummy to force, documented -no-fast-install, + AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, + documented hardcode_into_libs and striplib/old_striplib, + * ltconfig.in: search for strip program, added hardcode_into_libs + and striplib/old_striplib variables, set strip commands for GNU strip, + on FreeBSD >= 3.2 set hardcode_into_libs to yes, + fast-install mode doesn't work if hardcode_into_libs = yes + * ltmain.in: reimplemented hardcoding into libraries: + new relink mode, preserve all libtool args, relink libraries + when installing if necessary + added -no-fast-install flag, removed unnecessary `dlname' + initialization, use striplib/old_striplib for stripping libraries, + dlname is always soname or in library_names so we don't need + to handle different file names + + 1999-06-29 Alexandre Oliva + + * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes + up to release 3.1, and to no from 3.2 on. + Reported by Pavel Roskin + + 1999-06-29 Pavel Roskin , Alexandre Oliva + + * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to + yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. + + 1999-06-25 Alexandre Oliva + + * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on + alpha, x86 and sparc architectures by now, reverting to file_magic + at least on ARM, where it breaks. + + 1999-06-23 Thomas Tanner + + * NEWS: updated + * README: added GNU Hurd to the supported platforms + * doc/libtool.texi: document `-dlpreopen dummy' + instead of `-dlopen dummy' + * libltdl/ltdl.c (strchr): fixed typo (missing star) + + 1999-06-23 Stephan Kulow + + * libltdl/ltdl.c (strrchr): fixed typo (missing star) + * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings + + 1999-06-23 Olly Betts + + * ltmain.in (ltdll.c): Support for crosscompiling from linux to + mingw32. + + 1999-06-23 Gary V. Vaughan + + * ltconfig.in (cygwin, export_symbols_cmds): If there is already + an extracted and compiled ltdll.c, then don't delete, reextract + and recompile. + (cygwin, archive_expsym_cmds): Make sure the ltdll source has been + extracted and compiled before referencing the object, since there + are paths through the code which run archive_expsym_cmds without + running export_symbols_cmds. + + 1999-06-20 Gary V. Vaughan + + * ltconfig.in: moved the test for NM after the test for + no_builtin_flag. + + 1999-06-20 Alexandre Oliva + + * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, + just in case some sed does not support an empty command. + + * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the + latter in the test. + + 1999-06-18 Thomas Tanner + + * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive + regex (reported by Chris P. Ross ) + * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols + if dlself != no + * doc/libtool.texi (Compile and Link mode): document it, + documented the -Wc, -Wl flags, libtool does also support non C + source code + + 1999-06-18 Teun Burgers + + * ltconfig.in: CR/LF fix for broken DJGPP bash + * ltmain.in: CR/LF fix for DJGPP + + 1999-06-18 Gary V. Vaughan + + * ltmain.in (outputname): When generating the executable wrapper + script, $outputname already has the $exeext suffix, so we needn't + add it again. + + 1999-06-16 Gary V. Vaughan + + * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test + comparison corrected. + + * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to + fail if it is unable to physically load the library. Sadly, + LoadLibrary will search the loaded libraries for a match and + return one of them if the path search load fails. Simulate a + failure in this case for compatibility with the other APIs. + Also, LoadLibrary takes the liberty of adding `.dll' to library + names passed without an extension, we now add a trailing `.' to + prevent this from happening. + + 1999-06-15 Gary V. Vaughan + + * libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have + decided that LoadLibrary returns `0' for success, yet FreeLibrary + returns `0' for failure! The FreeLibrary call used to interpret + `0' as success for both functions. + + 1999-06-14 Thomas Tanner + + * ltconfig.in: use eval when setting have_dlfcn_h, reformatting + + 1999-06-12 Thomas Tanner + + * ltmain.in: store old archives in deplibs and old_deplibs, + retain the order of dependency libraries (even old archives), + determining the absolute directory name didn't work due to a typo, + add the library search paths of all dependency libraries when + linking a library (fixes IRIX 5.2 bug) + + 1999-06-10 Alexandre Oliva + + * ltconfig.in: Reverted June 6's patch for new GNU ld output, it + is no longer needed, as ld reverted to the original format. + * NEWS: Likewise. + + * ltconfig.in: When testing self-dlopening, test whether dlclose + crashes. On FreeBSD 3.1, it does. :-( + * libltdl/configure.in: Likewise. + * NEWS: Note work-around. + Reported by Pavel Roskin + + 1999-06-09 Gary V. Vaughan + + * ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate + no extension, and we must do the same in order to share the cache + value. Also we must ignore conftest.err which HPsUX (at least) + fills with gratuitous warnings. + (objext): for consistency, do the same as above. + Reported by Pavel Roskin + + 1999-06-09 Pavel Roskin + + * ltconfig.in (exeext): Use quotes in the test, to prevent a + failure in sh.test. + + 1999-06-09 Gary V. Vaughan + + * ltconfig.in: Reordered tests to be more like configure.in's + recommended order (programs first, then libraries, etc.). + Performed a manual ``constant folding pass'' (eg: s/eval "test + \"echo '$''{'lt_cv_dlopen'+set}'`\" != set/test + "${lt_cv_dlopen+set}" != set/). + s/test "${foo+set}" = "set"/test "X${foo+set}" = Xset/g + + * ltconfig.in (link_static_flag): Accept, in order of decreasing + preference: the cached value; the default value for the current + host. Also test that the compiler accepts the flag, and cache + that result too. + + * ltconfig.in (pic_flag): Accept, in order of decreasing + preference: the cached value; the default value for the current + host. Also test that the compiler accepts the flag, and cache + that result too. + + 1999-06-08 Gary V. Vaughan + + * ltconfig.in (LN_S): Accept, in order of decreasing preference: + the cached value; an environment setting; ``ln -s'' if it works; + ``ln'' if ``ln -s'' doesn't appear to work. + + * ltconfig.in (objext): Accept, in order of decreasing preference: + the cached value; the result of a test object compilation. + + * ltconfig.in (RANLIB): Accept, in order of decreasing preference: + the cached value; an environment setting; the first file called + ``ranlib'' in the user's path. + + * ltmain.in (exeext): Use $exeext when working out the names of + programs (but not the wrapper script itself due to a stupidity in + win32 which hardwires the .exe extension to the binary loader!). + * ltconfig.in (exeext): Now that the wrapper script tries to move + executables, we need to know whether they have an extension (ala + AC_EXEEXT). Since we can't rely on AC_EXEEXT having been called + in configure.in, we must be able to check for ourselves, though we + can look for a cached result incase AC_EXEEXT was called. + + * ltconfig.in (cygwin, pic_flag): Force separate compilation of + objects for dlls vs. objects for static archives. Using a cpp + macro also allows us to decide whether or not we need to use + dllexport/import declarations. + + * ltconfig.in (cygwin, need_version): Set to no, otherwise module + dll's end up with mighty long names! + + 1999-06-06 Alexandre Oliva + + * ltconfig.in: Support new GNU ld --help output format. + * NEWS: Likewise. + Reported by Gaël Quéri and + H.J. Lu . + + 1999-06-05 Mark Kettenis + + * ltconfig.in: Update support for the Hurd. Make sure that the + soname includes the major version number and create the right + links. Allow shared objects without the `lib' prefix and without + version information. + + 1999-06-02 Nick Rasmussen + + * ltmain.in (link): use "$nonopt" as the compiler for + compile/finalize_command + + 1999-05-27 Alexandre Oliva + + * TODO: Remove the short list of people interested in C++ + constructors; it's not meaningful, since there are so many more + people requesting this feature, and we just can't maintain it + accurate. + + 1999-05-27 Pavel Roskin + + * ltconfig.in (GNU Hurd, deplibs_check_method): Use pass_all. + + 1999-05-27 Alexandre Oliva , Olly Betts + + * ltmain.in: Expand convenience libraries when creating reloadable + objects. + * NEWS: Ditto. + + 1999-05-27 Alexandre Oliva + + * NEWS: Mention the two bugfixes below. + + * ltmain.in: Only create directory into which to extract + convenience libraries when $convenience is not empty. It would + always be created on systems that did not support + whole_archive_flag_spec. + + * ltconfig.in (export_symbols_cmds): Add $convenience. + (cygwin, export_symbols_cmds): Ditto. + * ltmain.in: Generate export symbol list before expanding + convenience libraries, to avoid passing whole_archive_flag_spec to + $NM. + Reported by Godmar Back + + 1999-05-27 David Jones + + * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid + printing error messages. + + 1999-05-26 Alexandre Oliva + + GNU libtool 1.3.2 was released. + + 1999-05-25 Alexandre Oliva + + * NEWS: List fixed problems. + * doc/PLATFORMS: Tested for 1.3.2. + + * config.guess: Synch with GNU common. + + * ltmain.in: Revert to stripping .exe on all platforms. + * TODO: Note about this problem. Demo is fixed on win32. Support + `empty' convenience libraries. + + * ltconfig.in (solaris*, ld_shlibs): Do not enable shared + libraries with GNU ld 2.8.*, it's broken. Emit a warning + suggesting an upgrade. + Reported by Brian Ford and Ronald Pijnacker + + + 1999-05-25 Frank Ch. Eigler + + * ltmain.in: file_magic check would not avoid cyclic links. + + 1999-05-25 Alexandre Oliva + + * depdemo/main.c, depdemo/l1/l1.c, depdemo/l2/l2.c: K&R-ize. + * depdemo/l3/l3.c, depdemo/l4/l4.c: Likewise. + + * ltmain.in: Remove object files before writing to them, to avoid + circular links. + Reported by Ron O'Hara + + 1999-05-24 Thomas Tanner + + * NEWS: support for installing stripped libraries using GNU strip + * ltconfig.in: set deplibs_check_method=pass_all on FreeBSD, + Linux and Solaris since no one can reproduce the famous deplibs + bug + * ltmain.in: preserve $CC (reported by Tom Tromey), + strip libraries using GNU strip if it's available and the + -s flag was passed to "install" + + 1999-05-23 Alexandre Oliva + + * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86. + Reported by Pavel Roskin + + 1999-05-23 Thomas Tanner + + * ltmain.in: strip off the .exe suffix only on *Win + (Reported by Matthew D. Langston ) + + 1999-05-22 Thomas Tanner + + * NEWS: updated + * TODO: -Wc, -Wl, implemented + * AUTHORS: changed my email address + * doc/libtool.texi: fix "wierd" typo :) + * ltmain.in: linking against convenience libraries was broken, + implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for + compiler and linker-specific flags, + add -lc before we do the deplibs check + * ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags + for $LD, link_all_deplibs=yes on IRIX + + 1999-05-22 Gary V. Vaughan + + * NEWS: insert todays date alongside 1.3.1 release. + * Makefile.in: use gnu not gnits rules + * config.guess: synch with gnu common & apply Takabatake-san's + MIPS *000 patch. + * config.sub: synch with gnu common. + + 1999-05-22 Doug Evans + + * libltdl/configure.in (dlerror): Fix typo in dlopen found in -ldl + test. + + 1999-05-21 Pavel Roskin + + * Makefile.am (EXTRA_DIST): Don't distribute instutils. + (install-data-hook): use libltdl/Makefile.am's local-install files + rule. + * libltdl/Makefile.am (local-install-files): New rule to install + libltdl without creating links or mode 777 directories. + * instutil/*: deleted. + + 1999-05-21 Alexandre Oliva + + * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got. + Added sparc-unknown-linux-gnu. + + 1999-05-21 Gary V. Vaughan + + * demo/foo.h: s/PARAMS/LTDL_PARAMS/g + * libltdl/ltdl.h: ditto. + * libltdl/ltdl.c: ditto. + + * demo/foo.h: s/__P/PARAMS/g + * libltdl/ltdl.h: ditto. + * libltdl/ltdl.c: ditto. + Reported by Akim Demaille + + 1999-05-20 Alexandre Oliva + + * NEWS: Updated docs. + * TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX + 4.3.2.0 no longer fails on static dlopening. GNU DLD no longer + has to support .la files, since libltdl already does. Convenience + libraries and reloadable objects should be tested in the + testsuite. We could support some amount of control on the soname + of libraries. + * doc/libtool.texi: Notes about convenience libraries and + automake. Documented INCLTDL. + + 1999-05-20 Thomas Tanner + + * cdemo/main.c: "Welcome _to_ ..." + * mdemo/main.c: ditto + * libltdl/configure.in: support multiple dlopening mechanisms + at once + * libltdl/ltdl.c: prefix system dependent functions with "sys_" + to avoid symbol conflicts (libdld didn't work) + * libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h + * ltconfig.in: check for dlopen with -ldl first + + 1999-05-19 Gary V. Vaughan + + * NEWS: Added 1.3.1 news items. + * doc/PLATFORMS: updated the boxes I have access to, to 1.3.1 + in preparation for the next release. + + 1999-05-18 Gary V. Vaughan + + * ltconfig.in (cygwin*, whole_archive_flag_spec): dlltool chokes + on this, so leave it unset in this case so that the ltmain code + knows it has to unpack convenience archives by itself. + + 1999-05-17 Gary V. Vaughan + + * ltmain.in: Do not exit when an unknown library name is passed + passed in, simply warn and continue since some compilers require + -LANG:* like options to work. + Reported by Adam C. Powell, IV + + 1999-05-17 Jiro Takabatake + + * ltconfig.in: port to NEC UX/4800. + * NEWS: updated. + + 1999-05-17 Gary V. Vaughan + + * ltconfig.in (beos*, deplibs_check_method): set to pass_all. BeOS + is PIC by default. + Reported by "Shawn T . Amundson" + + * libltdl/configure.in: Fix test failures on AIX 4.3.2 by checking + for dlopen *with* -ldl first. + Reported by Greg Wooledge + + * demo/foo.h: Don't set any declspecs until we have full dll + support. + + 1999-05-16 Alexandre Oliva + + * ltconfig.in (solaris2.6, whole_archive_flag_spec): Do not use + -Wl for allextract. + + 1999-05-14 Alexandre Oliva + + * instutil/chmod: New script to avoid chmod'ing files while + installing libltdl's sources. + * instutil/ln: New script to avoid hard-linking libltdl's sources + in the install tree. + * Makefile.am (EXTRA_DIST): Dist them. + (instal-data-hook): Add srcdir/instutil to the beginning of the + PATH before installing libltdl's sources. + + 1999-05-09 Gary V. Vaughan + + * TODO: updated. + + 1999-05-06 Gary V. Vaughan + + * Makefile.am (install-data-hook): make sure the install directory + is not left world writable. + Reported by Andreas Schwab + + 1999-04-30 Alexandre Oliva + + * libtool.m4: Use ifelse instead of if. + Reported by David Mazieres + + 1999-04-29 Alexandre Oliva + + GNU Libtool 1.3 was released. + + * NEWS: Summarize news from 1.2 to 1.3. + + * ltmain.in: Save exit status of link_command before removing + symbol table object file. + + 1999-04-29 Gary V. Vaughan + + * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. + + 1999-04-29 Alexandre Oliva + + * NEWS: Improved support for DU and IRIX too. + + * config.sub, config.guess: Updated from GNU common. + + * mdemo/configure.in: Move AC_LIBLTDL_CONVENIENCE before + AM_PROG_LIBTOOL, as suggested by autoconf. + + * doc/libtool.texi (Distributing libltdl): Document that -static + may cause the same problems on libltdl as -all-static. + * TODO: We might want to fix this in the future. + + * doc/libtool.texi: Clear up overfull hbox. + + * libltdl/Makefile.am (ltdl.lo): Add dependencies. + * libltdl/configure.in: Clean up some duplicate defines. Enable + support for multiple dlopening mechanisms. + * libltdl/acconfig.h: New file. Add #undefs for defines that + would be duplicated. + + 1999-04-29 Gary V. Vaughan + + * libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the + code that makes these configure time checks on hosts that need the + tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used. + + 1999-04-29 Alexandre Oliva + + * ltmain.in (nlist, SYMFILE): Use outputname instead of output for + names within output_objdir. + + 1999-04-28 Alexandre Oliva + + * libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC, + AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're + AC_REQUIREd by AC_LIBTOOL_SETUP. + (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): + Call AC_BEFORE here, and now with two arguments, since these do + change the default. + (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to + AC_BEFORE. + + 1999-04-28 Gary V. Vaughan + + * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to + ltconfig if this is set. + (AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt + a dll build on win32 hosts. + * ltconfig.in (--enable-win32-dll): new flag for the cli. + (cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set + to yes, then do not attempt to build shared libraries. + * doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL. + * NEWS: noted new macro. + + 1999-04-27 Alexandre Oliva + + * libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED, + AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE, + AC_LIBLTDL_INSTALLABLE): Warn if they appear after + AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually. + (AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled + at autoconf time, not configure time. Simplify code and + improve (?) help message about --disable-libtool-lock. + + 1999-04-27 Thomas Tanner + + * NEWS: new clean mode + * THANKS: added Ossama Othman + * doc/libtool.texi: documented the new `clean' mode + * ltconfig.in: set need_version=no on OSF (reported by + Marcus Sundberg ) + * ltmain.in: allow absolute non-existant -L paths, + always use output_objdir instead of objdir for temporary files, + delete generated temporary symbol lists, + don't add .la twice in the pseudo-library header, + implemented and documented clean mode (deletes libraries, + programs and object files and the files associated with them), + if build_libtool_libs=no and no static library is available, + try to link the program against the shared library, + don't add a statically linked library to the dependency_libs + * ltmain.in (help uninstall): added a missing backslash + after echo (reported by Ossama Othman) + + 1999-04-27 Alexandre Oliva + + * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out + which links to object files we must create. Do not test for empty + pic_flag to create such links. Use objext when searching for + object files extracted from convenience library. + + * ltconfig.in (compiler_c_o): Make sure the compiler does not + create temporaries in the current directory when output should go + elsewhere. We must perform locking if it does. + + 1999-04-27 Gary V. Vaughan + + * ltmain.in (old_archive_cmds): Ensure that there are always .o + objects available before running old_archive_cmds. + + 1999-04-26 Erez Zadok + + * doc/PLATFORMS: Updates for netbsd 1.3.3 and 1.4. + + 1999-04-26 Alexandre Oliva + + * ltconfig.in (aix4.[01], always_export_symbols): The case pattern + would never match; fixed. + Reported by Stephan Kulow + + 1999-04-25 Alexandre Oliva + + * libtool.m4 (OBJDUMP): Pass it to ltconfig. + * configure.in: AC_SUBST DLLTOOL, OBJDUMP and AS. + * Makefile.am (libtool, clibtool): Pass them to ltconfig. + + 1999-04-25 Frank Ch. Eigler + + * libtool.m4 (cygwin*): Look for target objdump tool. + * ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target + objdump tool. Track OBJDUMP like DLLTOOL and AS. + + * ltconfig.in (cygwin*, deplibs_check_method): Accept + "architecture: i386" as optional suffix, for it is printed on a + separate line sometimes. + + * ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C". + + * ltmain.in (deplibs_check_method=file_magic): Redirect stderr to + /dev/null, to suppress error messages from target objdump. + + 1999-04-25 Alexandre Oliva + + * ltconfig.in (irix*, soname_spec, library_names_spec): Missing + dots before $versuffix and $major. + + * ltconfig.in (solaris*, whole_archive_flag_spec): Use -z + allextract/defaultextract from Solaris 2.6 on. + Reported by Brian Ford + + * ltconfig.in (beos*, allow_undefined_flag): Do not build shared + libraries with undefined symbols. + + * ltconfig.in (aix4*, allow_undefined_flag): Set to -berok. + (aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE. + (aix4*, archive_cmds): Use -bexpall. + (aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and + allow_undefined_flag. + (aix4*, always_export_symbols): Set to yes up to AIX 4.1.*, + because -bexpall is supported from 4.2 on. + Reported by Greg Wooledge + + + * ltconfig.in (hpux*, hardcode_minus_L): Set to yes. + (hpux*, hardcode_libdir_flag_spec): Do not use +s by default. + (hpux*, shlibpath_overrides_runpath): Set to no. + + * ltconfig.in (irix*, osf*, archive_cmds): Write so_locations + within objdir. + + * ltconfig.in (irix*, soname_spec): Append $major. + (irix*, library_names_spec): Add new soname. + Reported by David Kaelbling + + * ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib + is not searched by default. /usr/lib is searched before /lib. + * ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is + searched before /lib. + + * ltconfig.in (irix5*, need_lib_prefix, need_version): Set to no, + by unifying with irix6*. + + * ltconfig.in (irix*, osf*, deplibs_check_method): Use pass_all. + + * ltconfig.in (old_LDFLAGS, old_LIBS): Save and write to comments + in output file. + + * ltmain.in (prefer_static_libs): New variable, set to no by + default, but set to yes by -static and -all-static. Used instead + of build_libtool_libs to decide whether to use a shared or static + version of a library, when both versions are available. + + 1999-04-25 Boyd Lynn Gerber + + * ltconfig.in (sco3.2v5*): Use LD_RUN_PATH for hard-coding. + + 1999-04-25 Pavel Roskin + + * Makefile.am (uninstall-local): Remove installed libltdl tree. + + 1999-04-25 Alexandre Oliva + + * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl): + Added CFLAGS to link commands; SCO OSR needs it for -belf. + + * TODO: -Wl and -Wc options. + + 1999-04-12 Alexandre Oliva + + * libltdl/ltdl.c: Remove trivial warnings. + + 1999-04-22 Frank Ch. Eigler + + * ltconfig.in: Correct sed expression that extracts symbols + from cygwin def files. Ignore demangled C++ names, if any. + + 1999-04-12 John David Anglin + + * libltdl/ltdl.c (shl_close): shl_t was correct here... + (shl_sym): ... but we have to pass the handle by reference here. + + 1999-04-12 Alexandre Oliva + + * doc/libtool.texi (Invoking ltconfig): Document environment + variables used. + + * doc/libtool.texi (Invoking ltconfig): Document --cache-file. + + * doc/libtool.texi (Invoking ltconfig): Document + --disable-fast-install, --enable-dlopen, --with-gnu-ld and + --disable-lock. + + 1999-04-11 Thomas Tanner + + * libltdl/configure.in: check for shl_load in libdld + * libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t + * ltconfig.in (check for gcc): removed a bogus line, + check for shl_load in libdld + * ltmain.in: added a warning to the header of the .la file + to warn users against deleting the file, + link shared against static libraries if + deplibs_check_method == pass_all + + 1999-04-10 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs, + try $ac_exeext too, so that they're found on DJGPP/MS-DOS. + * ltconfig.in: Likewise. + Reported by Robert S. Maier + + * ltconfig.in (Usage): Removed --enable-dlopen-self. + Reported by Pavel Roskin + + * ltconfig.in: Moved sysv4 before sysv4.*. + (symcode): Brian's overrider is specific to sysv4, not sysv4*. + + 1999-04-09 Thomas Tanner + + * NEWS, README: Motorola System V 4 support + * doc/PLATFORMS: added mk88-motorola-sysv4 + * ltconfig.in: installed patch from Brian Ford + to support mk88-motorola-sysv4 + + * doc/libtool.texi: some cleanups in the libltdl documentation + + 1999-04-07 Alexandre Oliva + + * ltconfig.in (--fallback-echo): Do not put an inline document and + an exec in the same if construct; otherwise the inline document + may not be removed. + * ltmain.in (--fallback-echo): Likewise. + Reported by John David Anglin + + * dryrun.test: It would still fail at random times, because `cp' + and `mv' are not guaranteed to preserve the timestamps of the + installed files. Instead of preserving them, just remove them + before the dry uninstall test. Redirect dry-run output to stderr, + so that it can be easily separated from the regular output. + + 1999-04-07 Thomas Tanner + + * NEWS: support for moved libraries + * libtool.m4: another DJGPP fix + + 1999-04-07 Alexandre Oliva + + * doc/PLATFORMS: Updated to 1.3 for all platforms I've got. I'll + make sure 1.3 won't be released unless it passes all tests on + those platforms. + + * doc/libtool.texi (Compile mode): Document potential problem and + work-around for `-c -o dir/foo.lo'. + + * tests/dryrun.test: The constant modifications of libtool would + cause main.o to be updated at the wrong time; the new approach is + to modify the libtool script so that it enables dry run depending + on whether an environment variable is set or not. I've also moved + `after' and `before' to a directory deep within $objdir, instead + of creating it in ../tests. + * tests/Makefile.am (CLEANFILES): Removed. + + 1999-04-06 Alexandre Oliva + + * tests/dryrun.test: We cannot rely on setting LIBTOOL, because + automake may use sub-makes, and the setting will not be propagated + to them on some makes. Instead, create a dry version of libtool + and switch between it and the original one before and after dry + runs. + * tests/Makefile.am (CLEANFILES): Added libtool-*, created by + dryrun.test. + + * tests/dryrun.test: Use cmp instead of diff. + (before, after): Create them within ../tests. + (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, + SHELL and top_builddir from the environment if available. For dry + runs, use "$libtool -n". + * tests/Makefile.am (CLEANFILES): Added before and after. + * ltmain.in: Do not create links to object files in dry runs. + + 1999-04-06 Thomas Tanner + + * ltmain.in: added a missing line of the ILD patch + + * NEWS: improved DJGPP support + * doc/libtool.texi: removed hardcode_into_libs documentation + * libtool.m4: some DJGPP fixes + * ltconfig.in: ditto, reverted one of my previous patches: we need + to check for NM, removed the hardcode_into_libs support since + no platform seems to support it + * ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support + + 1999-04-05 Alexandre Oliva + + * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries + + * Makefile.am (CVS): allow command-line overriding of cvs + + * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by + default, as most a.out platforms use it, and end up in trouble if + we preload it, so it's safer to rule it out by default, and + special case its removal from exclude_expsyms if someone ever + complains. + + 1999-04-05 Thomas Tanner + + * doc/libtool.texi: reorder tests to reflect execution order, + documented dryrun.test and depdemo* + * ltmain.in (lt_preloaded_symbols): dry-run mode bugfix + * tests/dryrun.test: new test to check whether the dry-run + mode works properly + + * demo/run.test: removed the unnecessary test + * demo/Makefile.am: ditto + * ltmain.in: set the DLL search path on cygwin,mingw and os2 + + 1999-04-04 Alexandre Oliva + + * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for + deplibs.test to work with GNU ld; -Bshareable is needed here. + + * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with + native ld too. + + * ltconfig.in (sunos4*, GNU ld): Reordered. + + * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the + native linker doesn't even support -Bshareable, only GNU ld does. + Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test. + + * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too, + otherwise it will just be disregarded. This would cause + netbsd/m68k with GNU ld a.out, and certainly many other platforms, + to incorrectly believe that shared libraries were supported, while + archive_cmds was empty, causing shared libraries not to be created + + 1999-04-03 Alexandre Oliva + + * NEWS: improved support for AIX and HP/UX + + 1999-04-03 Thomas Tanner + + * NEWS: updated + * libtool.m4: check for main in libm instead of cos + * ltmain.in: cosmetic fixes, don't try to link libraries only once + (although it's not necessary on many platforms and looks ugly...), + + 1999-04-02 Alexandre Oliva + + * ltmain.in (convenience): fixed race condition when more than one + library was linked with the same convenience library by + uniquifying the extract directory. It is now named after the new + library *and* the old one, and lives in the objdir of the new one. + + * ltmain.in (-L*): do not abort just because a directory specified + with -L does not exist; just warn and discard it + + * depdemo/l1/Makefile.am (AUTOMAKE_OPTIONS): no-dependencies + * depdemo/l2/Makefile.am (AUTOMAKE_OPTIONS): ditto + * depdemo/l3/Makefile.am (AUTOMAKE_OPTIONS): ditto + * depdemo/l4/Makefile.am (AUTOMAKE_OPTIONS): ditto + + * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we + should have been using -Bshareable + + * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check + + * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests + that involve linking + * Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto + * tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set + (LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down + + 1999-04-02 Erez Zadok + + * doc/PLATFORMS: 1.2f ok on various versions of hpux cc + + 1999-04-02 Alexandre Oliva + + * ltconfig.in (link_all_deplibs): set to unknown by default + * ltmain.in: test != no, not = yes + * doc/libtool.texi: document unknown + + 1999-04-01 Thomas Tanner + + * doc/libtool.texi: documented deplibs.test + + * demo/Makefile.am: moved testsuite specific declarations to the end, + the deplibs check is now optional + * libltdl/configure.in: read libtool --config only once, + merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4 + * libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not + used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN + no longer necessary + * ltconfig.in: NM is already checked in libtool.m4, + * ltmain.in: always link all static dependency_libs + * tests/Makefile.am: added deplibs.test + * tests/demo-exec.test, demo-inst.test: removed hell0 + * tests/deplibs.test: new test to test the deplibs_check_method + + 1999-03-31 Thomas Tanner + + * ltmain.in: always link a library before its dependency libs + * mdemo/Makefile.am: test -export-symbols-regex + + 1999-03-30 Thomas Tanner + + * doc/libtool.texi: fixed a typo + * libtoolize.in: add the libtool scripts to libltdl.tar.gz + * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), + AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work + when libltdl is already installed + * *demo/Makefile.am: use LIBM + * *demo/configure.in: AC_SUBST LIBM + * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of + USE_SYMBOL_UNDERSCORE + * ltconfig.in: added link_all_deplibs variable + * doc/libtool.texi: document it + * ltmain.in: always search for libname.la - don't eval libname_spec, + when linking libraries against static ones just print a warning + and add them to dependency_libs, add -lc before deplibs, + always link all dependencies of a static library or if + link_all_deplibs is yes, hardcode library paths if + hardcode_into_libs is no, don't link against dependency_libs + that already are deplibs + + 1999-03-30 Alexandre Oliva + + * ltconfig.in (aix4*, collect2name): make sure collect2 exists + before running string on it, to avoid errors on old gccs + Reported by Erez Zadok + + * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're + using gcc with old collect2, use -b libpath to hardcode the + library search path + + * ltmain.in, ltconfig.in: reverted most of the quoting changes + from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19 + obviates it. Keep only quoting of $PATH, for uniformity with + other systems that already did it + + 1999-03-29 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the + extra byte of memory for the teminating NUL, and forgot to + strcpy the original path in to the new memory before appending + the new path compononent. + + 1999-03-27 Thomas Tanner + + * NEWS: updated + * README: updated (BeOS support, no longer shared libraries + support for AmigaOS), cleanups, we have now two mailing lists + * REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists + * THANKS: added Xavier Pianet + * doc/PLATFORMS: BeOS works + * doc/libtool.texi: we have now to two mailing lists, + updated -dlopen self documentation, documented libltdl's license, + put each author in a separate line, + inter-library dependencies on uninstalled libtool libraries are + now supported, cleanups and minor corrections + * libltdl/COPYING.LIB: new file + * libltdl/ltdl.[ch]: added special exception to the LGPL license + * libtool.spec: removed, it was outdated + * Makefile.am: removed libtool.spec + * ltmain.in: use TMPDIR when possible, create a subdirectory + in the temporary directory, added -export-symbols-regex to the help, + + 1999-03-25 Alexandre Oliva + + * demo/Makefile.am: create a static library, link two libtool + archives with it, then link the program hell0 with both + * demo/hell1.c, demo/hell2.c: dummy files used to create the + libtool archives without introducing symbol conflicts + * tests/demo-exec.test, tests/demo-inst.test: run the new program + * ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all + + * ltmain.in ($PATH): instead of modifying the PATH, better prevent + its expansion the first time *_cmds variables are eval'ed. Modify + $show within loops that eval them so as to expand variables + * ltconfig.in (*_cmds): quote $ so that they're not expanded by + the first eval + + 1999-03-25 Gary V. Vaughan + + * ltmain.in ($PATH): Expand any tildes in the users path to the + contents of $HOME to avoid problems with *_cmds splitting and + evaluation. + + 1999-03-24 Thomas Tanner + + * TODO: support -dlopen for libraries + * doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1 + * doc/libtool.texi (libltdl): libltdl supports BeOS + * libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT + didn't exist, partially reverted my previous patch: BeOS will + automatically search in ADDON_PATH + * ltmain.in: don't allow relative run-paths, fixed a typo in a warning, + ignore -dlopen self for libraries and objects, + only accept -L paths that exist, minor cleanups, + bugfix: add -lc for normal libraries, not convenicence libraries + removed offensive warnings/comments + + 1999-03-24 Alexandre Oliva + + * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries + + 1999-03-23 Gary V. Vaughan + + * libltdl/configure.in: the sed expression for finding the shared + library extension used to think the . in [.] for the cygwin + shared_library_names_spec was the start of the extension!! We now + remove anything in square brackets (assuming that the square + brackets delimit a sed or expr expression which is not part of the + extension) before looking for the extension. + + * TODO (cygwin): food for thought re: mutually dependant dlls. + + 1999-03-21 Alexandre Oliva + + * tests/build-relink.test: if we relink and have hardcode_direct, + removing an uninstalled library breaks an uninstalled program + + * doc/libtool.texi: documented convenience libraries + * TODO: removed entry about it + + * tests/*-unst.test: if directory is not configured, skip it + * tests/demo.test, tests/mdemo.test: unused, removed + * tests/depdemo.test: ditto + + 1999-03-20 Thomas Tanner + + * doc/libtool.texi (link mode): documentation for -module updated + * ltconfig.in: fast-install mode doesn't work for + hardcode_into_libs=yes + * ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use + dlopen_self_static, automatically enable -export-dynamic when + using "-dlopen self", always make run-paths absolute, + ignore -lc only on platforms that don't have such a library, + cleanups in the ILD code, find even installed libtool libraries + that were moved, before generating the DLL-import library we need + to set libname, improved hardcoding of shlibpath for libraries, + don't generate an installable pseudo-library for convenience + libraries, bugfix: export_symbols would be removed immediately + before it is used + + 1999-03-19 Thomas Tanner + + * use the same header in all configure.in's and Makefile.am's + * NEWS: improved support for BeOS and Cygwin + * TODO: ILD branch was merged, all internal variables and macros + are now documented + * demo/Makefile.am: use $(LIBS) instead of -lm + * doc/libtool.texi: documented new variable hardcode_into_libs + and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros + to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN + * libltdl/ltdl.c: added two new error messages (cannot_open_error, + cannot_close_error), use them where approriate, + BeOS support (thanks to Xavier Pianet), on BeOS search modules + additionally in ADDON_PATH + * libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have + libm and *-ncr-sysv4.3* requires libmw + * ltconfig.in: don't check for LoadLibrary, hardcode dlopen + configuration for BeOS and Cygwin + * ltmain.in: fix sourcing of .la files on Solaris + (patch by Raja R Harinath) + + 1999-03-19 Alexandre Oliva + + * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we + have -rpath + (aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is + default + (hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here + (hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s + before +b + (hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s + appears before +b, set it to yes + (hardcode_shlibpath_var, hardcode_action): do not use + shlibpath_var to specify the compile-time search path; it loses, + and we may end up linking with pre-installed older versions of + libraries instead of yet-to-be-installed ones + (*, hardcode_direct, hardcode_minus_L): remove entries that set + them to no, that is default + + * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with + $$hardcode_libdir_flag_spec, if available, with libdir=$(libdir), + to make sure the hardcode_* variables will produce the expected + results even in the presence of a hardcoding flag; depend on + libhello.la having been installed already + (hc-libflag): link with the installed library, but try to + hard-code the uninstalled one + * doc/libtool.texi: document the changes + + * tests/*.test: when a test fails, skip tests that depend on it. + If a certain configuration is not supported, skip all its tests. + + * doc/libtool.texi: reorder tests to reflect execution order + + * tests/noinst-link.test: new test + * tests/Makefile.am (TESTS): added noinst-link.test + * doc/libtool.texi: document it + + 1999-03-19 Gary V. Vaughan + + * ltmain.in (dependency_libs): There is no reason to infer that + the pseudo library is invalid if dependency_libs='' at + install-time, or else libltdl/libltdl.la is invalid!! + + 1999-03-18 Thomas Tanner + + * merged my inter-library dependencies code from the ILD branch: + * NEWS: inter-library dependencies are now supported + * configure.in: add the depdemo subdirectory + * depdemo/*: new demo to demonstrate inter-library dependencies + * tests/depdemo*: new tests for depdemo + * ltconfig.in: added hardcode_into_libs (whether library paths + should be hardcoded into the libraries), + it currently defaults to 'no' + * ltmain.in: new internal 'relink' mode to relink libraries + on platforms with hardcode_into_libs=yes, save command line + arguments in libtool_args, accept relative -L directories, + ignore -lm on BeOS and Cygwin, always ignore -lc, + handle -l, -L and .la arguments later, always make the library + installation directory (-rpath) absolute, in relink mode don't + delete the not-relinked library and exit immediately after relinking, + try to find already-installed libtool libraries that were specified + using -l, support hardcoding of library paths into libraries too, + export shlibpath before linking libraries, and a lot of other + big changes that I don't want to describe here... please read + the source. + + * merged Gary's Win32 code from the ILD branch: + * NEWS: Win32 DLLs are now supported + * TODO: removed .a library namespace clash for win32. It is + now resolved. + * ltconfig.in (cygwin, library_names_spec): removed $libname.a. + Creating a dll with libtool no longer creates an import library. + * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does + not exist -- i.e. we need to generate import an import library + in a directory which has no libs of its own. + * doc/libtool.texi (old_archive_from_expsyms_cmds, + extract_expsyms_cmds): documented these new variables. + * ltconfig.in (extract_expsyms_cmds): New variable. Commands to + extract the exported symbol list from a dll. + (old_archive_from_expsyms_cmds): New variable. Commands to build + an old archive from the extracted expsyms list. + * ltmain.in: run the cmds in extract_expsyms_cmds and + old_archive_from_expsyms_cmds as necessary. + * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer + required. + * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even + sure whether win32 honours the runpath at all when searching for + a dll to load! Anyway, when set to yes this prevents a gratuitous + warning. + * ltmain.in (deplib): The cygwin environment doesn't actually have + -lm, and although the linker fakes having one, specifiying it to + libtool will break ILD, so we ignore it when generating + dependencies. + + 1999-03-17 Gary V. Vaughan + + * doc/PLATFORMS: Thanks to Alexandres changes below, both my + hp boxes pass the entire test suite. + + 1999-03-17 Alexandre Oliva + + * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b + (hpux*, hardcode_libdir_separator): set to colon + + 1999-03-17 Alexandre Oliva + + * doc/PLATFORMS: egcs is gcc; updates from Erez Zadok + + 1999-03-16 Alexandre Oliva + + * ltmain.in (deplibs, beos*): don't append -lc + Reported by Xavier Pianet + + * tests/build-relink.test (hardcode_action): when set to relink, + skip the test with lt-hell + + * Makefile.am (EXTRA_DIST): add mkstamp + Reported by Xavier Pianet + + * Makefile.am (EXTRA_DIST): add ChangeLog.0 + + 1999-03-16 Thomas Tanner + + * doc/libtool.texi: some minor corrections to the "-dlopen self" + documentation + * tests/Makefile.am: sorted by name, added assign.test + * ChangeLog: started new file + + * ltconfig.in: some cosmetical changes + * ltmain.in: ditto + + Continued in ChangeLog.0 Index: libtool/Makefile.am diff -c libtool/Makefile.am:1.63 libtool/Makefile.am:1.69 *** libtool/Makefile.am:1.63 Wed Sep 20 20:10:41 2000 --- libtool/Makefile.am Sat Mar 29 00:06:46 2003 *************** *** 3,8 **** --- 3,9 ---- AUTOMAKE_OPTIONS = 1.3e gnu BUILD_SUBDIRS = . libltdl doc tests + CONF_SUBDIRS = @CONF_SUBDIRS@ SUBDIRS = $(BUILD_SUBDIRS) DIST_SUBDIRS = $(BUILD_SUBDIRS) $(CONF_SUBDIRS) *************** *** 11,21 **** CPPLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS= @LIBS@ aclocal_macros = libtool.m4 ltdl.m4 EXTRA_DIST = $(aclocal_macros) bootstrap libtoolize.in ltmain.in \ ! mkstamp ChangeLog.0 CLEANFILES = libtool libtoolize ltmain.shT # These are required by libtoolize. --- 12,24 ---- CPPLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS= @LIBS@ + FFLAGS = @FFLAGS@ + FLIBS = @FLIBS@ aclocal_macros = libtool.m4 ltdl.m4 EXTRA_DIST = $(aclocal_macros) bootstrap libtoolize.in ltmain.in \ ! mkstamp ChangeLog.0 ChangeLog.1 CLEANFILES = libtool libtoolize ltmain.shT # These are required by libtoolize. *************** *** 28,34 **** # The standalone libtool script, and the libtool distributor. bin_SCRIPTS = libtool libtoolize ! libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.in $(SHELL) $(top_builddir)/config.status --recheck chmod +x $@ --- 31,37 ---- # The standalone libtool script, and the libtool distributor. bin_SCRIPTS = libtool libtoolize ! libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac $(SHELL) $(top_builddir)/config.status --recheck chmod +x $@ *************** *** 43,48 **** --- 46,52 ---- -e "s%@""TIMESTAMP@%$$date%" $(srcdir)/ltmain.in > ltmain.shT mv -f ltmain.shT $@ || \ (rm -f $@ && cp ltmain.shT $@ && rm -f ltmain.shT) + cp $@ $(srcdir)/libltdl/ # TSDEPS will be defined to TSDEPS_DIST at `make dist' time TSDEPS = *************** *** 109,112 **** else prevno="$$OLDVERSION"; fi; \ prevver=release-`echo $$prevno | sed 's/\./-/g'`; \ $(CVS) -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \ ! > $(PACKAGE)-$$prevno-$(VERSION).diff --- 113,117 ---- else prevno="$$OLDVERSION"; fi; \ prevver=release-`echo $$prevno | sed 's/\./-/g'`; \ $(CVS) -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \ ! | GZIP=$(GZIP_ENV) gzip -c \ ! > $(PACKAGE)-$$prevno-$(VERSION).diff.gz Index: libtool/NEWS diff -c libtool/NEWS:1.91.2.10 libtool/NEWS:1.109.2.1 *** libtool/NEWS:1.91.2.10 Tue Oct 22 22:54:36 2002 --- libtool/NEWS Mon Apr 14 18:48:00 2003 *************** *** 1,27 **** NEWS - list of user-visible changes between releases of GNU Libtool ! New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne: ! * The libltdl subdirectory now bootstraps correctly with Automake 1.5. ! * srcdir != builddir builds with Automake 1.5 work correctly. ! * Support for mips-compaq-nonstopux. ! * New command line argument, --preserve-dup-deps prevents removal of ! duplicate dependent libraries. ! ! New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan: ! * libltdl now builds on solaris again ! * diagnose and warn about not-quite-working combinations of gcc and ! ld on solaris. ! * Improved OpenBSD support. ! * Improved cygwin support. ! * Bugfixes. ! New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team: * Better error messages from libltdl when loading fails. * Don't leave here-doc files behind. - * Improved support for OpenBSD. - * Libtool will build with autoconf-2.50 and higher. - * Plug memory management bugs in libltdl. - * Prefer shl_load to dlopen for better operation on HP-UX. New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team: * Support for aix5*. --- 1,45 ---- NEWS - list of user-visible changes between releases of GNU Libtool ! New in 1.5: 2002-04-14; CVS version 1.4e, Libtool team: ! * First stable release of multi-language architecture. ! * libtool and libltdl support for Mac OS/X. ! * libltdl will now use cygwins dlopen API instead of always forcing ! LoadLibrary. ! * Support auto-import patch to binutils on cygwin for much improved dll ! support. ! * Bug fixes. ! New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team: ! * Help strings display correctly again. ! * Better error messages when library linking fails. * Better error messages from libltdl when loading fails. + * Better search path management in libltdl with `lt_dlinsertsearchdir' call. + * Support /lib/w32api in recent cygwin releases. + * Support cross compilation to mingw. + * Support for .rc files (Windows resource compiler). + * Improved handling of mingw gcc. + * Improved handling of $PATH with entries containing spaces. + * Improved support for linking with gcc on aix4* and aix5*. + * Improved support for GCC 3.0. + * Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8. + * Bug fixes to the OpenBSD port. + * Bug fixes. + + New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team: + * Now bootstraps with autoconf-2.50 and automake-1.4-p4. + * Always try to build at least a static lib, even if both static and + shared libs were disabled. + * Full support for C++ compiler. + * Support for GNU gcj compiler. + * libltdl can now load all modules in a given path according to user + supplied criteria with `lt_dlforeachfile' call. + * Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*. + * Internal mutex handling no longer has namespace clashes on NCR MP-RAS. + * New pdemo and tagdemo tests. + * Bug fixes. + + New in 1.4.1: 2001-??-??; CVS version 1.4.0a, Libtool team: * Don't leave here-doc files behind. New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team: * Support for aix5*. *************** *** 139,145 **** New in CVS version 1.2g, Libtool team: * AM_PROG_LIBTOOL is smaller and faster ! * AC_LIBTOOL_WIN32_DLL is required in configure.in for libtool to attempt to build dlls on win32 hosts * Shared libraries on AmigaOS up to version 4 are now disabled since they don't meet libtool's requirements for shared libraries --- 157,163 ---- New in CVS version 1.2g, Libtool team: * AM_PROG_LIBTOOL is smaller and faster ! * AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to attempt to build dlls on win32 hosts * Shared libraries on AmigaOS up to version 4 are now disabled since they don't meet libtool's requirements for shared libraries *************** *** 246,252 **** New in 1.2 - 1998-03-20, Gordon Matzigkeit: * Minor bug fixes to provide a stable public release. ! * Libtool no longer causes Solaris printf to barf due to silly 2110-byte static buffers. New in 1.1 - 1998-03-08, Gordon Matzigkeit: --- 264,270 ---- New in 1.2 - 1998-03-20, Gordon Matzigkeit: * Minor bug fixes to provide a stable public release. ! * Libtool no longer cseses Solaris printf to barf due to silly 2110-byte static buffers. New in 1.1 - 1998-03-08, Gordon Matzigkeit: Index: libtool/README diff -c libtool/README:1.14 libtool/README:1.17.2.1 *** libtool/README:1.14 Wed Dec 13 21:53:45 2000 --- libtool/README Mon Apr 14 18:48:00 2003 *************** *** 2,15 **** the complexity of using shared libraries behind a consistent, portable interface. - IMPORTANT: - ========== - - ** Until the next release of automake, you should apply the patch at ** - ** the end of this file to your installed automake script if you ** - ** intend to use it in conjunction with this release of libtool. ** - - To use libtool, add the new generic library building commands to your Makefile, Makefile.in, or Makefile.am. See the documentation for details. --- 2,7 ---- *************** *** 20,25 **** --- 12,18 ---- AIX 3.x, 4.x (*-*-aix3*, *-*-aix4*) BeOS (*-*-beos*) BSD/OS 2.1, 3.x, 4.x (*-*-bsdi2.1, *-*-bsdi3*, *-*-bsdi4*) + Darwin 5.x, 6.x a.k.a Mac OS X (*-*-darwin*) [see note] Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*) DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*) FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*) *************** *** 61,66 **** --- 54,66 ---- an old version of gcc provided by Marco Walther you can find on ftp://ftp.mch.sni.de/sni/mr/pd/gnu/gcc/gcc.2.7.2.3 on Reliant Unix. + NOTE: libtool.m4, ltdl.m4 and the configure.ac files are marked to use + autoconf-mode, which is distributed with GNU Emacs 21, and all recent + releases of XEmacs. + + NOTE: In some cases support is more limited on Darwin 5.x because of + the use of zsh as the default system shell. + Libtool's home page is: http://www.gnu.org/software/libtool/libtool.html *************** *** 100,106 **** Since alpha releases are start with the code of a previous stable release, the and are the same as the ! stable release they started with. So release `1.3a' is the first alpha release after stable release `1.3', and so on. To complicate matters slightly we always increment the letter in the --- 100,106 ---- Since alpha releases are start with the code of a previous stable release, the and are the same as the ! stable release they started with. So release `1.3b' is the first alpha release after stable release `1.3', and so on. To complicate matters slightly we always increment the letter in the *************** *** 131,144 **** `1.3.4' is the fourth patch release after stable release `1.3'; `1.3b' is the first alpha release after stable release `1.3'. - --- /usr/bin/automake Sat Mar 11 09:25:33 2000 - +++ automake Thu Sep 7 22:08:33 2000 - @@ -187,7 +187,7 @@ $seen_libtool = 0; - $libtool_line = 0; - - # Files installed by libtoolize. - -@libtoolize_files = ('ltconfig', 'ltmain.sh', 'config.guess', 'config.sub'); - +@libtoolize_files = ('ltmain.sh', 'config.guess', 'config.sub'); - - # TRUE if we've seen AM_MAINTAINER_MODE. - $seen_maint_mode = 0; --- 131,133 ---- Index: libtool/README-alpha diff -c libtool/README-alpha:1.10 libtool/README-alpha:1.15.2.1 *** libtool/README-alpha:1.10 Fri May 26 22:33:56 2000 --- libtool/README-alpha Mon Apr 14 18:48:00 2003 *************** *** 15,21 **** libtool to a new platform, please send electronic mail to the libtool mailing list or bug reports to . Don't forget to mention the version of libtool that you are currently ! using (by typing `ltconfig --version'). ================================================================ = Administrivia --- 15,21 ---- libtool to a new platform, please send electronic mail to the libtool mailing list or bug reports to . Don't forget to mention the version of libtool that you are currently ! using (by typing `libtool --version'). ================================================================ = Administrivia *************** *** 53,63 **** * Fetch new versions of the files that are maintained by the FSF. config.guess and config.sub are available via ftp from ! ftp://ftp.gnu.org/gnu/config/ * Update NEWS. ! * Update the version number in configure.in. (The idea is that every other alpha number will be a net release. The repository will always have its own "odd" number so we can easily distinguish net and repo versions.) --- 53,64 ---- * Fetch new versions of the files that are maintained by the FSF. config.guess and config.sub are available via ftp from ! ftp://ftp.gnu.org/gnu/config/, and texinfo.tex is available from ! ftp://ftp.gnu.org/gnu/GNUinfo/. * Update NEWS. ! * Update the version number in configure.ac. (The idea is that every other alpha number will be a net release. The repository will always have its own "odd" number so we can easily distinguish net and repo versions.) *************** *** 79,91 **** libtool--.tar.xdp.gz' * Upload release tarball, diff file and xdelta file ! ftp://melange.gnu.org/~ftp/gnu/libtool and send announcement to libtool@gnu.org. * If not an alpha, announcement must also go to info-gnu@gnu.org, and an upload request be sent to ftp-upload@gnu.org requesting files be transferred from ftp://alpha.gnu.org/gnu/libtool to ftp://ftp.gnu.org/gnu/libtool. ! * Update version number in configure.in to next alpha number. * Commit. --- 80,185 ---- libtool--.tar.xdp.gz' * Upload release tarball, diff file and xdelta file ! ftp://fencepost.gnu.org/~ftp/gnu/libtool and send announcement to libtool@gnu.org. * If not an alpha, announcement must also go to info-gnu@gnu.org, and an upload request be sent to ftp-upload@gnu.org requesting files be transferred from ftp://alpha.gnu.org/gnu/libtool to ftp://ftp.gnu.org/gnu/libtool. ! * Update version number in configure.ac to next alpha number. * Commit. + + * Update the front libtool webpage to indicate the latest release + number, and the news page to reflect the latest release note. + + ================================================================ + = Alpha release note template + + To: libtool@gnu.org + + The Libtool Team is pleased to announce alpha release @VERSION@ of GNU + Libtool. + + GNU Libtool hides the complexity of using shared libraries behind a + consistent, portable interface. GNU Libtool ships with GNU libltdl, + which hides the comlexity of loading dynamic runtime libraries + (modules) behind a consistent, portable interface. + + This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. + + New in @VERSION@: @RELEASE_DATE@ + + @EXCERPT_FROM_NEWS_FILE@ + + libtool-@VERSION@ is available now from + ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz, along with + diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@ + that are also available from ftp://alpha.gnu.org/gnu/libtool. + + This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, + but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own + projects. + + Alternatively, you can fetch the unbootstrapped sourcecode from + anonymous cvs by using the following commands (just hit return when + you are prompted for the password): + + $ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool login + Password: + $ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool \ + co -r @CVS_RELEASE_TAG@ libtool + + You will then need to have recent (possibly as yet unreleased) versions + of Automake and Autoconf installed to bootstrap the checked out + sources yourself. + + Please report bugs to . + + ================================================================ + = Full release note template + + To: info-gnu@gnu.org + Cc: libtool@gnu.org, autoconf@gnu.org, automake@gnu.org + + The Libtool Team is pleased to announce the release of GNU Libtool + @VERSION@. + + GNU Libtool hides the complexity of using shared libraries behind a + consistent, portable interface. GNU Libtool ships with GNU libltdl, + which hides the comlexity of loading dynamic runtime libraries + (modules) behind a consistent, portable interface. + + This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@. + + New in @VERSION@: @RELEASE_DATE@ + + @EXCERPT_FROM_NEWS_FILE@ + + libtool-@VERSION@ is available now from + ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz, along with + diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@ + that are also available from ftp://ftp.gnu.org/gnu/libtool. Please + use a mirror to reduce stress on the main gnu machine: + + http://www.gnu.org/order/ftp.html + + This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@, + but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own + projects. + + Alternatively, you can fetch the unbootstrapped sourcecode from + anonymous cvs by using the following commands (just hit return when + you are prompted for the password): + + $ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool login + Password: + $ cvs -z3 -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/libtool \ + co -r @CVS_RELEASE_TAG@ libtool + + You will then need to have the latest release versions of Automake + (@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed to + bootstrap the checked out sources yourself. + + Please report bugs to . Index: libtool/THANKS diff -c libtool/THANKS:1.29 libtool/THANKS:1.34 *** libtool/THANKS:1.29 Tue Nov 2 07:33:05 1999 --- libtool/THANKS Thu Mar 20 15:24:20 2003 *************** *** 10,40 **** time and energy in helping to track down bugs, port to new systems, and generally assist in the libtool maintainership process: ! Akim Demaille ! Andrey Slepuhin ! Bruno Haible ! Carl D. Roth ! Chris P. Ross ! DJ Delorie ! Edouard G. Parmelan ! Eric Estievenart ! Erez Zadok ! H.J. Lu ! Ian Lance Taylor ! Joel N. Weber II ! Joseph Beckenbach III ! Kenneth Albanowski ! Kurt D. Zeilenga ! Manfred Weichel ! Marc J. Fraioli ! Mark Kettenis ! Ossama Othman ! Olly Betts ! Pavel Roskin ! Sebastian Wilhelmi ! Stephan Kulow ! Steven M. Schultz ! Todd Vierling ! Tom Tromey ! Ulrich Drepper ! Xavier Pianet --- 10,58 ---- time and energy in helping to track down bugs, port to new systems, and generally assist in the libtool maintainership process: ! Akim Demaille akim@epita.fr ! Albert Chin-A-Young china@thewrittenword.com ! Andreas Schwab schwab@suse.de ! Andrey Slepuhin pooh@msu.ru ! Aneesh Kumar K.V kvaneesh@hotmail.com ! Brad Smith brad@comstyle.com ! Bruno Haible haible@ilog.fr ! Carl D. Roth roth@cse.ucsc.edu ! Charles S. Wilson cwilson@ece.gatech.edu ! Chris P. Ross cross@eng.us.uu.net ! DJ Delorie dj@delorie.com ! Edouard G. Parmelan Edouard.Parmelan@France.NCR.COM ! Erez Zadok ezk@shekel.mcl.cs.columbia.edu ! Eric Estievenart eric@via.ecp.fr ! Frank Ch. Eigler fche@cygnus.com ! H.J. Lu hjl@gnu.org ! Ian Lance Taylor ian@cygnus.com ! Joel N. Weber II devnull@gnu.org ! Joseph Beckenbach III jrb3@best.com ! Kenneth Albanowski kjahds@kjahds.com ! Kevin Ryde user42@zip.com.au ! Kurt D. Zeilenga Kurt@OpenLDAP.Org ! Manfred Weichel Manfred.Weichel@pdb.siemens.de ! Marc J. Fraioli fraioli@dg-rtp.dg.com ! Mark Kettenis kettenis@phys.uva.nl ! Nick Hudson skrll@netbsd.org ! Olly Betts olly@muscat.co.uk ! Ossama Othman othman@cs.wustl.edu ! Paul Eggert eggert@twinsun.com ! Peter Eisentraut peter_e@gmx.net ! Peter O'Gorman peter@pogma.com ! Benjamin Reed ranger@befunk.com ! Pavel Roskin pavel_roskin@geocities.com ! Rainer Orth ro@TechFak.Uni-Bielefeld.DE ! Ralph Schleicher rs@nunatak.allgaeu.org ! Robert Collins robert.collins@itdomain.com.au ! Sebastian Wilhelmi wilhelmi@ira.uka.de ! Stephan Kulow coolo@kde.org ! Steven M. Schultz sms@wlv.iipo.gtegsc.com ! Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu ! Tim Van Holder tim.van.holder@pandora.be ! Todd Vierling tv@pobox.com ! Tom Tromey tromey@cygnus.com ! Tor Lillqvist tml@iki.fi ! Ulrich Drepper drepper@ipd.info.uni-karlsruhe.de ! Xavier Pianet xavier@xingo.com Index: libtool/TODO diff -c libtool/TODO:1.46.2.3 libtool/TODO:1.49 *** libtool/TODO:1.46.2.3 Thu Jun 20 03:06:29 2002 --- libtool/TODO Thu Mar 20 15:24:21 2003 *************** *** 1,13 **** In the near future: ******************** ! * Figure out why zsh echo builtin's removal of \ escapes is not detected ! by libtool's echo selector. * Fix the following bugs in libltdl: ! - Report dlerror() for dlclose and dlsym if available - Make sure that the dependency_libs of a dlpreopened module won't be loaded. ! * Check whether the version of libtool.m4 is compatible with ltconfig/ltmain.sh. Meanwhile, the recommended approach for developers using automake is to insert libtool.m4 in acinclude.m4. --- 1,21 ---- In the near future: ******************** ! * Port the migration of all code from ltconfig into libtool.m4 to the ! multi-language-branch, so that CVS automake can remove its references ! to ltconfig. * Fix the following bugs in libltdl: ! - error reporting of tryall_dlopen(): ! if the file actually doesn't exist (stat() fails or it wasn't dlpreopened) ! -> report `file not found' ! if it cannot be loaded (e.g. due to missing dependencies) ! -> report dlerror ! open question: which error should be reported if all dlloaders fail ! or if a specific module type can only be loaded by one of them, how report its dlerror? ! Also report dlerror() for dlclose and dlsym if available - Make sure that the dependency_libs of a dlpreopened module won't be loaded. ! * Check whether the version of libtool.m4 is compatible with ltconfig/ltmain.sh. Meanwhile, the recommended approach for developers using automake is to insert libtool.m4 in acinclude.m4. *************** *** 55,62 **** * Godmar Back writes: libltdl uses such stdio functions as fopen, fgets, feof, fclose, and others. ! These functions are not async-signal-safe. While this does not make ! libltdl unusable, it restricts its usefulness and puts an unnecessary burden on the user. As a remedy, I'd recommend to replace those functions with functions --- 63,70 ---- * Godmar Back writes: libltdl uses such stdio functions as fopen, fgets, feof, fclose, and others. ! These functions are not async-signal-safe. While this does not make ! libltdl unusable, it restricts its usefulness and puts an unnecessary burden on the user. As a remedy, I'd recommend to replace those functions with functions *************** *** 66,72 **** out from which you can steal the latter. I believe relying on async-signal-safe functions to the greatest extent ! possible would greatly improve libltdl's ability to be embedded in and used by other systems. * Arrange that EXEEXT suffixes are stripped from wrapper script names --- 74,80 ---- out from which you can steal the latter. I believe relying on async-signal-safe functions to the greatest extent ! possible would greatly improve libltdl's ability to be embedded in and used by other systems. * Arrange that EXEEXT suffixes are stripped from wrapper script names Index: libtool/bootstrap diff -c libtool/bootstrap:1.16.2.4 libtool/bootstrap:1.25 *** libtool/bootstrap:1.16.2.4 Tue Sep 11 15:09:39 2001 --- libtool/bootstrap Tue Mar 25 18:53:38 2003 *************** *** 1,38 **** #! /bin/sh # helps bootstrapping libtool, when checked out from CVS ! # requires GNU autoconf and GNU automake find . \( -name autom4te.cache -o -name libtool \) -exec rm -r {} \; - file=Makefile.in - : ${ACLOCAL=aclocal} : ${AUTOMAKE=automake} : ${AUTOCONF=autoconf} : ${AUTOHEADER=autoheader} - rm -f acinclude.m4 - ln -s libtool.m4 acinclude.m4 # fake the libtool scripts touch ltmain.sh touch libtoolize ! $ACLOCAL ! $AUTOMAKE --gnu --add-missing --copy ! $AUTOCONF - for sub in libltdl demo depdemo mdemo cdemo; do cd $sub ! rm -f acinclude.m4 Makefile ! cat ../libtool.m4 > acinclude.m4 ! test "$sub" = libltdl && cat ../ltdl.m4 >> acinclude.m4 $ACLOCAL ! test "$sub" = libltdl && $AUTOHEADER ! $AUTOMAKE --gnits --add-missing $AUTOCONF ! cd .. done ! rm -f ltmain.sh libtoolize Makefile exit 0 --- 1,53 ---- #! /bin/sh # helps bootstrapping libtool, when checked out from CVS ! # requires at least GNU autoconf 2.50 and GNU automake1.4-p5 find . \( -name autom4te.cache -o -name libtool \) -exec rm -r {} \; : ${ACLOCAL=aclocal} : ${AUTOMAKE=automake} : ${AUTOCONF=autoconf} : ${AUTOHEADER=autoheader} # fake the libtool scripts touch ltmain.sh touch libtoolize ! (cd libltdl && touch ltmain.sh) ! ! for sub in . libltdl cdemo demo depdemo mdemo pdemo tagdemo f77demo; do ! case $sub in ! .) ! top_srcdir=. ! acfiles="$top_srcdir/libtool.m4" ! AUTOMAKE_FLAGS="--gnu --add-missing --copy" ! ;; ! libltdl) ! top_srcdir=.. ! acfiles="$top_srcdir/libtool.m4 $top_srcdir/ltdl.m4" ! AUTOMAKE_FLAGS="--gnits --add-missing --copy" ! ;; ! *) ! top_srcdir=.. ! acfiles="$top_srcdir/libtool.m4" ! AUTOMAKE_FLAGS="--gnits --add-missing" ! ;; ! esac cd $sub ! rm -f acinclude.m4 aclocal.m4 Makefile configure ! for file in $acfiles; do ! cat $file >> ./acinclude.m4 ! done ! $ACLOCAL ! test $sub = libltdl && $AUTOHEADER ! test $sub = f77demo && $AUTOHEADER ! eval $AUTOMAKE $AUTOMAKE_FLAGS $AUTOCONF ! cd $top_srcdir done ! rm -f ltmain.sh libtoolize libltdl/ltmain.sh exit 0 Index: libtool/config.guess diff -c libtool/config.guess:1.9.2.3 libtool/config.guess:1.11.2.1 *** libtool/config.guess:1.9.2.3 Tue Oct 22 22:54:36 2002 --- libtool/config.guess Mon Apr 14 18:48:00 2003 *************** *** 1,9 **** #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! # 2000, 2001, 2002 Free Software Foundation, Inc. ! timestamp='2002-10-21' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by --- 1,9 ---- #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! timestamp='2003-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by *************** *** 98,111 **** # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. ! # This shell variable is my proudest work .. or something. --bje ! set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; ! (old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) ! || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; ! dummy=$tmpdir/dummy ; ! files="$dummy.c $dummy.o $dummy.rel $dummy" ; ! trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do --- 98,114 ---- # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. ! # Portable tmp directory creation inspired by the Autoconf team. ! set_cc_for_build=' ! trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; ! trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; ! : ${TMPDIR=/tmp} ; ! { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || ! { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || ! { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; ! dummy=$tmp/dummy ; ! tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do *************** *** 113,127 **** CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $files ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; ! esac ; ! unset files' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) --- 116,128 ---- CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; ! esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) *************** *** 178,184 **** ;; esac # The OS release ! release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. --- 179,196 ---- ;; esac # The OS release ! # Debian GNU/NetBSD machines have a different userland, and ! # thus, need a distinct triplet. However, they do not need ! # kernel version information, so it can be replaced with a ! # suitable tag, in the style of linux-gnu. ! case "${UNAME_VERSION}" in ! Debian*) ! release='-gnu' ! ;; ! *) ! release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ! ;; ! esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. *************** *** 227,292 **** if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build - cat <$dummy.s - .data - \$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main - main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main - EOF - $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null - if test "$?" = 0 ; then - case `$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; - esac - fi - rm -f $dummy.s $dummy && rmdir $tmpdir echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) --- 239,285 ---- if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) *************** *** 439,446 **** EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ ! && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 ! rm -f $dummy.c $dummy && rmdir $tmpdir echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) --- 432,438 ---- EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ ! && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) *************** *** 449,455 **** Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; ! Night_Hawk:*:*:PowerMAX_OS) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) --- 441,447 ---- Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; ! Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) *************** *** 524,531 **** exit(0); } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 ! rm -f $dummy.c $dummy && rmdir $tmpdir echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 --- 516,522 ---- exit(0); } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 *************** *** 624,633 **** } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ! if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi ! rm -f $dummy.c $dummy && rmdir $tmpdir fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) --- 615,634 ---- } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` ! test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) *************** *** 661,668 **** exit (0); } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 ! rm -f $dummy.c $dummy && rmdir $tmpdir echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) --- 662,668 ---- exit (0); } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) *************** *** 720,734 **** CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` --- 720,734 ---- CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; + *:UNICOS/mp:*:*) + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` *************** *** 756,762 **** #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) --- 756,761 ---- *************** *** 769,781 **** echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:3*) ! echo i386-pc-interix3 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? ! echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin --- 768,783 ---- echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:3*) ! echo i586-pc-interix3 ! exit 0 ;; ! [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) ! echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? ! echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin *************** *** 818,825 **** #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` ! rm -f $dummy.c && rmdir $tmpdir ! test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu --- 820,845 ---- #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` ! test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ! ;; ! mips64:Linux:*:*) ! eval $set_cc_for_build ! sed 's/^ //' << EOF >$dummy.c ! #undef CPU ! #undef mips64 ! #undef mips64el ! #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) ! CPU=mips64el ! #else ! #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) ! CPU=mips64 ! #else ! CPU= ! #endif ! #endif ! EOF ! eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` ! test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu *************** *** 914,920 **** #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; --- 934,939 ---- *************** *** 932,937 **** --- 951,973 ---- # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then *************** *** 966,974 **** echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about --- 1002,1007 ---- *************** *** 995,1003 **** mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ! 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` --- 1028,1039 ---- mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; ! 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` *************** *** 1014,1022 **** mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; --- 1050,1055 ---- *************** *** 1098,1104 **** echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) ! echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` --- 1131,1141 ---- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) ! case `uname -p` in ! *86) UNAME_PROCESSOR=i686 ;; ! powerpc) UNAME_PROCESSOR=powerpc ;; ! esac ! echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` *************** *** 1134,1144 **** fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; --- 1171,1176 ---- *************** *** 1157,1168 **** *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 --- 1189,1194 ---- *************** *** 1283,1290 **** } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 ! rm -f $dummy.c $dummy && rmdir $tmpdir # Apollos put the system type in the environment. --- 1309,1315 ---- } EOF ! $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. Index: libtool/config.sub diff -c libtool/config.sub:1.8.2.3 libtool/config.sub:1.10.2.1 *** libtool/config.sub:1.8.2.3 Tue Oct 22 22:54:36 2002 --- libtool/config.sub Mon Apr 14 18:48:00 2003 *************** *** 1,9 **** #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! # 2000, 2001, 2002 Free Software Foundation, Inc. ! timestamp='2002-09-05' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software --- 1,9 ---- #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, ! # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ! timestamp='2003-02-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software *************** *** 118,124 **** # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in ! nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; --- 118,124 ---- # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in ! nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *************** *** 245,261 **** | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ ! | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ --- 245,263 ---- | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ ! | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ *************** *** 294,300 **** | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ ! | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ --- 296,302 ---- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ ! | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ *************** *** 315,335 **** | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ ! | mipstx39 | mipstx39el \ ! | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ ! | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ ! | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ --- 317,341 ---- | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ ! | mipstx39-* | mipstx39el-* \ ! | msp430-* \ ! | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ ! | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ ! | tahoe-* | thumb-* \ ! | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ ! | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ *************** *** 716,721 **** --- 722,731 ---- np1) basic_machine=np1-gould ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; nsr-tandem) basic_machine=nsr-tandem ;; *************** *** 901,910 **** basic_machine=i386-sequent os=-dynix ;; - t3d) - basic_machine=alpha-cray - os=-unicos - ;; t3e) basic_machine=alphaev5-cray os=-unicos --- 911,916 ---- *************** *** 921,926 **** --- 927,940 ---- basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; *************** *** 977,986 **** basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt - ;; xps | xps100) basic_machine=xps100-honeywell ;; --- 991,996 ---- *************** *** 1027,1033 **** we32k) basic_machine=we32k-att ;; ! sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) basic_machine=sh-unknown ;; sh64) --- 1037,1043 ---- we32k) basic_machine=we32k-att ;; ! sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) *************** *** 1113,1123 **** | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ ! | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ ! | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) --- 1123,1134 ---- | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ ! | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ ! | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ ! | -powermax* | -dnix*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) *************** *** 1129,1136 **** ;; esac ;; -nto*) ! os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ --- 1140,1149 ---- ;; esac ;; + -nto-qnx*) + ;; -nto*) ! os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ *************** *** 1223,1228 **** --- 1236,1247 ---- ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos ;; -none) ;; Index: libtool/configure.ac diff -c /dev/null libtool/configure.ac:1.14.2.1 *** /dev/null Mon Apr 14 19:16:46 2003 --- libtool/configure.ac Mon Apr 14 18:48:00 2003 *************** *** 0 **** --- 1,138 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + + ## FIXME: Is this really new enough? ## + AC_PREREQ(2.50) + + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([libtool], [1.5], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([ltmain.in]) + + + + ## ---------------------------------------- ## + ## Display a configure time version banner. ## + ## ---------------------------------------- ## + + # This is a sanity check so we can see which version is used in bug reports. + # It is assumed that we only want to see the date extension for cvs libtool + # versions (i.e. "odd" letters) and not actual alpha releases. + TIMESTAMP= + case AC_PACKAGE_VERSION in + [*[acegikmoqsuwy])] + TIMESTAMP=`${CONFIG_SHELL} ${srcdir}/mkstamp < ${srcdir}/ChangeLog` + AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION$TIMESTAMP]) + echo + ;; + esac + AC_SUBST([TIMESTAMP]) + + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ------------------------------- ## + ## Libtool specific configuration. ## + ## ------------------------------- ## + pkgdatadir='${datadir}'"/${PACKAGE}" + AC_SUBST([pkgdatadir]) # automake does not need this, but libtoolize does + + aclocaldir='${datadir}/aclocal' + AC_SUBST([aclocaldir]) + + AC_ARG_ENABLE(ltdl-install, + [AC_HELP_STRING([--disable-ltdl-install], [do not install libltdl])]) + if test x"${enable_ltdl_install+set}" != xset; then + enable_ltdl_install=yes + ac_configure_args="$ac_configure_args --enable-ltdl-install" + fi + AC_CONFIG_SUBDIRS([libltdl]) + + # all subdirectories that are configured on demand, but that must be + # included in the distribution + CONF_SUBDIRS="cdemo pdemo demo depdemo mdemo tagdemo f77demo" + AC_SUBST([CONF_SUBDIRS]) + + ACINCLUDE_M4_LIST="${srcdir}/acinclude.m4" + DIST_MAKEFILE_LIST= + for dir in $CONF_SUBDIRS; do + ACINCLUDE_M4_LIST="$ACINCLUDE_M4_LIST ${srcdir}/$dir/acinclude.m4" + DIST_MAKEFILE_LIST="$DIST_MAKEFILE_LIST$dir/Makefile " + done + AC_SUBST([ACINCLUDE_M4_LIST]) + AC_SUBST([DIST_MAKEFILE_LIST]) + + + + ## ---------------- ## + ## compiler checks. ## + ## ---------------- ## + + # Use the specified CC and LD + AC_PROG_CC + AC_EXEEXT + AM_PROG_LD + AC_SUBST(LD) + AM_PROG_NM + AC_SUBST(NM) + AC_PROG_LN_S + + pushdef([AC_MSG_ERROR], [CXX=no]) + AC_PROG_CXX + popdef([AC_MSG_ERROR]) + AM_CONDITIONAL(HAVE_CXX, [test "x$CXX" != xno]) + + pushdef([AC_MSG_ERROR], [F77=no]) + AC_PROG_F77 + popdef([AC_MSG_ERROR]) + if test -z "$F77"; then + F77="no" + fi + AM_CONDITIONAL(HAVE_F77, [test "x$F77" != xno]) + + LT_AC_PROG_GCJ + AM_CONDITIONAL(HAVE_GCJ, [test "x$GCJ" != xno]) + + LT_AC_PROG_RC + AM_CONDITIONAL(HAVE_RC, [test "x$RC" != xno]) + + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBTOOL_DLOPEN + AC_LIBTOOL_WIN32_DLL + AC_PROG_LIBTOOL + + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile doc/Makefile tests/Makefile]) + AC_OUTPUT Index: libtool/configure.in diff -c libtool/configure.in:1.52.2.6 libtool/configure.in:removed *** libtool/configure.in:1.52.2.6 Tue Oct 22 22:54:37 2002 --- libtool/configure.in Mon Apr 14 19:16:46 2003 *************** *** 1,69 **** - ## Process this file with autoconf to create configure. - - AC_INIT(ltmain.in) - - AM_INIT_AUTOMAKE(libtool, 1.4.3) - - # This is a sanity check so we can see which version is used in bug reports. - # It is assumed that we only want to see the date extension for cvs libtool - # versions (i.e. "odd" letters) and not actual alpha releases. - TIMESTAMP= - case "$VERSION" in - [*[acegikmoqsuwy])] - TIMESTAMP=`${CONFIG_SHELL} ${srcdir}/mkstamp < ${srcdir}/ChangeLog` - banner="Configuring $PACKAGE $VERSION$TIMESTAMP" - dashes=`echo "$banner" | sed 's/./-/g'` - - # Display an obvious version banner - echo - echo $dashes - echo "$banner" - echo $dashes - echo - ;; - esac - AC_SUBST(TIMESTAMP) - - pkgdatadir='${datadir}'"/${PACKAGE}" - AC_SUBST(pkgdatadir) # automake does not need this, but libtoolize does - aclocaldir='${datadir}/aclocal' - AC_SUBST(aclocaldir) - - # Use the specified CC and LD - AC_PROG_CC - AM_PROG_LD - AC_SUBST(LD) - AM_PROG_NM - AC_SUBST(NM) - AC_PROG_LN_S - - # Declare win32 dll support - AC_LIBTOOL_WIN32_DLL - - # Check for dlopen support - AC_LIBTOOL_DLOPEN - AC_PROG_LIBTOOL - - AC_ARG_ENABLE(ltdl-install, - [ --disable-ltdl-install do not install libltdl]) - if test x"${enable_ltdl_install+set}" != xset; then - enable_ltdl_install=yes - ac_configure_args="$ac_configure_args --enable-ltdl-install" - fi - AC_CONFIG_SUBDIRS(libltdl) - - # all subdirectories that are configured on demand, but that must be - # included in the distribution - CONF_SUBDIRS="cdemo demo depdemo mdemo" - AC_SUBST(CONF_SUBDIRS) - - ACINCLUDE_M4_LIST="${srcdir}/acinclude.m4" - DIST_MAKEFILE_LIST= - for dir in $CONF_SUBDIRS; do - ACINCLUDE_M4_LIST="$ACINCLUDE_M4_LIST ${srcdir}/$dir/acinclude.m4" - DIST_MAKEFILE_LIST="$DIST_MAKEFILE_LIST$dir/Makefile " - done - AC_SUBST(ACINCLUDE_M4_LIST) - AC_SUBST(DIST_MAKEFILE_LIST) - - AC_OUTPUT([Makefile doc/Makefile tests/Makefile]) --- 0 ---- Index: libtool/libtool.m4 diff -c libtool/libtool.m4:1.166.2.49 libtool/libtool.m4:1.314 *** libtool/libtool.m4:1.166.2.49 Tue Oct 22 20:55:33 2002 --- libtool/libtool.m4 Sat Apr 5 14:32:58 2003 *************** *** 1,4 **** ! # libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- ## Copyright 1996, 1997, 1998, 1999, 2000, 2001 ## Free Software Foundation, Inc. ## Originally by Gordon Matzigkeit , 1996 --- 1,4 ---- ! # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- ## Copyright 1996, 1997, 1998, 1999, 2000, 2001 ## Free Software Foundation, Inc. ## Originally by Gordon Matzigkeit , 1996 *************** *** 22,31 **** ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. ! # serial 46 AC_PROG_LIBTOOL AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" --- 22,82 ---- ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. ! # serial 47 AC_PROG_LIBTOOL + + # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) + # ----------------------------------------------------------- + # If this macro is not defined by Autoconf, define it here. + m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + + # AC_PROG_LIBTOOL + # --------------- AC_DEFUN([AC_PROG_LIBTOOL], + [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl + dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX + dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) + dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 + ])]) + + dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. + dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run + dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) + ])])# AC_PROG_LIBTOOL + + + # _AC_PROG_LIBTOOL + # ---------------- + AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl + AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl + AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" *************** *** 36,45 **** # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) ! ]) AC_DEFUN([AC_LIBTOOL_SETUP], ! [AC_PREREQ(2.13)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl --- 87,99 ---- # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) ! ])# _AC_PROG_LIBTOOL + + # AC_LIBTOOL_SETUP + # ---------------- AC_DEFUN([AC_LIBTOOL_SETUP], ! [AC_PREREQ(2.50)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl *************** *** 49,430 **** AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl - AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl AC_REQUIRE([AC_OBJEXT])dnl AC_REQUIRE([AC_EXEEXT])dnl dnl _LT_AC_PROG_ECHO_BACKSLASH ! # Only perform the check for file, if the check method requires it ! case $deplibs_check_method in ! file_magic*) ! if test "$file_magic_cmd" = '$MAGIC_CMD'; then ! AC_PATH_MAGIC fi ;; esac ! AC_CHECK_TOOL(RANLIB, ranlib, :) ! AC_CHECK_TOOL(STRIP, strip, :) ! ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) ! ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], ! enable_win32_dll=yes, enable_win32_dll=no) ! AC_ARG_ENABLE(libtool-lock, ! [ --disable-libtool-lock avoid locking (might break parallel builds)]) ! test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes ! # Some flags need to be propagated to the compiler or linker for good ! # libtool support. ! case $host in ! *-*-irix6*) ! # Find out which ABI we are using. ! echo '[#]line __oline__ "configure"' > conftest.$ac_ext ! if AC_TRY_EVAL(ac_compile); then ! case `/usr/bin/file conftest.$ac_objext` in ! *32-bit*) ! LD="${LD-ld} -32" ! ;; ! *N32*) ! LD="${LD-ld} -n32" ! ;; ! *64-bit*) ! LD="${LD-ld} -64" ! ;; ! esac ! fi ! rm -rf conftest* ! ;; ! *-*-sco3.2v5*) ! # On SCO OpenServer 5, we need -belf to get full-featured binaries. ! SAVE_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -belf" ! AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, ! [AC_LANG_SAVE ! AC_LANG_C ! AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) ! AC_LANG_RESTORE]) ! if test x"$lt_cv_cc_needs_belf" != x"yes"; then ! # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf ! CFLAGS="$SAVE_CFLAGS" ! fi ! ;; ! ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], ! [*-*-cygwin* | *-*-mingw* | *-*-pw32*) ! AC_CHECK_TOOL(DLLTOOL, dlltool, false) ! AC_CHECK_TOOL(AS, as, false) ! AC_CHECK_TOOL(OBJDUMP, objdump, false) ! # recent cygwin and mingw systems supply a stub DllMain which the user ! # can override, but on older systems we have to supply one ! AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, ! [AC_TRY_LINK([], ! [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); ! DllMain (0, 0, 0);], ! [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) ! ! case $host/$CC in ! *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) ! # old mingw systems require "-dll" to link a DLL, while more recent ones ! # require "-mdll" ! SAVE_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -mdll" ! AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, ! [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) ! CFLAGS="$SAVE_CFLAGS" ;; ! *-*-cygwin* | *-*-pw32*) ! # cygwin systems need to pass --dll to the linker, and not link ! # crt.o which will require a WinMain@16 definition. ! lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; esac ;; - ]) esac ! _LT_AC_LTCONFIG_HACK ! ! ]) ! # AC_LIBTOOL_HEADER_ASSERT ! # ------------------------ ! AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], ! [AC_CACHE_CHECK([whether $CC supports assert without backlinking], ! [lt_cv_func_assert_works], ! [case $host in ! *-*-solaris*) ! if test "$GCC" = yes && test "$with_gnu_ld" != yes; then ! case `$CC --version 2>/dev/null` in ! [[12]].*) lt_cv_func_assert_works=no ;; ! *) lt_cv_func_assert_works=yes ;; ! esac ! fi ! ;; ! esac]) ! if test "x$lt_cv_func_assert_works" = xyes; then ! AC_CHECK_HEADERS(assert.h) ! fi ! ])# AC_LIBTOOL_HEADER_ASSERT ! # _LT_AC_CHECK_DLFCN ! # -------------------- ! AC_DEFUN([_LT_AC_CHECK_DLFCN], ! [AC_CHECK_HEADERS(dlfcn.h) ! ])# _LT_AC_CHECK_DLFCN - # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - # --------------------------------- - AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], - [AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_PROG_NM]) - AC_REQUIRE([AC_OBJEXT]) - # Check for command to grab the raw symbol name followed by C symbol from nm. - AC_MSG_CHECKING([command to parse $NM output]) - AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl ! # These are sane defaults that work on at least a few old systems. ! # [They come from Ultrix. What could be older than Ultrix?!! ;)] ! # Character class describing NM global symbol codes. ! symcode='[[BCDEGRST]]' ! # Regexp to match symbols that can be accessed directly from C. ! sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - # Transform the above into a raw symbol and a C symbol. - symxfrm='\1 \2\3 \3' ! # Transform an extracted symbol line into a proper C declaration ! lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" - # Transform an extracted symbol line into symbol name and symbol address - lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ! # Define system-specific variables. ! case $host_os in ! aix*) ! symcode='[[BCDT]]' ! ;; ! cygwin* | mingw* | pw32*) ! symcode='[[ABCDGISTW]]' ! ;; ! hpux*) # Its linker distinguishes data from code symbols ! lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" ! lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ! ;; ! irix* | nonstopux*) ! symcode='[[BCDEGRST]]' ! ;; ! osf*) ! symcode='[[BCDEGQRST]]' ! ;; ! solaris* | sysv5*) ! symcode='[[BDT]]' ! ;; ! sysv4) ! symcode='[[DFNSTU]]' ! ;; ! esac ! # Handle CRLF in mingw tool chain ! opt_cr= ! case $host_os in ! mingw*) ! opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac ! # If we're using GNU nm, then use its standard symbol codes. ! if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then ! symcode='[[ABCDGISTW]]' fi ! # Try without a prefix undercore, then with it. ! for ac_symprfx in "" "_"; do ! ! # Write the raw and C identifiers. ! lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" ! ! # Check to see that the pipe works correctly. ! pipe_works=no ! rm -f conftest* ! cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then ! # Try sorting and uniquifying the output. ! if sort "$nlist" | uniq > "$nlist"T; then ! mv -f "$nlist"T "$nlist" ! else ! rm -f "$nlist"T ! fi ! ! # Make sure that we snagged all the symbols we need. ! if egrep ' nm_test_var$' "$nlist" >/dev/null; then ! if egrep ' nm_test_func$' "$nlist" >/dev/null; then ! cat < conftest.$ac_ext ! #ifdef __cplusplus ! extern "C" { ! #endif ! ! EOF ! # Now generate the symbol file. ! eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' ! ! cat <> conftest.$ac_ext ! #if defined (__STDC__) && __STDC__ ! # define lt_ptr void * ! #else ! # define lt_ptr char * ! # define const ! #endif ! ! /* The mapping between symbol names and symbols. */ ! const struct { ! const char *name; ! lt_ptr address; ! } ! lt_preloaded_symbols[[]] = ! { ! EOF ! sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext ! cat <<\EOF >> conftest.$ac_ext ! {0, (lt_ptr) 0} ! }; ! ! #ifdef __cplusplus ! } ! #endif ! EOF ! # Now try linking the two files. ! mv conftest.$ac_objext conftstm.$ac_objext ! save_LIBS="$LIBS" ! save_CFLAGS="$CFLAGS" ! LIBS="conftstm.$ac_objext" ! CFLAGS="$CFLAGS$no_builtin_flag" ! if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then ! pipe_works=yes ! fi ! LIBS="$save_LIBS" ! CFLAGS="$save_CFLAGS" ! else ! echo "cannot find nm_test_func in $nlist" >&AC_FD_CC ! fi ! else ! echo "cannot find nm_test_var in $nlist" >&AC_FD_CC ! fi ! else ! echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC ! fi ! else ! echo "$progname: failed program was:" >&AC_FD_CC ! cat conftest.$ac_ext >&5 ! fi ! rm -f conftest* conftst* ! ! # Do not use the global_symbol_pipe unless it works. ! if test "$pipe_works" = yes; then ! break ! else ! lt_cv_sys_global_symbol_pipe= ! fi ! done ! ]) ! global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" ! if test -z "$lt_cv_sys_global_symbol_pipe"; then ! global_symbol_to_cdecl= ! global_symbol_to_c_name_address= ! else ! global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" ! global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" ! fi ! if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; ! then ! AC_MSG_RESULT(failed) ! else ! AC_MSG_RESULT(ok) ! fi ! ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE ! ! # _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR ! # --------------------------------- ! AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], ! [# Find the correct PATH separator. Usually this is `:', but ! # DJGPP uses `;' like DOS. ! if test "X${PATH_SEPARATOR+set}" != Xset; then ! UNAME=${UNAME-`uname 2>/dev/null`} ! case X$UNAME in ! *-DOS) lt_cv_sys_path_separator=';' ;; ! *) lt_cv_sys_path_separator=':' ;; ! esac ! PATH_SEPARATOR=$lt_cv_sys_path_separator ! fi ! ])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR ! ! # _LT_AC_PROG_ECHO_BACKSLASH ! # -------------------------- ! # Add some code to the start of the generated configure script which ! # will find an echo command which doesn't interpret backslashes. ! AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], ! [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], ! [AC_DIVERT_PUSH(NOTICE)]) ! _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR ! ! # Check that we are running under the correct shell. ! SHELL=${CONFIG_SHELL-/bin/sh} ! ! case X$ECHO in ! X*--fallback-echo) ! # Remove one level of quotation (which was required for Make). ! ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ! ;; ! esac ! ! echo=${ECHO-echo} ! if test "X[$]1" = X--no-reexec; then ! # Discard the --no-reexec flag, and continue. ! shift ! elif test "X[$]1" = X--fallback-echo; then ! # Avoid inline document here, it may be left over ! : ! elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then ! # Yippee, $echo works! ! : ! else ! # Restart under the correct shell. ! exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} ! fi ! ! if test "X[$]1" = X--fallback-echo; then ! # used as fallback echo ! shift ! cat <@])], ! [pic_mode="$withval"], ! [pic_mode=default]) ! test -z "$pic_mode" && pic_mode=default ! # Use C for the default configuration in the libtool script ! tagname= ! AC_LIBTOOL_LANG_C_CONFIG ! _LT_AC_TAGCONFIG ! ])# AC_LIBTOOL_SETUP ! # _LT_AC_SYS_COMPILER ! # ------------------- ! AC_DEFUN([_LT_AC_SYS_COMPILER], ! [AC_REQUIRE([AC_PROG_CC])dnl ! # If no C compiler was specified, use CC. ! LTCC=${LTCC-"$CC"} ! # Allow CC to be a program name with arguments. ! compiler=$CC ! ])# _LT_AC_SYS_COMPILER ! # _LT_AC_SYS_LIBPATH_AIX ! # ---------------------- ! # Links a minimal program and checks the executable ! # for the system default hardcoded library path. In most cases, ! # this is /usr/lib:/lib, but when the MPI compilers are used ! # the location of the communication and MPI libs are included too. ! # If we don't find anything, use the default library path according ! # to the aix ld manual. ! AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], ! [AC_LINK_IFELSE(AC_LANG_PROGRAM,[ ! aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ! }'` ! # Check for a 64-bit object if we didn't find anything. ! if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ! }'`; fi],[]) ! if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ! ])# _LT_AC_SYS_LIBPATH_AIX ! ! ! # _LT_AC_SHELL_INIT(ARG) ! # ---------------------- ! AC_DEFUN([_LT_AC_SHELL_INIT], ! [ifdef([AC_DIVERSION_NOTICE], ! [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], ! [AC_DIVERT_PUSH(NOTICE)]) ! $1 ! AC_DIVERT_POP ! ])# _LT_AC_SHELL_INIT ! # _LT_AC_PROG_ECHO_BACKSLASH ! # -------------------------- ! # Add some code to the start of the generated configure script which ! # will find an echo command which doesn't interpret backslashes. ! AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], ! [_LT_AC_SHELL_INIT([ ! # Check that we are running under the correct shell. ! SHELL=${CONFIG_SHELL-/bin/sh} ! case X$ECHO in ! X*--fallback-echo) ! # Remove one level of quotation (which was required for Make). ! ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac ! echo=${ECHO-echo} ! if test "X[$]1" = X--no-reexec; then ! # Discard the --no-reexec flag, and continue. ! shift ! elif test "X[$]1" = X--fallback-echo; then ! # Avoid inline document here, it may be left over ! : ! elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then ! # Yippee, $echo works! ! : ! else ! # Restart under the correct shell. ! exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi ! if test "X[$]1" = X--fallback-echo; then ! # used as fallback echo ! shift ! cat </dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && --- 344,352 ---- # # So, first we look for a working echo in the user's PATH. ! lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && *************** *** 461,467 **** break fi done ! IFS="$save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. --- 355,361 ---- break fi done ! IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. *************** *** 534,550 **** fi AC_SUBST(ECHO) ! AC_DIVERT_POP ! ])# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ------------------------------------------------------------------ AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], ! [if test "$cross_compiling" = yes; then : [$4] else - AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext ! if AC_TRY_EVAL(ac_compile); then ! case `/usr/bin/file conftest.$ac_objext` in ! *ELF-32*) ! HPUX_IA64_MODE="32" ! ;; ! *ELF-64*) ! HPUX_IA64_MODE="64" ! ;; ! esac ! fi ! rm -rf conftest* ! ;; ! *-*-irix6*) ! # Find out which ABI we are using. ! echo '[#]line __oline__ "configure"' > conftest.$ac_ext ! if AC_TRY_EVAL(ac_compile); then ! if test "$lt_cv_prog_gnu_ld" = yes; then ! case `/usr/bin/file conftest.$ac_objext` in ! *32-bit*) ! LD="${LD-ld} -melf32bsmip" ! ;; ! *N32*) ! LD="${LD-ld} -melf32bmipn32" ! ;; ! *64-bit*) ! LD="${LD-ld} -melf64bmip" ! ;; ! esac ! else ! case `/usr/bin/file conftest.$ac_objext` in ! *32-bit*) ! LD="${LD-ld} -32" ! ;; ! *N32*) ! LD="${LD-ld} -n32" ! ;; ! *64-bit*) ! LD="${LD-ld} -64" ! ;; ! esac ! fi ! fi ! rm -rf conftest* ! ;; ! ! x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) ! # Find out which ABI we are using. ! echo 'int i;' > conftest.$ac_ext ! if AC_TRY_EVAL(ac_compile); then ! case "`/usr/bin/file conftest.o`" in ! *32-bit*) ! case $host in ! x86_64-*linux*) ! LD="${LD-ld} -m elf_i386" ! ;; ! ppc64-*linux*) ! LD="${LD-ld} -m elf32ppclinux" ! ;; ! s390x-*linux*) ! LD="${LD-ld} -m elf_s390" ! ;; ! sparc64-*linux*) ! LD="${LD-ld} -m elf32_sparc" ! ;; ! esac ! ;; ! *64-bit*) ! case $host in ! x86_64-*linux*) ! LD="${LD-ld} -m elf_x86_64" ! ;; ! ppc*-*linux*|powerpc*-*linux*) ! LD="${LD-ld} -m elf64ppc" ! ;; ! s390*-*linux*) ! LD="${LD-ld} -m elf64_s390" ! ;; ! sparc*-*linux*) ! LD="${LD-ld} -m elf64_sparc" ! ;; ! esac ! ;; ! esac ! fi ! rm -rf conftest* ! ;; ! ! *-*-sco3.2v5*) ! # On SCO OpenServer 5, we need -belf to get full-featured binaries. ! SAVE_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -belf" ! AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, ! [AC_LANG_PUSH(C) ! AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) ! AC_LANG_POP]) ! if test x"$lt_cv_cc_needs_belf" != x"yes"; then ! # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf ! CFLAGS="$SAVE_CFLAGS" ! fi ! ;; ! AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], ! [*-*-cygwin* | *-*-mingw* | *-*-pw32*) ! AC_CHECK_TOOL(DLLTOOL, dlltool, false) ! AC_CHECK_TOOL(AS, as, false) ! AC_CHECK_TOOL(OBJDUMP, objdump, false) ! ;; ! ]) ! esac ! ! need_locks="$enable_libtool_lock" ! ! ])# _LT_AC_LOCK ! ! ! # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, ! # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) ! # ---------------------------------------------------------------- ! # Check whether the given compiler option works ! AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], ! [AC_CACHE_CHECK([$1], [$2], ! [$2=no ! ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) ! printf "$lt_simple_compile_test_code" > conftest.$ac_ext ! lt_compiler_flag="$3" ! # Insert the option either (1) after the last *FLAGS variable, or ! # (2) before a word containing "conftest.", or (3) at the end. ! # Note that $ac_compile itself does not contain backslashes and begins ! # with a dollar sign (not a hyphen), so the echo should work correctly. ! # The option is referenced via a variable to avoid confusing sed. ! lt_compile=`echo "$ac_compile" | $SED \ ! -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ ! -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ ! -e 's:$: $lt_compiler_flag:'` ! (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) ! (eval "$lt_compile" 2>conftest.err) ! ac_status=$? ! cat conftest.err >&AS_MESSAGE_LOG_FD ! echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD ! if (exit $ac_status) && test -s "$ac_outfile"; then ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test ! -s conftest.err; then ! $2=yes ! fi ! fi ! $rm conftest* ! ]) ! ! if test x"[$]$2" = xyes; then ! ifelse([$5], , :, [$5]) ! else ! ifelse([$6], , :, [$6]) ! fi ! ])# AC_LIBTOOL_COMPILER_OPTION ! ! ! # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, ! # [ACTION-SUCCESS], [ACTION-FAILURE]) ! # ------------------------------------------------------------ ! # Check whether the given compiler option works ! AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], ! [AC_CACHE_CHECK([$1], [$2], ! [$2=no ! save_LDFLAGS="$LDFLAGS" ! LDFLAGS="$LDFLAGS $3" ! printf "$lt_simple_link_test_code" > conftest.$ac_ext ! if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test -s conftest.err; then ! # Append any errors to the config.log. ! cat conftest.err 1>&AS_MESSAGE_LOG_FD ! else ! $2=yes ! fi ! fi ! $rm conftest* ! LDFLAGS="$save_LDFLAGS" ! ]) ! ! if test x"[$]$2" = xyes; then ! ifelse([$4], , :, [$4]) ! else ! ifelse([$5], , :, [$5]) ! fi ! ])# AC_LIBTOOL_LINKER_OPTION ! ! ! # AC_LIBTOOL_SYS_MAX_CMD_LEN ! # -------------------------- ! AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], ! [# find the maximum length of command line arguments ! AC_MSG_CHECKING([the maximum length of command line arguments]) ! AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl ! i=0 ! testring="ABCD" ! ! case $build_os in ! msdosdjgpp*) ! # On DJGPP, this test can blow up pretty badly due to problems in libc ! # (any single argument exceeding 2000 bytes causes a buffer overrun ! # during glob expansion). Even if it were fixed, the result of this ! # check would be larger than it should be. ! lt_cv_sys_max_cmd_len=12288; # 12K is about right ! ;; ! ! gnu*) ! # Under GNU Hurd, this test is not required because there is ! # no limit to the length of command line arguments. ! # Libtool will interpret -1 as no limit whatsoever ! lt_cv_sys_max_cmd_len=-1; ! ;; ! ! cygwin* | mingw*) ! # On Win9x/ME, this test blows up -- it succeeds, but takes ! # about 5 minutes as the teststring grows exponentially. ! # Worse, since 9x/ME are not pre-emptively multitasking, ! # you end up with a "frozen" computer, even though with patience ! # the test eventually succeeds (with a max line length of 256k). ! # Instead, let's just punt: use the minimum linelength reported by ! # all of the supported platforms: 8192 (on NT/2K/XP). ! lt_cv_sys_max_cmd_len=8192; ! ;; ! ! *) ! # If test is not a shell built-in, we'll probably end up computing a ! # maximum length that is only half of the actual maximum length, but ! # we can't tell. ! while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ ! = "XX$testring") >/dev/null 2>&1 && ! new_result=`expr "X$testring" : ".*" 2>&1` && ! lt_cv_sys_max_cmd_len=$new_result && ! test $i != 17 # 1/2 MB should be enough ! do ! i=`expr $i + 1` ! testring=$testring$testring ! done ! testring= ! # Add a significant safety factor because C++ compilers can tack on massive ! # amounts of additional arguments before passing them to the linker. ! # It appears as though 1/2 is a usable value. ! lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` ! ;; ! esac ! ]) ! if test -n $lt_cv_sys_max_cmd_len ; then ! AC_MSG_RESULT($lt_cv_sys_max_cmd_len) ! else ! AC_MSG_RESULT(none) ! fi ! ])# AC_LIBTOOL_SYS_MAX_CMD_LEN ! ! ! # _LT_AC_CHECK_DLFCN ! # -------------------- ! AC_DEFUN([_LT_AC_CHECK_DLFCN], ! [AC_CHECK_HEADERS(dlfcn.h)dnl ! ])# _LT_AC_CHECK_DLFCN ! # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ------------------------------------------------------------------ AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], ! [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl ! if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext </dev/null ! mkdir .libs 2>/dev/null ! if test -d .libs; then ! objdir=.libs else ! # MS-DOS does not allow filenames that begin with a dot. ! objdir=_libs fi ! rmdir .libs 2>/dev/null ! AC_MSG_RESULT($objdir) ! ## ! ## END FIXME ! ! ## FIXME: this should be a separate macro ! ## ! AC_ARG_WITH(pic, ! [ --with-pic try to use only PIC/non-PIC objects [default=use both]], ! pic_mode="$withval", pic_mode=default) ! test -z "$pic_mode" && pic_mode=default ! # We assume here that the value for lt_cv_prog_cc_pic will not be cached ! # in isolation, and that seeing it set (from the cache) indicates that ! # the associated values are set (in the cache) correctly too. ! AC_MSG_CHECKING([for $compiler option to produce PIC]) ! AC_CACHE_VAL(lt_cv_prog_cc_pic, ! [ lt_cv_prog_cc_pic= ! lt_cv_prog_cc_shlib= ! lt_cv_prog_cc_wl= ! lt_cv_prog_cc_static= ! lt_cv_prog_cc_no_builtin= ! lt_cv_prog_cc_can_build_shared=$can_build_shared ! if test "$GCC" = yes; then ! lt_cv_prog_cc_wl='-Wl,' ! lt_cv_prog_cc_static='-static' ! case $host_os in ! aix*) ! # Below there is a dirty hack to force normal static linking with -ldl ! # The problem is because libdl dynamically linked with both libc and ! # libC (AIX C++ library), which obviously doesn't included in libraries ! # list by gcc. This cause undefined symbols with -static flags. ! # This hack allows C programs to be linked with "-static -ldl", but ! # not sure about C++ programs. ! lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" ! ;; ! amigaos*) ! # FIXME: we need at least 68020 code to build shared libraries, but ! # adding the `-m68020' flag to GCC prevents building anything better, ! # like `-m68040'. ! lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' ! ;; ! beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) ! # PIC is the default for these OSes. ! ;; ! darwin* | rhapsody*) ! # PIC is the default on this platform ! # Common symbols not allowed in MH_DYLIB files ! lt_cv_prog_cc_pic='-fno-common' ! ;; ! cygwin* | mingw* | pw32* | os2*) ! # This hack is so that the source file can tell whether it is being ! # built for inclusion in a dll (and should export symbols for example). ! lt_cv_prog_cc_pic='-DDLL_EXPORT' ! ;; ! sysv4*MP*) ! if test -d /usr/nec; then ! lt_cv_prog_cc_pic=-Kconform_pic ! fi ! ;; ! *) ! lt_cv_prog_cc_pic='-fPIC' ! ;; ! esac else ! # PORTME Check for PIC flags for the system compiler. case $host_os in ! aix3* | aix4* | aix5*) ! lt_cv_prog_cc_wl='-Wl,' ! # All AIX code is PIC. ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! lt_cv_prog_cc_static='-Bstatic' else ! lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' fi ;; ! hpux9* | hpux10* | hpux11*) ! # Is there a better lt_cv_prog_cc_static that works with the bundled CC? ! lt_cv_prog_cc_wl='-Wl,' ! lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" ! lt_cv_prog_cc_pic='+Z' ! ;; ! ! irix5* | irix6* | nonstopux*) ! lt_cv_prog_cc_wl='-Wl,' ! lt_cv_prog_cc_static='-non_shared' ! # PIC (with -KPIC) is the default. ! ;; ! ! cygwin* | mingw* | pw32* | os2*) ! # This hack is so that the source file can tell whether it is being ! # built for inclusion in a dll (and should export symbols for example). ! lt_cv_prog_cc_pic='-DDLL_EXPORT' ! ;; ! ! newsos6) ! lt_cv_prog_cc_pic='-KPIC' ! lt_cv_prog_cc_static='-Bstatic' ! ;; ! ! osf3* | osf4* | osf5*) ! # All OSF/1 code is PIC. ! lt_cv_prog_cc_wl='-Wl,' ! lt_cv_prog_cc_static='-non_shared' ! ;; ! sco3.2v5*) ! lt_cv_prog_cc_pic='-Kpic' ! lt_cv_prog_cc_static='-dn' ! lt_cv_prog_cc_shlib='-belf' ! ;; ! solaris*) ! lt_cv_prog_cc_pic='-KPIC' ! lt_cv_prog_cc_static='-Bstatic' ! lt_cv_prog_cc_wl='-Wl,' ! ;; ! sunos4*) ! lt_cv_prog_cc_pic='-PIC' ! lt_cv_prog_cc_static='-Bstatic' ! lt_cv_prog_cc_wl='-Qoption ld ' ! ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! lt_cv_prog_cc_pic='-KPIC' ! lt_cv_prog_cc_static='-Bstatic' ! lt_cv_prog_cc_wl='-Wl,' ! ;; ! uts4*) ! lt_cv_prog_cc_pic='-pic' ! lt_cv_prog_cc_static='-Bstatic' ;; ! ! sysv4*MP*) ! if test -d /usr/nec ;then ! lt_cv_prog_cc_pic='-Kconform_pic' ! lt_cv_prog_cc_static='-Bstatic' fi ;; ! ! *) ! lt_cv_prog_cc_can_build_shared=no ;; esac ! fi ! ]) ! if test -z "$lt_cv_prog_cc_pic"; then ! AC_MSG_RESULT([none]) ! else ! AC_MSG_RESULT([$lt_cv_prog_cc_pic]) ! ! # Check to make sure the pic_flag actually works. ! AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) ! AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl ! save_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" ! AC_TRY_COMPILE([], [], [dnl ! case $host_os in ! hpux9* | hpux10* | hpux11*) ! # On HP-UX, both CC and GCC only warn that PIC is supported... then ! # they create non-PIC objects. So, if there were any warnings, we ! # assume that PIC is not supported. ! if test -s conftest.err; then ! lt_cv_prog_cc_pic_works=no ! else ! lt_cv_prog_cc_pic_works=yes ! fi ! ;; ! *) ! lt_cv_prog_cc_pic_works=yes ! ;; ! esac ! ], [dnl ! lt_cv_prog_cc_pic_works=no ! ]) ! CFLAGS="$save_CFLAGS" ! ]) ! ! if test "X$lt_cv_prog_cc_pic_works" = Xno; then ! lt_cv_prog_cc_pic= ! lt_cv_prog_cc_can_build_shared=no ! else ! lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" ! fi ! AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) ! fi ! ## ! ## END FIXME ! ! # Check for any special shared library compilation flags. ! if test -n "$lt_cv_prog_cc_shlib"; then ! AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) ! if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then : ! else ! AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) ! lt_cv_prog_cc_can_build_shared=no ! fi ! fi ! ! ## FIXME: this should be a separate macro ! ## ! AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) ! AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl ! lt_cv_prog_cc_static_works=no ! save_LDFLAGS="$LDFLAGS" ! LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" ! AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) ! LDFLAGS="$save_LDFLAGS" ! ]) ! ! # Belt *and* braces to stop my trousers falling down: ! test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= ! AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) ! ! pic_flag="$lt_cv_prog_cc_pic" ! special_shlib_compile_flags="$lt_cv_prog_cc_shlib" ! wl="$lt_cv_prog_cc_wl" ! link_static_flag="$lt_cv_prog_cc_static" ! no_builtin_flag="$lt_cv_prog_cc_no_builtin" ! can_build_shared="$lt_cv_prog_cc_can_build_shared" ! ## ! ## END FIXME ! ! ! ## FIXME: this should be a separate macro ! ## ! # Check to see if options -o and -c are simultaneously supported by compiler ! AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) ! AC_CACHE_VAL([lt_cv_compiler_c_o], [ ! $rm -r conftest 2>/dev/null ! mkdir conftest ! cd conftest ! echo "int some_variable = 0;" > conftest.$ac_ext ! mkdir out ! # According to Tom Tromey, Ian Lance Taylor reported there are C compilers ! # that will create temporary files in the current directory regardless of ! # the output directory. Thus, making CWD read-only will cause this test ! # to fail, enabling locking or at least warning the user not to do parallel ! # builds. ! chmod -w . ! save_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" ! compiler_c_o=no ! if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test -s out/conftest.err; then ! lt_cv_compiler_c_o=no ! else ! lt_cv_compiler_c_o=yes ! fi ! else ! # Append any errors to the config.log. ! cat out/conftest.err 1>&AC_FD_CC ! lt_cv_compiler_c_o=no ! fi ! CFLAGS="$save_CFLAGS" ! chmod u+w . ! $rm conftest* out/* ! rmdir out ! cd .. ! rmdir conftest ! $rm -r conftest 2>/dev/null ! ]) ! compiler_c_o=$lt_cv_compiler_c_o ! AC_MSG_RESULT([$compiler_c_o]) ! ! if test x"$compiler_c_o" = x"yes"; then ! # Check to see if we can write to a .lo ! AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) ! AC_CACHE_VAL([lt_cv_compiler_o_lo], [ ! lt_cv_compiler_o_lo=no ! save_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -c -o conftest.lo" ! save_objext="$ac_objext" ! ac_objext=lo ! AC_TRY_COMPILE([], [int some_variable = 0;], [dnl ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test -s conftest.err; then ! lt_cv_compiler_o_lo=no ! else ! lt_cv_compiler_o_lo=yes ! fi ! ]) ! ac_objext="$save_objext" ! CFLAGS="$save_CFLAGS" ! ]) ! compiler_o_lo=$lt_cv_compiler_o_lo ! AC_MSG_RESULT([$compiler_o_lo]) ! else ! compiler_o_lo=no ! fi ! ## ! ## END FIXME ! ! ## FIXME: this should be a separate macro ! ## ! # Check to see if we can do hard links to lock some files if needed ! hard_links="nottested" ! if test "$compiler_c_o" = no && test "$need_locks" != no; then ! # do not overwrite the value of need_locks provided by the user ! AC_MSG_CHECKING([if we can lock with hard links]) ! hard_links=yes ! $rm conftest* ! ln conftest.a conftest.b 2>/dev/null && hard_links=no ! touch conftest.a ! ln conftest.a conftest.b 2>&5 || hard_links=no ! ln conftest.a conftest.b 2>/dev/null && hard_links=no ! AC_MSG_RESULT([$hard_links]) ! if test "$hard_links" = no; then ! AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) ! need_locks=warn ! fi ! else ! need_locks=no ! fi ! ## ! ## END FIXME ! ! ## FIXME: this should be a separate macro ! ## ! if test "$GCC" = yes; then ! # Check to see if options -fno-rtti -fno-exceptions are supported by compiler ! AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) ! echo "int some_variable = 0;" > conftest.$ac_ext ! save_CFLAGS="$CFLAGS" ! CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" ! compiler_rtti_exceptions=no ! AC_TRY_COMPILE([], [int some_variable = 0;], [dnl ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test -s conftest.err; then ! compiler_rtti_exceptions=no ! else ! compiler_rtti_exceptions=yes ! fi ! ]) ! CFLAGS="$save_CFLAGS" ! AC_MSG_RESULT([$compiler_rtti_exceptions]) ! ! if test "$compiler_rtti_exceptions" = "yes"; then ! no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' ! else ! no_builtin_flag=' -fno-builtin' ! fi ! fi ! ## ! ## END FIXME ! ! ## FIXME: this should be a separate macro ! ## ! # See if the linker supports building shared libraries. ! AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) ! ! allow_undefined_flag= ! no_undefined_flag= ! need_lib_prefix=unknown ! need_version=unknown ! # when you set need_version to no, make sure it does not cause -set_version ! # flags to be left without arguments ! archive_cmds= ! archive_expsym_cmds= ! old_archive_from_new_cmds= ! old_archive_from_expsyms_cmds= ! export_dynamic_flag_spec= ! whole_archive_flag_spec= ! thread_safe_flag_spec= ! hardcode_into_libs=no ! hardcode_libdir_flag_spec= ! hardcode_libdir_separator= ! hardcode_direct=no ! hardcode_minus_L=no ! hardcode_shlibpath_var=unsupported ! runpath_var= ! link_all_deplibs=unknown ! always_export_symbols=no ! export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' ! # include_expsyms should be a list of space-separated symbols to be *always* ! # included in the symbol list ! include_expsyms= ! # exclude_expsyms can be an egrep regular expression of symbols to exclude ! # it will be wrapped by ` (' and `)$', so one must not match beginning or ! # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', ! # as well as any symbol that contains `d'. ! exclude_expsyms="_GLOBAL_OFFSET_TABLE_" ! # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out ! # platforms (ab)use it in PIC code, but their linkers get confused if ! # the symbol is explicitly referenced. Since portable code cannot ! # rely on this symbol name, it's probably fine to never include it in ! # preloaded symbol tables. ! extract_expsyms_cmds= ! case $host_os in ! cygwin* | mingw* | pw32*) ! # FIXME: the MSVC++ port hasn't been tested in a loooong time ! # When not using gcc, we currently assume that we are using ! # Microsoft Visual C++. ! if test "$GCC" != yes; then ! with_gnu_ld=no fi ;; ! openbsd*) ! with_gnu_ld=no ;; - esac ! ld_shlibs=yes ! if test "$with_gnu_ld" = yes; then ! # If archive_cmds runs LD, not CC, wlarc should be empty ! wlarc='${wl}' ! # See if GNU ld supports shared libraries. case $host_os in ! aix3* | aix4* | aix5*) ! # On AIX, the GNU linker is very broken ! # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. ! ld_shlibs=no ! cat <&2 ! ! *** Warning: the GNU linker, at least up to release 2.9.1, is reported ! *** to be unable to reliably create shared libraries on AIX. ! *** Therefore, libtool is disabling shared libraries support. If you ! *** really care for shared libraries, you may want to modify your PATH ! *** so that a non-GNU linker is found, and then restart. ! ! EOF ! ;; ! ! amigaos*) ! archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_minus_L=yes ! ! # Samuel A. Falvo II reports ! # that the semantics of dynamic libraries on AmigaOS, at least up ! # to version 4, is to share data among multiple programs linked ! # with the same dynamic library. Since this doesn't match the ! # behavior of shared libraries on other platforms, we can use ! # them. ! ld_shlibs=no ! ;; ! ! beos*) ! if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then ! allow_undefined_flag=unsupported ! # Joseph Beckenbach says some releases of gcc ! # support --undefined. This deserves some investigation. FIXME ! archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! else ! ld_shlibs=no ! fi ;; ! ! cygwin* | mingw* | pw32*) ! # hardcode_libdir_flag_spec is actually meaningless, as there is ! # no search path for DLLs. ! hardcode_libdir_flag_spec='-L$libdir' ! allow_undefined_flag=unsupported ! always_export_symbols=yes ! ! extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ ! sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ ! test -f $output_objdir/impgen.exe || (cd $output_objdir && \ ! if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ ! else $CC -o impgen impgen.c ; fi)~ ! $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' ! ! old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' ! ! # cygwin and mingw dlls have different entry points and sets of symbols ! # to exclude. ! # FIXME: what about values for MSVC? ! dll_entry=__cygwin_dll_entry@12 ! dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ ! case $host_os in ! mingw*) ! # mingw values ! dll_entry=_DllMainCRTStartup@12 ! dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ ! ;; ! esac ! ! # mingw and cygwin differ, and it's simplest to just exclude the union ! # of the two symbol sets. ! dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 ! ! # recent cygwin and mingw systems supply a stub DllMain which the user ! # can override, but on older systems we have to supply one (in ltdll.c) ! if test "x$lt_cv_need_dllmain" = "xyes"; then ! ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " ! ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ ! test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' ! else ! ltdll_obj= ! ltdll_cmds= ! fi ! ! # Extract the symbol export list from an `--export-all' def file, ! # then regenerate the def file from the symbol export list, so that ! # the compiled dll only exports the symbol export list. ! # Be careful not to strip the DATA tag left be newer dlltools. ! export_symbols_cmds="$ltdll_cmds"' ! $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ ! sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' ! ! # If the export-symbols file already is a .def file (1st line ! # is EXPORTS), use it as is. ! # If DATA tags from a recent dlltool are present, honour them! ! archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then ! cp $export_symbols $output_objdir/$soname-def; ! else ! echo EXPORTS > $output_objdir/$soname-def; ! _lt_hint=1; ! cat $export_symbols | while read symbol; do ! set dummy \$symbol; ! case \[$]# in ! 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; ! 4) echo " \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;; ! *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; ! esac; ! _lt_hint=`expr 1 + \$_lt_hint`; ! done; ! fi~ ! '"$ltdll_cmds"' ! $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ ! $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ ! $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ ! $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ ! $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' ;; ! ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' ! wlarc= ! else ! archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! fi ;; ! solaris* | sysv5*) ! if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then ! ld_shlibs=no ! cat <&2 ! ! *** Warning: The releases 2.8.* of the GNU linker cannot reliably ! *** create shared libraries on Solaris systems. Therefore, libtool ! *** is disabling shared libraries support. We urge you to upgrade GNU ! *** binutils to release 2.9.1 or newer. Another option is to modify ! *** your PATH or compiler configuration so that the native linker is ! *** used, and then restart. ! EOF ! elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then ! archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ! ld_shlibs=no fi ;; ! ! sunos4*) ! archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! wlarc= ! hardcode_direct=yes ! hardcode_shlibpath_var=no ! ;; ! ! *) ! if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then ! archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! else ! ld_shlibs=no ! fi ;; esac ! if test "$ld_shlibs" = yes; then ! runpath_var=LD_RUN_PATH ! hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' ! export_dynamic_flag_spec='${wl}--export-dynamic' ! case $host_os in ! cygwin* | mingw* | pw32*) ! # dlltool doesn't understand --whole-archive et. al. ! whole_archive_flag_spec= ! ;; *) ! # ancient GNU ld didn't support --whole-archive et. al. ! if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then ! whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' ! else ! whole_archive_flag_spec= ! fi ! ;; ! esac ! fi ! else ! # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in ! aix3*) ! allow_undefined_flag=unsupported ! always_export_symbols=yes ! archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' ! # Note: this linker hardcodes the directories in LIBPATH if there ! # are no directories specified by -L. ! hardcode_minus_L=yes ! if test "$GCC" = yes && test -z "$link_static_flag"; then ! # Neither direct hardcoding nor static linking is supported with a ! # broken collect2. ! hardcode_direct=unsupported ! fi ;; ! aix4* | aix5*) ! if test "$host_cpu" = ia64; then ! # On IA64, the linker does run time linking by default, so we don't ! # have to do anything special. ! aix_use_runtimelinking=no ! exp_sym_flag='-Bexport' ! no_entry_flag="" ! else ! aix_use_runtimelinking=no ! # Test if we are trying to use run time linking or normal ! # AIX style linking. If -brtl is somewhere in LDFLAGS, we ! # need to do runtime linking. ! case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) ! for ld_flag in $LDFLAGS; do ! case $ld_flag in ! *-brtl*) ! aix_use_runtimelinking=yes ! break ! ;; ! esac ! done ! esac ! exp_sym_flag='-bexport' ! no_entry_flag='-bnoentry' ! fi ! # When large executables or shared objects are built, AIX ld can ! # have problems creating the table of contents. If linking a library ! # or program results in "error TOC overflow" add -mminimal-toc to ! # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not ! # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. ! hardcode_direct=yes ! archive_cmds='' ! hardcode_libdir_separator=':' ! if test "$GCC" = yes; then ! case $host_os in aix4.[[012]]|aix4.[[012]].*) ! collect2name=`${CC} -print-prog-name=collect2` ! if test -f "$collect2name" && \ ! strings "$collect2name" | grep resolve_lib_name >/dev/null ! then ! # We have reworked collect2 ! hardcode_direct=yes ! else ! # We have old collect2 ! hardcode_direct=unsupported ! # It fails to find uninstalled libraries when the uninstalled ! # path is not listed in the libpath. Setting hardcode_minus_L ! # to unsupported forces relinking ! hardcode_minus_L=yes ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_libdir_separator= ! fi esac ! shared_flag='-shared' ! else ! # not using gcc ! if test "$host_cpu" = ia64; then ! shared_flag='${wl}-G' ! else ! if test "$aix_use_runtimelinking" = yes; then ! shared_flag='${wl}-G' ! else ! shared_flag='${wl}-bM:SRE' ! fi ! fi ! fi ! # It seems that -bexpall can do strange things, so it is better to ! # generate a list of symbols to export. ! always_export_symbols=yes ! if test "$aix_use_runtimelinking" = yes; then ! # Warning - without using the other runtime loading flags (-brtl), ! # -berok will link without error, but may produce a broken library. ! allow_undefined_flag='-berok' ! hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' ! archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" ! else ! if test "$host_cpu" = ia64; then ! hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' ! allow_undefined_flag="-z nodefs" ! archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" ! else ! hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' ! # Warning - without using the other run time loading flags, ! # -berok will link without error, but may produce a broken library. ! allow_undefined_flag='${wl}-berok' ! # This is a bit strange, but is similar to how AIX traditionally builds ! # it's shared libraries. ! archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' ! fi ! fi ! ;; ! amigaos*) ! archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_minus_L=yes ! # see comment about different semantics on the GNU ld section ! ld_shlibs=no ! ;; ! cygwin* | mingw* | pw32*) ! # When not using gcc, we currently assume that we are using ! # Microsoft Visual C++. ! # hardcode_libdir_flag_spec is actually meaningless, as there is ! # no search path for DLLs. ! hardcode_libdir_flag_spec=' ' ! allow_undefined_flag=unsupported ! # Tell ltmain to make .lib files, not .a files. ! libext=lib ! # FIXME: Setting linknames here is a bad hack. ! archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' ! # The linker will automatically build a .lib file if we build a DLL. ! old_archive_from_new_cmds='true' ! # FIXME: Should let the user specify the lib program. ! old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' ! fix_srcfile_path='`cygpath -w "$srcfile"`' ! ;; ! darwin* | rhapsody*) ! case "$host_os" in ! rhapsody* | darwin1.[[012]]) ! allow_undefined_flag='-undefined suppress' ;; ! *) # Darwin 1.3 on ! allow_undefined_flag='-flat_namespace -undefined suppress' ;; ! esac ! # FIXME: Relying on posixy $() will cause problems for ! # cross-compilation, but unfortunately the echo tests do not ! # yet detect zsh echo's removal of \ escapes. Also zsh mangles ! # `"' quotes if we put them in here... so don't! ! archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' ! # We need to add '_' to the symbols in $export_symbols first ! #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' ! hardcode_direct=yes ! hardcode_shlibpath_var=no ! whole_archive_flag_spec='-all_load $convenience' ! ;; ! ! freebsd1*) ! ld_shlibs=no ! ;; ! ! # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor ! # support. Future versions do this automatically, but an explicit c++rt0.o ! # does not break anything, and helps significantly (at the cost of a little ! # extra space). ! freebsd2.2*) ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' ! hardcode_libdir_flag_spec='-R$libdir' ! hardcode_direct=yes ! hardcode_shlibpath_var=no ! ;; ! ! # Unfortunately, older versions of FreeBSD 2 do not have this feature. ! freebsd2*) ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! hardcode_direct=yes ! hardcode_minus_L=yes ! hardcode_shlibpath_var=no ! ;; ! # FreeBSD 3 and greater uses gcc -shared to do shared libraries. ! freebsd*) ! archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' ! hardcode_libdir_flag_spec='-R$libdir' ! hardcode_direct=yes ! hardcode_shlibpath_var=no ! ;; ! hpux9* | hpux10* | hpux11*) ! case $host_os in ! hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; ! *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; ! esac ! hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ! hardcode_libdir_separator=: ! hardcode_direct=yes ! hardcode_minus_L=yes # Not in the search PATH, but as the default ! # location of the library. ! export_dynamic_flag_spec='${wl}-E' ! ;; ! irix5* | irix6* | nonstopux*) ! if test "$GCC" = yes; then ! archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ! hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ! else ! archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' ! hardcode_libdir_flag_spec='-rpath $libdir' ! fi ! hardcode_libdir_separator=: ! link_all_deplibs=yes ! ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; ! newsos6) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_direct=yes ! hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ! hardcode_libdir_separator=: ! hardcode_shlibpath_var=no ! ;; ! openbsd*) ! hardcode_direct=yes ! hardcode_shlibpath_var=no ! if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ! archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ! hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ! export_dynamic_flag_spec='${wl}-E' else ! case "$host_os" in ! openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) ! archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! hardcode_libdir_flag_spec='-R$libdir' ! ;; ! *) ! archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ! hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ! ;; ! esac fi ! ;; ! os2*) ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_minus_L=yes ! allow_undefined_flag=unsupported ! archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' ! old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ! ;; ! osf3*) ! if test "$GCC" = yes; then ! allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' ! archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ! else ! allow_undefined_flag=' -expect_unresolved \*' ! archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' ! #Both c and cxx compiler support -rpath directly ! hardcode_libdir_flag_spec='-rpath $libdir' ! fi ! hardcode_libdir_separator=: ! ;; ! sco3.2v5*) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_shlibpath_var=no ! runpath_var=LD_RUN_PATH ! hardcode_runpath_var=yes ! export_dynamic_flag_spec='${wl}-Bexport' ! ;; ! solaris*) ! # gcc --version < 3.0 without binutils cannot create self contained ! # shared libraries reliably, requiring libgcc.a to resolve some of ! # the object symbols generated in some cases. Libraries that use ! # assert need libgcc.a to resolve __eprintf, for example. Linking ! # a copy of libgcc.a into every shared library to guarantee resolving ! # such symbols causes other problems: According to Tim Van Holder ! # , C++ libraries end up with a separate ! # (to the application) exception stack for one thing. ! no_undefined_flag=' -z defs' ! if test "$GCC" = yes; then ! case `$CC --version 2>/dev/null` in ! [[12]].*) ! cat <&2 ! *** Warning: Releases of GCC earlier than version 3.0 cannot reliably ! *** create self contained shared libraries on Solaris systems, without ! *** introducing a dependency on libgcc.a. Therefore, libtool is disabling ! *** -no-undefined support, which will at least allow you to build shared ! *** libraries. However, you may find that when you link such libraries ! *** into an application without using GCC, you have to manually add ! *** \`gcc --print-libgcc-file-name\` to the link command. We urge you to ! *** upgrade to a newer version of GCC. Another option is to rebuild your ! *** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. ! EOF ! no_undefined_flag= ;; esac - fi - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - esac - link_all_deplibs=yes - ;; ! sunos4*) ! if test "x$host_vendor" = xsequent; then ! # Use $CC to link under sequent, because it throws in some extra .o ! # files that make .init and .fini sections work. ! archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' ! else ! archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_direct=yes ! hardcode_minus_L=yes ! hardcode_shlibpath_var=no ! ;; ! sysv4) ! case $host_vendor in ! sni) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_direct=yes # is this really true??? ! ;; ! siemens) ! ## LD is ld it makes a PLAMLIB ! ## CC just makes a GrossModule. ! archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' ! reload_cmds='$CC -r -o $output$reload_objs' ! hardcode_direct=no ! ;; ! motorola) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_direct=no #Motorola manual says yes, but my tests say they lie ! ;; ! esac ! runpath_var='LD_RUN_PATH' ! hardcode_shlibpath_var=no ! ;; - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv5*) - no_undefined_flag=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - hardcode_libdir_flag_spec= - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; ! dgux*) ! archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_libdir_flag_spec='-L$libdir' ! hardcode_shlibpath_var=no ! ;; - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; ! sysv4.2uw2*) ! archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' ! hardcode_direct=yes ! hardcode_minus_L=no ! hardcode_shlibpath_var=no ! hardcode_runpath_var=yes ! runpath_var=LD_RUN_PATH ! ;; ! sysv5uw7* | unixware7*) ! no_undefined_flag='${wl}-z ${wl}text' ! if test "$GCC" = yes; then ! archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ! else ! archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ! runpath_var='LD_RUN_PATH' ! hardcode_shlibpath_var=no ;; ! *) ! ld_shlibs=no ;; esac fi ! AC_MSG_RESULT([$ld_shlibs]) ! test "$ld_shlibs" = no && can_build_shared=no ! ## ! ## END FIXME - ## FIXME: this should be a separate macro - ## - # Check hardcoding attributes. - AC_MSG_CHECKING([how to hardcode library paths into programs]) - hardcode_action= - if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then ! # We can hardcode non-existant directories. ! if test "$hardcode_direct" != no && ! # If the only mechanism to avoid hardcoding is shlibpath_var, we ! # have to relink, otherwise we might link with an installed library ! # when we should be linking with a yet-to-be-installed one ! ## test "$hardcode_shlibpath_var" != no && ! test "$hardcode_minus_L" != no; then ! # Linking always hardcodes the temporary library directory. ! hardcode_action=relink ! else ! # We can link without hardcoding, and we can hardcode nonexisting dirs. ! hardcode_action=immediate fi else ! # We cannot hardcode anything, or else we can only hardcode existing ! # directories. ! hardcode_action=unsupported fi ! AC_MSG_RESULT([$hardcode_action]) ! ## ! ## END FIXME ! ! ## FIXME: this should be a separate macro ! ## ! striplib= ! old_striplib= ! AC_MSG_CHECKING([whether stripping libraries is possible]) ! if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then ! test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" ! test -z "$striplib" && striplib="$STRIP --strip-unneeded" ! AC_MSG_RESULT([yes]) else ! AC_MSG_RESULT([no]) fi - ## - ## END FIXME ! reload_cmds='$LD$reload_flag -o $output$reload_objs' ! test -z "$deplibs_check_method" && deplibs_check_method=unknown ! ## FIXME: this should be a separate macro ! ## ! # PORTME Fill in your ld.so characteristics ! AC_MSG_CHECKING([dynamic linker characteristics]) ! library_names_spec= ! libname_spec='lib$name' ! soname_spec= ! postinstall_cmds= ! postuninstall_cmds= ! finish_cmds= ! finish_eval= ! shlibpath_var= ! shlibpath_overrides_runpath=unknown ! version_type=none ! dynamic_linker="$host_os ld.so" ! sys_lib_dlsearch_path_spec="/lib /usr/lib" ! sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" case $host_os in ! aix3*) ! version_type=linux ! library_names_spec='${libname}${release}.so$versuffix $libname.a' ! shlibpath_var=LIBPATH ! # AIX has no versioning support, so we append a major version to the name. ! soname_spec='${libname}${release}.so$major' ! ;; ! aix4* | aix5*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! hardcode_into_libs=yes ! if test "$host_cpu" = ia64; then ! # AIX 5 supports IA64 ! library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' ! shlibpath_var=LD_LIBRARY_PATH ! else ! # With GCC up to 2.95.x, collect2 would create an import file ! # for dependence libraries. The import file would start with ! # the line `#! .'. This would cause the generated library to ! # depend on `.', always an invalid library. This was fixed in ! # development snapshots of GCC prior to 3.0. ! case $host_os in ! aix4 | aix4.[[01]] | aix4.[[01]].*) ! if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' ! echo ' yes ' ! echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then ! : else ! can_build_shared=no fi ;; esac ! # AIX (on Power*) has no versioning support, so currently we can ! # not hardcode correct soname into executable. Probably we can ! # add versioning support to collect2, so additional links can ! # be useful in future. ! if test "$aix_use_runtimelinking" = yes; then ! # If using run time linking (on AIX 4.2 or later) use lib.so ! # instead of lib.a to let people know that these are not ! # typical AIX shared libraries. ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' else ! # We preserve .a as extension for shared libraries through AIX4.2 ! # and later when we are not doing run time linking. ! library_names_spec='${libname}${release}.a $libname.a' ! soname_spec='${libname}${release}.so$major' fi - shlibpath_var=LIBPATH - fi - hardcode_into_libs=yes - ;; - - amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; ! beos*) ! library_names_spec='${libname}.so' ! dynamic_linker="$host_os ld.so" ! shlibpath_var=LIBRARY_PATH ! ;; ! bsdi4*) ! version_type=linux ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" ! sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ! export_dynamic_flag_spec=-rdynamic ! # the default ld.so.conf also contains /usr/contrib/lib and ! # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow ! # libtool to hard-code these into programs ! ;; ! cygwin* | mingw* | pw32*) ! version_type=windows ! need_version=no ! need_lib_prefix=no ! case $GCC,$host_os in ! yes,cygwin*) ! library_names_spec='$libname.dll.a' ! soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' ! postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ ! dldir=$destdir/`dirname \$dlpath`~ ! test -d \$dldir || mkdir -p \$dldir~ ! $install_prog .libs/$dlname \$dldir/$dlname' ! postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ ! dlpath=$dir/\$dldll~ ! $rm \$dlpath' ;; ! yes,mingw*) ! library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' ! sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"` ;; ! yes,pw32*) ! library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' ;; ! *) ! library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' ;; ! esac ! dynamic_linker='Win32 ld.exe' ! # FIXME: first we should search . and the directory the executable is in ! shlibpath_var=PATH ! ;; ! darwin* | rhapsody*) ! dynamic_linker="$host_os dyld" ! version_type=darwin ! need_lib_prefix=no ! need_version=no ! # FIXME: Relying on posixy $() will cause problems for ! # cross-compilation, but unfortunately the echo tests do not ! # yet detect zsh echo's removal of \ escapes. ! library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' ! soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' ! shlibpath_overrides_runpath=yes ! shlibpath_var=DYLD_LIBRARY_PATH ! ;; ! freebsd1*) ! dynamic_linker=no ! ;; ! freebsd*) ! objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ! version_type=freebsd-$objformat ! case $version_type in ! freebsd-elf*) ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' ! need_version=no ! need_lib_prefix=no ! ;; ! freebsd-*) ! library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' ! need_version=yes ! ;; ! esac ! shlibpath_var=LD_LIBRARY_PATH ! case $host_os in ! freebsd2*) ! shlibpath_overrides_runpath=yes ;; ! *) ! shlibpath_overrides_runpath=no ! hardcode_into_libs=yes ;; ! esac ! ;; ! gnu*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! hardcode_into_libs=yes ! ;; ! hpux9* | hpux10* | hpux11*) ! # Give a soname corresponding to the major version so that dld.sl refuses to ! # link against other versions. ! dynamic_linker="$host_os dld.sl" ! version_type=sunos ! need_lib_prefix=no ! need_version=no ! shlibpath_var=SHLIB_PATH ! shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ! library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' ! soname_spec='${libname}${release}.sl$major' ! # HP-UX runs *really* slowly unless shared libraries are mode 555. ! postinstall_cmds='chmod 555 $lib' ! ;; ! irix5* | irix6* | nonstopux*) ! case $host_os in ! nonstopux*) version_type=nonstopux ;; ! *) version_type=irix ;; ! esac ! need_lib_prefix=no ! need_version=no ! soname_spec='${libname}${release}.so$major' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' ! case $host_os in ! irix5* | nonstopux*) ! libsuff= shlibsuff= ;; ! *) ! case $LD in # libtool.m4 will add one of these switches to LD ! *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; ! *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; ! *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; ! *) libsuff= shlibsuff= libmagic=never-match;; esac ;; ! esac ! shlibpath_var=LD_LIBRARY${shlibsuff}_PATH ! shlibpath_overrides_runpath=no ! sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" ! sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" ! ;; ! ! # No shared lib support for Linux oldld, aout, or coff. ! linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) ! dynamic_linker=no ! ;; ! # This must be Linux ELF. ! linux-gnu*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=no ! # This implies no fast_install, which is unacceptable. ! # Some rework will be needed to allow for fast_install ! # before this can be enabled. ! hardcode_into_libs=yes ! # We used to test for /lib/ld.so.1 and disable shared libraries on ! # powerpc, because MkLinux only supported shared libraries with the ! # GNU dynamic linker. Since this was broken with cross compilers, ! # most powerpc-linux boxes support dynamic linking these days and ! # people can always --disable-shared, the test was removed, and we ! # assume the GNU/Linux dynamic linker is in use. ! dynamic_linker='GNU/Linux ld.so' ! ;; ! netbsd*) ! version_type=sunos ! need_lib_prefix=no ! need_version=no ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ! dynamic_linker='NetBSD (a.out) ld.so' ! else ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' ! soname_spec='${libname}${release}.so$major' ! dynamic_linker='NetBSD ld.elf_so' ! fi ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! hardcode_into_libs=yes ! ;; ! newsos6) ! version_type=linux ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! ;; - openbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case "$host_os" in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; esac ! else ! shlibpath_overrides_runpath=yes ! fi ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! ! os2*) ! libname_spec='$name' ! need_lib_prefix=no ! library_names_spec='$libname.dll $libname.a' ! dynamic_linker='OS/2 ld.exe' ! shlibpath_var=LIBPATH ! ;; ! ! osf3* | osf4* | osf5*) ! version_type=osf ! need_version=no ! soname_spec='${libname}${release}.so$major' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! shlibpath_var=LD_LIBRARY_PATH ! sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" ! sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ! hardcode_into_libs=yes ! ;; ! sco3.2v5*) ! version_type=osf ! soname_spec='${libname}${release}.so$major' ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! solaris*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! hardcode_into_libs=yes ! # ldd complains unless libraries are executable ! postinstall_cmds='chmod +x $lib' ! ;; ! sunos4*) ! version_type=sunos ! library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' ! finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! if test "$with_gnu_ld" = yes; then ! need_lib_prefix=no ! fi ! need_version=yes ! ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! version_type=linux ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! case $host_vendor in ! sni) ! shlibpath_overrides_runpath=no ! need_lib_prefix=no ! export_dynamic_flag_spec='${wl}-Blargedynsym' ! runpath_var=LD_RUN_PATH ! ;; ! siemens) ! need_lib_prefix=no ! ;; ! motorola) ! need_lib_prefix=no ! need_version=no ! shlibpath_overrides_runpath=no ! sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ! ;; ! esac ! ;; ! uts4*) ! version_type=linux ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! dgux*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! sysv4*MP*) ! if test -d /usr/nec ;then ! version_type=linux ! library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' ! soname_spec='$libname.so.$major' ! shlibpath_var=LD_LIBRARY_PATH ! fi ! ;; ! *) ! dynamic_linker=no ! ;; ! esac ! AC_MSG_RESULT([$dynamic_linker]) ! test "$dynamic_linker" = no && can_build_shared=no ! ## ! ## END FIXME - ## FIXME: this should be a separate macro - ## - # Report the final consequences. AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) - ## - ## END FIXME - ## FIXME: this should be a separate macro - ## AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no --- 906,3658 ---- fi ])# AC_LIBTOOL_DLOPEN_SELF ! # AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) ! # --------------------------------- ! # Check to see if options -c and -o are simultaneously supported by compiler ! AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], ! [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl ! AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], ! [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], ! [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no ! $rm -r conftest 2>/dev/null ! mkdir conftest ! cd conftest ! mkdir out ! printf "$lt_simple_compile_test_code" > conftest.$ac_ext ! ! # According to Tom Tromey, Ian Lance Taylor reported there are C compilers ! # that will create temporary files in the current directory regardless of ! # the output directory. Thus, making CWD read-only will cause this test ! # to fail, enabling locking or at least warning the user not to do parallel ! # builds. ! chmod -w . ! ! lt_compiler_flag="-o out/conftest2.$ac_objext" ! # Insert the option either (1) after the last *FLAGS variable, or ! # (2) before a word containing "conftest.", or (3) at the end. ! # Note that $ac_compile itself does not contain backslashes and begins ! # with a dollar sign (not a hyphen), so the echo should work correctly. ! lt_compile=`echo "$ac_compile" | $SED \ ! -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ ! -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ ! -e 's:$: $lt_compiler_flag:'` ! (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) ! (eval "$lt_compile" 2>out/conftest.err) ! ac_status=$? ! cat out/conftest.err >&AS_MESSAGE_LOG_FD ! echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD ! if (exit $ac_status) && test -s out/conftest2.$ac_objext ! then ! # The compiler can only warn and ignore the option if not recognized ! # So say no if there are warnings ! if test ! -s out/conftest.err; then ! _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes ! fi ! fi ! chmod u+w . ! $rm conftest* out/* ! rmdir out ! cd .. ! rmdir conftest ! $rm conftest* ! ]) ! ])# AC_LIBTOOL_PROG_CC_C_O ! # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) ! # ----------------------------------------- ! # Check to see if we can do hard links to lock some files if needed ! AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], ! [AC_REQUIRE([_LT_AC_LOCK])dnl ! hard_links="nottested" ! if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then ! # do not overwrite the value of need_locks provided by the user ! AC_MSG_CHECKING([if we can lock with hard links]) ! hard_links=yes ! $rm conftest* ! ln conftest.a conftest.b 2>/dev/null && hard_links=no ! touch conftest.a ! ln conftest.a conftest.b 2>&5 || hard_links=no ! ln conftest.a conftest.b 2>/dev/null && hard_links=no ! AC_MSG_RESULT([$hard_links]) ! if test "$hard_links" = no; then ! AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) ! need_locks=warn ! fi ! else ! need_locks=no ! fi ! ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS ! # AC_LIBTOOL_OBJDIR ! # ----------------- ! AC_DEFUN([AC_LIBTOOL_OBJDIR], ! [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], ! [rm -f .libs 2>/dev/null ! mkdir .libs 2>/dev/null ! if test -d .libs; then ! lt_cv_objdir=.libs else ! # MS-DOS does not allow filenames that begin with a dot. ! lt_cv_objdir=_libs fi + rmdir .libs 2>/dev/null]) + objdir=$lt_cv_objdir + ])# AC_LIBTOOL_OBJDIR ! # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) ! # ---------------------------------------------- ! # Check hardcoding attributes. ! AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], ! [AC_MSG_CHECKING([how to hardcode library paths into programs]) ! _LT_AC_TAGVAR(hardcode_action, $1)= ! if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ ! test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ ! test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then ! ! # We can hardcode non-existant directories. ! if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && ! # If the only mechanism to avoid hardcoding is shlibpath_var, we ! # have to relink, otherwise we might link with an installed library ! # when we should be linking with a yet-to-be-installed one ! ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && ! test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then ! # Linking always hardcodes the temporary library directory. ! _LT_AC_TAGVAR(hardcode_action, $1)=relink ! else ! # We can link without hardcoding, and we can hardcode nonexisting dirs. ! _LT_AC_TAGVAR(hardcode_action, $1)=immediate fi ! else ! # We cannot hardcode anything, or else we can only hardcode existing ! # directories. ! _LT_AC_TAGVAR(hardcode_action, $1)=unsupported ! fi ! AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) ! if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then ! # Fast installation is not supported ! enable_fast_install=no ! elif test "$shlibpath_overrides_runpath" = yes || ! test "$enable_shared" = no; then ! # Fast installation is not necessary ! enable_fast_install=needless ! fi ! ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH ! ! # AC_LIBTOOL_SYS_LIB_STRIP ! # ------------------------ ! AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], ! [striplib= ! old_striplib= ! AC_MSG_CHECKING([whether stripping libraries is possible]) ! if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then ! test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" ! test -z "$striplib" && striplib="$STRIP --strip-unneeded" ! AC_MSG_RESULT([yes]) ! else ! # FIXME - insert some real tests, host_os isn't really good enough case $host_os in ! darwin*) ! if test -n "$STRIP" ; then ! striplib="$STRIP -x" ! AC_MSG_RESULT([yes]) ! else ! AC_MSG_RESULT([no]) ! fi ! ;; ! *) ! AC_MSG_RESULT([no]) ;; ! esac fi + ])# AC_LIBTOOL_SYS_LIB_STRIP ! # AC_LIBTOOL_SYS_DYNAMIC_LINKER ! # ----------------------------- ! # PORTME Fill in your ld.so characteristics ! AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], ! [AC_MSG_CHECKING([dynamic linker characteristics]) ! library_names_spec= ! libname_spec='lib$name' ! soname_spec= ! shrext=".so" ! postinstall_cmds= ! postuninstall_cmds= ! finish_cmds= ! finish_eval= ! shlibpath_var= ! shlibpath_overrides_runpath=unknown ! version_type=none ! dynamic_linker="$host_os ld.so" ! sys_lib_dlsearch_path_spec="/lib /usr/lib" ! if test "$GCC" = yes; then ! sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` ! if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then ! # if the path contains ";" then we assume it to be the separator ! # otherwise default to the standard path separator (i.e. ":") - it is ! # assumed that no part of a normal pathname contains ";" but that should ! # okay in the real world where ";" in dirpaths is itself problematic. ! sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` ! else ! sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ! fi else ! sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi ! need_lib_prefix=unknown ! hardcode_into_libs=no ! # when you set need_version to no, make sure it does not cause -set_version ! # flags to be left without arguments ! need_version=unknown ! case $host_os in ! aix3*) ! version_type=linux ! library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' ! shlibpath_var=LIBPATH ! # AIX 3 has no versioning support, so we append a major version to the name. ! soname_spec='${libname}${release}${shared_ext}$major' ! ;; ! aix4* | aix5*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! hardcode_into_libs=yes ! if test "$host_cpu" = ia64; then ! # AIX 5 supports IA64 ! library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' ! shlibpath_var=LD_LIBRARY_PATH else ! # With GCC up to 2.95.x, collect2 would create an import file ! # for dependence libraries. The import file would start with ! # the line `#! .'. This would cause the generated library to ! # depend on `.', always an invalid library. This was fixed in ! # development snapshots of GCC prior to 3.0. case $host_os in ! aix4 | aix4.[[01]] | aix4.[[01]].*) ! if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' ! echo ' yes ' ! echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then ! : else ! can_build_shared=no fi ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; ! amigaos*) ! library_names_spec='$libname.ixlibrary $libname.a' ! # Create ${libname}_ixlibrary.a entries in /sys/libs. ! finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ! ;; ! beos*) ! library_names_spec='${libname}${shared_ext}' ! dynamic_linker="$host_os ld.so" ! shlibpath_var=LIBRARY_PATH ! ;; ! bsdi4*) ! version_type=linux ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" ! sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ! # the default ld.so.conf also contains /usr/contrib/lib and ! # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow ! # libtool to hard-code these into programs ! ;; ! cygwin* | mingw* | pw32*) ! version_type=windows ! shrext=".dll" ! need_version=no ! need_lib_prefix=no ! case $GCC,$host_os in ! yes,cygwin* | yes,mingw* | yes,pw32*) ! library_names_spec='$libname.dll.a' ! # DLL is installed to $(libdir)/../bin by postinstall_cmds ! postinstall_cmds='base_file=`basename \${file}`~ ! dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ ! dldir=$destdir/`dirname \$dlpath`~ ! test -d \$dldir || mkdir -p \$dldir~ ! $install_prog $dir/$dlname \$dldir/$dlname' ! postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ ! dlpath=$dir/\$dldll~ ! $rm \$dlpath' ! shlibpath_overrides_runpath=yes ! case $host_os in ! cygwin*) ! # Cygwin DLLs use 'cyg' prefix rather than 'lib' ! soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ! sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" ;; ! mingw*) ! # MinGW DLLs use traditional 'lib' prefix ! soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ! sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` ! if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then ! # It is most probably a Windows format PATH printed by ! # mingw gcc, but we are running on Cygwin. Gcc prints its search ! # path with ; separators, and with drive letters. We can handle the ! # drive letters (cygwin fileutils understands them), so leave them, ! # especially as we might pass files found there to a mingw objdump, ! # which wouldn't understand a cygwinified path. Ahh. ! sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` ! else ! sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; ! pw32*) ! # pw32 DLLs use 'pw' prefix rather than 'lib' ! library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ! ;; ! *) ! library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ! ;; ! esac ! dynamic_linker='Win32 ld.exe' ! # FIXME: first we should search . and the directory the executable is in ! shlibpath_var=PATH ! ;; ! darwin* | rhapsody*) ! dynamic_linker="$host_os dyld" ! version_type=darwin ! need_lib_prefix=no ! need_version=no ! # FIXME: Relying on posixy $() will cause problems for ! # cross-compilation, but unfortunately the echo tests do not ! # yet detect zsh echo's removal of \ escapes. ! library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' ! soname_spec='${libname}${release}${major}$shared_ext' ! shlibpath_overrides_runpath=yes ! shlibpath_var=DYLD_LIBRARY_PATH ! shrext='$(test .$module = .yes && echo .so || echo .dylib)' ! # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. ! if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then ! sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; ! ! dgux*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ;; ! freebsd1*) ! dynamic_linker=no ! ;; ! freebsd*) ! objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ! version_type=freebsd-$objformat ! case $version_type in ! freebsd-elf*) ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' ! need_version=no ! need_lib_prefix=no ! ;; ! freebsd-*) ! library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' ! need_version=yes ! ;; ! esac ! shlibpath_var=LD_LIBRARY_PATH case $host_os in ! freebsd2*) ! shlibpath_overrides_runpath=yes ;; ! freebsd3.[01]* | freebsdelf3.[01]*) ! shlibpath_overrides_runpath=yes ! hardcode_into_libs=yes ;; ! *) # from 3.2 on ! shlibpath_overrides_runpath=no ! hardcode_into_libs=yes ;; + esac + ;; ! gnu*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ! hardcode_into_libs=yes ! ;; ! hpux9* | hpux10* | hpux11*) ! # Give a soname corresponding to the major version so that dld.sl refuses to ! # link against other versions. ! version_type=sunos ! need_lib_prefix=no ! need_version=no ! case "$host_cpu" in ! ia64*) ! shrext='.so' ! hardcode_into_libs=yes ! dynamic_linker="$host_os dld.so" ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! if test "X$HPUX_IA64_MODE" = X32; then ! sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else ! sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; ! hppa*64*) ! shrext='.sl' ! hardcode_into_libs=yes ! dynamic_linker="$host_os dld.sl" ! shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH ! shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" ! sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ! ;; ! *) ! shrext='.sl' ! dynamic_linker="$host_os dld.sl" ! shlibpath_var=SHLIB_PATH ! shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ;; esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; ! irix5* | irix6* | nonstopux*) ! case $host_os in ! nonstopux*) version_type=nonstopux ;; *) ! if test "$lt_cv_prog_gnu_ld" = yes; then ! version_type=linux ! else ! version_type=irix ! fi ;; ! esac ! need_lib_prefix=no ! need_version=no ! soname_spec='${libname}${release}${shared_ext}$major' ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in ! irix5* | nonstopux*) ! libsuff= shlibsuff= ! ;; ! *) ! case $LD in # libtool.m4 will add one of these switches to LD ! *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") ! libsuff= shlibsuff= libmagic=32-bit;; ! *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") ! libsuff=32 shlibsuff=N32 libmagic=N32;; ! *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") ! libsuff=64 shlibsuff=64 libmagic=64-bit;; ! *) libsuff= shlibsuff= libmagic=never-match;; ! esac ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; ! # No shared lib support for Linux oldld, aout, or coff. ! linux*oldld* | linux*aout* | linux*coff*) ! dynamic_linker=no ! ;; ! # This must be Linux ELF. ! linux*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=no ! # This implies no fast_install, which is unacceptable. ! # Some rework will be needed to allow for fast_install ! # before this can be enabled. ! hardcode_into_libs=yes ! # We used to test for /lib/ld.so.1 and disable shared libraries on ! # powerpc, because MkLinux only supported shared libraries with the ! # GNU dynamic linker. Since this was broken with cross compilers, ! # most powerpc-linux boxes support dynamic linking these days and ! # people can always --disable-shared, the test was removed, and we ! # assume the GNU/Linux dynamic linker is in use. ! dynamic_linker='GNU/Linux ld.so' ! ;; ! netbsd*) ! version_type=sunos ! need_lib_prefix=no ! need_version=no ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ! dynamic_linker='NetBSD (a.out) ld.so' ! else ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! dynamic_linker='NetBSD ld.elf_so' ! fi ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! hardcode_into_libs=yes ! ;; ! newsos6) ! version_type=linux ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! ;; ! ! nto-qnx) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! ;; ! ! openbsd*) ! version_type=sunos ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' ! finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ! case $host_os in ! openbsd2.[[89]] | openbsd2.[[89]].*) ! shlibpath_overrides_runpath=no ! ;; ! *) ! shlibpath_overrides_runpath=yes ! ;; esac + else + shlibpath_overrides_runpath=yes + fi + ;; ! os2*) ! libname_spec='$name' ! shrext=".dll" ! need_lib_prefix=no ! library_names_spec='$libname${shared_ext} $libname.a' ! dynamic_linker='OS/2 ld.exe' ! shlibpath_var=LIBPATH ! ;; ! osf3* | osf4* | osf5*) ! version_type=osf ! need_lib_prefix=no ! need_version=no ! soname_spec='${libname}${release}${shared_ext}$major' ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! shlibpath_var=LD_LIBRARY_PATH ! sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" ! sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ! ;; ! sco3.2v5*) ! version_type=osf ! soname_spec='${libname}${release}${shared_ext}$major' ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! solaris*) ! version_type=linux ! need_lib_prefix=no ! need_version=no ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! hardcode_into_libs=yes ! # ldd complains unless libraries are executable ! postinstall_cmds='chmod +x $lib' ! ;; ! sunos4*) ! version_type=sunos ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' ! finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes ! if test "$with_gnu_ld" = yes; then ! need_lib_prefix=no ! fi ! need_version=yes ! ;; ! ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! version_type=linux ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ! case $host_vendor in ! sni) ! shlibpath_overrides_runpath=no ! need_lib_prefix=no ! export_dynamic_flag_spec='${wl}-Blargedynsym' ! runpath_var=LD_RUN_PATH ;; ! siemens) ! need_lib_prefix=no ;; ! motorola) ! need_lib_prefix=no ! need_version=no ! shlibpath_overrides_runpath=no ! sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ! ;; ! esac ! ;; ! sysv4*MP*) ! if test -d /usr/nec ;then ! version_type=linux ! library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' ! soname_spec='$libname${shared_ext}.$major' ! shlibpath_var=LD_LIBRARY_PATH ! fi ! ;; ! uts4*) ! version_type=linux ! library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ! soname_spec='${libname}${release}${shared_ext}$major' ! shlibpath_var=LD_LIBRARY_PATH ! ;; ! *) ! dynamic_linker=no ! ;; ! esac ! AC_MSG_RESULT([$dynamic_linker]) ! test "$dynamic_linker" = no && can_build_shared=no ! ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER ! # _LT_AC_TAGCONFIG ! # ---------------- ! AC_DEFUN([_LT_AC_TAGCONFIG], ! [AC_ARG_WITH([tags], ! [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], ! [include additional configurations @<:@automatic@:>@])], ! [tagnames="$withval"]) ! ! if test -f "$ltmain" && test -n "$tagnames"; then ! if test ! -f "${ofile}"; then ! AC_MSG_WARN([output file `$ofile' does not exist]) ! fi ! if test -z "$LTCC"; then ! eval "`$SHELL ${ofile} --config | grep '^LTCC='`" ! if test -z "$LTCC"; then ! AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) else ! AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi ! fi ! # Extract list of available tagged configurations in $ofile. ! # Note that this assumes the entire list is on one line. ! available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` ! ! lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," ! for tagname in $tagnames; do ! IFS="$lt_save_ifs" ! # Check whether tagname contains only valid characters ! case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in ! "") ;; ! *) AC_MSG_ERROR([invalid tag name: $tagname]) ! ;; ! esac ! if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null ! then ! AC_MSG_ERROR([tag name \"$tagname\" already exists]) fi ! # Update the list of available tags. ! if test -n "$tagname"; then ! echo appending configuration tag \"$tagname\" to $ofile ! ! case $tagname in ! CXX) ! if test -n "$CXX" && test "X$CXX" != "Xno"; then ! AC_LIBTOOL_LANG_CXX_CONFIG ! else ! tagname="" ! fi ! ;; ! F77) ! if test -n "$F77" && test "X$F77" != "Xno"; then ! AC_LIBTOOL_LANG_F77_CONFIG ! else ! tagname="" ! fi ! ;; ! GCJ) ! if test -n "$GCJ" && test "X$GCJ" != "Xno"; then ! AC_LIBTOOL_LANG_GCJ_CONFIG ! else ! tagname="" ! fi ! ;; ! RC) ! AC_LIBTOOL_LANG_RC_CONFIG ! ;; ! *) ! AC_MSG_ERROR([Unsupported tag name: $tagname]) ;; esac ! # Append the new tag name to the list of available tags. ! if test -n "$tagname" ; then ! available_tags="$available_tags $tagname" fi ! fi ! done ! IFS="$lt_save_ifs" ! # Now substitute the updated list of available tags. ! if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then ! mv "${ofile}T" "$ofile" ! chmod +x "$ofile" ! else ! rm -f "${ofile}T" ! AC_MSG_ERROR([unable to update list of available tagged configurations.]) ! fi ! fi ! ])# _LT_AC_TAGCONFIG ! # AC_LIBTOOL_DLOPEN ! # ----------------- ! # enable checks for dlopen support ! AC_DEFUN([AC_LIBTOOL_DLOPEN], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) ! ])# AC_LIBTOOL_DLOPEN ! # AC_LIBTOOL_WIN32_DLL ! # -------------------- ! # declare package support for building win32 dll's ! AC_DEFUN([AC_LIBTOOL_WIN32_DLL], ! [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ! ])# AC_LIBTOOL_WIN32_DLL ! ! # AC_ENABLE_SHARED([DEFAULT]) ! # --------------------------- ! # implement the --enable-shared flag ! # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. ! AC_DEFUN([AC_ENABLE_SHARED], ! [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE([shared], ! [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], ! [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_shared=yes ;; ! no) enable_shared=no ;; ! *) ! enable_shared=no ! # Look at the argument we got. We use all the common list separators. ! lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," ! for pkg in $enableval; do ! IFS="$lt_save_ifs" ! if test "X$pkg" = "X$p"; then ! enable_shared=yes ! fi ! done ! IFS="$lt_save_ifs" ! ;; ! esac], ! [enable_shared=]AC_ENABLE_SHARED_DEFAULT) ! ])# AC_ENABLE_SHARED ! ! ! # AC_DISABLE_SHARED ! # ----------------- ! #- set the default shared flag to --disable-shared ! AC_DEFUN([AC_DISABLE_SHARED], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_SHARED(no) ! ])# AC_DISABLE_SHARED ! ! ! # AC_ENABLE_STATIC([DEFAULT]) ! # --------------------------- ! # implement the --enable-static flag ! # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. ! AC_DEFUN([AC_ENABLE_STATIC], ! [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE([static], ! [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], ! [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_static=yes ;; ! no) enable_static=no ;; ! *) ! enable_static=no ! # Look at the argument we got. We use all the common list separators. ! lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," ! for pkg in $enableval; do ! IFS="$lt_save_ifs" ! if test "X$pkg" = "X$p"; then ! enable_static=yes ! fi ! done ! IFS="$lt_save_ifs" ! ;; ! esac], ! [enable_static=]AC_ENABLE_STATIC_DEFAULT) ! ])# AC_ENABLE_STATIC ! ! ! # AC_DISABLE_STATIC ! # ----------------- ! # set the default static flag to --disable-static ! AC_DEFUN([AC_DISABLE_STATIC], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_STATIC(no) ! ])# AC_DISABLE_STATIC ! ! ! # AC_ENABLE_FAST_INSTALL([DEFAULT]) ! # --------------------------------- ! # implement the --enable-fast-install flag ! # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. ! AC_DEFUN([AC_ENABLE_FAST_INSTALL], ! [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE([fast-install], ! [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], ! [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_fast_install=yes ;; ! no) enable_fast_install=no ;; ! *) ! enable_fast_install=no ! # Look at the argument we got. We use all the common list separators. ! lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," ! for pkg in $enableval; do ! IFS="$lt_save_ifs" ! if test "X$pkg" = "X$p"; then ! enable_fast_install=yes ! fi ! done ! IFS="$lt_save_ifs" ! ;; ! esac], ! [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) ! ])# AC_ENABLE_FAST_INSTALL ! ! ! # AC_DISABLE_FAST_INSTALL ! # ----------------------- ! # set the default to --disable-fast-install ! AC_DEFUN([AC_DISABLE_FAST_INSTALL], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_FAST_INSTALL(no) ! ])# AC_DISABLE_FAST_INSTALL ! ! ! # AC_LIBTOOL_PICMODE([MODE]) ! # -------------------------- ! # implement the --with-pic flag ! # MODE is either `yes' or `no'. If omitted, it defaults to `both'. ! AC_DEFUN([AC_LIBTOOL_PICMODE], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! pic_mode=ifelse($#,1,$1,default) ! ])# AC_LIBTOOL_PICMODE ! ! ! # AC_PROG_EGREP ! # ------------- ! # This is predefined starting with Autoconf 2.54, so this conditional ! # definition can be removed once we require Autoconf 2.54 or later. ! m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], ! [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], ! [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ! then ac_cv_prog_egrep='grep -E' ! else ac_cv_prog_egrep='egrep' ! fi]) ! EGREP=$ac_cv_prog_egrep ! AC_SUBST([EGREP]) ! ])]) ! ! ! # AC_PATH_TOOL_PREFIX ! # ------------------- ! # find a file program which can recognise shared library ! AC_DEFUN([AC_PATH_TOOL_PREFIX], ! [AC_REQUIRE([AC_PROG_EGREP])dnl ! AC_MSG_CHECKING([for $1]) ! AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, ! [case $MAGIC_CMD in ! [[\\/*] | ?:[\\/]*]) ! lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ! ;; ! *) ! lt_save_MAGIC_CMD="$MAGIC_CMD" ! lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ! dnl $ac_dummy forces splitting on constant user-supplied paths. ! dnl POSIX.2 word splitting is done only on the output of word expansions, ! dnl not every word. This closes a longstanding sh security hole. ! ac_dummy="ifelse([$2], , $PATH, [$2])" ! for ac_dir in $ac_dummy; do ! IFS="$lt_save_ifs" ! test -z "$ac_dir" && ac_dir=. ! if test -f $ac_dir/$1; then ! lt_cv_path_MAGIC_CMD="$ac_dir/$1" ! if test -n "$file_magic_test_file"; then ! case $deplibs_check_method in ! "file_magic "*) ! file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" ! MAGIC_CMD="$lt_cv_path_MAGIC_CMD" ! if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ! $EGREP "$file_magic_regex" > /dev/null; then ! : ! else ! cat <&2 ! ! *** Warning: the command libtool uses to detect shared libraries, ! *** $file_magic_cmd, produces output that libtool cannot recognize. ! *** The result is that libtool may fail to recognize shared libraries ! *** as such. This will affect the creation of libtool libraries that ! *** depend on shared libraries, but programs linked with such libtool ! *** libraries will work regardless of this problem. Nevertheless, you ! *** may want to report the problem to your system manager and/or to ! *** bug-libtool@gnu.org ! ! EOF ! fi ;; ! esac ! fi ! break fi ! done ! IFS="$lt_save_ifs" ! MAGIC_CMD="$lt_save_MAGIC_CMD" ! ;; ! esac]) ! MAGIC_CMD="$lt_cv_path_MAGIC_CMD" ! if test -n "$MAGIC_CMD"; then ! AC_MSG_RESULT($MAGIC_CMD) ! else ! AC_MSG_RESULT(no) ! fi ! ])# AC_PATH_TOOL_PREFIX ! ! ! # AC_PATH_MAGIC ! # ------------- ! # find a file program which can recognise a shared library ! AC_DEFUN([AC_PATH_MAGIC], ! [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) ! if test -z "$lt_cv_path_MAGIC_CMD"; then ! if test -n "$ac_tool_prefix"; then ! AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) ! else ! MAGIC_CMD=: ! fi ! fi ! ])# AC_PATH_MAGIC ! ! ! # AC_PROG_LD ! # ---------- ! # find the path to the GNU or non-GNU linker ! AC_DEFUN([AC_PROG_LD], ! [AC_ARG_WITH([gnu-ld], ! [AC_HELP_STRING([--with-gnu-ld], ! [assume the C compiler uses GNU ld @<:@default=no@:>@])], ! [test "$withval" = no || with_gnu_ld=yes], ! [with_gnu_ld=no]) ! AC_REQUIRE([LT_AC_PROG_SED])dnl ! AC_REQUIRE([AC_PROG_CC])dnl ! AC_REQUIRE([AC_CANONICAL_HOST])dnl ! AC_REQUIRE([AC_CANONICAL_BUILD])dnl ! ac_prog=ld ! if test "$GCC" = yes; then ! # Check if gcc -print-prog-name=ld gives a path. ! AC_MSG_CHECKING([for ld used by $CC]) ! case $host in ! *-*-mingw*) ! # gcc leaves a trailing carriage return which upsets mingw ! ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ! *) ! ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ! esac ! case $ac_prog in ! # Accept absolute paths. ! [[\\/]]* | ?:[[\\/]]*) ! re_direlt='/[[^/]][[^/]]*/\.\./' ! # Canonicalize the path of ld ! ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` ! while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ! ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` ! done ! test -z "$LD" && LD="$ac_prog" ! ;; ! "") ! # If it fails, then pretend we aren't using GCC. ! ac_prog=ld ! ;; ! *) ! # If it is relative, then search for the first ld in PATH. ! with_gnu_ld=unknown ! ;; ! esac ! elif test "$with_gnu_ld" = yes; then ! AC_MSG_CHECKING([for GNU ld]) ! else ! AC_MSG_CHECKING([for non-GNU ld]) ! fi ! AC_CACHE_VAL(lt_cv_path_LD, ! [if test -z "$LD"; then ! lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ! for ac_dir in $PATH; do ! IFS="$lt_save_ifs" ! test -z "$ac_dir" && ac_dir=. ! if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ! lt_cv_path_LD="$ac_dir/$ac_prog" ! # Check to see if the program is GNU ld. I'd rather use --version, ! # but apparently some GNU ld's only accept -v. ! # Break only if it was the GNU/non-GNU ld that we prefer. ! case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then ! case $host_cpu in ! i*86 ) ! # Not sure whether the presence of OpenBSD here was a mistake. ! # Let's accept both of them until this is cleared up. ! lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ! ;; ! esac ! else ! lt_cv_deplibs_check_method=pass_all ! fi ! ;; ! ! gnu*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! ! hpux10.20* | hpux11*) ! lt_cv_file_magic_cmd=/usr/bin/file ! case "$host_cpu" in ! ia64*) ! lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' ! lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ! ;; ! hppa*64*) ! [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] ! lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ! ;; ! *) ! lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' ! lt_cv_file_magic_test_file=/usr/lib/libc.sl ! ;; ! esac ! ;; ! ! irix5* | irix6* | nonstopux*) ! case $host_os in ! irix5* | nonstopux*) ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ! ;; ! *) ! case $LD in ! *-32|*"-32 ") libmagic=32-bit;; ! *-n32|*"-n32 ") libmagic=N32;; ! *-64|*"-64 ") libmagic=64-bit;; ! *) libmagic=never-match;; ! esac ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" ! ;; ! esac ! lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` ! lt_cv_deplibs_check_method=pass_all ! ;; ! ! # This must be Linux ELF. ! linux*) ! case $host_cpu in ! alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*) ! lt_cv_deplibs_check_method=pass_all ;; ! *) ! # glibc up to 2.1.1 does not perform some relocations on ARM ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; ! esac ! lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ! ;; ! ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then ! lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' ! else ! lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' ! fi ! ;; ! ! newos6*) ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/libnls.so ! ;; ! ! nto-qnx) ! lt_cv_deplibs_check_method=unknown ! ;; ! ! openbsd*) ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ! if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' ! else ! lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' ! fi ! ;; ! ! osf3* | osf4* | osf5*) ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' ! lt_cv_file_magic_test_file=/shlib/libc.so ! lt_cv_deplibs_check_method=pass_all ! ;; ! ! sco3.2v5*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! ! solaris*) ! lt_cv_deplibs_check_method=pass_all ! lt_cv_file_magic_test_file=/lib/libc.so ! ;; ! ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! case $host_vendor in ! motorola) ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ! ;; ! ncr) ! lt_cv_deplibs_check_method=pass_all ! ;; ! sequent) ! lt_cv_file_magic_cmd='/bin/file' ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ! ;; ! sni) ! lt_cv_file_magic_cmd='/bin/file' ! lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" ! lt_cv_file_magic_test_file=/lib/libc.so ! ;; ! siemens) ! lt_cv_deplibs_check_method=pass_all ;; + esac + ;; ! sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! esac ! ]) ! file_magic_cmd=$lt_cv_file_magic_cmd ! deplibs_check_method=$lt_cv_deplibs_check_method ! test -z "$deplibs_check_method" && deplibs_check_method=unknown ! ])# AC_DEPLIBS_CHECK_METHOD ! ! ! # AC_PROG_NM ! # ---------- ! # find the path to a BSD-compatible name lister ! AC_DEFUN([AC_PROG_NM], ! [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, ! [if test -n "$NM"; then ! # Let the user override the test. ! lt_cv_path_NM="$NM" ! else ! lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ! for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do ! IFS="$lt_save_ifs" ! test -z "$ac_dir" && ac_dir=. ! tmp_nm="$ac_dir/${ac_tool_prefix}nm" ! if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then ! # Check to see if the nm accepts a BSD-compat flag. ! # Adding the `sed 1q' prevents false positives on HP-UX, which says: ! # nm: unknown option "B" ignored ! # Tru64's nm complains that /dev/null is an invalid object file ! case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in ! */dev/null* | *'Invalid file or object type'*) ! lt_cv_path_NM="$tmp_nm -B" ! break ! ;; ! *) ! case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in ! */dev/null*) ! lt_cv_path_NM="$tmp_nm -p" ! break ! ;; ! *) ! lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but ! continue # so that we can try to find one that supports BSD flags ! ;; ! esac ! esac ! fi ! done ! IFS="$lt_save_ifs" ! test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm ! fi]) ! NM="$lt_cv_path_NM" ! ])# AC_PROG_NM ! ! ! # AC_CHECK_LIBM ! # ------------- ! # check for math library ! AC_DEFUN([AC_CHECK_LIBM], ! [AC_REQUIRE([AC_CANONICAL_HOST])dnl ! LIBM= ! case $host in ! *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) ! # These system don't have libm, or don't need it ! ;; ! *-ncr-sysv4.3*) ! AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") ! AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ! ;; ! *) ! AC_CHECK_LIB(m, cos, LIBM="-lm") ! ;; ! esac ! ])# AC_CHECK_LIBM ! ! ! # AC_LIBLTDL_CONVENIENCE([DIRECTORY]) ! # ----------------------------------- ! # sets LIBLTDL to the link flags for the libltdl convenience library and ! # LTDLINCL to the include flags for the libltdl header and adds ! # --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL ! # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If ! # DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will ! # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with ! # '${top_srcdir}/' (note the single quotes!). If your package is not ! # flat and you're not using automake, define top_builddir and ! # top_srcdir appropriately in the Makefiles. ! AC_DEFUN([AC_LIBLTDL_CONVENIENCE], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! case $enable_ltdl_convenience in ! no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; ! "") enable_ltdl_convenience=yes ! ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; ! esac ! LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la ! LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) ! # For backwards non-gettext consistent compatibility... ! INCLTDL="$LTDLINCL" ! ])# AC_LIBLTDL_CONVENIENCE ! ! ! # AC_LIBLTDL_INSTALLABLE([DIRECTORY]) ! # ----------------------------------- ! # sets LIBLTDL to the link flags for the libltdl installable library and ! # LTDLINCL to the include flags for the libltdl header and adds ! # --enable-ltdl-install to the configure arguments. Note that LIBLTDL ! # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If ! # DIRECTORY is not provided and an installed libltdl is not found, it is ! # assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' ! # and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single ! # quotes!). If your package is not flat and you're not using automake, ! # define top_builddir and top_srcdir appropriately in the Makefiles. ! # In the future, this macro may have to be called after AC_PROG_LIBTOOL. ! AC_DEFUN([AC_LIBLTDL_INSTALLABLE], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_CHECK_LIB(ltdl, lt_dlinit, ! [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], ! [if test x"$enable_ltdl_install" = xno; then ! AC_MSG_WARN([libltdl not installed, but installation disabled]) ! else ! enable_ltdl_install=yes ! fi ! ]) ! if test x"$enable_ltdl_install" = x"yes"; then ! ac_configure_args="$ac_configure_args --enable-ltdl-install" ! LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la ! LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) ! else ! ac_configure_args="$ac_configure_args --enable-ltdl-install=no" ! LIBLTDL="-lltdl" ! LTDLINCL= ! fi ! # For backwards non-gettext consistent compatibility... ! INCLTDL="$LTDLINCL" ! ])# AC_LIBLTDL_INSTALLABLE ! ! ! # AC_LIBTOOL_CXX ! # -------------- ! # enable support for C++ libraries ! AC_DEFUN([AC_LIBTOOL_CXX], ! [AC_REQUIRE([_LT_AC_LANG_CXX]) ! ])# AC_LIBTOOL_CXX ! ! ! # _LT_AC_LANG_CXX ! # --------------- ! AC_DEFUN([_LT_AC_LANG_CXX], ! [AC_REQUIRE([AC_PROG_CXX]) ! AC_REQUIRE([AC_PROG_CXXCPP]) ! _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,CXX" | sed 's/^,//'`]) ! ])# _LT_AC_LANG_CXX ! ! ! # AC_LIBTOOL_F77 ! # -------------- ! # enable support for Fortran 77 libraries ! AC_DEFUN([AC_LIBTOOL_F77], ! [AC_REQUIRE([_LT_AC_LANG_F77]) ! ])# AC_LIBTOOL_F77 ! ! ! # _LT_AC_LANG_F77 ! # --------------- ! AC_DEFUN([_LT_AC_LANG_F77], ! [AC_REQUIRE([AC_PROG_F77]) ! _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,F77" | sed 's/^,//'`]) ! ])# _LT_AC_LANG_F77 ! ! ! # AC_LIBTOOL_GCJ ! # -------------- ! # enable support for GCJ libraries ! AC_DEFUN([AC_LIBTOOL_GCJ], ! [AC_REQUIRE([_LT_AC_LANG_GCJ]) ! ])# AC_LIBTOOL_GCJ ! ! ! # _LT_AC_LANG_GCJ ! # --------------- ! AC_DEFUN([_LT_AC_LANG_GCJ], ! [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], ! [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], ! [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], ! [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], ! [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], ! [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) ! _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,GCJ" | sed 's/^,//'`]) ! ])# _LT_AC_LANG_GCJ ! ! ! # AC_LIBTOOL_RC ! # -------------- ! # enable support for Windows resource files ! AC_DEFUN([AC_LIBTOOL_RC], ! [AC_REQUIRE([LT_AC_PROG_RC]) ! _LT_AC_SHELL_INIT([tagnames=`echo "$tagnames,RC" | sed 's/^,//'`]) ! ])# AC_LIBTOOL_RC ! ! ! # AC_LIBTOOL_LANG_C_CONFIG ! # ------------------------ ! # Ensure that the configuration vars for the C compiler are ! # suitably defined. Those variables are subsequently used by ! # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. ! AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) ! AC_DEFUN([_LT_AC_LANG_C_CONFIG], ! [lt_save_CC="$CC" ! AC_LANG_PUSH(C) ! ! # Source file extension for C test sources. ! ac_ext=c ! ! # Object file extension for compiled C test sources. ! objext=o ! _LT_AC_TAGVAR(objext, $1)=$objext ! ! # Code to be used in simple compile tests ! lt_simple_compile_test_code="int some_variable = 0;\n" ! ! # Code to be used in simple link tests ! lt_simple_link_test_code='int main(){return(0);}\n' ! ! _LT_AC_SYS_COMPILER ! ! # ! # Check for any special shared library compilation flags. ! # ! _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= ! if test "$GCC" = no; then ! case $host_os in ! sco3.2v5*) ! _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' ;; esac fi ! if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then ! AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) ! if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : ! else ! AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) ! _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no ! fi ! fi ! # ! # Check to make sure the static flag actually works. ! # ! AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], ! _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), ! $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), ! [], ! [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ! ! ! ## CAVEAT EMPTOR: ! ## There is no encapsulation within the following macros, do not change ! ## the running order or otherwise move them around unless you know exactly ! ## what you are doing... ! AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) ! AC_LIBTOOL_PROG_COMPILER_PIC($1) ! AC_LIBTOOL_PROG_CC_C_O($1) ! AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) ! AC_LIBTOOL_PROG_LD_SHLIBS($1) ! AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) ! AC_LIBTOOL_SYS_LIB_STRIP ! AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) ! AC_LIBTOOL_DLOPEN_SELF($1) ! ! # Report which librarie types wil actually be built ! AC_MSG_CHECKING([if libtool supports shared libraries]) ! AC_MSG_RESULT([$can_build_shared]) ! ! AC_MSG_CHECKING([whether to build shared libraries]) ! test "$can_build_shared" = "no" && enable_shared=no ! ! # On AIX, shared libraries and static libraries use the same namespace, and ! # are all built from PIC. ! case "$host_os" in ! aix3*) ! test "$enable_shared" = yes && enable_static=no ! if test -n "$RANLIB"; then ! archive_cmds="$archive_cmds~\$RANLIB \$lib" ! postinstall_cmds='$RANLIB $lib' ! fi ! ;; ! ! aix4*) ! if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then ! test "$enable_shared" = yes && enable_static=no fi + ;; + darwin* | rhapsody*) + if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + # FIXME: Relying on posixy $() will cause problems for + # cross-compilation, but unfortunately the echo tests do not + # yet detect zsh echo's removal of \ escapes. Also zsh mangles + # `"' quotes if we put them in here... so don't! + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + AC_LIBTOOL_CONFIG($1) + + AC_LANG_POP + CC="$lt_save_CC" + ])# AC_LIBTOOL_LANG_C_CONFIG + + + # AC_LIBTOOL_LANG_CXX_CONFIG + # -------------------------- + # Ensure that the configuration vars for the C compiler are + # suitably defined. Those variables are subsequently used by + # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. + AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) + AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], + [AC_LANG_PUSH(C++) + AC_REQUIRE([AC_PROG_CXX]) + AC_REQUIRE([AC_PROG_CXXCPP]) + + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + _LT_AC_TAGVAR(no_undefined_flag, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + + # Dependencies to place before and after the object being linked: + _LT_AC_TAGVAR(predep_objects, $1)= + _LT_AC_TAGVAR(postdep_objects, $1)= + _LT_AC_TAGVAR(predeps, $1)= + _LT_AC_TAGVAR(postdeps, $1)= + _LT_AC_TAGVAR(compiler_lib_search_path, $1)= + + # Source file extension for C++ test sources. + ac_ext=cc + + # Object file extension for compiled C++ test sources. + objext=o + _LT_AC_TAGVAR(objext, $1)=$objext + + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;\n" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_AC_SYS_COMPILER + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else ! unset lt_cv_prog_gnu_ld fi ! if test -n "${lt_cv_path_LDCXX+set}"; then ! lt_cv_path_LD=$lt_cv_path_LDCXX else ! unset lt_cv_path_LD ! fi ! test -z "${LDCXX+set}" || LD=$LDCXX ! CC=${CXX-"c++"} ! compiler=$CC ! _LT_AC_TAGVAR(compiler, $1)=$CC ! cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` ! ! # We don't want -fno-exception wen compiling C++ code, so set the ! # no_builtin_flag separately ! if test "$GXX" = yes; then ! _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ! else ! _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi ! if test "$GXX" = yes; then ! # Set up default GNU C++ configuration ! AC_PROG_LD ! ! # Check if GNU C++ uses GNU ld as the underlying linker, since the ! # archiving commands below assume that GNU ld is being used. ! if test "$with_gnu_ld" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' ! ! # If archive_cmds runs LD, not CC, wlarc should be empty ! # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to ! # investigate it a little bit more. (MM) ! wlarc='${wl}' ! ! # ancient GNU ld didn't support --whole-archive et. al. ! if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ ! grep 'no-whole-archive' > /dev/null; then ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' ! else ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= ! fi ! else ! with_gnu_ld=no ! wlarc= ! ! # A generic and very simple default shared library creation ! # command for GNU C++ for the case where it uses the native ! # linker, instead of GNU ld. If possible, this setting should ! # overridden to take advantage of the native linker features on ! # the platform it is being used on. ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' ! fi ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' ! ! else ! GXX=no ! with_gnu_ld=no ! wlarc= ! fi + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_AC_TAGVAR(ld_shlibs, $1)=yes case $host_os in ! aix3*) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! aix4* | aix5*) ! if test "$host_cpu" = ia64; then ! # On IA64, the linker does run time linking by default, so we don't ! # have to do anything special. ! aix_use_runtimelinking=no ! exp_sym_flag='-Bexport' ! no_entry_flag="" ! else ! aix_use_runtimelinking=no ! # Test if we are trying to use run time linking or normal ! # AIX style linking. If -brtl is somewhere in LDFLAGS, we ! # need to do runtime linking. ! case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) ! for ld_flag in $LDFLAGS; do ! case $ld_flag in ! *-brtl*) ! aix_use_runtimelinking=yes ! break ! ;; ! esac ! done ! esac ! exp_sym_flag='-bexport' ! no_entry_flag='-bnoentry' ! fi ! ! # When large executables or shared objects are built, AIX ld can ! # have problems creating the table of contents. If linking a library ! # or program results in "error TOC overflow" add -mminimal-toc to ! # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not ! # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. ! ! _LT_AC_TAGVAR(archive_cmds, $1)='' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! ! if test "$GXX" = yes; then ! case $host_os in aix4.[012]|aix4.[012].*) ! # We only want to do this on AIX 4.2 and lower, the check ! # below for broken collect2 doesn't work under 4.3+ ! collect2name=`${CC} -print-prog-name=collect2` ! if test -f "$collect2name" && \ ! strings "$collect2name" | grep resolve_lib_name >/dev/null ! then ! # We have reworked collect2 ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! else ! # We have old collect2 ! _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported ! # It fails to find uninstalled libraries when the uninstalled ! # path is not listed in the libpath. Setting hardcode_minus_L ! # to unsupported forces relinking ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= ! fi ! esac ! shared_flag='-shared' ! else ! # not using gcc ! if test "$host_cpu" = ia64; then ! # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release ! # chokes on -Wl,-G. The following line is correct: ! shared_flag='-G' ! else ! if test "$aix_use_runtimelinking" = yes; then ! shared_flag='${wl}-G' else ! shared_flag='${wl}-bM:SRE' fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ! ;; ! ! cygwin* | mingw* | pw32*) ! # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, ! # as there is no search path for DLLs. ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported ! _LT_AC_TAGVAR(always_export_symbols, $1)=no ! _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ! ! if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' ! # If the export-symbols file already is a .def file (1st line ! # is EXPORTS), use it as is; otherwise, prepend... ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then ! cp $export_symbols $output_objdir/$soname.def; ! else ! echo EXPORTS > $output_objdir/$soname.def; ! cat $export_symbols >> $output_objdir/$soname.def; ! fi~ ! $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' else ! _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; ! darwin* | rhapsody*) ! if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! case "$host_os" in ! rhapsody* | darwin1.[[012]]) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' ! ;; ! *) # Darwin 1.3 on ! test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ! ;; ! esac ! lt_int_apple_cc_single_mod=no ! output_verbose_link_cmd='echo' ! if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then ! lt_int_apple_cc_single_mod=yes ! fi ! if test "X$lt_int_apple_cc_single_mod" = Xyes ; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -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 -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' ! # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's ! 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 ${wl}-bind_at_load -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 -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_automatic, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! fi ! ;; ! dgux*) ! case $cc_basename in ! ec++) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! ghcx) ! # Green Hills C++ Compiler ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ;; ! freebsd[12]*) ! # C++ shared libraries reported to be fairly broken before switch to ELF ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; ! freebsd-elf*) ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; ! freebsd*) ! # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF ! # conventions ! _LT_AC_TAGVAR(ld_shlibs, $1)=yes ! ;; ! gnu*) ! ;; ! hpux9*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, ! # but as the default ! # location of the library. ! ! case $cc_basename in ! CC) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! aCC) ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ;; ! *) ! if test "$GXX" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ! else ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! esac ;; ! hpux10*|hpux11*) ! if test $with_gnu_ld = no; then ! case "$host_cpu" in ! hppa*64*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ;; ! ia64*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! ;; ! *) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ! ;; ! esac ! fi ! case "$host_cpu" in ! hppa*64*) ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ia64*) ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, ! # but as the default ! # location of the library. ! ;; ! *) ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, ! # but as the default ! # location of the library. ! ;; ! esac ! case $cc_basename in ! CC) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! aCC) ! case "$host_cpu" in ! hppa*64*|ia64*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ! ;; ! *) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ! ;; ! esac ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ;; ! *) ! if test "$GXX" = yes; then ! if test $with_gnu_ld = no; then ! case "$host_cpu" in ! ia64*|hppa*64*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' ! ;; ! *) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ! ;; ! esac ! fi ! else ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! esac ! ;; ! irix5* | irix6*) ! case $cc_basename in ! CC) ! # SGI C++ ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! ! # Archives containing C++ object files must be created using ! # "CC -ar", where "CC" is the IRIX C++ compiler. This is ! # necessary to make sure instantiated templates are included ! # in the archive. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ! ;; ! *) ! if test "$GXX" = yes; then ! if test "$with_gnu_ld" = no; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' ! fi ! fi ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! ;; ! esac ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ;; ! linux*) ! case $cc_basename in ! KCC) ! # Kuck and Associates, Inc. (KAI) C++ Compiler ! ! # KCC will only create a shared library if the output file ! # ends with ".so" (or ".sl" for HP-UX), so rename the library ! # to its proper name (with version) after linking. ! _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' ! ! # Archives containing C++ object files must be created using ! # "CC -Bstatic", where "CC" is the KAI C++ compiler. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ! ;; ! icpc) ! # Intel C++ ! with_gnu_ld=yes ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ! ;; ! cxx) ! # Compaq C++ ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' ! ! runpath_var=LD_RUN_PATH ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ;; ! esac ! ;; ! lynxos*) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! m88k*) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! mvs*) ! case $cc_basename in ! cxx) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ! ;; ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' ! wlarc= ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! fi ! # Workaround some broken pre-1.5 toolchains ! output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ! ;; ! osf3*) ! case $cc_basename in ! KCC) ! # Kuck and Associates, Inc. (KAI) C++ Compiler ! ! # KCC will only create a shared library if the output file ! # ends with ".so" (or ".sl" for HP-UX), so rename the library ! # to its proper name (with version) after linking. ! _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Archives containing C++ object files must be created using ! # "CC -Bstatic", where "CC" is the KAI C++ compiler. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ! ;; ! RCC) ! # Rational C++ 2.4.1 ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! cxx) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ;; ! *) ! if test "$GXX" = yes && test "$with_gnu_ld" = no; then ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' ! else ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! esac ! ;; ! osf4* | osf5*) ! case $cc_basename in ! KCC) ! # Kuck and Associates, Inc. (KAI) C++ Compiler ! ! # KCC will only create a shared library if the output file ! # ends with ".so" (or ".sl" for HP-UX), so rename the library ! # to its proper name (with version) after linking. ! _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Archives containing C++ object files must be created using ! # the KAI C++ compiler. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ! ;; ! RCC) ! # Rational C++ 2.4.1 ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! cxx) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ ! echo "-hidden">> $lib.exp~ ! $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ ! $rm $lib.exp' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ;; ! *) ! if test "$GXX" = yes && test "$with_gnu_ld" = no; then ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' ! ! else ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! esac ;; ! psos*) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! sco*) ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! case $cc_basename in ! CC) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ;; ! sunos4*) ! case $cc_basename in ! CC) ! # Sun C++ 4.x ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! lcc) ! # Lucid ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ! ;; ! solaris*) ! case $cc_basename in ! CC) ! # Sun C++ 4.2, 5.x and Centerline C++ ! _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' ! ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! case $host_os in ! solaris2.[0-5] | solaris2.[0-5].*) ;; ! *) ! # The C++ compiler is used as linker so we must use $wl ! # flag to pass the commands to the underlying system ! # linker. ! # Supported since Solaris 2.6 (maybe 2.5.1?) ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ! ;; ! esac ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! # ! # There doesn't appear to be a way to prevent this compiler from ! # explicitly linking system object files so we need to strip them ! # from the output so that they don't get included in the library ! # dependencies. ! output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ! ! # Archives containing C++ object files must be created using ! # "CC -xar", where "CC" is the Sun C++ compiler. This is ! # necessary to make sure instantiated templates are included ! # in the archive. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ! ;; ! gcx) ! # Green Hills C++ Compiler ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' ! # The C++ compiler must be used to create the archive. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ! ;; ! *) ! # GNU C++ compiler with Solaris linker ! if test "$GXX" = yes && test "$with_gnu_ld" = no; then ! _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' ! if $CC --version | grep -v '^2\.7' > /dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" ! else ! # g++ 2.7 appears to require `-G' NOT `-shared' on this ! # platform. ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' ! ! # Commands to make compiler produce verbose output that lists ! # what "hidden" libraries, object files and flags are used when ! # linking a shared library. ! output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' ! fi ! ;; ! esac ;; ! sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! ;; ! tandem*) ! case $cc_basename in ! NCC) ! # NonStop-UX NCC 3.20 ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; esac ;; ! vxworks*) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! *) ! # FIXME: insert proper C++ library support ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ! AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) ! test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no ! _LT_AC_TAGVAR(GCC, $1)="$GXX" ! _LT_AC_TAGVAR(LD, $1)="$LD" ! ## CAVEAT EMPTOR: ! ## There is no encapsulation within the following macros, do not change ! ## the running order or otherwise move them around unless you know exactly ! ## what you are doing... ! AC_LIBTOOL_POSTDEP_PREDEP($1) ! AC_LIBTOOL_PROG_COMPILER_PIC($1) ! AC_LIBTOOL_PROG_CC_C_O($1) ! AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) ! AC_LIBTOOL_PROG_LD_SHLIBS($1) ! AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) ! AC_LIBTOOL_SYS_LIB_STRIP ! AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) ! AC_LIBTOOL_DLOPEN_SELF($1) ! ! AC_LIBTOOL_CONFIG($1) ! ! AC_LANG_POP ! CC=$lt_save_CC ! LDCXX=$LD ! LD=$lt_save_LD ! GCC=$lt_save_GCC ! with_gnu_ldcxx=$with_gnu_ld ! with_gnu_ld=$lt_save_with_gnu_ld ! lt_cv_path_LDCXX=$lt_cv_path_LD ! lt_cv_path_LD=$lt_save_path_LD ! lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld ! lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld ! ])# AC_LIBTOOL_LANG_CXX_CONFIG ! # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) ! # ------------------------ ! # Figure out "hidden" library dependencies from verbose ! # compiler output when linking a shared library. ! # Parse the compiler output and extract the necessary ! # objects, libraries and library flags. ! AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ ! dnl we can't use the lt_simple_compile_test_code here, ! dnl because it contains code intended for an executable, ! dnl not a library. It's possible we should let each ! dnl tag define a new lt_????_link_test_code variable, ! dnl but it's only used here... ! ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext ! ! if AC_TRY_EVAL(ac_compile); then ! soname=conftest ! lib=conftest ! libobjs=conftest.$ac_objext ! deplibs= ! wl=$lt_cv_prog_cc_wl ! compiler_flags=-v ! linker_flags=-v ! verstring= ! output_objdir=. ! libname=conftest ! save_allow_undefined_flag=$allow_undefined_flag ! allow_undefined_flag= ! if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) ! then ! lt_cv_archive_cmds_need_lc=no ! else ! lt_cv_archive_cmds_need_lc=yes ! fi ! allow_undefined_flag=$save_allow_undefined_flag ! else ! cat conftest.err 1>&5 ! fi]) ! AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) ! ;; ! esac ! fi ! need_lc=${lt_cv_archive_cmds_need_lc-yes} ! ## ! ## END FIXME ! ## FIXME: this should be a separate macro ! ## ! # The second clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then ! : ! else ! # If there is no Makefile yet, we rely on a make rule to execute ! # `config.status --recheck' to rerun these tests and create the ! # libtool script then. ! test -f Makefile && make "$ltmain" ! fi ! ! if test -f "$ltmain"; then ! trap "$rm \"${ofile}T\"; exit 1" 1 2 15 ! $rm -f "${ofile}T" ! ! echo creating $ofile ! # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. ! for var in echo old_CC old_CFLAGS SED \ ! AR AR_FLAGS CC LD LN_S NM SHELL \ ! reload_flag reload_cmds wl \ ! pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ ! thread_safe_flag_spec whole_archive_flag_spec libname_spec \ ! library_names_spec soname_spec \ ! RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ ! old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ ! postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ ! old_striplib striplib file_magic_cmd export_symbols_cmds \ ! deplibs_check_method allow_undefined_flag no_undefined_flag \ ! finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ ! global_symbol_to_c_name_address \ ! hardcode_libdir_flag_spec hardcode_libdir_separator \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ ! compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do case $var in ! reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ ! old_postinstall_cmds | old_postuninstall_cmds | \ ! export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ ! extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ postinstall_cmds | postuninstall_cmds | \ ! finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; --- 3666,3873 ---- postinstall_cmds='$RANLIB $lib' fi ;; aix4*) ! test "$enable_shared" = yes && enable_static=no ;; esac AC_MSG_RESULT([$enable_shared]) ! AC_MSG_CHECKING([whether to build static libraries]) ! # Make sure either enable_shared or enable_static is yes. ! test "$enable_shared" = yes || enable_static=yes ! AC_MSG_RESULT([$enable_static]) ! ! test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no ! ! _LT_AC_TAGVAR(GCC, $1)="$G77" ! _LT_AC_TAGVAR(LD, $1)="$LD" ! ! AC_LIBTOOL_PROG_COMPILER_PIC($1) ! AC_LIBTOOL_PROG_CC_C_O($1) ! AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) ! AC_LIBTOOL_PROG_LD_SHLIBS($1) ! AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) ! AC_LIBTOOL_SYS_LIB_STRIP ! AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) ! ! AC_LIBTOOL_CONFIG($1) ! ! AC_LANG_POP ! CC="$lt_save_CC" ! ])# AC_LIBTOOL_LANG_F77_CONFIG ! ! ! # AC_LIBTOOL_LANG_GCJ_CONFIG ! # -------------------------- ! # Ensure that the configuration vars for the C compiler are ! # suitably defined. Those variables are subsequently used by ! # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. ! AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) ! AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], ! [AC_LANG_SAVE ! ! # Source file extension for Java test sources. ! ac_ext=java ! ! # Object file extension for compiled Java test sources. ! objext=o ! _LT_AC_TAGVAR(objext, $1)=$objext ! ! # Code to be used in simple compile tests ! lt_simple_compile_test_code="class foo {}\n" ! ! # Code to be used in simple link tests ! lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' ! ! # ltmain only uses $CC for tagged configurations so make sure $CC is set. ! _LT_AC_SYS_COMPILER ! ! # Allow CC to be a program name with arguments. ! lt_save_CC="$CC" ! CC=${GCJ-"gcj"} ! compiler=$CC ! _LT_AC_TAGVAR(compiler, $1)=$CC ! ! # GCJ did not exist at the time GCC didn't implicitly link libc in. ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! ! ## CAVEAT EMPTOR: ! ## There is no encapsulation within the following macros, do not change ! ## the running order or otherwise move them around unless you know exactly ! ## what you are doing... ! AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) ! AC_LIBTOOL_PROG_COMPILER_PIC($1) ! AC_LIBTOOL_PROG_CC_C_O($1) ! AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) ! AC_LIBTOOL_PROG_LD_SHLIBS($1) ! AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) ! AC_LIBTOOL_SYS_LIB_STRIP ! AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) ! AC_LIBTOOL_DLOPEN_SELF($1) ! ! AC_LIBTOOL_CONFIG($1) ! ! AC_LANG_RESTORE ! CC="$lt_save_CC" ! ])# AC_LIBTOOL_LANG_GCJ_CONFIG ! # AC_LIBTOOL_LANG_RC_CONFIG ! # -------------------------- ! # 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'. ! AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) ! AC_DEFUN([_LT_AC_LANG_RC_CONFIG], ! [AC_LANG_SAVE ! ! # Source file extension for RC test sources. ! ac_ext=rc ! ! # Object file extension for compiled RC test sources. ! objext=o ! _LT_AC_TAGVAR(objext, $1)=$objext ! # Code to be used in simple compile tests ! lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' ! # Code to be used in simple link tests ! lt_simple_link_test_code="$lt_simple_compile_test_code" ! # ltmain only uses $CC for tagged configurations so make sure $CC is set. ! _LT_AC_SYS_COMPILER ! ! # Allow CC to be a program name with arguments. ! lt_save_CC="$CC" ! CC=${RC-"windres"} ! compiler=$CC ! _LT_AC_TAGVAR(compiler, $1)=$CC ! _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes ! ! AC_LIBTOOL_CONFIG($1) ! ! AC_LANG_RESTORE ! CC="$lt_save_CC" ! ])# AC_LIBTOOL_LANG_RC_CONFIG ! ! ! # AC_LIBTOOL_CONFIG([TAGNAME]) ! # ---------------------------- ! # If TAGNAME is not passed, then create an initial libtool script ! # with a default configuration from the untagged config vars. Otherwise ! # add code to config.status for appending the configuration named by ! # TAGNAME from the matching tagged config vars. ! AC_DEFUN([AC_LIBTOOL_CONFIG], ! [# The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then ! # See if we are running on zsh, and set the options which allow our commands through ! # without removal of \ escapes. ! if test -n "${ZSH_VERSION+set}" ; then ! setopt NO_GLOB_SUBST ! fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. ! for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ ! libname_spec library_names_spec soname_spec extract_expsyms_cmds \ ! old_striplib striplib file_magic_cmd finish_cmds finish_eval \ ! deplibs_check_method reload_flag reload_cmds need_locks \ ! lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ ! lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ ! old_postinstall_cmds old_postuninstall_cmds \ ! _LT_AC_TAGVAR(compiler, $1) \ ! _LT_AC_TAGVAR(CC, $1) \ ! _LT_AC_TAGVAR(LD, $1) \ ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ ! _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ ! _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ ! _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ ! _LT_AC_TAGVAR(old_archive_cmds, $1) \ ! _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ ! _LT_AC_TAGVAR(predep_objects, $1) \ ! _LT_AC_TAGVAR(postdep_objects, $1) \ ! _LT_AC_TAGVAR(predeps, $1) \ ! _LT_AC_TAGVAR(postdeps, $1) \ ! _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ ! _LT_AC_TAGVAR(archive_cmds, $1) \ ! _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ ! _LT_AC_TAGVAR(postinstall_cmds, $1) \ ! _LT_AC_TAGVAR(postuninstall_cmds, $1) \ ! _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ ! _LT_AC_TAGVAR(allow_undefined_flag, $1) \ ! _LT_AC_TAGVAR(no_undefined_flag, $1) \ ! _LT_AC_TAGVAR(export_symbols_cmds, $1) \ ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ ! _LT_AC_TAGVAR(hardcode_automatic, $1) \ ! _LT_AC_TAGVAR(module_cmds, $1) \ ! _LT_AC_TAGVAR(module_expsym_cmds, $1) \ ! _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ ! _LT_AC_TAGVAR(exclude_expsyms, $1) \ ! _LT_AC_TAGVAR(include_expsyms, $1); do case $var in ! _LT_AC_TAGVAR(old_archive_cmds, $1) | \ ! _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ ! _LT_AC_TAGVAR(archive_cmds, $1) | \ ! _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ ! _LT_AC_TAGVAR(module_cmds, $1) | \ ! _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ ! _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ ! _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ ! extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ ! old_postinstall_cmds | old_postuninstall_cmds | \ ! sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *************** *** 2510,2523 **** esac done ! cat <<__EOF__ > "${ofile}T" ! #! $SHELL ! # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # ! # Copyright (C) 1996-2000 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify --- 3877,3907 ---- esac done ! case $lt_echo in ! *'\[$]0 --fallback-echo"') ! lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` ! ;; ! esac ! ifelse([$1], [], ! [cfgfile="${ofile}T" ! trap "$rm \"$cfgfile\"; exit 1" 1 2 15 ! $rm -f "$cfgfile" ! AC_MSG_NOTICE([creating $ofile])], ! [cfgfile="$ofile"]) ! ! cat <<__EOF__ >> "$cfgfile" ! ifelse([$1], [], ! [#! $SHELL ! ! # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # ! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 ! # Free Software Foundation, Inc. ! # ! # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify *************** *** 2539,2555 **** # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. ! # A sed that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. ! Xsed="${SED} -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi ! # ### BEGIN LIBTOOL CONFIG # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: --- 3923,3943 ---- # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. ! # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. ! Xsed="$SED -e s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi ! # The names of the tagged configurations supported by this script. ! available_tags= ! ! # ### BEGIN LIBTOOL CONFIG], ! [# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: *************** *** 2563,2569 **** build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. ! build_libtool_need_lc=$need_lc # Whether or not to optimize for fast installation. fast_install=$enable_fast_install --- 3951,3960 ---- build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. ! build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) ! ! # Whether or not to disallow shared libs when runtime libs are static ! allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) # Whether or not to optimize for fast installation. fast_install=$enable_fast_install *************** *** 2579,2592 **** AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS ! # The default C compiler. ! CC=$lt_CC # Is the compiler the GNU C compiler? ! with_gcc=$GCC # The linker used to build libraries. ! LD=$lt_LD # Whether we need hard or soft links. LN_S=$lt_LN_S --- 3970,3989 ---- AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS ! # A C compiler. ! LTCC=$lt_LTCC ! ! # A language-specific compiler. ! CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) # Is the compiler the GNU C compiler? ! with_gcc=$_LT_AC_TAGVAR(GCC, $1) ! ! # An ERE matcher. ! EGREP=$lt_EGREP # The linker used to build libraries. ! LD=$lt_[]_LT_AC_TAGVAR(LD, $1) # Whether we need hard or soft links. LN_S=$lt_LN_S *************** *** 2617,2623 **** reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. ! wl=$lt_wl # Object file suffix (normally "o"). objext="$ac_objext" --- 4014,4020 ---- reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. ! wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) # Object file suffix (normally "o"). objext="$ac_objext" *************** *** 2625,2642 **** # Old archive suffix (normally "a"). libext="$libext" # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. ! pic_flag=$lt_pic_flag pic_mode=$pic_mode ! # Does compiler simultaneously support -c and -o options? ! compiler_c_o=$lt_compiler_c_o ! # Can we write directly to a .lo ? ! compiler_o_lo=$lt_compiler_o_lo # Must we lock files when doing compilation ? need_locks=$lt_need_locks --- 4022,4042 ---- # Old archive suffix (normally "a"). libext="$libext" + # Shared library suffix (normally ".so"). + shrext='$shrext' + # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. ! pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) pic_mode=$pic_mode ! # What is the maximum length of a command? ! max_cmd_len=$lt_cv_sys_max_cmd_len ! # Does compiler simultaneously support -c and -o options? ! compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) # Must we lock files when doing compilation ? need_locks=$lt_need_locks *************** *** 2657,2675 **** dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. ! link_static_flag=$lt_link_static_flag # Compiler flag to turn off builtin functions. ! no_builtin_flag=$lt_no_builtin_flag # Compiler flag to allow reflexive dlopens. ! export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. ! whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. ! thread_safe_flag_spec=$lt_thread_safe_flag_spec # Library versioning type. version_type=$version_type --- 4057,4075 ---- dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. ! link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) # Compiler flag to turn off builtin functions. ! no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) # Compiler flag to allow reflexive dlopens. ! export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) # Compiler flag to generate shared objects directly from archives. ! whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) # Compiler flag to generate thread-safe objects. ! thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) # Library versioning type. version_type=$version_type *************** *** 2677,3604 **** # Format of library name prefix. libname_spec=$lt_libname_spec ! # List of archive names. First name is the real one, the rest are links. ! # The last name is the one that the linker finds with -lNAME. ! library_names_spec=$lt_library_names_spec ! # The coded name of the library, if different from the real name. ! soname_spec=$lt_soname_spec ! # Commands used to build and install an old-style archive. ! RANLIB=$lt_RANLIB ! old_archive_cmds=$lt_old_archive_cmds ! old_postinstall_cmds=$lt_old_postinstall_cmds ! old_postuninstall_cmds=$lt_old_postuninstall_cmds ! # Create an old-style archive from a shared archive. ! old_archive_from_new_cmds=$lt_old_archive_from_new_cmds ! # Create a temporary old-style archive to link instead of a shared archive. ! old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds ! # Commands used to build and install a shared archive. ! archive_cmds=$lt_archive_cmds ! archive_expsym_cmds=$lt_archive_expsym_cmds ! postinstall_cmds=$lt_postinstall_cmds ! postuninstall_cmds=$lt_postuninstall_cmds ! # Commands to strip libraries. ! old_striplib=$lt_old_striplib ! striplib=$lt_striplib ! # Method to check whether dependent libraries are shared objects. ! deplibs_check_method=$lt_deplibs_check_method ! # Command to use when deplibs_check_method == file_magic. ! file_magic_cmd=$lt_file_magic_cmd ! # Flag that allows shared libraries with undefined symbols to be built. ! allow_undefined_flag=$lt_allow_undefined_flag - # Flag that forces no undefined symbols. - no_undefined_flag=$lt_no_undefined_flag ! # Commands used to finish a libtool library installation in a directory. ! finish_cmds=$lt_finish_cmds ! # Same as above, but a single script fragment to be evaled but not shown. ! finish_eval=$lt_finish_eval ! # Take the output of nm and produce a listing of raw symbols and C names. ! global_symbol_pipe=$lt_global_symbol_pipe ! # Transform the output of nm in a proper C declaration ! global_symbol_to_cdecl=$lt_global_symbol_to_cdecl ! # Transform the output of nm in a C name address pair ! global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address ! # This is the shared library runtime path variable. ! runpath_var=$runpath_var ! # This is the shared library path variable. ! shlibpath_var=$shlibpath_var ! # Is shlibpath searched before the hard-coded library search path? ! shlibpath_overrides_runpath=$shlibpath_overrides_runpath ! # How to hardcode a shared library path into an executable. ! hardcode_action=$hardcode_action ! # Whether we should hardcode library paths into libraries. ! hardcode_into_libs=$hardcode_into_libs ! # Flag to hardcode \$libdir into a binary during linking. ! # This must work even if \$libdir does not exist. ! hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec ! # Whether we need a single -rpath flag with a separated argument. ! hardcode_libdir_separator=$lt_hardcode_libdir_separator ! # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the ! # resulting binary. ! hardcode_direct=$hardcode_direct ! # Set to yes if using the -LDIR flag during linking hardcodes DIR into the ! # resulting binary. ! hardcode_minus_L=$hardcode_minus_L ! # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into ! # the resulting binary. ! hardcode_shlibpath_var=$hardcode_shlibpath_var ! # Variables whose values should be saved in libtool wrapper scripts and ! # restored at relink time. ! variables_saved_for_relink="$variables_saved_for_relink" ! # Whether libtool must link a program against all its dependency libraries. ! link_all_deplibs=$link_all_deplibs ! # Compile-time system search path for libraries ! sys_lib_search_path_spec=$lt_sys_lib_search_path_spec ! # Run-time system search path for libraries ! sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec ! # Fix the shell variable \$srcfile for the compiler. ! fix_srcfile_path="$fix_srcfile_path" ! # Set to yes if exported symbols are required. ! always_export_symbols=$always_export_symbols ! # The commands to list exported symbols. ! export_symbols_cmds=$lt_export_symbols_cmds ! # The commands to extract the exported symbol list from a shared archive. ! extract_expsyms_cmds=$lt_extract_expsyms_cmds ! # Symbols that should not be listed in the preloaded symbols. ! exclude_expsyms=$lt_exclude_expsyms ! # Symbols that must always be exported. ! include_expsyms=$lt_include_expsyms ! # ### END LIBTOOL CONFIG - __EOF__ case $host_os in ! aix3*) ! cat <<\EOF >> "${ofile}T" ! ! # AIX sometimes has problems with the GCC collect2 program. For some ! # reason, if we set the COLLECT_NAMES environment variable, the problems ! # vanish in a puff of smoke. ! if test "X${COLLECT_NAMES+set}" != Xset; then ! COLLECT_NAMES= ! export COLLECT_NAMES ! fi ! EOF ;; esac case $host_os in ! cygwin* | mingw* | pw32* | os2*) ! cat <<'EOF' >> "${ofile}T" ! # This is a source program that is used to create dlls on Windows ! # Don't remove nor modify the starting and closing comments ! # /* ltdll.c starts here */ ! # #define WIN32_LEAN_AND_MEAN ! # #include ! # #undef WIN32_LEAN_AND_MEAN ! # #include ! # ! # #ifndef __CYGWIN__ ! # # ifdef __CYGWIN32__ ! # # define __CYGWIN__ __CYGWIN32__ ! # # endif ! # #endif ! # ! # #ifdef __cplusplus ! # extern "C" { ! # #endif ! # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); ! # #ifdef __cplusplus ! # } ! # #endif ! # ! # #ifdef __CYGWIN__ ! # #include ! # DECLARE_CYGWIN_DLL( DllMain ); ! # #endif ! # HINSTANCE __hDllInstance_base; ! # ! # BOOL APIENTRY ! # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ! # { ! # __hDllInstance_base = hInst; ! # return TRUE; ! # } ! # /* ltdll.c ends here */ ! # This is a source program that is used to create import libraries ! # on Windows for dlls which lack them. Don't remove nor modify the ! # starting and closing comments ! # /* impgen.c starts here */ ! # /* Copyright (C) 1999-2000 Free Software Foundation, Inc. ! # ! # This file is part of GNU libtool. ! # ! # This program is free software; you can redistribute it and/or modify ! # it under the terms of the GNU General Public License as published by ! # the Free Software Foundation; either version 2 of the License, or ! # (at your option) any later version. ! # ! # This program is distributed in the hope that it will be useful, ! # but WITHOUT ANY WARRANTY; without even the implied warranty of ! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! # GNU General Public License for more details. ! # ! # You should have received a copy of the GNU General Public License ! # along with this program; if not, write to the Free Software ! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! # */ ! # ! # #include /* for printf() */ ! # #include /* for open(), lseek(), read() */ ! # #include /* for O_RDONLY, O_BINARY */ ! # #include /* for strdup() */ ! # ! # /* O_BINARY isn't required (or even defined sometimes) under Unix */ ! # #ifndef O_BINARY ! # #define O_BINARY 0 ! # #endif ! # ! # static unsigned int ! # pe_get16 (fd, offset) ! # int fd; ! # int offset; ! # { ! # unsigned char b[2]; ! # lseek (fd, offset, SEEK_SET); ! # read (fd, b, 2); ! # return b[0] + (b[1]<<8); ! # } ! # ! # static unsigned int ! # pe_get32 (fd, offset) ! # int fd; ! # int offset; ! # { ! # unsigned char b[4]; ! # lseek (fd, offset, SEEK_SET); ! # read (fd, b, 4); ! # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); ! # } ! # ! # static unsigned int ! # pe_as32 (ptr) ! # void *ptr; ! # { ! # unsigned char *b = ptr; ! # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); ! # } ! # ! # int ! # main (argc, argv) ! # int argc; ! # char *argv[]; ! # { ! # int dll; ! # unsigned long pe_header_offset, opthdr_ofs, num_entries, i; ! # unsigned long export_rva, export_size, nsections, secptr, expptr; ! # unsigned long name_rvas, nexp; ! # unsigned char *expdata, *erva; ! # char *filename, *dll_name; ! # ! # filename = argv[1]; ! # ! # dll = open(filename, O_RDONLY|O_BINARY); ! # if (dll < 1) ! # return 1; ! # ! # dll_name = filename; ! # ! # for (i=0; filename[i]; i++) ! # if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') ! # dll_name = filename + i +1; ! # ! # pe_header_offset = pe_get32 (dll, 0x3c); ! # opthdr_ofs = pe_header_offset + 4 + 20; ! # num_entries = pe_get32 (dll, opthdr_ofs + 92); ! # ! # if (num_entries < 1) /* no exports */ ! # return 1; ! # ! # export_rva = pe_get32 (dll, opthdr_ofs + 96); ! # export_size = pe_get32 (dll, opthdr_ofs + 100); ! # nsections = pe_get16 (dll, pe_header_offset + 4 +2); ! # secptr = (pe_header_offset + 4 + 20 + ! # pe_get16 (dll, pe_header_offset + 4 + 16)); ! # ! # expptr = 0; ! # for (i = 0; i < nsections; i++) ! # { ! # char sname[8]; ! # unsigned long secptr1 = secptr + 40 * i; ! # unsigned long vaddr = pe_get32 (dll, secptr1 + 12); ! # unsigned long vsize = pe_get32 (dll, secptr1 + 16); ! # unsigned long fptr = pe_get32 (dll, secptr1 + 20); ! # lseek(dll, secptr1, SEEK_SET); ! # read(dll, sname, 8); ! # if (vaddr <= export_rva && vaddr+vsize > export_rva) ! # { ! # expptr = fptr + (export_rva - vaddr); ! # if (export_rva + export_size > vaddr + vsize) ! # export_size = vsize - (export_rva - vaddr); ! # break; ! # } ! # } ! # ! # expdata = (unsigned char*)malloc(export_size); ! # lseek (dll, expptr, SEEK_SET); ! # read (dll, expdata, export_size); ! # erva = expdata - export_rva; ! # ! # nexp = pe_as32 (expdata+24); ! # name_rvas = pe_as32 (expdata+32); ! # ! # printf ("EXPORTS\n"); ! # for (i = 0; i> "${ofile}T" || (rm -f "${ofile}T"; exit 1) ! ! mv -f "${ofile}T" "$ofile" || \ ! (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") ! chmod +x "$ofile" ! fi ! ## ! ## END FIXME ! ! ])# _LT_AC_LTCONFIG_HACK ! ! # AC_LIBTOOL_DLOPEN - enable checks for dlopen support ! AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) ! ! # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's ! AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) ! # AC_ENABLE_SHARED - implement the --enable-shared flag ! # Usage: AC_ENABLE_SHARED[(DEFAULT)] ! # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to ! # `yes'. ! AC_DEFUN([AC_ENABLE_SHARED], ! [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE(shared, ! changequote(<<, >>)dnl ! << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], ! changequote([, ])dnl ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_shared=yes ;; ! no) enable_shared=no ;; ! *) ! enable_shared=no ! # Look at the argument we got. We use all the common list separators. ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," ! for pkg in $enableval; do ! if test "X$pkg" = "X$p"; then ! enable_shared=yes ! fi ! done ! IFS="$ac_save_ifs" ! ;; ! esac], ! enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl ! ]) ! # AC_DISABLE_SHARED - set the default shared flag to --disable-shared ! AC_DEFUN([AC_DISABLE_SHARED], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_SHARED(no)]) ! # AC_ENABLE_STATIC - implement the --enable-static flag ! # Usage: AC_ENABLE_STATIC[(DEFAULT)] ! # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to ! # `yes'. ! AC_DEFUN([AC_ENABLE_STATIC], ! [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE(static, ! changequote(<<, >>)dnl ! << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], ! changequote([, ])dnl ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_static=yes ;; ! no) enable_static=no ;; ! *) ! enable_static=no ! # Look at the argument we got. We use all the common list separators. ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," ! for pkg in $enableval; do ! if test "X$pkg" = "X$p"; then ! enable_static=yes ! fi ! done ! IFS="$ac_save_ifs" ! ;; ! esac], ! enable_static=AC_ENABLE_STATIC_DEFAULT)dnl ! ]) ! # AC_DISABLE_STATIC - set the default static flag to --disable-static ! AC_DEFUN([AC_DISABLE_STATIC], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_STATIC(no)]) ! # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag ! # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] ! # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to ! # `yes'. ! AC_DEFUN([AC_ENABLE_FAST_INSTALL], ! [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl ! AC_ARG_ENABLE(fast-install, ! changequote(<<, >>)dnl ! << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], ! changequote([, ])dnl ! [p=${PACKAGE-default} ! case $enableval in ! yes) enable_fast_install=yes ;; ! no) enable_fast_install=no ;; ! *) ! enable_fast_install=no ! # Look at the argument we got. We use all the common list separators. ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," ! for pkg in $enableval; do ! if test "X$pkg" = "X$p"; then ! enable_fast_install=yes ! fi ! done ! IFS="$ac_save_ifs" ! ;; ! esac], ! enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl ! ]) ! # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install ! AC_DEFUN([AC_DISABLE_FAST_INSTALL], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_ENABLE_FAST_INSTALL(no)]) ! # AC_LIBTOOL_PICMODE - implement the --with-pic flag ! # Usage: AC_LIBTOOL_PICMODE[(MODE)] ! # Where MODE is either `yes' or `no'. If omitted, it defaults to ! # `both'. ! AC_DEFUN([AC_LIBTOOL_PICMODE], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! pic_mode=ifelse($#,1,$1,default)]) ! # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library ! AC_DEFUN([AC_PATH_TOOL_PREFIX], ! [AC_MSG_CHECKING([for $1]) ! AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, ! [case $MAGIC_CMD in ! /*) ! lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ! ;; ! ?:/*) ! lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. ! ;; ! *) ! ac_save_MAGIC_CMD="$MAGIC_CMD" ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ! dnl $ac_dummy forces splitting on constant user-supplied paths. ! dnl POSIX.2 word splitting is done only on the output of word expansions, ! dnl not every word. This closes a longstanding sh security hole. ! ac_dummy="ifelse([$2], , $PATH, [$2])" ! for ac_dir in $ac_dummy; do ! test -z "$ac_dir" && ac_dir=. ! if test -f $ac_dir/$1; then ! lt_cv_path_MAGIC_CMD="$ac_dir/$1" ! if test -n "$file_magic_test_file"; then ! case $deplibs_check_method in ! "file_magic "*) ! file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" ! MAGIC_CMD="$lt_cv_path_MAGIC_CMD" ! if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | ! egrep "$file_magic_regex" > /dev/null; then ! : ! else ! cat <&2 ! *** Warning: the command libtool uses to detect shared libraries, ! *** $file_magic_cmd, produces output that libtool cannot recognize. ! *** The result is that libtool may fail to recognize shared libraries ! *** as such. This will affect the creation of libtool libraries that ! *** depend on shared libraries, but programs linked with such libtool ! *** libraries will work regardless of this problem. Nevertheless, you ! *** may want to report the problem to your system manager and/or to ! *** bug-libtool@gnu.org ! EOF ! fi ;; ! esac fi - break fi ! done ! IFS="$ac_save_ifs" ! MAGIC_CMD="$ac_save_MAGIC_CMD" ! ;; ! esac]) ! MAGIC_CMD="$lt_cv_path_MAGIC_CMD" ! if test -n "$MAGIC_CMD"; then ! AC_MSG_RESULT($MAGIC_CMD) ! else ! AC_MSG_RESULT(no) ! fi ! ]) ! # AC_PATH_MAGIC - find a file program which can recognise a shared library ! AC_DEFUN([AC_PATH_MAGIC], ! [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl ! AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) ! if test -z "$lt_cv_path_MAGIC_CMD"; then ! if test -n "$ac_tool_prefix"; then ! AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) ! else ! MAGIC_CMD=: ! fi ! fi ! ]) ! # AC_PROG_LD - find the path to the GNU or non-GNU linker ! AC_DEFUN([AC_PROG_LD], ! [AC_ARG_WITH(gnu-ld, ! [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], ! test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) ! AC_REQUIRE([AC_PROG_CC])dnl ! AC_REQUIRE([AC_CANONICAL_HOST])dnl ! AC_REQUIRE([AC_CANONICAL_BUILD])dnl ! AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl ! ac_prog=ld ! if test "$GCC" = yes; then ! # Check if gcc -print-prog-name=ld gives a path. ! AC_MSG_CHECKING([for ld used by GCC]) ! case $host in ! *-*-mingw*) ! # gcc leaves a trailing carriage return which upsets mingw ! ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; ! *) ! ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; ! esac ! case $ac_prog in ! # Accept absolute paths. ! [[\\/]]* | [[A-Za-z]]:[[\\/]]*) ! re_direlt='/[[^/]][[^/]]*/\.\./' ! # Canonicalize the path of ld ! ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` ! while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ! ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` ! done ! test -z "$LD" && LD="$ac_prog" ! ;; ! "") ! # If it fails, then pretend we aren't using GCC. ! ac_prog=ld ! ;; ! *) ! # If it is relative, then search for the first ld in PATH. ! with_gnu_ld=unknown ! ;; ! esac ! elif test "$with_gnu_ld" = yes; then ! AC_MSG_CHECKING([for GNU ld]) ! else ! AC_MSG_CHECKING([for non-GNU ld]) ! fi ! AC_CACHE_VAL(lt_cv_path_LD, ! [if test -z "$LD"; then ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ! for ac_dir in $PATH; do ! test -z "$ac_dir" && ac_dir=. ! if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ! lt_cv_path_LD="$ac_dir/$ac_prog" ! # Check to see if the program is GNU ld. I'd rather use --version, ! # but apparently some GNU ld's only accept -v. ! # Break only if it was the GNU/non-GNU ld that we prefer. ! if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then ! test "$with_gnu_ld" != no && break else ! test "$with_gnu_ld" != yes && break fi - fi - done - IFS="$ac_save_ifs" - else - lt_cv_path_LD="$LD" # Let the user override the test with a path. - fi]) - LD="$lt_cv_path_LD" - if test -n "$LD"; then - AC_MSG_RESULT($LD) - else - AC_MSG_RESULT(no) - fi - test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) - AC_PROG_LD_GNU - ]) ! # AC_PROG_LD_GNU - ! AC_DEFUN([AC_PROG_LD_GNU], ! [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, ! [# I'd rather use --version here, but apparently some GNU ld's only accept -v. ! if $LD -v 2>&1 &5; then ! lt_cv_prog_gnu_ld=yes ! else ! lt_cv_prog_gnu_ld=no ! fi]) ! with_gnu_ld=$lt_cv_prog_gnu_ld ! ]) ! # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker ! # -- PORTME Some linkers may need a different reload flag. ! AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], ! [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, ! [lt_cv_ld_reload_flag='-r']) ! reload_flag=$lt_cv_ld_reload_flag ! test -n "$reload_flag" && reload_flag=" $reload_flag" ! ]) ! # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies ! # -- PORTME fill in with the dynamic library characteristics ! AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], ! [AC_CACHE_CHECK([how to recognise dependent libraries], ! lt_cv_deplibs_check_method, ! [lt_cv_file_magic_cmd='$MAGIC_CMD' ! lt_cv_file_magic_test_file= ! lt_cv_deplibs_check_method='unknown' ! # Need to set the preceding variable on all platforms that support ! # interlibrary dependencies. ! # 'none' -- dependencies not supported. ! # `unknown' -- same as none, but documents that we really don't know. ! # 'pass_all' -- all dependencies passed with no checks. ! # 'test_compile' -- check by making test program. ! # 'file_magic [[regex]]' -- check by looking for files in library path ! # which responds to the $file_magic_cmd with a given egrep regex. ! # If you have `file' or equivalent on your system and you're not sure ! # whether `pass_all' will *always* work, you probably want this one. ! case $host_os in ! aix4* | aix5*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! beos*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! bsdi4*) ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' ! lt_cv_file_magic_cmd='/usr/bin/file -L' ! lt_cv_file_magic_test_file=/shlib/libc.so ! ;; ! cygwin* | mingw* | pw32*) ! lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' ! lt_cv_file_magic_cmd='$OBJDUMP -f' ! ;; ! darwin* | rhapsody*) ! lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' ! lt_cv_file_magic_cmd='/usr/bin/file -L' ! case "$host_os" in ! rhapsody* | darwin1.[[012]]) ! lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` ! ;; ! *) # Darwin 1.3 on ! lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' ! ;; ! esac ! ;; ! freebsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then ! case $host_cpu in ! i*86 ) ! # Not sure whether the presence of OpenBSD here was a mistake. ! # Let's accept both of them until this is cleared up. ! lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; ! gnu*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! hpux10.20*|hpux11*) ! lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/libc.sl ! ;; ! irix5* | irix6* | nonstopux*) ! case $host_os in ! irix5* | nonstopux*) ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" ! ;; ! *) ! case $LD in ! *-32|*"-32 ") libmagic=32-bit;; ! *-n32|*"-n32 ") libmagic=N32;; ! *-64|*"-64 ") libmagic=64-bit;; ! *) libmagic=never-match;; ! esac ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" ! ;; ! esac ! lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` ! lt_cv_deplibs_check_method=pass_all ! ;; ! # This must be Linux ELF. ! linux-gnu*) ! case $host_cpu in ! alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64*) ! lt_cv_deplibs_check_method=pass_all ;; ! *) ! # glibc up to 2.1.1 does not perform some relocations on ARM ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; ! esac ! lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ! ;; ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then ! lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' ! else ! lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' ! fi ! ;; ! newos6*) ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/libnls.so ! ;; ! openbsd*) ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ! if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' ! else ! lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' ! fi ! ;; ! osf3* | osf4* | osf5*) ! # this will be overridden with pass_all, but let us keep it just in case ! lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' ! lt_cv_file_magic_test_file=/shlib/libc.so ! lt_cv_deplibs_check_method=pass_all ! ;; ! sco3.2v5*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! solaris*) ! lt_cv_deplibs_check_method=pass_all ! lt_cv_file_magic_test_file=/lib/libc.so ! ;; ! sysv5uw[[78]]* | sysv4*uw2*) ! lt_cv_deplibs_check_method=pass_all ! ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! case $host_vendor in ! motorola) ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' ! lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ! ;; ! ncr) ! lt_cv_deplibs_check_method=pass_all ! ;; ! sequent) ! lt_cv_file_magic_cmd='/bin/file' ! lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ! ;; ! sni) ! lt_cv_file_magic_cmd='/bin/file' ! lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" ! lt_cv_file_magic_test_file=/lib/libc.so ! ;; ! siemens) ! lt_cv_deplibs_check_method=pass_all ! ;; ! esac ! ;; ! esac ! ]) ! file_magic_cmd=$lt_cv_file_magic_cmd ! deplibs_check_method=$lt_cv_deplibs_check_method ! ]) ! # AC_PROG_NM - find the path to a BSD-compatible name lister ! AC_DEFUN([AC_PROG_NM], ! [AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl ! AC_MSG_CHECKING([for BSD-compatible nm]) ! AC_CACHE_VAL(lt_cv_path_NM, ! [if test -n "$NM"; then ! # Let the user override the test. ! lt_cv_path_NM="$NM" ! else ! IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ! for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do ! test -z "$ac_dir" && ac_dir=. ! tmp_nm=$ac_dir/${ac_tool_prefix}nm ! if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then ! # Check to see if the nm accepts a BSD-compat flag. ! # Adding the `sed 1q' prevents false positives on HP-UX, which says: ! # nm: unknown option "B" ignored ! # Tru64's nm complains that /dev/null is an invalid object file ! if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then ! lt_cv_path_NM="$tmp_nm -B" ! break ! elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then ! lt_cv_path_NM="$tmp_nm -p" ! break else ! lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but ! continue # so that we can try to find one that supports BSD flags fi ! fi ! done ! IFS="$ac_save_ifs" ! test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm ! fi]) ! NM="$lt_cv_path_NM" ! AC_MSG_RESULT([$NM]) ]) ! # AC_CHECK_LIBM - check for math library ! AC_DEFUN([AC_CHECK_LIBM], ! [AC_REQUIRE([AC_CANONICAL_HOST])dnl ! LIBM= ! case $host in ! *-*-beos* | *-*-cygwin* | *-*-pw32*) ! # These system don't have libm ! ;; ! *-ncr-sysv4.3*) ! AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") ! AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") ! ;; ! *) ! AC_CHECK_LIB(m, main, LIBM="-lm") ;; esac ! ]) - # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for - # the libltdl convenience library and LTDLINCL to the include flags for - # the libltdl header and adds --enable-ltdl-convenience to the - # configure arguments. Note that LIBLTDL and LTDLINCL are not - # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not - # provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed - # with '${top_builddir}/' and LTDLINCL will be prefixed with - # '${top_srcdir}/' (note the single quotes!). If your package is not - # flat and you're not using automake, define top_builddir and - # top_srcdir appropriately in the Makefiles. - AC_DEFUN([AC_LIBLTDL_CONVENIENCE], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" - ]) ! # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for ! # the libltdl installable library and LTDLINCL to the include flags for ! # the libltdl header and adds --enable-ltdl-install to the configure ! # arguments. Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is ! # AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed ! # libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will ! # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed ! # with '${top_srcdir}/' (note the single quotes!). If your package is ! # not flat and you're not using automake, define top_builddir and ! # top_srcdir appropriately in the Makefiles. ! # In the future, this macro may have to be called after AC_PROG_LIBTOOL. ! AC_DEFUN([AC_LIBLTDL_INSTALLABLE], ! [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ! AC_CHECK_LIB(ltdl, main, ! [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], ! [if test x"$enable_ltdl_install" = xno; then ! AC_MSG_WARN([libltdl not installed, but installation disabled]) ! else ! enable_ltdl_install=yes ! fi ! ]) ! if test x"$enable_ltdl_install" = x"yes"; then ! ac_configure_args="$ac_configure_args --enable-ltdl-install" ! LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la ! LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) ! else ! ac_configure_args="$ac_configure_args --enable-ltdl-install=no" ! LIBLTDL="-lltdl" ! LTDLINCL= ! fi ! # For backwards non-gettext consistent compatibility... ! INCLTDL="$LTDLINCL" ! ]) # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) --- 4077,5785 ---- # Format of library name prefix. libname_spec=$lt_libname_spec ! # List of archive names. First name is the real one, the rest are links. ! # The last name is the one that the linker finds with -lNAME. ! library_names_spec=$lt_library_names_spec ! ! # The coded name of the library, if different from the real name. ! soname_spec=$lt_soname_spec ! ! # Commands used to build and install an old-style archive. ! RANLIB=$lt_RANLIB ! old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) ! old_postinstall_cmds=$lt_old_postinstall_cmds ! old_postuninstall_cmds=$lt_old_postuninstall_cmds ! ! # Create an old-style archive from a shared archive. ! old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) ! ! # Create a temporary old-style archive to link instead of a shared archive. ! old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) ! ! # Commands used to build and install a shared archive. ! archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) ! archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) ! postinstall_cmds=$lt_postinstall_cmds ! postuninstall_cmds=$lt_postuninstall_cmds ! ! # Commands used to build a loadable module (assumed same as above if empty) ! module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) ! module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) ! ! # Commands to strip libraries. ! old_striplib=$lt_old_striplib ! striplib=$lt_striplib ! ! # Dependencies to place before the objects being linked to create a ! # shared library. ! predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) ! ! # Dependencies to place after the objects being linked to create a ! # shared library. ! postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) ! ! # Dependencies to place before the objects being linked to create a ! # shared library. ! predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) ! ! # Dependencies to place after the objects being linked to create a ! # shared library. ! postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) ! ! # The library search path used internally by the compiler when linking ! # a shared library. ! compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) ! ! # Method to check whether dependent libraries are shared objects. ! deplibs_check_method=$lt_deplibs_check_method ! ! # Command to use when deplibs_check_method == file_magic. ! file_magic_cmd=$lt_file_magic_cmd ! ! # Flag that allows shared libraries with undefined symbols to be built. ! allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) ! ! # Flag that forces no undefined symbols. ! no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) ! ! # Commands used to finish a libtool library installation in a directory. ! finish_cmds=$lt_finish_cmds ! ! # Same as above, but a single script fragment to be evaled but not shown. ! finish_eval=$lt_finish_eval ! ! # Take the output of nm and produce a listing of raw symbols and C names. ! global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe ! ! # Transform the output of nm in a proper C declaration ! global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl ! ! # Transform the output of nm in a C name address pair ! global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address ! ! # This is the shared library runtime path variable. ! runpath_var=$runpath_var ! ! # This is the shared library path variable. ! shlibpath_var=$shlibpath_var ! ! # Is shlibpath searched before the hard-coded library search path? ! shlibpath_overrides_runpath=$shlibpath_overrides_runpath ! ! # How to hardcode a shared library path into an executable. ! hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) ! ! # Whether we should hardcode library paths into libraries. ! hardcode_into_libs=$hardcode_into_libs ! ! # Flag to hardcode \$libdir into a binary during linking. ! # This must work even if \$libdir does not exist. ! hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) ! ! # If ld is used when linking, flag to hardcode \$libdir into ! # a binary during linking. This must work even if \$libdir does ! # not exist. ! hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) ! ! # Whether we need a single -rpath flag with a separated argument. ! hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) ! ! # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the ! # resulting binary. ! hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) ! ! # Set to yes if using the -LDIR flag during linking hardcodes DIR into the ! # resulting binary. ! hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) ! ! # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into ! # the resulting binary. ! hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) ! ! # Set to yes if building a shared library automatically hardcodes DIR into the library ! # and all subsequent libraries and executables linked against it. ! hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) ! ! # Variables whose values should be saved in libtool wrapper scripts and ! # restored at relink time. ! variables_saved_for_relink="$variables_saved_for_relink" ! ! # Whether libtool must link a program against all its dependency libraries. ! link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) ! ! # Compile-time system search path for libraries ! sys_lib_search_path_spec=$lt_sys_lib_search_path_spec ! ! # Run-time system search path for libraries ! sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec ! ! # Fix the shell variable \$srcfile for the compiler. ! fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" ! ! # Set to yes if exported symbols are required. ! always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) ! ! # The commands to list exported symbols. ! export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) ! ! # The commands to extract the exported symbol list from a shared archive. ! extract_expsyms_cmds=$lt_extract_expsyms_cmds ! ! # Symbols that should not be listed in the preloaded symbols. ! exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) ! ! # Symbols that must always be exported. ! include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) ! ! ifelse([$1],[], ! [# ### END LIBTOOL CONFIG], ! [# ### END LIBTOOL TAG CONFIG: $tagname]) ! ! __EOF__ ! ! ifelse([$1],[], [ ! case $host_os in ! aix3*) ! cat <<\EOF >> "$cfgfile" ! ! # AIX sometimes has problems with the GCC collect2 program. For some ! # reason, if we set the COLLECT_NAMES environment variable, the problems ! # vanish in a puff of smoke. ! if test "X${COLLECT_NAMES+set}" != Xset; then ! COLLECT_NAMES= ! export COLLECT_NAMES ! fi ! EOF ! ;; ! esac ! ! # We use sed instead of cat because bash on DJGPP gets confused if ! # if finds mixed CR/LF and LF-only lines. Since sed operates in ! # text mode, it properly converts lines to CR/LF. This bash problem ! # is reportedly fixed, but why not run on old versions too? ! sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) ! ! mv -f "$cfgfile" "$ofile" || \ ! (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") ! chmod +x "$ofile" ! ]) ! else ! # If there is no Makefile yet, we rely on a make rule to execute ! # `config.status --recheck' to rerun these tests and create the ! # libtool script then. ! test -f Makefile && make "$ltmain" ! fi ! ])# AC_LIBTOOL_CONFIG ! ! ! # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) ! # ------------------------------------------- ! AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], ! [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl ! ! _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= ! ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ! ! AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], ! lt_cv_prog_compiler_rtti_exceptions, ! [-fno-rtti -fno-exceptions], [], ! [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) ! fi ! ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI ! ! ! # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE ! # --------------------------------- ! AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], ! [AC_REQUIRE([AC_CANONICAL_HOST]) ! AC_REQUIRE([AC_PROG_NM]) ! AC_REQUIRE([AC_OBJEXT]) ! # Check for command to grab the raw symbol name followed by C symbol from nm. ! AC_MSG_CHECKING([command to parse $NM output from $compiler object]) ! AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], ! [ ! # These are sane defaults that work on at least a few old systems. ! # [They come from Ultrix. What could be older than Ultrix?!! ;)] ! ! # Character class describing NM global symbol codes. ! symcode='[[BCDEGRST]]' ! ! # Regexp to match symbols that can be accessed directly from C. ! sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' ! ! # Transform the above into a raw symbol and a C symbol. ! symxfrm='\1 \2\3 \3' ! ! # Transform an extracted symbol line into a proper C declaration ! lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" ! ! # Transform an extracted symbol line into symbol name and symbol address ! lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ! ! # Define system-specific variables. ! case $host_os in ! aix*) ! symcode='[[BCDT]]' ! ;; ! cygwin* | mingw* | pw32*) ! symcode='[[ABCDGISTW]]' ! ;; ! hpux*) # Its linker distinguishes data from code symbols ! if test "$host_cpu" = ia64; then ! symcode='[[ABCDEGRST]]' ! fi ! lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" ! lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ! ;; ! irix* | nonstopux*) ! symcode='[[BCDEGRST]]' ! ;; ! osf*) ! symcode='[[BCDEGQRST]]' ! ;; ! solaris* | sysv5*) ! symcode='[[BDT]]' ! ;; ! sysv4) ! symcode='[[DFNSTU]]' ! ;; ! esac ! ! # Handle CRLF in mingw tool chain ! opt_cr= ! case $build_os in ! mingw*) ! opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ! ;; ! esac ! ! # If we're using GNU nm, then use its standard symbol codes. ! case `$NM -V 2>&1` in ! *GNU* | *'with BFD'*) ! symcode='[[ABCDGISTW]]' ;; ! esac ! ! # Try without a prefix undercore, then with it. ! for ac_symprfx in "" "_"; do ! ! # Write the raw and C identifiers. ! lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" ! # Check to see that the pipe works correctly. ! pipe_works=no ! rm -f conftest* ! cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then ! # Try sorting and uniquifying the output. ! if sort "$nlist" | uniq > "$nlist"T; then ! mv -f "$nlist"T "$nlist" ! else ! rm -f "$nlist"T ! fi ! # Make sure that we snagged all the symbols we need. ! if grep ' nm_test_var$' "$nlist" >/dev/null; then ! if grep ' nm_test_func$' "$nlist" >/dev/null; then ! cat < conftest.$ac_ext ! #ifdef __cplusplus ! extern "C" { ! #endif ! EOF ! # Now generate the symbol file. ! eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' ! cat <> conftest.$ac_ext ! #if defined (__STDC__) && __STDC__ ! # define lt_ptr_t void * ! #else ! # define lt_ptr_t char * ! # define const ! #endif ! /* The mapping between symbol names and symbols. */ ! const struct { ! const char *name; ! lt_ptr_t address; ! } ! lt_preloaded_symbols[[]] = ! { ! EOF ! $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext ! cat <<\EOF >> conftest.$ac_ext ! {0, (lt_ptr_t) 0} ! }; ! #ifdef __cplusplus ! } ! #endif ! EOF ! # Now try linking the two files. ! mv conftest.$ac_objext conftstm.$ac_objext ! lt_save_LIBS="$LIBS" ! lt_save_CFLAGS="$CFLAGS" ! LIBS="conftstm.$ac_objext" ! CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" ! if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then ! pipe_works=yes ! fi ! LIBS="$lt_save_LIBS" ! CFLAGS="$lt_save_CFLAGS" ! else ! echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD ! fi ! else ! echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD ! fi ! else ! echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD ! fi ! else ! echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD ! cat conftest.$ac_ext >&5 ! fi ! rm -f conftest* conftst* ! # Do not use the global_symbol_pipe unless it works. ! if test "$pipe_works" = yes; then ! break ! else ! lt_cv_sys_global_symbol_pipe= ! fi ! done ! ]) ! if test -z "$lt_cv_sys_global_symbol_pipe"; then ! lt_cv_sys_global_symbol_to_cdecl= ! fi ! if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then ! AC_MSG_RESULT(failed) ! else ! AC_MSG_RESULT(ok) ! fi ! ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE ! # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) ! # --------------------------------------- ! AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], ! [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)= ! AC_MSG_CHECKING([for $compiler option to produce PIC]) ! ifelse([$1],[CXX],[ ! # C++ specific cases for pic, static, wl, etc. ! if test "$GXX" = yes; then ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ! case $host_os in ! aix*) ! # All AIX code is PIC. ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! fi ! ;; ! amigaos*) ! # FIXME: we need at least 68020 code to build shared libraries, but ! # adding the `-m68020' flag to GCC prevents building anything better, ! # like `-m68040'. ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ! ;; ! beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) ! # PIC is the default for these OSes. ! ;; ! mingw* | os2* | pw32*) ! # This hack is so that the source file can tell whether it is being ! # built for inclusion in a dll (and should export symbols for example). ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ! ;; ! darwin* | rhapsody*) ! # PIC is the default on this platform ! # Common symbols not allowed in MH_DYLIB files ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ! ;; ! *djgpp*) ! # DJGPP does not support shared libraries at all ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! ;; ! sysv4*MP*) ! if test -d /usr/nec; then ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic ! fi ! ;; ! hpux*) ! # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but ! # not for PA HP-UX. ! case "$host_cpu" in ! hppa*64*|ia64*) ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! esac ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! esac ! else ! case $host_os in ! aix4* | aix5*) ! # All AIX code is PIC. ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! else ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' ! fi ! ;; ! chorus*) ! case $cc_basename in ! cxch68) ! # Green Hills C++ Compiler ! # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ! ;; ! esac ! ;; ! dgux*) ! case $cc_basename in ! ec++) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! ;; ! ghcx) ! # Green Hills C++ Compiler ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ! ;; ! *) ! ;; ! esac ! ;; ! freebsd*) ! # FreeBSD uses GNU C++ ! ;; ! hpux9* | hpux10* | hpux11*) ! case $cc_basename in ! CC) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" ! if test "$host_cpu" != ia64; then ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ! fi ! ;; ! aCC) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" ! case "$host_cpu" in ! hppa*64*|ia64*) ! # +Z the default ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ! ;; ! esac ! ;; ! *) ! ;; ! esac ! ;; ! irix5* | irix6* | nonstopux*) ! case $cc_basename in ! CC) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! # CC pic flag -KPIC is the default. ! ;; ! *) ! ;; ! esac ! ;; ! linux*) ! case $cc_basename in ! KCC) ! # KAI C++ Compiler ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! icpc) ! # Intel C++ ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ! ;; ! cxx) ! # Compaq C++ ! # Make sure the PIC flag is empty. It appears that all Alpha ! # Linux and Compaq Tru64 Unix objects are PIC. ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! ;; ! *) ! ;; ! esac ! ;; ! lynxos*) ! ;; ! m88k*) ! ;; ! mvs*) ! case $cc_basename in ! cxx) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ! ;; ! *) ! ;; ! esac ! ;; ! netbsd*) ! ;; ! osf3* | osf4* | osf5*) ! case $cc_basename in ! KCC) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ! ;; ! RCC) ! # Rational C++ 2.4.1 ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ! ;; ! cxx) ! # Digital/Compaq C++ ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! # Make sure the PIC flag is empty. It appears that all Alpha ! # Linux and Compaq Tru64 Unix objects are PIC. ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! ;; ! *) ! ;; ! esac ! ;; ! psos*) ! ;; ! sco*) ! case $cc_basename in ! CC) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! *) ! ;; ! esac ! ;; ! solaris*) ! case $cc_basename in ! CC) ! # Sun C++ 4.2, 5.x and Centerline C++ ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ! ;; ! gcx) ! # Green Hills C++ Compiler ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ! ;; ! *) ! ;; ! esac ! ;; ! sunos4*) ! case $cc_basename in ! CC) ! # Sun C++ 4.x ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! ;; ! lcc) ! # Lucid ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ! ;; ! *) ! ;; ! esac ! ;; ! tandem*) ! case $cc_basename in ! NCC) ! # NonStop-UX NCC 3.20 ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! ;; ! *) ! ;; ! esac ! ;; ! unixware*) ! ;; ! vxworks*) ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ! ;; ! esac ! fi ! ], ! [ ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ! case $host_os in ! aix*) ! # All AIX code is PIC. ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! fi ! ;; ! amigaos*) ! # FIXME: we need at least 68020 code to build shared libraries, but ! # adding the `-m68020' flag to GCC prevents building anything better, ! # like `-m68040'. ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ! ;; ! beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) ! # PIC is the default for these OSes. ! ;; ! mingw* | pw32* | os2*) ! # This hack is so that the source file can tell whether it is being ! # built for inclusion in a dll (and should export symbols for example). ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ! ;; ! darwin* | rhapsody*) ! # PIC is the default on this platform ! # Common symbols not allowed in MH_DYLIB files ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ! ;; ! msdosdjgpp*) ! # Just because we use GCC doesn't mean we suddenly get shared libraries ! # on systems that don't support them. ! _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ! enable_shared=no ! ;; ! sysv4*MP*) ! if test -d /usr/nec; then ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic ! fi ! ;; ! hpux*) ! # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but ! # not for PA HP-UX. ! case "$host_cpu" in ! hppa*64*|ia64*) ! # +Z the default ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! esac ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ! ;; ! esac ! else ! # PORTME Check for flag to pass linker flags through the system compiler. ! case $host_os in ! aix*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! if test "$host_cpu" = ia64; then ! # AIX 5 now supports IA64 processor ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! else ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' ! fi ! ;; ! mingw* | pw32* | os2*) ! # This hack is so that the source file can tell whether it is being ! # built for inclusion in a dll (and should export symbols for example). ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ! ;; ! hpux9* | hpux10* | hpux11*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but ! # not for PA HP-UX. ! case "$host_cpu" in ! hppa*64*|ia64*) ! # +Z the default ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ! ;; ! esac ! # Is there a better lt_prog_compiler_static that works with the bundled CC? ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ! ;; ! irix5* | irix6* | nonstopux*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! # PIC (with -KPIC) is the default. ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! ;; ! newsos6) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! ;; ! linux*) ! case $CC in ! icc|ecc) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ! ;; ! ccc) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! # All Alpha code is PIC. ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! ;; ! esac ! ;; ! osf3* | osf4* | osf5*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! # All OSF/1 code is PIC. ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ! ;; ! sco3.2v5*) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' ! ;; ! solaris*) ! _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' ! ;; ! sunos4*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! ;; ! sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ! _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! ;; ! sysv4*MP*) ! if test -d /usr/nec ;then ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! fi ! ;; ! uts4*) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ! _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ! ;; ! esac ! fi ! ]) ! AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) ! # ! # Check to make sure the PIC flag actually works. ! # ! if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then ! AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], ! _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), ! [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], ! [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in ! "" | " "*) ;; ! *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; ! esac], ! [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) ! fi ! case "$host_os" in ! # For platforms which do not support PIC, -DPIC is meaningless: ! *djgpp*) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ! ;; ! *) ! _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ! ;; ! esac ! ]) + # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) + # ------------------------------------ + # See if the linker supports building shared libraries. + AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], + [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in ! aix4* | aix5*) ! # If we're using GNU nm, then we don't want the "-C" option. ! # -C means demangle to AIX nm, but means don't demangle with GNU nm ! if $NM -V 2>&1 | grep 'GNU' > /dev/null; then ! _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' ! else ! _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' ! fi ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; esac + ],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= case $host_os in ! cygwin* | mingw* | pw32*) ! # FIXME: the MSVC++ port hasn't been tested in a loooong time ! # When not using gcc, we currently assume that we are using ! # Microsoft Visual C++. ! if test "$GCC" != yes; then ! with_gnu_ld=no ! fi ! ;; ! openbsd*) ! with_gnu_ld=no ;; esac ! _LT_AC_TAGVAR(ld_shlibs, $1)=yes ! if test "$with_gnu_ld" = yes; then ! # If archive_cmds runs LD, not CC, wlarc should be empty ! wlarc='${wl}' ! # See if GNU ld supports shared libraries. ! case $host_os in ! aix3* | aix4* | aix5*) ! # On AIX/PPC, the GNU linker is very broken ! if test "$host_cpu" != ia64; then ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! cat <&2 ! *** Warning: the GNU linker, at least up to release 2.9.1, is reported ! *** to be unable to reliably create shared libraries on AIX. ! *** Therefore, libtool is disabling shared libraries support. If you ! *** really care for shared libraries, you may want to modify your PATH ! *** so that a non-GNU linker is found, and then restart. ! EOF ! fi ! ;; ! amigaos*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! ! # Samuel A. Falvo II reports ! # that the semantics of dynamic libraries on AmigaOS, at least up ! # to version 4, is to share data among multiple programs linked ! # with the same dynamic library. Since this doesn't match the ! # behavior of shared libraries on other platforms, we can't use ! # them. ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; ! cygwin* | mingw* | pw32*) ! # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, ! # as there is no search path for DLLs. ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported ! _LT_AC_TAGVAR(always_export_symbols, $1)=no ! _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ! _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ! ! if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' ! # If the export-symbols file already is a .def file (1st line ! # is EXPORTS), use it as is; otherwise, prepend... ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then ! cp $export_symbols $output_objdir/$soname.def; ! else ! echo EXPORTS > $output_objdir/$soname.def; ! cat $export_symbols >> $output_objdir/$soname.def; ! fi~ ! $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' ! else ! ld_shlibs=no ! fi ! ;; ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' ! wlarc= ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! fi ! ;; ! solaris* | sysv5*) ! if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! cat <&2 + *** Warning: The releases 2.8.* of the GNU linker cannot reliably + *** create shared libraries on Solaris systems. Therefore, libtool + *** is disabling shared libraries support. We urge you to upgrade GNU + *** binutils to release 2.9.1 or newer. Another option is to modify + *** your PATH or compiler configuration so that the native linker is + *** used, and then restart. ! EOF ! elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! else ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! sunos4*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! wlarc= ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! *) ! if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ! else ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! fi ! ;; ! esac ! ! if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then ! runpath_var=LD_RUN_PATH ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' ! # ancient GNU ld didn't support --whole-archive et. al. ! if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' ! else ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi fi ! else ! # PORTME fill in a description of your system's linker (not GNU ld) ! case $host_os in ! aix3*) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported ! _LT_AC_TAGVAR(always_export_symbols, $1)=yes ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' ! # Note: this linker hardcodes the directories in LIBPATH if there ! # are no directories specified by -L. ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! if test "$GCC" = yes && test -z "$link_static_flag"; then ! # Neither direct hardcoding nor static linking is supported with a ! # broken collect2. ! _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported ! fi ! ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no ! # Test if we are trying to use run time linking or normal ! # AIX style linking. If -brtl is somewhere in LDFLAGS, we ! # need to do runtime linking. ! case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) ! for ld_flag in $LDFLAGS; do ! if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then ! aix_use_runtimelinking=yes ! break ! fi ! done ! esac + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi ! # When large executables or shared objects are built, AIX ld can ! # have problems creating the table of contents. If linking a library ! # or program results in "error TOC overflow" add -mminimal-toc to ! # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not ! # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. ! ! _LT_AC_TAGVAR(archive_cmds, $1)='' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! ! if test "$GCC" = yes; then ! case $host_os in aix4.[012]|aix4.[012].*) ! # We only want to do this on AIX 4.2 and lower, the check ! # below for broken collect2 doesn't work under 4.3+ ! collect2name=`${CC} -print-prog-name=collect2` ! if test -f "$collect2name" && \ ! strings "$collect2name" | grep resolve_lib_name >/dev/null ! then ! # We have reworked collect2 ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! else ! # We have old collect2 ! _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported ! # It fails to find uninstalled libraries when the uninstalled ! # path is not listed in the libpath. Setting hardcode_minus_L ! # to unsupported forces relinking ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= ! fi ! esac ! shared_flag='-shared' else ! # not using gcc ! if test "$host_cpu" = ia64; then ! # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release ! # chokes on -Wl,-G. The following line is correct: ! shared_flag='-G' ! else ! if test "$aix_use_runtimelinking" = yes; then ! shared_flag='${wl}-G' ! else ! shared_flag='${wl}-bM:SRE' ! fi ! fi fi ! # It seems that -bexpall does not export symbols beginning with ! # underscore (_), so it is better to generate a list of symbols to export. ! _LT_AC_TAGVAR(always_export_symbols, $1)=yes ! if test "$aix_use_runtimelinking" = yes; then ! # Warning - without using the other runtime loading flags (-brtl), ! # -berok will link without error, but may produce a broken library. ! _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' ! # Determine the default libpath from the value encoded in an empty executable. ! _LT_AC_SYS_LIBPATH_AIX ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" ! else ! if test "$host_cpu" = ia64; then ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' ! _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" ! else ! # Determine the default libpath from the value encoded in an empty executable. ! _LT_AC_SYS_LIBPATH_AIX ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" ! # Warning - without using the other run time loading flags, ! # -berok will link without error, but may produce a broken library. ! _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' ! # -bexpall does not export symbols beginning with underscore (_) ! _LT_AC_TAGVAR(always_export_symbols, $1)=yes ! # Exported symbols can be pulled into shared objects from archives ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ! # This is similar to how AIX traditionally builds it's shared libraries. ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' ! fi ! fi ! ;; ! amigaos*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! # see comment about different semantics on the GNU ld section ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! bsdi4*) ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ! ;; ! cygwin* | mingw* | pw32*) ! # When not using gcc, we currently assume that we are using ! # Microsoft Visual C++. ! # hardcode_libdir_flag_spec is actually meaningless, as there is ! # no search path for DLLs. ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported ! # Tell ltmain to make .lib files, not .a files. ! libext=lib ! # Tell ltmain to make .dll files, not .so files. ! shrext=".dll" ! # FIXME: Setting linknames here is a bad hack. ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' ! # The linker will automatically build a .lib file if we build a DLL. ! _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' ! # FIXME: Should let the user specify the lib program. ! _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' ! fix_srcfile_path='`cygpath -w "$srcfile"`' ! _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ! ;; ! darwin* | rhapsody*) ! if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! case "$host_os" in ! rhapsody* | darwin1.[[012]]) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' ! ;; ! *) # Darwin 1.3 on ! test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' ! ;; ! esac ! # FIXME: Relying on posixy $() will cause problems for ! # cross-compilation, but unfortunately the echo tests do not ! # yet detect zsh echo's removal of \ escapes. Also zsh mangles ! # `"' quotes if we put them in here... so don't! ! lt_int_apple_cc_single_mod=no ! output_verbose_link_cmd='echo' ! if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then ! lt_int_apple_cc_single_mod=yes ! fi ! if test "X$lt_int_apple_cc_single_mod" = Xyes ; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -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 -bundle ${wl}-bind_at_load $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags' ! # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's ! 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 ${wl}-bind_at_load -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 -bundle $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_automatic, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! fi ! ;; ! dgux*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! freebsd1*) ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor ! # support. Future versions do this automatically, but an explicit c++rt0.o ! # does not break anything, and helps significantly (at the cost of a little ! # extra space). ! freebsd2.2*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! # Unfortunately, older versions of FreeBSD 2 do not have this feature. ! freebsd2*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; ! # FreeBSD 3 and greater uses gcc -shared to do shared libraries. ! freebsd*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! hpux9*) ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! ! # hardcode_minus_L: Not really in the search PATH, ! # but as the default location of the library. ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ! ;; ! hpux10* | hpux11*) ! if test "$GCC" = yes -a "$with_gnu_ld" = no; then ! case "$host_cpu" in ! hppa*64*|ia64*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ! ;; ! *) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ! ;; ! esac ! else ! case "$host_cpu" in ! hppa*64*|ia64*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ! ;; ! *) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ! ;; ! esac ! fi ! if test "$with_gnu_ld" = no; then ! case "$host_cpu" in ! hppa*64*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ia64*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ! # hardcode_minus_L: Not really in the search PATH, ! # but as the default location of the library. ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! ;; ! *) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ! ! # hardcode_minus_L: Not really in the search PATH, ! # but as the default location of the library. ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! ;; ! esac ! fi ! ;; ! ! irix5* | irix6* | nonstopux*) ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! ;; ! ! netbsd*) ! if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ! newsos6) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ! openbsd*) ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ! else ! case $host_os in ! openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! ;; ! *) ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ! ;; ! esac ! fi ! ;; ! os2*) ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported ! _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' ! _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ! ;; ! osf3*) ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ! else ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ;; ! osf4* | osf5*) # as osf3* with the addition of -msym flag ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ! else ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ ! $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' ! # Both c and cxx compiler support -rpath directly ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ! ;; ! sco3.2v5*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' ! runpath_var=LD_RUN_PATH ! hardcode_runpath_var=yes ! ;; ! solaris*) ! _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ ! $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! case $host_os in ! solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; ! *) # Supported since Solaris 2.6 (maybe 2.5.1?) ! _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; ! esac ! _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ! ;; ! sunos4*) ! if test "x$host_vendor" = xsequent; then ! # Use $CC to link under sequent, because it throws in some extra .o ! # files that make .init and .fini sections work. ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' ! else ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' ! fi ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! sysv4) ! case $host_vendor in ! sni) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ! ;; ! siemens) ! ## LD is ld it makes a PLAMLIB ! ## CC just makes a GrossModule. ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' ! _LT_AC_TAGVAR(hardcode_direct, $1)=no ! ;; ! motorola) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ! ;; ! esac ! runpath_var='LD_RUN_PATH' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! sysv4.3*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ! ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; ! sysv4.2uw2*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_direct, $1)=yes ! _LT_AC_TAGVAR(hardcode_minus_L, $1)=no ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! hardcode_runpath_var=yes ! runpath_var=LD_RUN_PATH ! ;; ! ! sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) ! _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' ! if test "$GCC" = yes; then ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' else ! _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ! runpath_var='LD_RUN_PATH' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ! sysv5*) ! _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' ! # $CC -shared without GNU ld will not create a library from C++ ! # object files and a static libstdc++, better avoid it by now ! _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' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! runpath_var='LD_RUN_PATH' ! ;; ! ! uts4*) ! _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' ! _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ! _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ! ;; ! ! *) ! _LT_AC_TAGVAR(ld_shlibs, $1)=no ! ;; ! esac ! fi ]) + AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) + test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no ! variables_saved_for_relink="PATH $shlibpath_var $runpath_var" ! if test "$GCC" = yes; then ! variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" ! fi ! ! # ! # Do we need to explicitly link libc? ! # ! case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in ! x|xyes) ! # Assume -lc should be added ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ! ! if test "$enable_shared" = yes && test "$GCC" = yes; then ! case $_LT_AC_TAGVAR(archive_cmds, $1) in ! *'~'*) ! # FIXME: we may have to deal with multi-command sequences. ! ;; ! '$CC '*) ! # Test whether the compiler implicitly links with -lc since on some ! # systems, -lgcc has to come before -lc. If gcc already passes -lc ! # to ld, don't add -lc before -lgcc. ! AC_MSG_CHECKING([whether -lc should be explicitly linked in]) ! $rm conftest* ! printf "$lt_simple_compile_test_code" > conftest.$ac_ext ! ! if AC_TRY_EVAL(ac_compile) 2>conftest.err; then ! soname=conftest ! lib=conftest ! libobjs=conftest.$ac_objext ! deplibs= ! wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) ! compiler_flags=-v ! linker_flags=-v ! verstring= ! output_objdir=. ! libname=conftest ! lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) ! _LT_AC_TAGVAR(allow_undefined_flag, $1)= ! if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) ! then ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ! else ! _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ! fi ! _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag ! else ! cat conftest.err 1>&5 ! fi ! $rm conftest* ! AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) ! ;; ! esac ! fi ;; esac ! ])# AC_LIBTOOL_PROG_LD_SHLIBS ! # _LT_AC_FILE_LTDLL_C ! # ------------------- ! # Be careful that the start marker always follows a newline. ! AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ ! # /* ltdll.c starts here */ ! # #define WIN32_LEAN_AND_MEAN ! # #include ! # #undef WIN32_LEAN_AND_MEAN ! # #include ! # ! # #ifndef __CYGWIN__ ! # # ifdef __CYGWIN32__ ! # # define __CYGWIN__ __CYGWIN32__ ! # # endif ! # #endif ! # ! # #ifdef __cplusplus ! # extern "C" { ! # #endif ! # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); ! # #ifdef __cplusplus ! # } ! # #endif ! # ! # #ifdef __CYGWIN__ ! # #include ! # DECLARE_CYGWIN_DLL( DllMain ); ! # #endif ! # HINSTANCE __hDllInstance_base; ! # ! # BOOL APIENTRY ! # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ! # { ! # __hDllInstance_base = hInst; ! # return TRUE; ! # } ! # /* ltdll.c ends here */ ! ])# _LT_AC_FILE_LTDLL_C ! ! ! # _LT_AC_TAGVAR(VARNAME, [TAGNAME]) ! # --------------------------------- ! AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) ! # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) *************** *** 3612,3617 **** --- 5793,5808 ---- # This is just to silence aclocal about the macro not being used ifelse([AC_DISABLE_FAST_INSTALL]) + AC_DEFUN([LT_AC_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) + ]) + + AC_DEFUN([LT_AC_PROG_RC], + [AC_CHECK_TOOL(RC, windres, no) + ]) + ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # *************** *** 3627,3704 **** AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. - as_executable_p="test -f" as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. ! for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ! if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ! _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" fi done done done ! ! # Create a temporary directory, and hook for its removal unless debugging. ! $debug || ! { ! trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 ! trap '{ (exit 1); exit 1; }' 1 2 13 15 ! } ! ! # Create a (secure) tmp directory for tmp files. ! : ${TMPDIR=/tmp} ! { ! tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` && ! test -n "$tmp" && test -d "$tmp" ! } || ! { ! tmp=$TMPDIR/sed$$-$RANDOM ! (umask 077 && mkdir $tmp) ! } || ! { ! echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ! { (exit 1); exit 1; } ! } ! _max=0 ! _count=0 ! # Add /usr/xpg4/bin/sed as it is typically found on Solaris ! # along with /bin/sed that truncates output. ! for _sed in $_sed_list /usr/xpg4/bin/sed; do ! test ! -f ${_sed} && break ! cat /dev/null > "$tmp/sed.in" ! _count=0 ! echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in" ! # Check for GNU sed and select it if it is found. ! if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then ! lt_cv_path_SED=${_sed} ! break fi - while true; do - cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" - mv "$tmp/sed.tmp" "$tmp/sed.in" - cp "$tmp/sed.in" "$tmp/sed.nl" - echo >>"$tmp/sed.nl" - ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break - cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break - # 40000 chars as input seems more than enough - test $_count -gt 10 && break - _count=`expr $_count + 1` - if test $_count -gt $_max; then - _max=$_count - lt_cv_path_SED=$_sed - fi - done done ! rm -rf "$tmp" ]) - if test "X$SED" != "X"; then - lt_cv_path_SED=$SED - else - SED=$lt_cv_path_SED - fi AC_MSG_RESULT([$SED]) ]) --- 5818,5867 ---- AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. ! for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ! if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then ! lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done ! lt_ac_max=0 ! lt_ac_count=0 ! # Add /usr/xpg4/bin/sed as it is typically found on Solaris ! # along with /bin/sed that truncates output. ! for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do ! test ! -f $lt_ac_sed && break ! cat /dev/null > conftest.in ! lt_ac_count=0 ! echo $ECHO_N "0123456789$ECHO_C" >conftest.in ! # Check for GNU sed and select it if it is found. ! if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then ! lt_cv_path_SED=$lt_ac_sed ! break ! fi ! while true; do ! cat conftest.in conftest.in >conftest.tmp ! mv conftest.tmp conftest.in ! cp conftest.in conftest.nl ! echo >>conftest.nl ! $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break ! cmp -s conftest.out conftest.nl || break ! # 10000 chars as input seems more than enough ! test $lt_ac_count -gt 10 && break ! lt_ac_count=`expr $lt_ac_count + 1` ! if test $lt_ac_count -gt $lt_ac_max; then ! lt_ac_max=$lt_ac_count ! lt_cv_path_SED=$lt_ac_sed fi done ! done ! SED=$lt_cv_path_SED ]) AC_MSG_RESULT([$SED]) ]) Index: libtool/libtoolize.in diff -c libtool/libtoolize.in:1.15.2.2 libtool/libtoolize.in:1.21 *** libtool/libtoolize.in:1.15.2.2 Mon Jan 14 14:04:40 2002 --- libtool/libtoolize.in Sun Feb 23 11:15:49 2003 *************** *** 1,7 **** #! /bin/sh # libtoolize - Prepare a package to use libtool. # @configure_input@ ! # Copyright (C) 1996-2000 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify --- 1,8 ---- #! /bin/sh # libtoolize - Prepare a package to use libtool. # @configure_input@ ! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 ! # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify *************** *** 43,49 **** dry_run=no help="Try \`$progname --help' for more information." rm="rm -f" ! ln_s="ln -s" cp="cp -f" mkdir="mkdir" --- 44,50 ---- dry_run=no help="Try \`$progname --help' for more information." rm="rm -f" ! ln_s="@LN_S@" cp="cp -f" mkdir="mkdir" *************** *** 77,88 **** --- 78,95 ---- You must \`cd' to the top directory of your package before you run \`$progname'. + + Report bugs to . EOF exit 0 ;; --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION" + echo + echo "Copyright (C) 2003 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 ;; *************** *** 154,160 **** files='config.guess config.sub ltmain.sh' auxdir=. ! auxdirline=`egrep '^AC_CONFIG_AUX_DIR' $configure_ac 2>/dev/null` if test -n "$auxdirline"; then # Handle explicit AC_CONFIG_AUX_DIR settings. auxdir=`echo "$auxdirline" | sed 's/^AC_CONFIG_AUX_DIR(\([^)]*\)).*$/\1/'` --- 161,167 ---- files='config.guess config.sub ltmain.sh' auxdir=. ! auxdirline=`grep '^AC_CONFIG_AUX_DIR' $configure_ac 2>/dev/null` if test -n "$auxdirline"; then # Handle explicit AC_CONFIG_AUX_DIR settings. auxdir=`echo "$auxdirline" | sed 's/^AC_CONFIG_AUX_DIR(\([^)]*\)).*$/\1/'` *************** *** 189,200 **** fi if test -z "$automake"; then ! if egrep '^A[MC]_PROG_LIBTOOL' $configure_ac >/dev/null 2>&1; then : else echo "Remember to add \`AC_PROG_LIBTOOL' to \`$configure_ac'." fi ! if egrep '^AC_PROG_RANLIB' $configure_ac >/dev/null 2>&1; then echo "Using \`AC_PROG_RANLIB' is rendered obsolete by \`AC_PROG_LIBTOOL'" fi --- 196,207 ---- fi if test -z "$automake"; then ! if grep '^A[MC]_PROG_LIBTOOL' $configure_ac >/dev/null 2>&1; then : else echo "Remember to add \`AC_PROG_LIBTOOL' to \`$configure_ac'." fi ! if grep '^AC_PROG_RANLIB' $configure_ac >/dev/null 2>&1; then echo "Using \`AC_PROG_RANLIB' is rendered obsolete by \`AC_PROG_LIBTOOL'" fi *************** *** 204,210 **** updatemsg="add the contents of \`$libtool_m4' to \`aclocal.m4'" fi ! if egrep '^AC_DEFUN\(\[A[MC]_PROG_LIBTOOL' aclocal.m4 >/dev/null 2>&1; then # Check the version number on libtool.m4 and the one used in aclocal.m4. instserial=`grep '^# serial ' $libtool_m4 | grep 'A[MC]_PROG_LIBTOOL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'` --- 211,217 ---- updatemsg="add the contents of \`$libtool_m4' to \`aclocal.m4'" fi ! if grep '^AC_DEFUN(\[A[MC]_PROG_LIBTOOL' aclocal.m4 >/dev/null 2>&1; then # Check the version number on libtool.m4 and the one used in aclocal.m4. instserial=`grep '^# serial ' $libtool_m4 | grep 'A[MC]_PROG_LIBTOOL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'` *************** *** 238,244 **** updatemsg="add the contents of \`$ltdl_m4' to \`aclocal.m4'" fi ! if egrep '^AC_DEFUN\(AC_LIB_LTDL' aclocal.m4 >/dev/null 2>&1; then # Check the version number on ltdl.m4 and the one used in aclocal.m4. instserial=`grep '^# serial ' $ltdl_m4 | grep 'AC_LIB_LTDL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'` --- 245,251 ---- updatemsg="add the contents of \`$ltdl_m4' to \`aclocal.m4'" fi ! if grep '^AC_DEFUN(AC_LIB_LTDL' aclocal.m4 >/dev/null 2>&1; then # Check the version number on ltdl.m4 and the one used in aclocal.m4. instserial=`grep '^# serial ' $ltdl_m4 | grep 'AC_LIB_LTDL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'` Index: libtool/ltdl.m4 diff -c libtool/ltdl.m4:1.21.2.10 libtool/ltdl.m4:1.47 *** libtool/ltdl.m4:1.21.2.10 Tue Oct 22 20:34:55 2002 --- libtool/ltdl.m4 Thu Mar 20 15:24:21 2003 *************** *** 1,4 **** ! ## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*- ## Copyright (C) 1999-2000 Free Software Foundation, Inc. ## ## This program is free software; you can redistribute it and/or modify --- 1,4 ---- ! ## ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- ## Copyright (C) 1999-2000 Free Software Foundation, Inc. ## ## This program is free software; you can redistribute it and/or modify *************** *** 20,26 **** ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. ! # serial 5 AC_LIB_LTDL # AC_WITH_LTDL # ------------ --- 20,26 ---- ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. ! # serial 6 AC_LIB_LTDL # AC_WITH_LTDL # ------------ *************** *** 75,86 **** # Perform all the checks necessary for compilation of the ltdl objects # -- including compiler checks and header checks. AC_DEFUN([AC_LIB_LTDL], ! [AC_PREREQ(2.13) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_C_CONST]) AC_REQUIRE([AC_HEADER_STDC]) AC_REQUIRE([AC_HEADER_DIRENT]) - AC_REQUIRE([AC_LIBTOOL_HEADER_ASSERT]) AC_REQUIRE([_LT_AC_CHECK_DLFCN]) AC_REQUIRE([AC_LTDL_ENABLE_INSTALL]) AC_REQUIRE([AC_LTDL_SHLIBEXT]) --- 75,85 ---- # Perform all the checks necessary for compilation of the ltdl objects # -- including compiler checks and header checks. AC_DEFUN([AC_LIB_LTDL], ! [AC_PREREQ(2.50) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_C_CONST]) AC_REQUIRE([AC_HEADER_STDC]) AC_REQUIRE([AC_HEADER_DIRENT]) AC_REQUIRE([_LT_AC_CHECK_DLFCN]) AC_REQUIRE([AC_LTDL_ENABLE_INSTALL]) AC_REQUIRE([AC_LTDL_SHLIBEXT]) *************** *** 94,253 **** AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS]) AC_REQUIRE([AC_LTDL_FUNC_ARGZ]) ! AC_CHECK_HEADERS([errno.h malloc.h memory.h stdlib.h stdio.h ctype.h unistd.h]) ! AC_CHECK_HEADERS([dl.h sys/dl.h dld.h]) ! AC_CHECK_HEADERS([string.h strings.h], break) ! ! AC_CHECK_FUNCS([strchr index], break) ! AC_CHECK_FUNCS([strrchr rindex], break) ! AC_CHECK_FUNCS([memcpy bcopy], break) AC_CHECK_FUNCS([memmove strcmp]) ! ])# AC_LIB_LTDL # AC_LTDL_ENABLE_INSTALL # ---------------------- AC_DEFUN([AC_LTDL_ENABLE_INSTALL], ! [AC_ARG_ENABLE(ltdl-install, ! [ --enable-ltdl-install install libltdl]) AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno) ])])# AC_LTDL_ENABLE_INSTALL # AC_LTDL_SYS_DLOPEN_DEPLIBS # -------------------------- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether deplibs are loaded by dlopen], ! libltdl_cv_sys_dlopen_deplibs, [dnl ! # PORTME does your system automatically load deplibs for dlopen()? ! libltdl_cv_sys_dlopen_deplibs=unknown ! case "$host_os" in ! hpux10*|hpux11*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! linux*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! netbsd*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! openbsd*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! solaris*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! esac ! ]) if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then ! AC_DEFINE(LTDL_DLOPEN_DEPLIBS, 1, ! [Define if the OS needs help to load dependent libraries for dlopen(). ]) fi ])# AC_LTDL_SYS_DLOPEN_DEPLIBS # AC_LTDL_SHLIBEXT # ---------------- AC_DEFUN([AC_LTDL_SHLIBEXT], ! [AC_REQUIRE([_LT_AC_LTCONFIG_HACK]) ! AC_CACHE_CHECK([which extension is used for shared libraries], ! libltdl_cv_shlibext, ! [ac_last= ! for ac_spec in $library_names_spec; do ! ac_last="$ac_spec" ! done ! echo "$ac_last" | [sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//'] > conftest ! libltdl_cv_shlibext=`cat conftest` ! rm -f conftest ! ]) if test -n "$libltdl_cv_shlibext"; then AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext", ! [Define to the extension used for shared libraries, say, ".so". ]) fi ])# AC_LTDL_SHLIBEXT # AC_LTDL_SHLIBPATH # ----------------- AC_DEFUN([AC_LTDL_SHLIBPATH], ! [AC_REQUIRE([_LT_AC_LTCONFIG_HACK]) AC_CACHE_CHECK([which variable specifies run-time library path], ! libltdl_cv_shlibpath_var, [libltdl_cv_shlibpath_var="$shlibpath_var"]) if test -n "$libltdl_cv_shlibpath_var"; then AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var", ! [Define to the name of the environment variable that determines the dynamic library search path. ]) fi ])# AC_LTDL_SHLIBPATH # AC_LTDL_SYSSEARCHPATH # --------------------- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], ! [AC_REQUIRE([_LT_AC_LTCONFIG_HACK]) AC_CACHE_CHECK([for the default library search path], ! libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"]) if test -n "$libltdl_cv_sys_search_path"; then - case "$host" in - *-*-mingw*) pathsep=";" ;; - *) pathsep=":" ;; - esac sys_search_path= for dir in $libltdl_cv_sys_search_path; do if test -z "$sys_search_path"; then sys_search_path="$dir" else ! sys_search_path="$sys_search_path$pathsep$dir" fi done AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path", ! [Define to the system default library search path. ]) fi ])# AC_LTDL_SYSSEARCHPATH # AC_LTDL_OBJDIR # -------------- AC_DEFUN([AC_LTDL_OBJDIR], [AC_CACHE_CHECK([for objdir], ! libltdl_cv_objdir, [libltdl_cv_objdir="$objdir" ! if test -n "$objdir"; then ! : ! else ! rm -f .libs 2>/dev/null ! mkdir .libs 2>/dev/null ! if test -d .libs; then ! libltdl_cv_objdir=.libs else ! # MS-DOS does not allow filenames that begin with a dot. ! libltdl_cv_objdir=_libs fi ! rmdir .libs 2>/dev/null ! fi]) AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/", ! [Define to the sub-directory in which libtool stores uninstalled libraries. ]) ])# AC_LTDL_OBJDIR # AC_LTDL_DLPREOPEN # ----------------- AC_DEFUN([AC_LTDL_DLPREOPEN], ! [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], ! libltdl_cv_preloaded_symbols, [dnl ! if test -n "$global_symbol_pipe"; then libltdl_cv_preloaded_symbols=yes else libltdl_cv_preloaded_symbols=no fi ! ]) ! if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1, ! [Define if libtool can extract symbol lists from object files. ]) fi ])# AC_LTDL_DLPREOPEN # AC_LTDL_DLLIB # ------------- AC_DEFUN([AC_LTDL_DLLIB], [LIBADD_DL= AC_SUBST(LIBADD_DL) AC_CHECK_FUNC([shl_load], [AC_DEFINE([HAVE_SHL_LOAD], [1], --- 93,308 ---- AC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS]) AC_REQUIRE([AC_LTDL_FUNC_ARGZ]) ! AC_CHECK_HEADERS([assert.h ctype.h errno.h malloc.h memory.h stdlib.h \ ! stdio.h unistd.h]) ! AC_CHECK_HEADERS([dl.h sys/dl.h dld.h mach-o/dyld.h]) ! AC_CHECK_HEADERS([string.h strings.h], [break]) ! ! AC_CHECK_FUNCS([strchr index], [break]) ! AC_CHECK_FUNCS([strrchr rindex], [break]) ! AC_CHECK_FUNCS([memcpy bcopy], [break]) AC_CHECK_FUNCS([memmove strcmp]) ! AC_CHECK_FUNCS([closedir opendir readdir]) ])# AC_LIB_LTDL + # AC_LTDL_ENABLE_INSTALL # ---------------------- AC_DEFUN([AC_LTDL_ENABLE_INSTALL], ! [AC_ARG_ENABLE([ltdl-install], ! [AC_HELP_STRING([--enable-ltdl-install], [install libltdl])]) AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno) ])])# AC_LTDL_ENABLE_INSTALL + # AC_LTDL_SYS_DLOPEN_DEPLIBS # -------------------------- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether deplibs are loaded by dlopen], ! [libltdl_cv_sys_dlopen_deplibs], ! [# PORTME does your system automatically load deplibs for dlopen? ! # or its logical equivalent (e.g. shl_load for HP-UX < 11) ! # For now, we just catch OSes we know something about -- in the ! # future, we'll try test this programmatically. ! libltdl_cv_sys_dlopen_deplibs=unknown ! case "$host_os" in ! aix3*|aix4.1.*|aix4.2.*) ! # Unknown whether this is true for these versions of AIX, but ! # we want this `case' here to explicitly catch those versions. ! libltdl_cv_sys_dlopen_deplibs=unknown ! ;; ! aix[[45]]*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! darwin*) ! # Assuming the user has installed a libdl from somewhere, this is true ! # If you are looking for one http://www.opendarwin.org/projects/dlcompat ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! gnu*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! hpux10*|hpux11*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! irix[[12345]]*|irix6.[[01]]*) ! # Catch all versions of IRIX before 6.2, and indicate that we don't ! # know how it worked for any of those versions. ! libltdl_cv_sys_dlopen_deplibs=unknown ! ;; ! irix*) ! # The case above catches anything before 6.2, and it's known that ! # at 6.2 and later dlopen does load deplibs. ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! linux*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! netbsd*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! openbsd*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! osf[[1234]]*) ! # dlopen did load deplibs (at least at 4.x), but until the 5.x series, ! # it did *not* use an RPATH in a shared library to find objects the ! # library depends on, so we explictly say `no'. ! libltdl_cv_sys_dlopen_deplibs=no ! ;; ! osf5.0|osf5.0a|osf5.1) ! # dlopen *does* load deplibs and with the right loader patch applied ! # it even uses RPATH in a shared library to search for shared objects ! # that the library depends on, but there's no easy way to know if that ! # patch is installed. Since this is the case, all we can really ! # say is unknown -- it depends on the patch being installed. If ! # it is, this changes to `yes'. Without it, it would be `no'. ! libltdl_cv_sys_dlopen_deplibs=unknown ! ;; ! osf*) ! # the two cases above should catch all versions of osf <= 5.1. Read ! # the comments above for what we know about them. ! # At > 5.1, deplibs are loaded *and* any RPATH in a shared library ! # is used to find them so we can finally say `yes'. ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! solaris*) ! libltdl_cv_sys_dlopen_deplibs=yes ! ;; ! esac ! ]) if test "$libltdl_cv_sys_dlopen_deplibs" != yes; then ! AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], ! [Define if the OS needs help to load dependent libraries for dlopen().]) fi ])# AC_LTDL_SYS_DLOPEN_DEPLIBS + # AC_LTDL_SHLIBEXT # ---------------- AC_DEFUN([AC_LTDL_SHLIBEXT], ! [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) ! AC_CACHE_CHECK([which extension is used for loadable modules], ! [libltdl_cv_shlibext], ! [ ! module=yes ! eval libltdl_cv_shlibext=$shrext ! ]) if test -n "$libltdl_cv_shlibext"; then AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext", ! [Define to the extension used for shared libraries, say, ".so".]) fi ])# AC_LTDL_SHLIBEXT + # AC_LTDL_SHLIBPATH # ----------------- AC_DEFUN([AC_LTDL_SHLIBPATH], ! [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) AC_CACHE_CHECK([which variable specifies run-time library path], ! [libltdl_cv_shlibpath_var], [libltdl_cv_shlibpath_var="$shlibpath_var"]) if test -n "$libltdl_cv_shlibpath_var"; then AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var", ! [Define to the name of the environment variable that determines the dynamic library search path.]) fi ])# AC_LTDL_SHLIBPATH + # AC_LTDL_SYSSEARCHPATH # --------------------- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], ! [AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) AC_CACHE_CHECK([for the default library search path], ! [libltdl_cv_sys_search_path], ! [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"]) if test -n "$libltdl_cv_sys_search_path"; then sys_search_path= for dir in $libltdl_cv_sys_search_path; do if test -z "$sys_search_path"; then sys_search_path="$dir" else ! sys_search_path="$sys_search_path$PATH_SEPARATOR$dir" fi done AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path", ! [Define to the system default library search path.]) fi ])# AC_LTDL_SYSSEARCHPATH + # AC_LTDL_OBJDIR # -------------- AC_DEFUN([AC_LTDL_OBJDIR], [AC_CACHE_CHECK([for objdir], ! [libltdl_cv_objdir], ! [libltdl_cv_objdir="$objdir" ! if test -n "$objdir"; then ! : else ! rm -f .libs 2>/dev/null ! mkdir .libs 2>/dev/null ! if test -d .libs; then ! libltdl_cv_objdir=.libs ! else ! # MS-DOS does not allow filenames that begin with a dot. ! libltdl_cv_objdir=_libs ! fi ! rmdir .libs 2>/dev/null fi ! ]) AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/", ! [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# AC_LTDL_OBJDIR + # AC_LTDL_DLPREOPEN # ----------------- AC_DEFUN([AC_LTDL_DLPREOPEN], ! [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], ! [libltdl_cv_preloaded_symbols], ! [if test -n "$lt_cv_sys_global_symbol_pipe"; then libltdl_cv_preloaded_symbols=yes else libltdl_cv_preloaded_symbols=no fi ! ]) ! if test x"$libltdl_cv_preloaded_symbols" = xyes; then AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1, ! [Define if libtool can extract symbol lists from object files.]) fi ])# AC_LTDL_DLPREOPEN + # AC_LTDL_DLLIB # ------------- AC_DEFUN([AC_LTDL_DLLIB], [LIBADD_DL= AC_SUBST(LIBADD_DL) + AC_LANG_PUSH([C]) AC_CHECK_FUNC([shl_load], [AC_DEFINE([HAVE_SHL_LOAD], [1], *************** *** 259,280 **** [AC_CHECK_LIB([dl], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) ! LIBADD_DL="-ldl"], [AC_TRY_LINK([#if HAVE_DLFCN_H # include #endif ], [dlopen(0, 0);], [AC_DEFINE([HAVE_LIBDL], [1], ! [Define if you have the libdl library or equivalent.])], [AC_CHECK_LIB([svld], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) ! LIBADD_DL="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [AC_DEFINE([HAVE_DLD], [1], [Define if you have the GNU dld library.]) ! LIBADD_DL="$LIBADD_DL -ldld" ]) ]) ]) --- 314,338 ---- [AC_CHECK_LIB([dl], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) ! LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes"], [AC_TRY_LINK([#if HAVE_DLFCN_H # include #endif ], [dlopen(0, 0);], [AC_DEFINE([HAVE_LIBDL], [1], ! [Define if you have the libdl library or equivalent.]) libltdl_cv_func_dlopen="yes"], [AC_CHECK_LIB([svld], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) ! LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes"], [AC_CHECK_LIB([dld], [dld_link], [AC_DEFINE([HAVE_DLD], [1], [Define if you have the GNU dld library.]) ! LIBADD_DL="$LIBADD_DL -ldld"], ! [AC_CHECK_FUNC([_dyld_func_lookup], ! [AC_DEFINE([HAVE_DYLD], [1], ! [Define if you have the _dyld_func_lookup function.])]) ]) ]) ]) *************** *** 282,383 **** ]) ]) ! if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then ! LIBS_SAVE="$LIBS" ! LIBS="$LIBS $LIBADD_DL" ! AC_CHECK_FUNCS(dlerror) ! LIBS="$LIBS_SAVE" fi ])# AC_LTDL_DLLIB # AC_LTDL_SYMBOL_USCORE # --------------------- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], ! [dnl does the compiler prefix global symbols with an underscore? ! AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl ! AC_MSG_CHECKING([for _ prefix in compiled symbols]) ! AC_CACHE_VAL(ac_cv_sys_symbol_underscore, ! [ac_cv_sys_symbol_underscore=no ! cat > conftest.$ac_ext < $ac_nlist) && test -s "$ac_nlist"; then ! # See whether the symbols have a leading underscore. ! if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then ! ac_cv_sys_symbol_underscore=yes ! else ! if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then ! : else ! echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC fi fi else ! echo "configure: cannot run $global_symbol_pipe" >&AC_FD_CC fi ! else ! echo "configure: failed program was:" >&AC_FD_CC ! cat conftest.c >&AC_FD_CC ! fi ! rm -rf conftest* ! ]) ! AC_MSG_RESULT($ac_cv_sys_symbol_underscore) ])# AC_LTDL_SYMBOL_USCORE # AC_LTDL_DLSYM_USCORE # -------------------- AC_DEFUN([AC_LTDL_DLSYM_USCORE], ! [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl if test x"$ac_cv_sys_symbol_underscore" = xyes; then ! if test x"$ac_cv_func_dlopen" = xyes || ! test x"$ac_cv_lib_dl_dlopen" = xyes ; then AC_CACHE_CHECK([whether we have to add an underscore for dlsym], ! libltdl_cv_need_uscore, [dnl ! libltdl_cv_need_uscore=unknown ! save_LIBS="$LIBS" ! LIBS="$LIBS $LIBADD_DL" ! _LT_AC_TRY_DLOPEN_SELF( ! libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes, ! [], libltdl_cv_need_uscore=cross) ! LIBS="$save_LIBS" ]) fi fi if test x"$libltdl_cv_need_uscore" = xyes; then AC_DEFINE(NEED_USCORE, 1, ! [Define if dlsym() requires a leading underscore in symbol names. ]) fi ])# AC_LTDL_DLSYM_USCORE - - # AC_CHECK_TYPES(TYPES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], - # [INCLUDES]) - # --------------------------------------------------------------- - # This macro did not exist in Autoconf 2.13, which we do still support - ifdef([AC_CHECK_TYPES], [], - [define([AC_CHECK_TYPES], - [AC_CACHE_CHECK([for $1], ac_Type, - [AC_TRY_LINK([$4], - [if (($1 *) 0) - return 0; - if (sizeof ($1)) - return 0;], - [ac_Type=yes], - [ac_Type=no])]) - if test "x$ac_Type" = xyes; then - ifelse([$2], [], [:], [$2]) - else - ifelse([$3], [], [:], [$3]) - fi]) - ])# AC_CHECK_TYPES - - # AC_LTDL_FUNC_ARGZ # ----------------- AC_DEFUN([AC_LTDL_FUNC_ARGZ], --- 340,420 ---- ]) ]) ! if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes ! then ! lt_save_LIBS="$LIBS" ! LIBS="$LIBS $LIBADD_DL" ! AC_CHECK_FUNCS([dlerror]) ! LIBS="$lt_save_LIBS" fi + AC_LANG_POP ])# AC_LTDL_DLLIB + # AC_LTDL_SYMBOL_USCORE # --------------------- + # does the compiler prefix global symbols with an underscore? AC_DEFUN([AC_LTDL_SYMBOL_USCORE], ! [AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) ! AC_CACHE_CHECK([for _ prefix in compiled symbols], ! [ac_cv_sys_symbol_underscore], ! [ac_cv_sys_symbol_underscore=no ! cat > conftest.$ac_ext < $ac_nlist) && test -s "$ac_nlist"; then ! # See whether the symbols have a leading underscore. ! if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then ! ac_cv_sys_symbol_underscore=yes else ! if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then ! : ! else ! echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC ! fi fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC fi else ! echo "configure: failed program was:" >&AC_FD_CC ! cat conftest.c >&AC_FD_CC fi ! rm -rf conftest* ! ]) ])# AC_LTDL_SYMBOL_USCORE # AC_LTDL_DLSYM_USCORE # -------------------- AC_DEFUN([AC_LTDL_DLSYM_USCORE], ! [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE]) if test x"$ac_cv_sys_symbol_underscore" = xyes; then ! if test x"$libltdl_cv_func_dlopen" = xyes || ! test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then AC_CACHE_CHECK([whether we have to add an underscore for dlsym], ! [libltdl_cv_need_uscore], ! [libltdl_cv_need_uscore=unknown ! save_LIBS="$LIBS" ! LIBS="$LIBS $LIBADD_DL" ! _LT_AC_TRY_DLOPEN_SELF( ! [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], ! [], [libltdl_cv_need_uscore=cross]) ! LIBS="$save_LIBS" ]) fi fi if test x"$libltdl_cv_need_uscore" = xyes; then AC_DEFINE(NEED_USCORE, 1, ! [Define if dlsym() requires a leading underscore in symbol names.]) fi ])# AC_LTDL_DLSYM_USCORE # AC_LTDL_FUNC_ARGZ # ----------------- AC_DEFUN([AC_LTDL_FUNC_ARGZ], *************** *** 386,392 **** AC_CHECK_TYPES([error_t], [], [AC_DEFINE([error_t], [int], ! [Define to a type to use for \`error_t' if it is not otherwise available.])], [#if HAVE_ARGZ_H # include #endif]) --- 423,429 ---- AC_CHECK_TYPES([error_t], [], [AC_DEFINE([error_t], [int], ! [Define to a type to use for `error_t' if it is not otherwise available.])], [#if HAVE_ARGZ_H # include #endif]) Index: libtool/ltmain.in diff -c libtool/ltmain.in:1.259.2.26 libtool/ltmain.in:1.334 *** libtool/ltmain.in:1.259.2.26 Fri Oct 11 12:06:07 2002 --- libtool/ltmain.in Wed Apr 2 11:44:38 2003 *************** *** 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 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # --- 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 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # *************** *** 69,85 **** # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' ! # test EBCDIC or ASCII ! case `echo A|od -x` in ! *[Cc]1*) # EBCDIC based system ! SP2NL="tr '\100' '\n'" ! NL2SP="tr '\r\n' '\100\100'" ! ;; ! *) # Assume ASCII based system ! SP2NL="tr '\040' '\012'" ! NL2SP="tr '\015\012' '\040\040'" ! ;; ! esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. --- 69,85 ---- # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' ! # test EBCDIC or ASCII ! case `echo A|od -x` in ! *[Cc]1*) # EBCDIC based system ! SP2NL="tr '\100' '\n'" ! NL2SP="tr '\r\n' '\100\100'" ! ;; ! *) # Assume ASCII based system ! SP2NL="tr '\040' '\012'" ! NL2SP="tr '\015\012' '\040\040'" ! ;; ! esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. *************** *** 97,104 **** : ${IFS=" "} 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 fi --- 97,104 ---- : ${IFS=" "} 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 fi *************** *** 114,121 **** lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" # Parse our command line options once, thoroughly. ! while test $# -gt 0 do arg="$1" shift --- 114,164 ---- lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" + ##################################### + # Shell function definitions: + # This seems to be the best place for them + + # 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 () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + grep -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 + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type + } + + # End of Shell function definitions + ##################################### + # Parse our command line options once, thoroughly. ! while test "$#" -gt 0 do arg="$1" shift *************** *** 131,136 **** --- 174,206 ---- execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; + tag) + tagname="$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 + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /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`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; *) eval "$prev=\$arg" ;; *************** *** 148,164 **** ;; --version) ! echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" exit 0 ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 exit 0 ;; --debug) ! echo "$progname: enabling shell trace mode" set -x ;; --- 218,242 ---- ;; --version) ! $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" ! $echo ! $echo "Copyright (C) 2003 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 ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # 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" + done exit 0 ;; --debug) ! $echo "$progname: enabling shell trace mode" set -x ;; *************** *** 167,182 **** ;; --features) ! echo "host: $host" if test "$build_libtool_libs" = yes; then ! echo "enable shared libraries" else ! echo "disable shared libraries" fi if test "$build_old_libs" = yes; then ! echo "enable static libraries" else ! echo "disable static libraries" fi exit 0 ;; --- 245,260 ---- ;; --features) ! $echo "host: $host" if test "$build_libtool_libs" = yes; then ! $echo "enable shared libraries" else ! $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then ! $echo "enable static libraries" else ! $echo "disable static libraries" fi exit 0 ;; *************** *** 192,197 **** --- 270,282 ---- show=: ;; + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + -dlopen) prevopt="-dlopen" prev=execute_dlfiles *************** *** 225,232 **** # Infer the operation mode. if test -z "$mode"; then case $nonopt in ! *cc | *++ | gcc* | *-gcc* | xlc*) mode=link for arg do --- 310,319 ---- # Infer the operation mode. if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 case $nonopt in ! *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do *************** *** 281,438 **** modename="$modename: compile" # Get the compilation command and the source file. base_compile= ! prev= ! lastarg= ! srcfile="$nonopt" suppress_output= - user_target=no for arg do ! case $prev in ! "") ;; ! xcompiler) ! # Aesthetically quote the previous argument. ! prev= ! lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` ! ! case $arg in ! # Double-quote args containing other shell metacharacters. ! # Many Bourne shells cannot handle close brackets correctly ! # in scan sets, so we specify it separately. ! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ! arg="\"$arg\"" ! ;; ! esac ! # Add the previous argument to base_compile. ! if test -z "$base_compile"; then ! base_compile="$lastarg" ! else ! base_compile="$base_compile $lastarg" ! fi continue ;; - esac ! # Accept any command-line options. ! case $arg in ! -o) ! if test "$user_target" != "no"; then ! $echo "$modename: you cannot specify \`-o' more than once" 1>&2 ! exit 1 ! fi ! user_target=next ! ;; ! -static) ! build_old_libs=yes ! continue ! ;; ! -prefer-pic) ! pic_mode=yes ! continue ! ;; ! -prefer-non-pic) ! pic_mode=no ! continue ! ;; ! -Xcompiler) ! prev=xcompiler ! continue ! ;; ! -Wc,*) ! args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` ! lastarg= ! save_ifs="$IFS"; IFS=',' ! for arg in $args; do IFS="$save_ifs" ! # Double-quote args containing other shell metacharacters. ! # Many Bourne shells cannot handle close brackets correctly ! # in scan sets, so we specify it separately. ! case $arg in ! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ! arg="\"$arg\"" ! ;; ! esac ! lastarg="$lastarg $arg" ! done ! IFS="$save_ifs" ! lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` ! ! # Add the arguments to base_compile. ! if test -z "$base_compile"; then ! base_compile="$lastarg" ! else base_compile="$base_compile $lastarg" ! fi ! continue ! ;; ! esac ! case $user_target in ! next) ! # The next one is the -o target name ! user_target=yes ! continue ! ;; ! yes) ! # We got the output file ! user_target=set ! libobj="$arg" ! continue ;; ! esac ! ! # Accept the current argument as the source file. ! lastarg="$srcfile" ! srcfile="$arg" # Aesthetically quote the previous argument. - - # Backslashify any backslashes, double quotes, and dollar signs. - # These are the only characters that are still specially - # interpreted inside of double-quoted scrings. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. - case $lastarg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac ! # Add the previous argument to base_compile. ! if test -z "$base_compile"; then ! base_compile="$lastarg" ! else ! base_compile="$base_compile $lastarg" ! fi ! done ! case $user_target in ! set) ! ;; ! no) ! # Get the name of the library object. ! libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; ! *) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit 1 ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo ! xform='[cCFSfmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; --- 368,494 ---- modename="$modename: compile" # Get the compilation command and the source file. base_compile= ! srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_output= + arg_mode=normal + libobj= for arg do ! case "$arg_mode" in ! arg ) ! # do not "continue". Instead, add this to base_compile ! lastarg="$arg" ! arg_mode=normal ! ;; ! target ) ! libobj="$arg" ! arg_mode=normal continue ;; ! normal ) ! # Accept any command-line options. ! case $arg in ! -o) ! if test -n "$libobj" ; then ! $echo "$modename: you cannot specify \`-o' more than once" 1>&2 ! exit 1 ! fi ! arg_mode=target ! continue ! ;; ! -static) ! build_old_libs=yes ! continue ! ;; ! -prefer-pic) ! pic_mode=yes ! continue ! ;; ! -prefer-non-pic) ! pic_mode=no ! continue ! ;; ! -Xcompiler) ! arg_mode=arg # the next one goes into the "base_compile" arg list ! continue # The current "srcfile" will either be retained or ! ;; # replaced later. I would guess that would be a bug. ! ! -Wc,*) ! args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` ! lastarg= ! save_ifs="$IFS"; IFS=',' ! for arg in $args; do ! IFS="$save_ifs" ! # Double-quote args containing other shell metacharacters. ! # Many Bourne shells cannot handle close brackets correctly ! # in scan sets, so we specify it separately. ! case $arg in ! *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") ! arg="\"$arg\"" ! ;; ! esac ! lastarg="$lastarg $arg" ! done IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` ! # Add the arguments to base_compile. base_compile="$base_compile $lastarg" ! continue ! ;; ! * ) ! # Accept the current argument as the source file. ! # The previous "srcfile" becomes the current argument. ! # ! lastarg="$srcfile" ! srcfile="$arg" ! ;; ! esac # case $arg ;; ! esac # case $arg_mode # Aesthetically quote the previous argument. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac ! base_compile="$base_compile $lastarg" ! done # for arg ! case $arg_mode in ! arg) ! $echo "$modename: you must specify an argument for -Xcompile" ! exit 1 ;; ! target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit 1 ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo ! xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; *************** *** 440,449 **** --- 496,508 ---- *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.f90) xform=f90 ;; *.for) xform=for ;; + *.java) xform=java ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` *************** *** 456,461 **** --- 515,570 ---- ;; 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 + ;; + esac + fi + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 *************** *** 464,472 **** # Delete any leftover library objects. if test "$build_old_libs" = yes; then ! removelist="$obj $libobj" else ! removelist="$libobj" fi $run $rm $removelist --- 573,581 ---- # Delete any leftover library objects. if test "$build_old_libs" = yes; then ! removelist="$obj $lobj $libobj ${libobj}T" else ! removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist *************** *** 491,496 **** --- 600,606 ---- removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit 1" 1 2 15 else + output_obj= need_locks=no lockfile= fi *************** *** 504,510 **** done elif test "$need_locks" = warn; then if test -f "$lockfile"; then ! echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` --- 614,620 ---- done elif test "$need_locks" = warn; then if test -f "$lockfile"; then ! $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` *************** *** 518,573 **** $run $rm $removelist exit 1 fi ! echo $srcfile > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then ! # All platforms use -DPIC, to notify preprocessed assembler code. ! command="$base_compile $srcfile $pic_flag -DPIC" else # Don't build PIC code command="$base_compile $srcfile" fi - if test "$build_old_libs" = yes; then - lo_libobj="$libobj" - dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$libobj"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi - libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` ! if test -d "$dir"; then ! $show "$rm $libobj" ! $run $rm $libobj ! else ! $show "$mkdir $dir" ! $run $mkdir $dir ! status=$? ! if test $status -ne 0 && test ! -d $dir; then ! exit $status ! fi fi fi ! if test "$compiler_o_lo" = yes; then ! output_obj="$libobj" ! command="$command -o $output_obj" ! elif test "$compiler_c_o" = yes; then ! output_obj="$obj" ! command="$command -o $output_obj" fi ! $run $rm "$output_obj" $show "$command" if $run eval "$command"; then : else --- 628,682 ---- $run $rm $removelist exit 1 fi ! $echo $srcfile > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != x"$srcfile"; then ! echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` --- 685,692 ---- fi if test "$need_locks" = warn && ! test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then ! $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` *************** *** 596,604 **** fi # Just move the object if needed, then go on to compile the next one ! if test x"$output_obj" != x"$libobj"; then ! $show "$mv $output_obj $libobj" ! if $run $mv $output_obj $libobj; then : else error=$? $run $rm $removelist --- 705,713 ---- fi # Just move the object if needed, then go on to compile the next one ! if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then ! $show "$mv $output_obj $lobj" ! if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist *************** *** 606,653 **** fi fi ! # If we have no pic_flag, then copy the object into place and finish. ! if (test -z "$pic_flag" || test "$pic_mode" != default) && ! test "$build_old_libs" = yes; then ! # Rename the .lo from within objdir to obj ! if test -f $obj; then ! $show $rm $obj ! $run $rm $obj ! fi ! ! $show "$mv $libobj $obj" ! if $run $mv $libobj $obj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$xdir" = "X$obj"; then ! xdir="." ! else ! xdir="$xdir" ! fi ! baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"` ! libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` ! # Now arrange that obj and lo_libobj become the same file ! $show "(cd $xdir && $LN_S $baseobj $libobj)" ! if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then ! # Unlock the critical section if it was locked ! if test "$need_locks" != no; then ! $run $rm "$lockfile" ! fi ! exit 0 ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! fi # Allow error messages only from the first compilation. suppress_output=' >/dev/null 2>&1' fi # Only build a position-dependent object if we build old libraries. --- 715,735 ---- fi fi ! # Append the name of the PIC object to the libtool object file. ! test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != x"$srcfile"; then ! echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` --- 755,762 ---- fi if test "$need_locks" = warn && ! test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then ! $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` *************** *** 695,701 **** fi # Just move the object if needed ! if test x"$output_obj" != x"$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else --- 775,781 ---- fi # Just move the object if needed ! if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else *************** *** 705,727 **** fi fi ! # Create an invalid libtool object if no PIC, so that we do not ! # accidentally link it into a program. ! if test "$build_libtool_libs" != yes; then ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > \$libobj" || exit $? ! else ! # Move the .lo from within objdir ! $show "$mv $libobj $lo_libobj" ! if $run $mv $libobj $lo_libobj; then : ! else ! error=$? ! $run $rm $removelist ! exit $error ! fi ! fi fi # Unlock the critical section if it was locked if test "$need_locks" != no; then $run $rm "$lockfile" --- 785,809 ---- fi fi ! # Append the name of the non-PIC object the libtool object file. ! # Only append if the libtool object file exists. ! test -z "$run" && cat >> ${libobj}T <> ${libobj}T <\?\'\ \ ]*|*]*|"") --- 909,917 ---- test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. ! while test "$#" -gt 0; do arg="$1" + base_compile="$base_compile $arg" shift case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") *************** *** 898,908 **** --- 985,1107 ---- prev= continue ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; release) release="-$arg" prev= continue ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do + # moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + 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 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_arg + prev= + continue + ;; rpath | xrpath) # We need an absolute path. case $arg in *************** *** 941,953 **** finalize_command="$finalize_command $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac ! fi # test -n $prev prevarg="$arg" --- 1140,1160 ---- finalize_command="$finalize_command $wl$qarg" continue ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac ! fi # test -n "$prev" prevarg="$arg" *************** *** 999,1009 **** continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in ! no/*-*-irix* | no/*-*-nonstopux*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; --- 1206,1221 ---- continue ;; + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in ! no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; *************** *** 1058,1071 **** # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; ! esac ! elif test "X$arg" = "X-lc_r"; then ! case $host in ! *-*-openbsd* | *-*-freebsd*) ! # Do not include libc_r directly, use -pthread flag. continue - ;; esac fi deplibs="$deplibs $arg" continue --- 1270,1287 ---- # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; ! *-*-rhapsody* | *-*-darwin1.[012]) ! # Rhapsody C and math libraries are in the System framework ! deplibs="$deplibs -framework System" continue esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac fi deplibs="$deplibs $arg" continue *************** *** 1076,1081 **** --- 1292,1325 ---- 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*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + -no-fast-install) fast_install=no continue *************** *** 1100,1105 **** --- 1344,1354 ---- continue ;; + -objectlist) + prev=objectlist + continue + ;; + -o) prev=output ;; -release) *************** *** 1152,1157 **** --- 1401,1411 ---- prev=vinfo continue ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` *************** *** 1200,1205 **** --- 1454,1464 ---- continue ;; + -XCClinker) + prev=xcclinker + continue + ;; + # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need *************** *** 1212,1240 **** esac ;; ! *.lo | *.$objext) ! # A library or standard object. ! if test "$prev" = dlfiles; then ! # This file was specified with -dlopen. ! if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then ! dlfiles="$dlfiles $arg" ! prev= ! continue ! else ! # If libtool objects are unsupported, then we need to preload. ! prev=dlprefiles ! fi ! fi ! if test "$prev" = dlprefiles; then ! # Preload the old-style object. ! dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` ! prev= ! else case $arg in ! *.lo) libobjs="$libobjs $arg" ;; ! *) objs="$objs $arg" ;; esac fi ;; --- 1471,1571 ---- esac ;; ! *.$objext) ! # A standard object. ! objs="$objs $arg" ! ;; ! *.lo) ! # A libtool-controlled object. ! ! # Check to see that this really is a libtool object. ! if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ! pic_object= ! non_pic_object= ! ! # Read the .lo file ! # If there is no directory component, then add one. case $arg in ! */* | *\\*) . $arg ;; ! *) . ./$arg ;; esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + 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 + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi fi ;; *************** *** 1288,1299 **** --- 1619,1672 ---- 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 + fi + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi + oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" *************** *** 1314,1324 **** output_objdir="$output_objdir/$objdir" fi # Create the object directory. ! 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 fi fi --- 1687,1697 ---- output_objdir="$output_objdir/$objdir" fi # Create the object directory. ! 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 fi fi *************** *** 1336,1342 **** --- 1709,1725 ---- *) linkmode=prog ;; # Anything else should be a program. esac + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplcations in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac specialdeplibs= + libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) *************** *** 1348,1353 **** --- 1731,1755 ---- fi libs="$libs $deplib" done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + deplibs= newdependency_libs= newlib_search_path= *************** *** 1379,1406 **** ;; esac for pass in $passes; do ! if test $linkmode = prog; then ! # Determine which files to process case $pass in ! dlopen) ! libs="$dlfiles" ! save_deplibs="$deplibs" # Collect dlpreopened libraries ! deplibs= ! ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi for deplib in $libs; do lib= found=no case $deplib in -l*) ! if test $linkmode = oldlib && test $linkmode = obj; then ! $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 continue fi ! if test $pass = conv; then deplibs="$deplib $deplibs" continue fi --- 1781,1813 ---- ;; esac for pass in $passes; do ! if test "$linkmode,$pass" = "lib,link" || ! test "$linkmode,$pass" = "prog,scan"; then ! libs="$deplibs" ! deplibs= ! fi ! if test "$linkmode" = prog; then case $pass in ! dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi for deplib in $libs; do lib= found=no case $deplib in -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; then deplibs="$deplib $deplibs" continue fi *************** *** 1420,1444 **** finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" ! test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" ! test $pass = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) ! if test $pass = conv; then deplibs="$deplib $deplibs" continue fi ! if test $pass = scan; then deplibs="$deplib $deplibs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` else --- 1827,1887 ---- finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" ! test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" ! test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) ! if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi ! if test "$pass" = scan; then deplibs="$deplib $deplibs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` else *************** *** 1447,1459 **** fi ;; *) ! $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2 ;; esac # linkmode continue ;; # -L -R*) ! if test $pass = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in --- 1890,1902 ---- fi ;; *) ! $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue ;; # -L -R*) ! if test "$pass" = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in *************** *** 1466,1495 **** ;; *.la) lib="$deplib" ;; *.$libext) ! if test $pass = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) if test "$deplibs_check_method" != pass_all; then ! echo ! echo "*** Warning: Trying to link with static lib archive $deplib." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have" ! echo "*** because the file extensions .$libext of this argument makes me believe" ! echo "*** that it is just a static archive that I should not used here." else ! echo ! echo "*** Warning: Linking the shared library $output against the" ! echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) ! if test $pass != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" --- 1909,1938 ---- ;; *.la) lib="$deplib" ;; *.$libext) ! if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) if test "$deplibs_check_method" != pass_all; then ! $echo ! $echo "*** Warning: Trying to link with static lib archive $deplib." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which you do not appear to have" ! $echo "*** because the file extensions .$libext of this argument makes me believe" ! $echo "*** that it is just a static archive that I should not used here." else ! $echo ! $echo "*** Warning: Linking the shared library $output against the" ! $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) ! if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" *************** *** 1500,1513 **** esac # linkmode ;; # *.$libext *.lo | *.$objext) ! if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then ! # If there is no dlopen support or we're linking statically, ! # we need to preload. ! newdlprefiles="$newdlprefiles $deplib" ! compile_deplibs="$deplib $compile_deplibs" ! finalize_deplibs="$deplib $finalize_deplibs" ! else ! newdlfiles="$newdlfiles $deplib" fi continue ;; --- 1943,1960 ---- esac # linkmode ;; # *.$libext *.lo | *.$objext) ! if test "$pass" = conv; then ! deplibs="$deplib $deplibs" ! elif test "$linkmode" = prog; then ! if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then ! # If there is no dlopen support or we're linking statically, ! # we need to preload. ! newdlprefiles="$newdlprefiles $deplib" ! compile_deplibs="$deplib $compile_deplibs" ! finalize_deplibs="$deplib $finalize_deplibs" ! else ! newdlfiles="$newdlfiles $deplib" ! fi fi continue ;; *************** *** 1516,1529 **** continue ;; esac # case $deplib ! if test $found = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 exit 1 fi # Check to see that this really is a libtool archive. ! if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 --- 1963,1976 ---- continue ;; esac # case $deplib ! if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 exit 1 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 *************** *** 1539,1546 **** library_names= old_library= # If the library was installed with an old release of libtool, ! # it will not redefine variable installed. installed=yes # Read the .la file case $lib in --- 1986,1994 ---- library_names= old_library= # If the library was installed with an old release of libtool, ! # it will not redefine variables installed, or shouldnotlink installed=yes + shouldnotlink=no # Read the .la file case $lib in *************** *** 1550,1562 **** if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || ! { test $linkmode = oldlib && test $linkmode = obj; }; then ! # Add dl[pre]opened files of deplib test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi ! if test $pass = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then --- 1998,2009 ---- if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || ! { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi ! if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then *************** *** 1577,1589 **** 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 fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do --- 2024,2037 ---- 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 fi continue fi # $pass = conv + # Get the name of the library we link against. linklib= for l in $old_library $library_names; do *************** *** 1595,1609 **** 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 fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking ! # statically, we need to preload. ! dlprefiles="$dlprefiles $lib" else newdlfiles="$newdlfiles $lib" fi --- 2043,2059 ---- 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 fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking ! # statically, we need to preload. We also need to preload any ! # dependent libraries so libltdl's deplib preloader doesn't ! # bomb out in the load deplibs phase. ! dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi *************** *** 1644,1650 **** name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. ! if test $pass = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit 1 --- 2094,2100 ---- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. ! if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit 1 *************** *** 1663,1680 **** if test -z "$libdir"; then # Link the convenience library ! if test $linkmode = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else ! deplibs="$lib $deplibs" fi continue fi ! if test $linkmode = prog && test $pass != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" --- 2113,2131 ---- if test -z "$libdir"; then # Link the convenience library ! if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else ! deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi ! ! if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" *************** *** 1690,1696 **** -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? ! if test $linkalldeplibs = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths --- 2141,2147 ---- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? ! if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths *************** *** 1707,1719 **** continue fi # $linkmode = prog... ! link_static=no # Whether the deplib will be linked statically ! if test -n "$library_names" && ! { test "$prefer_static_libs" = no || test -z "$old_library"; }; then ! # Link against this shared library - if test "$linkmode,$pass" = "prog,link" || - { test $linkmode = lib && test $hardcode_into_libs = yes; }; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. --- 2158,2176 ---- continue fi # $linkmode = prog... ! if test "$linkmode,$pass" = "prog,link"; then ! if test -n "$library_names" && ! { test "$prefer_static_libs" = no || test -z "$old_library"; }; then ! # We need to hardcode the library path ! if test -n "$shlibpath_var"; then ! # Make sure the rpath contains only unique directories. ! case "$temp_rpath " in ! *" $dir "*) ;; ! *" $absdir "*) ;; ! *) temp_rpath="$temp_rpath $dir" ;; ! esac ! fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. *************** *** 1735,1751 **** esac ;; esac - if test $linkmode = prog; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi - fi fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && --- 2192,2197 ---- *************** *** 1755,1765 **** --- 2201,2251 ---- # We only need to search for static libraries continue fi + fi + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi + # This is a shared library + + # Warn about portability, can't link against -module's on some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname *************** *** 1773,1779 **** elif test -n "$soname_spec"; then # bleh windows case $host in ! *cygwin*) major=`expr $current - $age` versuffix="-$major" ;; --- 2259,2265 ---- elif test -n "$soname_spec"; then # bleh windows case $host in ! *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; *************** *** 1785,1792 **** # Make a new name for the extract_expsyms_cmds to use soroot="$soname" ! soname=`echo $soroot | ${SED} -e 's/^.*\///'` ! newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : --- 2271,2278 ---- # Make a new name for the extract_expsyms_cmds to use soroot="$soname" ! soname=`$echo $soroot | ${SED} -e 's/^.*\///'` ! newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : *************** *** 1817,1825 **** # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib ! fi # test -n $old_archive_from_expsyms_cmds ! if test $linkmode = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= --- 2303,2311 ---- # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib ! fi # test -n "$old_archive_from_expsyms_cmds" ! if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= *************** *** 1828,1833 **** --- 2314,2335 ---- immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" + case $host in + *-*-sco3.2v5* ) 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 + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; *************** *** 1846,1851 **** --- 2348,2361 ---- add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" *************** *** 1868,1874 **** *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi ! if test $linkmode = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else --- 2378,2384 ---- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi ! if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else *************** *** 1885,1891 **** fi fi ! if test $linkmode = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= --- 2395,2401 ---- fi fi ! if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= *************** *** 1901,1913 **** *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" add="-l$name" fi ! if test $linkmode = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else --- 2411,2437 ---- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi add="-l$name" fi ! if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else *************** *** 1915,1930 **** test -n "$add" && deplibs="$add $deplibs" fi fi ! elif test $linkmode = prog; then ! if test "$alldeplibs" = yes && ! { test "$deplibs_check_method" = pass_all || ! { test "$build_libtool_libs" = yes && ! test -n "$library_names"; }; }; then ! # We only need to search for static libraries ! continue ! fi ! ! # Try to link the static library # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. --- 2439,2445 ---- test -n "$add" && deplibs="$add $deplibs" fi fi ! elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. *************** *** 1944,1964 **** # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. ! echo ! echo "*** Warning: This system can not link to static lib archive $lib." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then ! echo "*** But as you try to build a module library, libtool will still create " ! echo "*** a static module, that should work as long as the dlopening application" ! echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then ! echo ! echo "*** However, this would only work if libtool was able to extract symbol" ! echo "*** lists from a program, using \`nm' or equivalent, but libtool could" ! echo "*** not find such a program. So, this module is probably useless." ! echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module --- 2459,2479 ---- # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. ! $echo ! $echo "*** Warning: This system can not link to static lib archive $lib." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then ! $echo "*** But as you try to build a module library, libtool will still create " ! $echo "*** a static module, that should work as long as the dlopening application" ! $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then ! $echo ! $echo "*** However, this would only work if libtool was able to extract symbol" ! $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" ! $echo "*** not find such a program. So, this module is probably useless." ! $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module *************** *** 1975,1984 **** fi fi # link shared/static library? ! if test $linkmode = lib; then if test -n "$dependency_libs" && ! { test $hardcode_into_libs != yes || test $build_old_libs = yes || ! test $link_static = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do --- 2490,2499 ---- fi fi # link shared/static library? ! if test "$linkmode" = lib; then if test -n "$dependency_libs" && ! { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || ! test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do *************** *** 2009,2015 **** tmp_libs="$tmp_libs $deplib" done ! if test $link_all_deplibs != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in --- 2524,2530 ---- tmp_libs="$tmp_libs $deplib" done ! if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in *************** *** 2029,2035 **** ;; esac if grep "^installed=no" $deplib > /dev/null; then ! path="-L$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then --- 2544,2550 ---- ;; esac if grep "^installed=no" $deplib > /dev/null; then ! path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then *************** *** 2039,2050 **** if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi ! path="-L$absdir" fi ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; esac --- 2554,2606 ---- if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi ! path="$absdir" fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + newlib_search_path="$newlib_search_path $path" + path="" + fi + ;; + *) + path="-L$path" + ;; + esac + + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac ;; *) continue ;; esac case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$deplibs $depdepl" ;; + esac + case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; esac *************** *** 2052,2066 **** fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs ! if test $pass = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi ! if test $pass != dlopen; then ! test $pass != scan && dependency_libs="$newdependency_libs" ! if test $pass != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do --- 2608,2622 ---- fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs ! dependency_libs="$newdependency_libs" ! if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi ! if test "$pass" != dlopen; then ! if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do *************** *** 2082,2090 **** --- 2638,2667 ---- eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) *************** *** 2112,2130 **** eval $var=\"$tmp_libs\" done # for var fi ! if test "$pass" = "conv" && ! { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then ! libs="$deplibs" # reset libs ! deplibs= ! fi done # for pass ! if test $linkmode = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi --- 2689,2719 ---- eval $var=\"$tmp_libs\" done # for var fi ! # Last step: remove runtime libs from dependency_libs (they stay in deplibs) ! tmp_libs= ! for i in $dependency_libs ; do ! case " $predeps $postdeps $compiler_lib_search_path " in ! *" $i "*) ! i="" ! ;; ! esac ! if test -n "$i" ; then ! tmp_libs="$tmp_libs $i" ! fi ! done ! dependency_libs=$tmp_libs done # for pass ! if test "$linkmode" = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi *************** *** 2138,2144 **** fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 fi if test -n "$release"; then --- 2727,2733 ---- fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then *************** *** 2160,2165 **** --- 2749,2755 ---- case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" ;; *) *************** *** 2171,2176 **** --- 2761,2767 ---- 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 libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` *************** *** 2183,2191 **** $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit 1 else ! echo ! echo "*** Warning: Linking the shared library $output against the non-libtool" ! echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi --- 2774,2782 ---- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit 1 else ! $echo ! $echo "*** Warning: Linking the shared library $output against the non-libtool" ! $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi *************** *** 2195,2201 **** fi set dummy $rpath ! if test $# -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" --- 2786,2792 ---- fi set dummy $rpath ! if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" *************** *** 2204,2217 **** if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. ! libext=al oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then --- 2795,2810 ---- if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. ! # Some compilers have problems with a `.al' extension so ! # convenience libraries should have the same extension an ! # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then ! $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then *************** *** 2230,2238 **** exit 1 fi ! current="$2" ! revision="$3" ! age="$4" # Check that each of the things are valid numbers. case $current in --- 2823,2868 ---- exit 1 fi ! # convert absolute version numbers to libtool ages ! # this retains compatibility with .la files and attempts ! # to make the code below a bit more comprehensible ! ! case $vinfo_number in ! yes) ! number_major="$2" ! number_minor="$3" ! number_revision="$4" ! # ! # There are really only two kinds -- those that ! # use the current revision as the major version ! # and those that subtract age and use age as ! # a minor version. But, then there is irix ! # which has an extra 1 added just for fun ! # ! case $version_type in ! darwin|linux|osf|windows) ! current=`expr $number_major + $number_minor` ! age="$number_minor" ! revision="$number_revision" ! ;; ! freebsd-aout|freebsd-elf|sunos) ! current="$number_major" ! revision="$number_minor" ! age="0" ! ;; ! irix|nonstopux) ! current=`expr $number_major + $number_minor - 1` ! age="$number_minor" ! revision="$number_minor" ! ;; ! esac ! ;; ! no) ! current="$2" ! revision="$3" ! age="$4" ! ;; ! esac # Check that each of the things are valid numbers. case $current in *************** *** 2262,2268 **** ;; 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 --- 2892,2898 ---- ;; 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 *************** *** 2306,2312 **** # Add in all the interfaces that we are compatible with. loop=$revision ! while test $loop != 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" --- 2936,2942 ---- # Add in all the interfaces that we are compatible with. loop=$revision ! while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" *************** *** 2329,2335 **** # Add in all the interfaces that we are compatible with. loop=$age ! while test $loop != 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" --- 2959,2965 ---- # Add in all the interfaces that we are compatible with. loop=$age ! while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" *************** *** 2353,2359 **** *) $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 ;; esac --- 2983,2989 ---- *) $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 ;; esac *************** *** 2361,2372 **** # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= - verstring="0.0" case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely ! verstring="" ;; *) verstring="0.0" --- 2991,3001 ---- # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely ! verstring= ;; *) verstring="0.0" *************** *** 2400,2408 **** fi if test "$mode" != relink; then ! # Remove our outputs. ! $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" ! $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* fi # Now set the variables for building old libraries. --- 3029,3052 ---- fi if test "$mode" != relink; then ! # Remove our outputs, but don't remove object files since they ! # may have been created when compiling PIC objects. ! removelist= ! tempremovelist=`$echo "$output_objdir/*"` ! for p in $tempremovelist; do ! case $p in ! *.$objext) ! ;; ! $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) ! removelist="$removelist $p" ! ;; ! *) ;; ! esac ! done ! if test -n "$removelist"; then ! $show "${rm}r $removelist" ! $run ${rm}r $removelist ! fi fi # Now set the variables for building old libraries. *************** *** 2415,2423 **** # Eliminate all temporary directories. for path in $notinst_path; do ! lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'` ! deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'` ! dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` done if test -n "$xrpath"; then --- 3059,3067 ---- # Eliminate all temporary directories. for path in $notinst_path; do ! lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` ! deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` ! dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` done if test -n "$xrpath"; then *************** *** 2430,2436 **** *) finalize_rpath="$finalize_rpath $libdir" ;; esac done ! if test $hardcode_into_libs != yes || test $build_old_libs = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi --- 3074,3080 ---- *) finalize_rpath="$finalize_rpath $libdir" ;; esac done ! if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi *************** *** 2470,2479 **** ;; *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. ;; ! *) # Add libc to deplibs on all other systems if necessary. ! if test $build_libtool_need_lc = "yes"; then deplibs="$deplibs -lc" fi ;; --- 3114,3124 ---- ;; *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue ;; ! *) # Add libc to deplibs on all other systems if necessary. ! if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; *************** *** 2500,2506 **** # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just ! # implementing what was already the behaviour. newdeplibs=$deplibs ;; test_compile) --- 3145,3151 ---- # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just ! # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) *************** *** 2513,2580 **** int main() { return 0; } EOF $rm conftest ! $CC -o conftest conftest.c $deplibs ! if test $? -eq 0 ; then ldd_output=`ldd conftest` for i in $deplibs; do name="`expr $i : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. ! if test -n "$name" && test "$name" != "0"; then ! libname=`eval \\$echo \"$libname_spec\"` ! deplib_matches=`eval \\$echo \"$library_names_spec\"` ! set dummy $deplib_matches ! deplib_match=$2 ! if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ! newdeplibs="$newdeplibs $i" ! else ! droppeddeps=yes ! echo ! echo "*** Warning: dynamic linker does not accept needed library $i." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which I believe you do not have" ! echo "*** because a test_compile did reveal that the linker did not use it for" ! echo "*** its dynamic dependency list that programs get resolved with at runtime." fi else newdeplibs="$newdeplibs $i" fi done else ! # Error occured 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\(.*\)'`" ! # If $name is empty we are operating on a -L argument. ! if test -n "$name" && test "$name" != "0"; then $rm conftest ! $CC -o conftest conftest.c $i # Did it work? ! if test $? -eq 0 ; then ldd_output=`ldd conftest` ! libname=`eval \\$echo \"$libname_spec\"` ! deplib_matches=`eval \\$echo \"$library_names_spec\"` ! set dummy $deplib_matches ! deplib_match=$2 ! if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ! newdeplibs="$newdeplibs $i" ! else ! droppeddeps=yes ! echo ! echo "*** Warning: dynamic linker does not accept needed library $i." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have" ! echo "*** because a test_compile did reveal that the linker did not use this one" ! echo "*** as a dynamic dependency that programs can get resolved with at runtime." fi else droppeddeps=yes ! echo ! echo "*** Warning! Library $i is needed by this library but I was not able to" ! echo "*** make it link in! You will probably need to install it or some" ! echo "*** library that it depends on before this library will be fully" ! echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" --- 3158,3245 ---- int main() { return 0; } EOF $rm conftest ! $LTCC -o conftest conftest.c $deplibs ! if test "$?" -eq 0 ; then ldd_output=`ldd conftest` for i in $deplibs; do 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 ! case " $predeps $postdeps " in ! *" $i "*) ! newdeplibs="$newdeplibs $i" ! i="" ! ;; ! esac ! fi ! if test -n "$i" ; then ! libname=`eval \\$echo \"$libname_spec\"` ! deplib_matches=`eval \\$echo \"$library_names_spec\"` ! set dummy $deplib_matches ! deplib_match=$2 ! if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ! newdeplibs="$newdeplibs $i" ! else ! droppeddeps=yes ! $echo ! $echo "*** Warning: dynamic linker does not accept needed library $i." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which I believe you do not have" ! $echo "*** because a test_compile did reveal that the linker did not use it for" ! $echo "*** its dynamic dependency list that programs get resolved with at runtime." ! fi fi else newdeplibs="$newdeplibs $i" fi done else ! # 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\(.*\)'`" ! # 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 # Did it work? ! if test "$?" -eq 0 ; then ldd_output=`ldd conftest` ! if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ! case " $predeps $postdeps " in ! *" $i "*) ! newdeplibs="$newdeplibs $i" ! i="" ! ;; ! esac ! fi ! if test -n "$i" ; then ! libname=`eval \\$echo \"$libname_spec\"` ! deplib_matches=`eval \\$echo \"$library_names_spec\"` ! set dummy $deplib_matches ! deplib_match=$2 ! if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then ! newdeplibs="$newdeplibs $i" ! else ! droppeddeps=yes ! $echo ! $echo "*** Warning: dynamic linker does not accept needed library $i." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which you do not appear to have" ! $echo "*** because a test_compile did reveal that the linker did not use this one" ! $echo "*** as a dynamic dependency that programs can get resolved with at runtime." ! fi fi else droppeddeps=yes ! $echo ! $echo "*** Warning! Library $i is needed by this library but I was not able to" ! $echo "*** make it link in! You will probably need to install it or some" ! $echo "*** library that it depends on before this library will be fully" ! $echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" *************** *** 2588,2598 **** for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. ! if test -n "$name" && test "$name" != "0"; then ! libname=`eval \\$echo \"$libname_spec\"` ! for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do ! potential_libs=`ls $i/$libname[.-]* 2>/dev/null` ! for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then --- 3253,3272 ---- for a_deplib in $deplibs; do 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 ! case " $predeps $postdeps " in ! *" $a_deplib "*) ! newdeplibs="$newdeplibs $a_deplib" ! a_deplib="" ! ;; ! esac ! fi ! if test -n "$a_deplib" ; then ! libname=`eval \\$echo \"$libname_spec\"` ! for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do ! potential_libs=`ls $i/$libname[.-]* 2>/dev/null` ! for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then *************** *** 2613,2638 **** done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ ! | egrep "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi ! done ! done if test -n "$a_deplib" ; then droppeddeps=yes ! echo ! echo "*** Warning: linker path does not have real file for library $a_deplib." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have" ! echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then ! echo "*** with $libname but no candidates were found. (...for file magic test)" else ! echo "*** with $libname and none of the candidates passed a file format test" ! echo "*** using a file magic. Last file checked: $potlib" fi fi else --- 3287,3313 ---- done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ ! | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi ! done ! done ! fi if test -n "$a_deplib" ; then droppeddeps=yes ! $echo ! $echo "*** Warning: linker path does not have real file for library $a_deplib." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which you do not appear to have" ! $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then ! $echo "*** with $libname but no candidates were found. (...for file magic test)" else ! $echo "*** with $libname and none of the candidates passed a file format test" ! $echo "*** using a file magic. Last file checked: $potlib" fi fi else *************** *** 2648,2680 **** name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then ! libname=`eval \\$echo \"$libname_spec\"` ! for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do ! potential_libs=`ls $i/$libname[.-]* 2>/dev/null` ! for potent_lib in $potential_libs; do ! potlib="$potent_lib" # see symlink-check below in file_magic test ! if eval echo \"$potent_lib\" 2>/dev/null \ ! | ${SED} 10q \ ! | egrep "$match_pattern_regex" > /dev/null; then ! newdeplibs="$newdeplibs $a_deplib" ! a_deplib="" ! break 2 ! fi done ! done if test -n "$a_deplib" ; then droppeddeps=yes ! echo ! echo "*** Warning: linker path does not have real file for library $a_deplib." ! echo "*** I have the capability to make that library automatically link in when" ! echo "*** you link to this library. But I can only do this if you have a" ! echo "*** shared version of the library, which you do not appear to have" ! echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then ! echo "*** with $libname but no candidates were found. (...for regex pattern test)" else ! echo "*** with $libname and none of the candidates passed a file format test" ! echo "*** using a regex pattern. Last file checked: $potlib" fi fi else --- 3323,3365 ---- name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then ! if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ! case " $predeps $postdeps " in ! *" $a_deplib "*) ! newdeplibs="$newdeplibs $a_deplib" ! a_deplib="" ! ;; ! esac ! fi ! if test -n "$a_deplib" ; then ! libname=`eval \\$echo \"$libname_spec\"` ! for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do ! potential_libs=`ls $i/$libname[.-]* 2>/dev/null` ! for potent_lib in $potential_libs; do ! potlib="$potent_lib" # see symlink-check above in file_magic test ! if eval $echo \"$potent_lib\" 2>/dev/null \ ! | ${SED} 10q \ ! | $EGREP "$match_pattern_regex" > /dev/null; then ! newdeplibs="$newdeplibs $a_deplib" ! a_deplib="" ! break 2 ! fi ! done done ! fi if test -n "$a_deplib" ; then droppeddeps=yes ! $echo ! $echo "*** Warning: linker path does not have real file for library $a_deplib." ! $echo "*** I have the capability to make that library automatically link in when" ! $echo "*** you link to this library. But I can only do this if you have a" ! $echo "*** shared version of the library, which you do not appear to have" ! $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then ! $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else ! $echo "*** with $libname and none of the candidates passed a file format test" ! $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else *************** *** 2685,2700 **** ;; none | unknown | *) newdeplibs="" ! if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ ! -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | ! grep . >/dev/null; then ! echo if test "X$deplibs_check_method" = "Xnone"; then ! echo "*** Warning: inter-library dependencies are not supported in this platform." else ! echo "*** Warning: inter-library dependencies are not known to be supported." fi ! echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; --- 3370,3392 ---- ;; none | unknown | *) newdeplibs="" ! tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ ! -e 's/ -[LR][^ ]*//g'` ! if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then ! for i in $predeps $postdeps ; do ! # can't use Xsed below, because $i might contain '/' ! tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` ! done ! fi ! if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ ! | grep . >/dev/null; then ! $echo if test "X$deplibs_check_method" = "Xnone"; then ! $echo "*** Warning: inter-library dependencies are not supported in this platform." else ! $echo "*** Warning: inter-library dependencies are not known to be supported." fi ! $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; *************** *** 2714,2730 **** if test "$droppeddeps" = yes; then if test "$module" = yes; then ! echo ! echo "*** Warning: libtool could not satisfy all declared inter-library" ! echo "*** dependencies of module $libname. Therefore, libtool will create" ! echo "*** a static module, that should work as long as the dlopening" ! echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then ! echo ! echo "*** However, this would only work if libtool was able to extract symbol" ! echo "*** lists from a program, using \`nm' or equivalent, but libtool could" ! echo "*** not find such a program. So, this module is probably useless." ! echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" --- 3406,3422 ---- if test "$droppeddeps" = yes; then if test "$module" = yes; then ! $echo ! $echo "*** Warning: libtool could not satisfy all declared inter-library" ! $echo "*** dependencies of module $libname. Therefore, libtool will create" ! $echo "*** a static module, that should work as long as the dlopening" ! $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then ! $echo ! $echo "*** However, this would only work if libtool was able to extract symbol" ! $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" ! $echo "*** not find such a program. So, this module is probably useless." ! $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" *************** *** 2734,2749 **** build_libtool_libs=no fi else ! echo "*** The inter-library dependencies that have been dropped here will be" ! echo "*** automatically added whenever a program is linked with this library" ! echo "*** or is declared to -dlopen it." ! ! if test $allow_undefined = no; then ! echo ! echo "*** Since this library must not contain undefined symbols," ! echo "*** because either the platform does not support them or" ! echo "*** it was explicitly requested with -no-undefined," ! echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module --- 3426,3441 ---- build_libtool_libs=no fi else ! $echo "*** The inter-library dependencies that have been dropped here will be" ! $echo "*** automatically added whenever a program is linked with this library" ! $echo "*** or is declared to -dlopen it." ! ! if test "$allow_undefined" = no; then ! $echo ! $echo "*** Since this library must not contain undefined symbols," ! $echo "*** because either the platform does not support them or" ! $echo "*** it was explicitly requested with -no-undefined," ! $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module *************** *** 2765,2771 **** # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then ! if test $hardcode_into_libs = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= --- 3457,3463 ---- # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then ! if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= *************** *** 2801,2807 **** if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" ! eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. --- 3493,3503 ---- if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" ! if test -n "$hardcode_libdir_flag_spec_ld"; then ! eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ! else ! eval dep_rpath=\"$hardcode_libdir_flag_spec\" ! fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. *************** *** 2821,2826 **** --- 3517,3523 ---- fi # Get the real and link names of the library. + eval shared_ext=\"$shrext\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" *************** *** 2831,2837 **** else soname="$realname" fi ! test -z "$dlname" && dlname=$soname lib="$output_objdir/$realname" for link --- 3528,3536 ---- else soname="$realname" fi ! if test -z "$dlname"; then ! dlname=$soname ! fi lib="$output_objdir/$realname" for link *************** *** 2839,2861 **** linknames="$linknames $link" done - # Ensure that we have .o objects for linkers which dislike .lo - # (e.g. aix) in case we are running --disable-static - for obj in $libobjs; do - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - if test ! -f $xdir/$oldobj; then - $show "(cd $xdir && ${LN_S} $baseobj $oldobj)" - $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $? - fi - done - # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` --- 3538,3543 ---- *************** *** 2869,2881 **** save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? done IFS="$save_ifs" if test -n "$export_symbols_regex"; then ! $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" ! $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi --- 3551,3571 ---- save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" ! if len=`expr "X$cmd" : ".*"` && ! test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ! $show "$cmd" ! $run eval "$cmd" || exit $? ! skipped_export=false ! else ! # The command line is too long to execute in one step. ! $show "using reloadable object file for export list..." ! skipped_export=: ! fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then ! $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" ! $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi *************** *** 2886,2902 **** $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then 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" --- 3576,3604 ---- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" $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" *************** *** 2912,2927 **** $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 $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? ! libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` done fi fi --- 3614,3655 ---- $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 fi fi *************** *** 2937,2957 **** fi # Do each of the archive commands. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else ! save_deplibs="$deplibs" ! for conv in $convenience; do ! tmp_deplibs= ! for test_deplib in $deplibs; do ! if test "$test_deplib" != "$conv"; then ! tmp_deplibs="$tmp_deplibs $test_deplib" fi ! done ! deplibs="$tmp_deplibs" done ! eval cmds=\"$archive_cmds\" ! deplibs="$save_deplibs" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do --- 3665,3794 ---- fi # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval cmds=\"$module_expsym_cmds\" + else + eval cmds=\"$module_cmds\" + fi + else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else ! eval cmds=\"$archive_cmds\" ! fi ! fi ! ! if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && ! test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ! : ! else ! # The command line is too long to link in one step, link piecewise. ! $echo "creating reloadable object files..." ! ! # Save the value of $output and $libobjs because we want to ! # use them later. If we have whole_archive_flag_spec, we ! # want to use save_libobjs as it was before ! # whole_archive_flag_spec was expanded, because we can't ! # assume the linker understands whole_archive_flag_spec. ! # This may have to be revisited, in case too many ! # convenience libraries get linked in and end up exceeding ! # the spec. ! if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then ! save_libobjs=$libobjs ! fi ! save_output=$output ! ! # Clear the reloadable object creation command queue and ! # initialize k to one. ! test_cmds= ! concat_cmds= ! objlist= ! delfiles= ! last_robj= ! k=1 ! output=$output_objdir/$save_output-${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" : ".*"` && ! test "$len" -le "$max_cmd_len"; }; then ! objlist="$objlist $obj" ! else ! # The command $test_cmds is almost too long, add a ! # command to the queue. ! if test "$k" -eq 1 ; then ! # The first file doesn't have a previous command to add. ! eval concat_cmds=\"$reload_cmds $objlist $last_robj\" ! else ! # All subsequent reloadable object files will link in ! # the last one created. ! eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" fi ! last_robj=$output_objdir/$save_output-${k}.$objext ! k=`expr $k + 1` ! output=$output_objdir/$save_output-${k}.$objext ! objlist=$obj ! len=1 ! fi done ! # Handle the remaining objects by creating one last ! # reloadable object file. All subsequent reloadable object ! # files will link in the last one created. ! test -z "$concat_cmds" || concat_cmds=$concat_cmds~ ! eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" ! ! if ${skipped_export-false}; then ! $show "generating symbol list for \`$libname.la'" ! export_symbols="$output_objdir/$libname.exp" ! $run $rm $export_symbols ! libobjs=$output ! # Append the command to create the export file. ! eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" ! fi ! ! # Set up a command to remove the reloadale 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" ! done ! ! $echo "creating a temporary reloadable object file: $output" ! ! # Loop through the commands generated above and execute them. ! save_ifs="$IFS"; IFS='~' ! for cmd in $concat_cmds; do ! IFS="$save_ifs" ! $show "$cmd" ! $run eval "$cmd" || exit $? ! done ! IFS="$save_ifs" ! ! libobjs=$output ! # Restore the value of output. ! output=$save_output ! ! if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then ! eval libobjs=\"\$libobjs $whole_archive_flag_spec\" ! fi ! # Expand the library linking commands again to reset the ! # value of $libobjs for piecewise linking. ! ! # Do each of the archive commands. ! if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then ! eval cmds=\"$archive_expsym_cmds\" ! else ! eval cmds=\"$archive_cmds\" ! fi ! ! # Append the command to remove the reloadable object files ! # to the just-reset $cmds. ! eval cmds=\"\$cmds~$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do *************** *** 3043,3052 **** 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" --- 3880,3889 ---- 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" *************** *** 3062,3077 **** $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 $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? ! reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` done fi fi --- 3899,3940 ---- $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 fi fi *************** *** 3107,3114 **** # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. ! $show "echo timestamp > $libobj" ! $run eval "echo timestamp > $libobj" || exit $? exit 0 fi --- 3970,3977 ---- # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. ! # $show "echo timestamp > $libobj" ! # $run eval "echo timestamp > $libobj" || exit $? exit 0 fi *************** *** 3124,3143 **** $run eval "$cmd" || exit $? done IFS="$save_ifs" - else - # Just create a symlink. - $show $rm $libobj - $run $rm $libobj - xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$libobj"; then - xdir="." - else - xdir="$xdir" - fi - baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` - oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"` - $show "(cd $xdir && $LN_S $oldobj $baseobj)" - $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $? fi if test -n "$gentop"; then --- 3987,3992 ---- *************** *** 3150,3156 **** prog) case $host in ! *cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 --- 3999,4005 ---- prog) case $host in ! *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 *************** *** 3172,3187 **** # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac ;; esac compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" --- 4021,4039 ---- # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" *************** *** 3332,3343 **** done if test -n "$exclude_expsyms"; then ! $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then ! $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi --- 4184,4195 ---- done if test -n "$exclude_expsyms"; then ! $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then ! $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi *************** *** 3355,3362 **** for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" ! name=`echo "$arg" | ${SED} -e 's%^.*/%%'` ! $run eval 'echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done --- 4207,4214 ---- for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" ! name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` ! $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done *************** *** 3365,3371 **** test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then ! egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi --- 4217,4223 ---- test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then ! $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi *************** *** 3385,3391 **** if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else ! echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ --- 4237,4243 ---- if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else ! $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ *************** *** 3437,3454 **** *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag -DPIC";; esac esac # Now compile the dynamic symbol file. ! $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" ! $run eval '(cd $output_objdir && $CC -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" --- 4289,4306 ---- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; ! *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. ! $show "(cd $output_objdir && $LTCC -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 $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" *************** *** 3473,3479 **** finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi ! if test $need_relink = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" --- 4325,4331 ---- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi ! if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" *************** *** 3618,3630 **** # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in ! *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in ! *cygwin*) exeext=.exe ;; *) exeext= ;; esac $rm $output trap "$rm $output; exit 1" 1 2 15 --- 4470,4697 ---- # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in ! *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in ! *cygwin*) ! exeext=.exe ! outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac + case $host in + *cygwin* | *mingw* ) + cwrappersource=`$echo ${objdir}/lt-${output}.c` + cwrapper=`$echo ${output}.exe` + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" + #include + #include + #include + #include + #include + #include + + #if defined(PATH_MAX) + # define LT_PATHMAX PATH_MAX + #elif defined(MAXPATHLEN) + # define LT_PATHMAX MAXPATHLEN + #else + # define LT_PATHMAX 1024 + #endif + + #ifndef DIR_SEPARATOR + #define DIR_SEPARATOR '/' + #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 + #endif + + #ifndef DIR_SEPARATOR_2 + # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) + #else /* DIR_SEPARATOR_2 */ + # define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) + #endif /* DIR_SEPARATOR_2 */ + + #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) + #define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ + } while (0) + + 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); + char * strendzap(char *str, const char *pat); + void lt_fatal (const char *message, ...); + + int + main (int argc, char *argv[]) + { + char **newargz; + int i; + + program_name = (char *) xstrdup ((char *) basename (argv[0])); + newargz = XMALLOC(char *, argc+2); + EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = fnqualify(argv[0]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + } + + void * + xmalloc (size_t num) + { + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; + } + + char * + xstrdup (const char *string) + { + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL + ; + } + + char * + basename (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] == ':') + name += 2; + #endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return (char *) base; + } + + char * + fnqualify(const char *path) + { + size_t size; + char *p; + char tmp[LT_PATHMAX + 1]; + + assert(path != NULL); + + /* Is it qualified already? */ + #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 '~' */ + 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; + } + + char * + strendzap(char *str, const char *pat) + { + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; + } + + static void + lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) + { + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); + } + + void + lt_fatal (const char *message, ...) + { + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); + } + EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC -s -o $cwrapper $cwrappersource + ;; + esac $rm $output trap "$rm $output; exit 1" 1 2 15 *************** *** 3642,3648 **** # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. ! Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout --- 4709,4715 ---- # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. ! Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout *************** *** 3702,3708 **** " if test "$fast_install" = yes; then ! echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" --- 4769,4775 ---- " if test "$fast_install" = yes; then ! $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" *************** *** 3718,3724 **** $rm \"\$progdir/\$file\" fi" ! echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then --- 4785,4791 ---- $rm \"\$progdir/\$file\" fi" ! $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then *************** *** 3736,3748 **** $rm \"\$progdir/\$file\" fi" else ! echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi ! echo >> $output "\ if test -f \"\$progdir/\$program\"; then" --- 4803,4815 ---- $rm \"\$progdir/\$file\" fi" else ! $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi ! $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" *************** *** 3753,3759 **** $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var ! # The second colon is a workaround for a bug in BeOS R4 ${SED} $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var --- 4820,4826 ---- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var ! # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var *************** *** 3773,3786 **** # Run the actual program with our arguments. " case $host in - # win32 systems need to use the prog path for dll - # lookup to work - *-*-cygwin* | *-*-pw32*) - $echo >> $output "\ - exec \$progdir/\$program \${1+\"\$@\"} - " - ;; - # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ --- 4840,4845 ---- *************** *** 3790,3800 **** *) $echo >> $output "\ ! # Export the path to the program. ! PATH=\"\$progdir:\$PATH\" ! export PATH ! ! exec \$program \${1+\"\$@\"} " ;; esac --- 4849,4855 ---- *) $echo >> $output "\ ! exec \$progdir/\$program \${1+\"\$@\"} " ;; esac *************** *** 3806,3812 **** # The program doesn't exist. \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 ! echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ --- 4861,4867 ---- # The program doesn't exist. \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 ! $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ *************** *** 3829,3835 **** oldobjs="$libobjs_save" build_libtool_libs=no else ! oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` fi addlibs="$old_convenience" fi --- 4884,4890 ---- oldobjs="$libobjs_save" build_libtool_libs=no else ! oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi *************** *** 3838,3847 **** 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" --- 4893,4902 ---- 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" *************** *** 3858,3871 **** $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 $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` done --- 4913,4952 ---- $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 *************** *** 3875,3899 **** if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else ! # Ensure that we have .o objects in place in case we decided ! # not to build a shared library, and have fallen back to building ! # static libs even though --disable-static was passed! ! for oldobj in $oldobjs; do ! if test ! -f $oldobj; then ! xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'` ! if test "X$xdir" = "X$oldobj"; then ! xdir="." else ! xdir="$xdir" fi ! baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'` ! obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"` ! $show "(cd $xdir && ${LN_S} $obj $baseobj)" ! $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $? fi ! done ! ! eval cmds=\"$old_archive_cmds\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do --- 4956,5020 ---- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else ! eval cmds=\"$old_archive_cmds\" ! ! if len=`expr "X$cmds" : ".*"` && ! test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then ! : ! else ! # the command line is too long to link in one step, link in parts ! $echo "using piecewise archive linking..." ! save_RANLIB=$RANLIB ! RANLIB=: ! 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 ! for obj in $save_oldobjs ! do ! oldobjs="$objlist $obj" ! objlist="$objlist $obj" ! eval test_cmds=\"$old_archive_cmds\" ! if len=`expr "X$test_cmds" : ".*"` && ! test "$len" -le "$max_cmd_len"; then ! : else ! # the above command should be used before it gets too long ! oldobjs=$objlist ! if test "$obj" = "$last_oldobj" ; then ! RANLIB=$save_RANLIB ! fi ! test -z "$concat_cmds" || concat_cmds=$concat_cmds~ ! eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" ! objlist= fi ! done ! RANLIB=$save_RANLIB ! oldobjs=$objlist ! if test "X$oldobjs" = "X" ; then ! eval cmds=\"\$concat_cmds\" ! else ! eval cmds=\"\$concat_cmds~$old_archive_cmds\" fi ! fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do *************** *** 3928,3934 **** fi done # Quote the link command for shipping. ! relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` # Only create the output if not a dry run. --- 5049,5055 ---- fi done # Quote the link command for shipping. ! relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` # Only create the output if not a dry run. *************** *** 3983,3989 **** # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in ! *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file --- 5104,5110 ---- # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in ! *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file *************** *** 4012,4024 **** # Is this an already installed library? installed=$installed # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" ! if test "$installed" = no && test $need_relink = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi --- 5133,5148 ---- # Is this an already installed library? installed=$installed + # Should we warn about portability when linking against -modules? + shouldnotlink=$module + # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" ! if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi *************** *** 4154,4160 **** # Not a directory, so check to see that there is only one file specified. set dummy $files ! if test $# -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit 1 --- 5278,5284 ---- # Not a directory, so check to see that there is only one file specified. set dummy $files ! if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit 1 *************** *** 4194,4200 **** *.la) # Check to see that this really is a libtool archive. ! if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 --- 5318,5324 ---- *.la) # Check to see that this really is a libtool archive. ! if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 *************** *** 4229,4240 **** dir="$dir$objdir" if test -n "$relink_command"; then $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ! continue fi fi --- 5353,5385 ---- dir="$dir$objdir" if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit 1 + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ! exit 1 fi fi *************** *** 4256,4262 **** $run eval "$striplib $destdir/$realname" || exit $? fi ! if test $# -gt 0; then # Delete the old symlinks, and create new ones. for linkname do --- 5401,5407 ---- $run eval "$striplib $destdir/$realname" || exit $? fi ! if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. for linkname do *************** *** 4342,4364 **** destfile="$destdir/$destfile" fi # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) ! wrapper=`echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac ! if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= # If there is no directory component, then add one. case $file in ! */* | *\\*) . $wrapper ;; ! *) . ./$wrapper ;; esac # Check the variables that should have been set. --- 5487,5529 ---- destfile="$destdir/$destfile" fi + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) ! wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac ! if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= + # 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 # If there is no directory component, then add one. case $file in ! */* | *\\*) . ${wrapperdot} ;; ! *) . ./${wrapperdot} ;; esac # Check the variables that should have been set. *************** *** 4386,4395 **** done relink_command= # If there is no directory component, then add one. case $file in ! */* | *\\*) . $wrapper ;; ! *) . ./$wrapper ;; esac outputname= --- 5551,5567 ---- 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 # If there is no directory component, then add one. case $file in ! */* | *\\*) . ${wrapperdot} ;; ! *) . ./${wrapperdot} ;; esac outputname= *************** *** 4403,4409 **** $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 continue fi ! file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` --- 5575,5581 ---- $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 continue fi ! file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` *************** *** 4421,4434 **** fi else # Install the binary that we compiled earlier. ! file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyways case $install_prog,$host in ! /usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok --- 5593,5606 ---- fi else # Install the binary that we compiled earlier. ! file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyways case $install_prog,$host in ! */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok *************** *** 4437,4443 **** destfile=$destfile.exe ;; *:*.exe) ! destfile=`echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; --- 5609,5615 ---- destfile=$destfile.exe ;; *:*.exe) ! destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; *************** *** 4522,4563 **** fi # Exit here if they wanted silent mode. ! test "$show" = ":" && exit 0 ! echo "----------------------------------------------------------------------" ! echo "Libraries have been installed in:" for libdir in $libdirs; do ! echo " $libdir" done ! echo ! echo "If you ever happen to want to link against installed libraries" ! echo "in a given directory, LIBDIR, you must either use libtool, and" ! echo "specify the full pathname of the library, or use the \`-LLIBDIR'" ! echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then ! echo " - add LIBDIR to the \`$shlibpath_var' environment variable" ! echo " during execution" fi if test -n "$runpath_var"; then ! echo " - add LIBDIR to the \`$runpath_var' environment variable" ! echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" ! echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then ! echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then ! echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi ! echo ! echo "See any operating system documentation about shared libraries for" ! echo "more information, such as the ld(1) and ld.so(8) manual pages." ! echo "----------------------------------------------------------------------" exit 0 ;; --- 5694,5735 ---- fi # Exit here if they wanted silent mode. ! test "$show" = : && exit 0 ! $echo "----------------------------------------------------------------------" ! $echo "Libraries have been installed in:" for libdir in $libdirs; do ! $echo " $libdir" done ! $echo ! $echo "If you ever happen to want to link against installed libraries" ! $echo "in a given directory, LIBDIR, you must either use libtool, and" ! $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" ! $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then ! $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" ! $echo " during execution" fi if test -n "$runpath_var"; then ! $echo " - add LIBDIR to the \`$runpath_var' environment variable" ! $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" ! $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then ! $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then ! $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi ! $echo ! $echo "See any operating system documentation about shared libraries for" ! $echo "more information, such as the ld(1) and ld.so(8) manual pages." ! $echo "----------------------------------------------------------------------" exit 0 ;; *************** *** 4585,4591 **** case $file in *.la) # Check to see that this really is a libtool archive. ! if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 --- 5757,5763 ---- case $file in *.la) # Check to see that this really is a libtool archive. ! if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 *************** *** 4656,4662 **** -*) ;; *) # Do a test to see if this is really a libtool program. ! if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; --- 5828,5834 ---- -*) ;; *) # Do a test to see if this is really a libtool program. ! if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *************** *** 4679,4685 **** eval "export $shlibpath_var" fi ! # Restore saved enviroment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi --- 5851,5857 ---- eval "export $shlibpath_var" fi ! # Restore saved environment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi *************** *** 4729,4747 **** rmdirs= for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. ! objdir="$objdir" else ! objdir="$dir/$objdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` ! test $mode = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates ! if test $mode = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; --- 5901,5920 ---- rmdirs= + origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. ! objdir="$origobjdir" else ! objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` ! test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates ! if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; *************** *** 4765,4771 **** case $name in *.la) # Possibly a libtool archive, so verify it. ! if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. --- 5938,5944 ---- case $name in *.la) # Possibly a libtool archive, so verify it. ! if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. *************** *** 4773,4781 **** 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 if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" --- 5946,5954 ---- 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 if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" *************** *** 4784,4790 **** IFS="$save_ifs" $show "$cmd" $run eval "$cmd" ! if test $? != 0 && test "$rmforce" != yes; then exit_status=1 fi done --- 5957,5963 ---- IFS="$save_ifs" $show "$cmd" $run eval "$cmd" ! if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done *************** *** 4799,4805 **** IFS="$save_ifs" $show "$cmd" $run eval "$cmd" ! if test $? != 0 && test "$rmforce" != yes; then exit_status=1 fi done --- 5972,5978 ---- IFS="$save_ifs" $show "$cmd" $run eval "$cmd" ! if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done *************** *** 4811,4832 **** ;; *.lo) ! if test "$build_old_libs" = yes; then ! oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` ! rmfiles="$rmfiles $dir/$oldobj" fi ;; *) ! # Do a test to see if this is a libtool program. ! if test $mode = clean && ! (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ! relink_command= ! . $dir/$file ! rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" ! if test "$fast_install" = yes && test -n "$relink_command"; then ! rmfiles="$rmfiles $objdir/lt-$name" fi fi ;; --- 5984,6035 ---- ;; *.lo) ! # Possibly a libtool object, so verify it. ! if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ! ! # Read the .lo file ! . $dir/$name ! ! # Add PIC object to the list of files to remove. ! if test -n "$pic_object" \ ! && test "$pic_object" != none; then ! rmfiles="$rmfiles $dir/$pic_object" ! fi ! ! # Add non-PIC object to the list of files to remove. ! if test -n "$non_pic_object" \ ! && test "$non_pic_object" != none; then ! rmfiles="$rmfiles $dir/$non_pic_object" ! fi fi ;; *) ! if test "$mode" = clean ; then ! noexename=$name ! case $file in ! *.exe) ! file=`$echo $file|${SED} 's,.exe$,,'` ! noexename=`$echo $name|${SED} 's,.exe$,,'` ! # $file with .exe has already been added to rmfiles, ! # add $file without .exe ! rmfiles="$rmfiles $file" ! ;; ! esac ! # Do a test to see if this is a libtool program. ! if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then ! relink_command= ! . $dir/$noexename ! # note $name still contains .exe if it was in $file originally ! # as does the version of $file that was added into $rmfiles ! rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" ! if test "$fast_install" = yes && test -n "$relink_command"; then ! rmfiles="$rmfiles $objdir/lt-$name" ! fi ! if test "X$noexename" != "X$name" ; then ! rmfiles="$rmfiles $objdir/lt-${noexename}.c" ! fi fi fi ;; *************** *** 4834,4839 **** --- 6037,6043 ---- $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done + objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do *************** *** 4881,4886 **** --- 6085,6091 ---- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: *************** *** 4894,4900 **** uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for ! a more detailed description of MODE." exit 0 ;; --- 6099,6107 ---- uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for ! a more detailed description of MODE. ! ! Report bugs to ." exit 0 ;; *************** *** 5006,5011 **** --- 6213,6219 ---- -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects -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 *************** *** 5051,5060 **** ;; esac ! echo $echo "Try \`$modename --help' for more information about other modes." exit 0 # Local Variables: # mode:shell-script --- 6259,6288 ---- ;; esac ! $echo $echo "Try \`$modename --help' for more information about other modes." exit 0 + + # The TAGs below are defined such that we never get into a situation + # in which we disable both kinds of libraries. Given conflicting + # choices, we go for a static library, that is the most portable, + # since we can't tell whether shared libraries were disabled because + # the user asked for that or because the platform doesn't support + # them. This is particularly important on AIX, because we don't + # support having both static and shared libraries enabled at the same + # time on that platform, so we default to a shared-only configuration. + # If a disable-shared tag is given, we'll fallback to a static-only + # configuration. But we'll never go from static-only to shared-only. + + # ### BEGIN LIBTOOL TAG CONFIG: disable-shared + build_libtool_libs=no + build_old_libs=yes + # ### END LIBTOOL TAG CONFIG: disable-shared + + # ### BEGIN LIBTOOL TAG CONFIG: disable-static + build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` + # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script Index: libtool/cdemo/Makefile.am diff -c libtool/cdemo/Makefile.am:1.6 libtool/cdemo/Makefile.am:1.7 *** libtool/cdemo/Makefile.am:1.6 Tue Mar 30 14:22:23 1999 --- libtool/cdemo/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 8,13 **** --- 8,14 ---- libfoo_la_SOURCES = foo.c libfoo_la_LIBADD = $(LIBM) + libfoo_la_LDFLAGS = -no-undefined noinst_HEADERS = foo.h Index: libtool/cdemo/configure.ac diff -c /dev/null libtool/cdemo/configure.ac:1.3 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/cdemo/configure.ac Sat Oct 6 11:35:17 2001 *************** *** 0 **** --- 1,65 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([cdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ------------------ ## + ## C compiler checks. ## + ## ------------------ ## + AC_PROG_CC + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AM_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + + ## ---------------------------- ## + ## C headers required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([math.h]) + + + ## ---------------------------- ## + ## Libraries required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/cdemo/configure.in diff -c libtool/cdemo/configure.in:1.8 libtool/cdemo/configure.in:removed *** libtool/cdemo/configure.in:1.8 Tue Mar 30 14:22:23 1999 --- libtool/cdemo/configure.in Mon Apr 14 19:16:48 2003 *************** *** 1,17 **** - dnl Process this file with autoconf to create configure. - - AC_INIT(main.c) - AM_INIT_AUTOMAKE(cdemo,0.1) - - AC_PROG_CC - AC_EXEEXT - AM_PROG_LIBTOOL - AC_SUBST(LIBTOOL_DEPS) - - AC_CHECK_HEADERS(math.h) - - AC_CHECK_LIBM - AC_SUBST(LIBM) - - dnl Output the makefile - AC_OUTPUT(Makefile) --- 0 ---- Index: libtool/demo/Makefile.am diff -c libtool/demo/Makefile.am:1.23.2.1 libtool/demo/Makefile.am:1.29 *** libtool/demo/Makefile.am:1.23.2.1 Mon Sep 3 18:06:19 2001 --- libtool/demo/Makefile.am Tue Nov 19 04:42:39 2002 *************** *** 8,14 **** lib_LTLIBRARIES = libhello.la libhello_la_SOURCES = hello.c foo.c libhello_la_LIBADD = $(LIBM) ! libhello_la_LDFLAGS = -version-info 3:12:1 include_HEADERS = foo.h --- 8,14 ---- lib_LTLIBRARIES = libhello.la libhello_la_SOURCES = hello.c foo.c libhello_la_LIBADD = $(LIBM) ! libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 include_HEADERS = foo.h *************** *** 18,24 **** BUILD_helldl = endif ! bin_PROGRAMS = hell hell.static $(BUILD_helldl) # Build hell from main.c and libhello.la hell_SOURCES = main.c --- 18,24 ---- BUILD_helldl = endif ! bin_PROGRAMS = hell hell_static $(BUILD_helldl) # Build hell from main.c and libhello.la hell_SOURCES = main.c *************** *** 60,66 **** # Unfortunately, in order to test libtool thoroughly, we need access # to its private directory. ! objdir = `sed -n -e 's/^objdir=\(.*\)$$/\1/p' ../libtool` # The following rules are only for the libtool demo and tests. # Regenerate our acinclude.m4 only if it doesn't exist. --- 60,66 ---- # Unfortunately, in order to test libtool thoroughly, we need access # to its private directory. ! objdir = `$(LIBTOOL) --config | sed -n -e 's/^objdir=\(.*\)$$/\1/p'` # The following rules are only for the libtool demo and tests. # Regenerate our acinclude.m4 only if it doesn't exist. *************** *** 72,93 **** # Test programs to see what gets hardcoded. .PHONY: hardcode hardcode: $(hardcode_tests) hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-direct @echo "You may ignore any linking errors from the following command:" @shlib=./$(objdir)/libhello.a; \ ! eval "`egrep '^library_names' libhello.la`"; \ for lib in $$library_names; do \ shlib="./$(objdir)/$$lib"; \ done; \ ! eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la ! @eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \ libdir=`pwd`/$(objdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ if test -z "$$flag"; then \ --- 72,95 ---- # Test programs to see what gets hardcoded. .PHONY: hardcode hardcode: $(hardcode_tests) + SET_HARDCODE_FLAGS = \ + eval `$(LIBTOOL) --config | sed -n -e '/^hardcode_.*=/p; /^wl=/p'` hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-direct @echo "You may ignore any linking errors from the following command:" @shlib=./$(objdir)/libhello.a; \ ! eval "`grep '^library_names' libhello.la`"; \ for lib in $$library_names; do \ shlib="./$(objdir)/$$lib"; \ done; \ ! $(SET_HARDCODE_FLAGS); \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la ! @$(SET_HARDCODE_FLAGS); \ libdir=`pwd`/$(objdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ if test -z "$$flag"; then \ *************** *** 102,108 **** hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-libpath @echo "You may ignore any linking errors from the following command:" ! @eval `egrep -e '^(shlibpath_var|hardcode_.*|wl)=' libtool`; \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ --- 104,111 ---- hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la @rm -f hc-libpath @echo "You may ignore any linking errors from the following command:" ! @$(SET_HARDCODE_FLAGS); \ ! eval `$(LIBTOOL) --config | grep '^shlibpath_var='`; \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ *************** *** 110,116 **** hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) @rm -f hc-minusL ! @eval `egrep -e '^(hardcode_.*|wl)=' libtool`; \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ --- 113,119 ---- hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) @rm -f hc-minusL ! @$(SET_HARDCODE_FLAGS); \ libdir=$(libdir); \ flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ *************** *** 123,138 **** EXTRA_LTLIBRARIES = libhell1.la libhell2.la libhell1_la_SOURCES = hell1.c libhell1_la_LIBADD = -L. -lhell0 ! libhell1_la_LDFLAGS = -rpath $(libdir) libhell1_la_DEPENDENCIES = libhell0.a libhell2_la_SOURCES = hell2.c libhell2_la_LIBADD = -L. -lhell0 ! libhell2_la_LDFLAGS = -rpath $(libdir) libhell2_la_DEPENDENCIES = libhell0.a EXTRA_PROGRAMS = hell0 hell0_SOURCES = main.c hell0_LDADD = libhell1.la libhell2.la $(LIBM) ! CLEANFILES += $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) ! deplibs-check: hell0 --- 126,145 ---- EXTRA_LTLIBRARIES = libhell1.la libhell2.la libhell1_la_SOURCES = hell1.c libhell1_la_LIBADD = -L. -lhell0 ! libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) libhell1_la_DEPENDENCIES = libhell0.a libhell2_la_SOURCES = hell2.c libhell2_la_LIBADD = -L. -lhell0 ! libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) libhell2_la_DEPENDENCIES = libhell0.a EXTRA_PROGRAMS = hell0 hell0_SOURCES = main.c hell0_LDADD = libhell1.la libhell2.la $(LIBM) ! # 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we ! # must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS ! # are handled seamlessly by automake rules; the extra step is only ! # necessary for EXTRA_PROGRAMS) ! CLEANFILES += $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 ! deplibs-check: hell0$(EXEEXT) Index: libtool/demo/configure.ac diff -c /dev/null libtool/demo/configure.ac:1.4 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/demo/configure.ac Sat Mar 2 22:19:55 2002 *************** *** 0 **** --- 1,79 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([demo], [1.0], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([hello.c]) + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ---------------- ## + ## compiler checks. ## + ## ---------------- ## + AC_PROG_CC + AC_C_CONST + AC_EXEEXT + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBTOOL_DLOPEN + AC_LIBTOOL_WIN32_DLL + AM_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + if ./libtool --features | grep '^enable static libraries$' > /dev/null 2>&1; then + STATIC=-static + else + STATIC= + fi + AC_SUBST([STATIC]) + + AM_CONDITIONAL([BINARY_HELLDL], + [grep '^global_symbol_pipe=..*$' ./libtool >/dev/null]) + + + ## ---------------------------- ## + ## C headers required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([string.h math.h]) + + + ## --------------------------- ## + ## Libraries required by demo. ## + ## --------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/demo/configure.in diff -c libtool/demo/configure.in:1.17 libtool/demo/configure.in:removed *** libtool/demo/configure.in:1.17 Wed Sep 20 20:10:41 2000 --- libtool/demo/configure.in Mon Apr 14 19:16:48 2003 *************** *** 1,29 **** - dnl Process this file with autoconf to create configure. - - AC_INIT(hello.c) - AM_INIT_AUTOMAKE(hell,1.0) - - AC_PROG_CC - AC_C_CONST - AC_EXEEXT - AC_LIBTOOL_DLOPEN - AM_PROG_LIBTOOL - AC_SUBST(LIBTOOL_DEPS) - - if ./libtool --features | grep '^enable static libraries$' > /dev/null 2>&1; then - STATIC=-static - else - STATIC= - fi - AC_SUBST(STATIC) - - AM_CONDITIONAL(BINARY_HELLDL, [dnl - grep '^global_symbol_pipe=..*$' ./libtool >/dev/null]) - - AC_CHECK_HEADERS(string.h math.h) - - AC_CHECK_LIBM - AC_SUBST(LIBM) - - dnl Output the makefile - AC_OUTPUT(Makefile) --- 0 ---- Index: libtool/demo/foo.c diff -c libtool/demo/foo.c:1.7 libtool/demo/foo.c:1.8 *** libtool/demo/foo.c:1.7 Wed Jan 19 15:34:36 2000 --- libtool/demo/foo.c Sat Mar 2 22:19:55 2002 *************** *** 18,26 **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ - #define _LIBFOO_COMPILATION_ #include "foo.h" - #undef _LIBFOO_COMPILATION_ #include --- 18,24 ---- Index: libtool/demo/foo.h diff -c libtool/demo/foo.h:1.10 libtool/demo/foo.h:1.11 *** libtool/demo/foo.h:1.10 Wed Jan 19 15:34:36 2000 --- libtool/demo/foo.h Sat Mar 2 22:19:55 2002 *************** *** 24,34 **** /* At some point, cygwin will stop defining __CYGWIN32__, but b19 and * earlier do not define __CYGWIN__. This snippit allows us to check ! * for __CYGWIN32__ reliably for both old and (probable) future releases. */ ! #ifdef __CYGWIN__ ! # ifndef __CYGWIN32__ ! # define __CYGWIN32__ # endif #endif --- 24,35 ---- /* At some point, cygwin will stop defining __CYGWIN32__, but b19 and * earlier do not define __CYGWIN__. This snippit allows us to check ! * for __CYGWIN__ reliably for both current, old, and (probable) future ! * releases. */ ! #ifdef __CYGWIN32__ ! # ifndef __CYGWIN__ ! # define __CYGWIN__ # endif #endif *************** *** 49,55 **** that don't understand ANSI C prototypes still work, and ANSI C compilers can issue warnings about type mismatches. */ #undef LTDL_PARAMS ! #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(__CYGWIN32__) || defined(__cplusplus) # define LT_PARAMS(protos) protos # define lt_ptr_t void* #else --- 50,56 ---- that don't understand ANSI C prototypes still work, and ANSI C compilers can issue warnings about type mismatches. */ #undef LTDL_PARAMS ! #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(__CYGWIN__) || defined(__cplusplus) # define LT_PARAMS(protos) protos # define lt_ptr_t void* #else *************** *** 57,80 **** # define lt_ptr_t char* #endif - #ifdef __CYGWIN32__ - # ifdef LIBFOO_DLL - /* need some (as yet non-existant) automake magic to tell - * the object whether the libfoo it will be linked with is - * a dll or not, ie whether LIBFOO_DLL is defined or not. - */ - # ifdef _LIBFOO_COMPILATION_ - # define EXTERN __declspec(dllexport) - # else - # define EXTERN extern __declspec(dllimport) - # endif - # else - # define EXTERN extern - # endif - #else - # define EXTERN extern - #endif - /* Silly constants that the functions return. */ #define HELLO_RET 0xe110 #define FOO_RET 0xf00 --- 58,63 ---- *************** *** 84,90 **** __BEGIN_DECLS int foo LT_PARAMS((void)); int hello LT_PARAMS((void)); ! EXTERN int nothing; __END_DECLS #endif /* !_FOO_H_ */ --- 67,73 ---- __BEGIN_DECLS int foo LT_PARAMS((void)); int hello LT_PARAMS((void)); ! extern int nothing; __END_DECLS #endif /* !_FOO_H_ */ Index: libtool/demo/hello.c diff -c libtool/demo/hello.c:1.5 libtool/demo/hello.c:1.6 *** libtool/demo/hello.c:1.5 Wed Jan 19 15:34:36 2000 --- libtool/demo/hello.c Sat Mar 2 22:19:55 2002 *************** *** 18,26 **** USA. */ /* Written by Gordon Matzigkeit */ - #define _LIBFOO_COMPILATION #include "foo.h" - #undef _LIBFOO_COMPILATION #include --- 18,24 ---- Index: libtool/depdemo/Makefile.am diff -c libtool/depdemo/Makefile.am:1.9 libtool/depdemo/Makefile.am:1.10 *** libtool/depdemo/Makefile.am:1.9 Fri Mar 19 19:27:10 1999 --- libtool/depdemo/Makefile.am Sat Mar 2 22:19:55 2002 *************** *** 6,12 **** EXTRA_DIST = sysdep.h ! bin_PROGRAMS = depdemo depdemo.static depdemo_SOURCES = main.c depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ --- 6,12 ---- EXTRA_DIST = sysdep.h ! bin_PROGRAMS = depdemo depdemo_static depdemo_SOURCES = main.c depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ Index: libtool/depdemo/configure.ac diff -c /dev/null libtool/depdemo/configure.ac:1.5 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/depdemo/configure.ac Tue Oct 22 15:29:28 2002 *************** *** 0 **** --- 1,75 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([depdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ---------------- ## + ## compiler checks. ## + ## ---------------- ## + AC_PROG_CC + AC_EXEEXT + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBTOOL_WIN32_DLL + AM_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + ## ------------------------------- ## + ## depdemo specific configuration. ## + ## ------------------------------- ## + if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then + STATIC=-static + else + STATIC= + fi + AC_SUBST([STATIC]) + + ## ---------------------------- ## + ## C headers required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([math.h]) + + + ## ---------------------------- ## + ## Libraries required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) + AC_OUTPUT Index: libtool/depdemo/configure.in diff -c libtool/depdemo/configure.in:1.11 libtool/depdemo/configure.in:removed *** libtool/depdemo/configure.in:1.11 Tue Mar 30 14:22:29 1999 --- libtool/depdemo/configure.in Mon Apr 14 19:16:48 2003 *************** *** 1,30 **** - dnl Process this file with autoconf to create configure. - - AC_INIT(main.c) - AM_INIT_AUTOMAKE(depdemo,0.1) - - AC_PROG_CC - AC_EXEEXT - AM_PROG_LIBTOOL - AC_SUBST(LIBTOOL_DEPS) - - if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then - STATIC=-static - else - STATIC= - fi - AC_SUBST(STATIC) - - AC_CHECK_HEADERS(math.h) - - AC_CHECK_LIBM - AC_SUBST(LIBM) - - dnl Output the makefile - AC_OUTPUT( - Makefile - l1/Makefile - l2/Makefile - l3/Makefile - l4/Makefile - ) --- 0 ---- Index: libtool/depdemo/main.c diff -c libtool/depdemo/main.c:1.9 libtool/depdemo/main.c:1.10 *** libtool/depdemo/main.c:1.9 Tue Sep 5 08:54:02 2000 --- libtool/depdemo/main.c Sat Mar 2 22:19:55 2002 *************** *** 36,42 **** --- 36,46 ---- if (argc == 2 && strcmp (argv[1], "-alt") == 0 && var_l1 + var_l2 + var_l4 == 8) return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n",var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); if (var_l1 + var_l2 + var_l4 != 20) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 20\n",var_l1,var_l2,var_l4); return 1; + } return 0; } Index: libtool/depdemo/l1/Makefile.am diff -c libtool/depdemo/l1/Makefile.am:1.4 libtool/depdemo/l1/Makefile.am:1.5 *** libtool/depdemo/l1/Makefile.am:1.4 Fri Apr 2 04:37:03 1999 --- libtool/depdemo/l1/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 6,8 **** --- 6,9 ---- lib_LTLIBRARIES = libl1.la libl1_la_SOURCES = l1.c l1.h + libl1_la_LDFLAGS = -no-undefined Index: libtool/depdemo/l2/Makefile.am diff -c libtool/depdemo/l2/Makefile.am:1.4 libtool/depdemo/l2/Makefile.am:1.5 *** libtool/depdemo/l2/Makefile.am:1.4 Fri Apr 2 04:37:07 1999 --- libtool/depdemo/l2/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 6,9 **** --- 6,10 ---- lib_LTLIBRARIES = libl2.la libl2_la_SOURCES = l2.c l2.h + libl2_la_LDFLAGS = -no-undefined libl2_la_LIBADD = $(top_builddir)/l1/libl1.la Index: libtool/depdemo/l3/Makefile.am diff -c libtool/depdemo/l3/Makefile.am:1.5 libtool/depdemo/l3/Makefile.am:1.7 *** libtool/depdemo/l3/Makefile.am:1.5 Fri Jul 2 19:19:20 1999 --- libtool/depdemo/l3/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 6,11 **** extradir = $(libdir)/extra ! extra_LTLIBRARIES = libl3.la libl3_la_SOURCES = l3.c l3.h libl3_la_LIBADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la --- 6,12 ---- extradir = $(libdir)/extra ! lib_LTLIBRARIES = libl3.la libl3_la_SOURCES = l3.c l3.h + libl3_la_LDFLAGS = -no-undefined libl3_la_LIBADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la Index: libtool/depdemo/l4/Makefile.am diff -c libtool/depdemo/l4/Makefile.am:1.5 libtool/depdemo/l4/Makefile.am:1.6 *** libtool/depdemo/l4/Makefile.am:1.5 Fri Apr 2 04:37:11 1999 --- libtool/depdemo/l4/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 6,9 **** --- 6,10 ---- lib_LTLIBRARIES = libl4.la libl4_la_SOURCES = l4.c l4.h + libl4_la_LDFLAGS = -no-undefined libl4_la_LIBADD = $(top_builddir)/l3/libl3.la $(LIBM) Index: libtool/doc/PLATFORMS diff -c libtool/doc/PLATFORMS:1.42.2.1 libtool/doc/PLATFORMS:1.43 *** libtool/doc/PLATFORMS:1.42.2.1 Mon Sep 10 23:18:52 2001 --- libtool/doc/PLATFORMS Sat Mar 22 01:34:27 2003 *************** *** 59,65 **** i*86-*-netbsd1.2 gcc 0.9g ok i*86-*-linux-gnu gcc 1.3e ok (1.901) (Red Hat 7.0, gcc "2.96") ! i*86-*-linux-gnu gcc 1.4.2 ok (SuSE 7.0, gcc 2.95.2) i*86-*-linux-gnulibc1 gcc 1.2f ok i*86-*-openbsd2.5 gcc 1.3c ok --- 59,65 ---- i*86-*-netbsd1.2 gcc 0.9g ok i*86-*-linux-gnu gcc 1.3e ok (1.901) (Red Hat 7.0, gcc "2.96") ! i*86-*-linux-gnu gcc 1.3e ok (1.911) (SuSE 7.0, gcc 2.95.2) i*86-*-linux-gnulibc1 gcc 1.2f ok i*86-*-openbsd2.5 gcc 1.3c ok *************** *** 112,117 **** --- 112,119 ---- mips-sni-sysv4 gcc 1.3.5 ok (gcc-2.7.2.3, GNU assembler 2.8.1, native ld) mipsel-unknown-openbsd2.1 gcc 1.0 ok + powerpc-apple-darwin6.4 gcc 1.5 ok + (apple dev tools released 12/2002) powerpc-ibm-aix4.3.1.0 gcc 1.2f ok (egcs-1.1.1) powerpc-ibm-aix4.2.1.0 gcc 1.2f ok *************** *** 128,143 **** (gcc-2.7.2) rs6000-ibm-aix3.2.5 gcc 1.0i ok rs6000-ibm-aix3.2.5 xlc 1.0i ok ! sparc-sun-solaris2.8 gcc 1.4.2 ok ! (gcc-2.95.2 & native ld) ! sparc-sun-solaris2.8 gcc 1.4.2 ok ! (gcc-3.0.1 & GNU ld 2.11.2) sparc-sun-solaris2.7 gcc 1.3e ok (1.913) (gcc-2.95.3 & native ld) sparc-sun-solaris2.6 gcc 1.3e ok (1.913) (gcc-2.95.3 & native ld) ! sparc-sun-solaris2.5.1 gcc 1.4.2 ok ! (gcc-2.95.1 & GNU ld 2.9.1) sparc-sun-solaris2.5 gcc 1.3b ok (egcs-1.1.2, GNU ld 2.9.1 & native ld) sparc-sun-solaris2.5 cc 1.3b ok --- 130,142 ---- (gcc-2.7.2) rs6000-ibm-aix3.2.5 gcc 1.0i ok rs6000-ibm-aix3.2.5 xlc 1.0i ok ! sparc-sun-solaris2.8 gcc 1.3e ok (1.913) ! (gcc-2.95.3 & native ld) sparc-sun-solaris2.7 gcc 1.3e ok (1.913) (gcc-2.95.3 & native ld) sparc-sun-solaris2.6 gcc 1.3e ok (1.913) (gcc-2.95.3 & native ld) ! sparc-sun-solaris2.5.1 gcc 1.3e ok (1.911) sparc-sun-solaris2.5 gcc 1.3b ok (egcs-1.1.2, GNU ld 2.9.1 & native ld) sparc-sun-solaris2.5 cc 1.3b ok Index: libtool/doc/libtool.texi diff -c libtool/doc/libtool.texi:1.116.2.4 libtool/doc/libtool.texi:1.134.2.1 *** libtool/doc/libtool.texi:1.116.2.4 Mon Jan 14 14:04:40 2002 --- libtool/doc/libtool.texi Mon Apr 14 18:48:01 2003 *************** *** 24,30 **** @ifinfo This file documents GNU Libtool @value{VERSION} ! Copyright (C) 1996-2000 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 --- 24,30 ---- @ifinfo This file documents GNU Libtool @value{VERSION} ! Copyright (C) 1996-2003 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 *************** *** 51,57 **** @page @vskip 0pt plus 1filll ! Copyright @copyright{} 1996-2000 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 --- 51,57 ---- @page @vskip 0pt plus 1filll ! Copyright @copyright{} 1996-2003 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 *************** *** 165,171 **** * Libltdl interface:: How to use libltdl in your programs. * Modules for libltdl:: Creating modules that can be @code{dlopen}ed. ! * Thread Safety in libltdl:: Registering callbacks for multi-thread safety. * User defined module data:: Associating data with loaded modules. * Module loaders for libltdl:: Creating user defined module loaders. * Distributing libltdl:: How to distribute libltdl with your package. --- 165,171 ---- * Libltdl interface:: How to use libltdl in your programs. * Modules for libltdl:: Creating modules that can be @code{dlopen}ed. ! * Thread Saftey in libltdl:: Registering callbacks for multi-thread safety. * User defined module data:: Associating data with loaded modules. * Module loaders for libltdl:: Creating user defined module loaders. * Distributing libltdl:: How to distribute libltdl with your package. *************** *** 202,208 **** * References:: Finding more information. * Compilers:: Creating object files from source files. * Reloadable objects:: Binding object files together. ! * Multiple dependencies:: Removing duplicate dependant libraries. * Archivers:: Programs that create static archives. @end detailmenu --- 202,208 ---- * References:: Finding more information. * Compilers:: Creating object files from source files. * Reloadable objects:: Binding object files together. ! * Multiple dependencies:: Removing duplicate dependent libraries. * Archivers:: Programs that create static archives. @end detailmenu *************** *** 501,510 **** arguments (@pxref{Compile mode}): @example ! a23$ @kbd{libtool gcc -g -O -c foo.c} gcc -g -O -c foo.c echo timestamp > foo.lo ! a23$ @kbd{libtool gcc -g -O -c hello.c} gcc -g -O -c hello.c echo timestamp > hello.lo a23$ --- 501,510 ---- arguments (@pxref{Compile mode}): @example ! a23$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} gcc -g -O -c foo.c echo timestamp > foo.lo ! a23$ @kbd{libtool --mode=compile gcc -g -O -c hello.c} gcc -g -O -c hello.c echo timestamp > hello.lo a23$ *************** *** 521,531 **** object and the standard object differ: @example ! burger$ @kbd{libtool gcc -g -O -c foo.c} gcc -g -O -c -fPIC -DPIC foo.c mv -f foo.o foo.lo gcc -g -O -c foo.c >/dev/null 2>&1 ! burger$ @kbd{libtool gcc -g -O -c hello.c} gcc -g -O -c -fPIC -DPIC hello.c mv -f hello.o hello.lo gcc -g -O -c hello.c >/dev/null 2>&1 --- 521,531 ---- object and the standard object differ: @example ! burger$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} gcc -g -O -c -fPIC -DPIC foo.c mv -f foo.o foo.lo gcc -g -O -c foo.c >/dev/null 2>&1 ! burger$ @kbd{libtool --mode=compile gcc -g -O -c hello.c} gcc -g -O -c -fPIC -DPIC hello.c mv -f hello.o hello.lo gcc -g -O -c hello.c >/dev/null 2>&1 *************** *** 570,576 **** @file{libhello.la} with your compiler (@pxref{Link mode}): @example ! a23$ @kbd{libtool gcc -g -O -o libhello.la foo.o hello.o} libtool: cannot build libtool library `libhello.la' from non-libtool \ objects a23$ --- 570,576 ---- @file{libhello.la} with your compiler (@pxref{Link mode}): @example ! a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o} libtool: cannot build libtool library `libhello.la' from non-libtool \ objects a23$ *************** *** 593,599 **** archive, not a shared library (@pxref{Static libraries}).}: @example ! a23$ @kbd{libtool gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} mkdir @value{objdir} ar cru @value{objdir}/libhello.a foo.o hello.o --- 593,599 ---- archive, not a shared library (@pxref{Static libraries}).}: @example ! a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} mkdir @value{objdir} ar cru @value{objdir}/libhello.a foo.o hello.o *************** *** 605,611 **** Now, let's try the same trick on the shared library platform: @example ! burger$ @kbd{libtool gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} mkdir @value{objdir} ld -Bshareable -o @value{objdir}/libhello.so.0.0 foo.lo hello.lo -lm --- 605,611 ---- Now, let's try the same trick on the shared library platform: @example ! burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} mkdir @value{objdir} ld -Bshareable -o @value{objdir}/libhello.so.0.0 foo.lo hello.lo -lm *************** *** 668,674 **** (@pxref{Link mode}): @example ! a23$ @kbd{libtool gcc -g -O -o hell main.o libhello.la -lm} gcc -g -O -o hell main.o ./@value{objdir}/libhello.a -lm a23$ @end example --- 668,674 ---- (@pxref{Link mode}): @example ! a23$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la -lm} gcc -g -O -o hell main.o ./@value{objdir}/libhello.a -lm a23$ @end example *************** *** 680,686 **** On @samp{burger} the situation is different: @example ! burger$ @kbd{libtool gcc -g -O -o hell main.o libhello.la -lm} gcc -g -O -o @value{objdir}/hell main.o -L./@value{objdir} -R/usr/local/lib -lhello -lm creating hell burger$ --- 680,686 ---- On @samp{burger} the situation is different: @example ! burger$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la -lm} gcc -g -O -o @value{objdir}/hell main.o -L./@value{objdir} -R/usr/local/lib -lhello -lm creating hell burger$ *************** *** 702,708 **** Thing (TM) for you: @example ! burger$ @kbd{libtool gcc -g -O -o test test.o /usr/local/lib/libhello.la} gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm creating test --- 702,708 ---- Thing (TM) for you: @example ! burger$ @kbd{libtool --mode=link gcc -g -O -o test test.o /usr/local/lib/libhello.la} gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm creating test *************** *** 823,829 **** the executable wrapper (@pxref{Execute mode}): @example ! burger$ @kbd{libtool gdb hell} GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is no warranty for GDB; type "show warranty" for details. --- 823,829 ---- the executable wrapper (@pxref{Execute mode}): @example ! burger$ @kbd{libtool --mode=execute gdb hell} GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is no warranty for GDB; type "show warranty" for details. *************** *** 869,875 **** (@pxref{Install mode}): @example ! a23# @kbd{libtool cp libhello.la /usr/local/lib/libhello.la} cp libhello.la /usr/local/lib/libhello.la cp @value{objdir}/libhello.a /usr/local/lib/libhello.a ranlib /usr/local/lib/libhello.a --- 869,875 ---- (@pxref{Install mode}): @example ! a23# @kbd{libtool --mode=install cp libhello.la /usr/local/lib/libhello.la} cp libhello.la /usr/local/lib/libhello.la cp @value{objdir}/libhello.a /usr/local/lib/libhello.a ranlib /usr/local/lib/libhello.a *************** *** 884,890 **** Here is the shared library example: @example ! burger# @kbd{libtool install -c libhello.la /usr/local/lib/libhello.la} install -c @value{objdir}/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 install -c libhello.la /usr/local/lib/libhello.la install -c @value{objdir}/libhello.a /usr/local/lib/libhello.a --- 884,890 ---- Here is the shared library example: @example ! burger# @kbd{libtool --mode=install install -c libhello.la /usr/local/lib/libhello.la} install -c @value{objdir}/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 install -c libhello.la /usr/local/lib/libhello.la install -c @value{objdir}/libhello.a /usr/local/lib/libhello.a *************** *** 907,917 **** @cindex postinstallation @cindex installation, finishing @cindex libraries, finishing installation ! Then, running @samp{libtool -n --finish @var{libdir}} can give you further hints on what to do (@pxref{Finish mode}): @example ! burger# @kbd{libtool -n --finish /usr/local/lib} PATH="$PATH:/sbin" ldconfig -m /usr/local/lib ----------------------------------------------------------------- Libraries have been installed in: --- 907,917 ---- @cindex postinstallation @cindex installation, finishing @cindex libraries, finishing installation ! Then, running @samp{libtool -n --mode=finish @var{libdir}} can give you further hints on what to do (@pxref{Finish mode}): @example ! burger# @kbd{libtool -n --mode=finish /usr/local/lib} PATH="$PATH:/sbin" ldconfig -m /usr/local/lib ----------------------------------------------------------------- Libraries have been installed in: *************** *** 987,993 **** (but you probably don't want to) using libtool: @example ! burger$ @kbd{libtool ./install-sh -c libhello.a /local/lib/libhello.a} ./install-sh -c libhello.a /local/lib/libhello.a ranlib /local/lib/libhello.a burger$ --- 987,993 ---- (but you probably don't want to) using libtool: @example ! burger$ @kbd{libtool --mode=install ./install-sh -c libhello.a /local/lib/libhello.a} ./install-sh -c libhello.a /local/lib/libhello.a ranlib /local/lib/libhello.a burger$ *************** *** 1081,1090 **** displayed. @item --mode=@var{mode} ! Use @var{mode} as the operation mode. By default, the operation mode is ! inferred from the @var{mode-args}. ! If @var{mode} is specified, it must be one of the following: @table @samp @item compile --- 1081,1093 ---- displayed. @item --mode=@var{mode} ! Use @var{mode} as the operation mode. If not specified, an attempt is ! made to inferr the operation mode from the @var{mode-args}. Not specifying ! the @var{mode} is currently deprecated, as there are too many situations ! where it is not possible to guess. Future versions of Libtool will require ! that @var{mode} be explicity set. ! @var{mode} must be set to one of the following: @table @samp @item compile *************** *** 1144,1153 **** @samp{.lo}. If shared libraries are being built, any necessary PIC generation flags ! are substituted into the compilation command. ! You can pass compiler and linker specific flags using @samp{-Wc,@var{flag}} ! and @samp{-Xcompiler @var{flag}} or @samp{-Wl,@var{flag}} and ! @samp{-Xlinker @var{flag}}, respectively. If the @samp{-static} option is given, then a @samp{.o} file is built, even if libtool was configured with @samp{--disable-static}. --- 1147,1157 ---- @samp{.lo}. If shared libraries are being built, any necessary PIC generation flags ! are substituted into the compilation command. You can pass link specific ! flags to the compiler driver using @samp{-XCClinker @var{flag}} or pass ! linker flags with @samp{-Wl,@var{flag}} and @samp{-Xlinker @var{flag}}. ! You can also pass compile specific flags using @samp{-Wc,@var{flag}} ! and @samp{-Xcompiler @var{flag}}. If the @samp{-static} option is given, then a @samp{.o} file is built, even if libtool was configured with @samp{--disable-static}. *************** *** 1278,1283 **** --- 1282,1295 ---- @var{libdir}. If @var{output-file} is a program, add @var{libdir} to the run-time path of the program. + @item -shrext @var{suffix} + If @var{output-file} is a libtool library, replace the system's standard + file name extension for shared libraries with @var{suffix} (most systems + use @file{.so} here). This option is helpful in certain cases where an + application requires that shared libraries (typically modules) have an + extension other than the default one. Please note you must supply the + full file name extension including any leading dot. + @item -R @var{libdir} If @var{output-file} is a program, add @var{libdir} to its run-time path. If @var{output-file} is a library, add -R@var{libdir} to its *************** *** 1295,1303 **** --- 1307,1326 ---- (@pxref{Versioning}). Do @strong{not} use this flag to specify package release information, rather see the @samp{-release} flag. + @item -version-number @var{major}[:@var{minor}[:@var{revision}]] + If @var{output-file} is a libtool library, compute interface version + information so that the resulting library uses the specified major, minor and + revision numbers. This is designed to permit libtool to be used with + existing projects where identical version numbers are already used across + operating systems. New projects should use the @samp{-version-info} flag + instead. + @item -Wl,@var{flag} @itemx -Xlinker @var{flag} Pass a linker specific flag directly to the linker. + + @item -XCClinker @var{flag} + Pass a link specific flag to the compiler driver (@var{CC}) during linking. @end table If the @var{output-file} ends in @samp{.la}, then a libtool library is *************** *** 1347,1358 **** @cindex install mode @cindex mode, install ! In @dfn{install} mode, libtool interprets @var{mode-args} as an ! installation command beginning with @code{cp}, or a BSD-compatible ! @code{install} program. ! The rest of the @var{mode-args} are interpreted as arguments to that ! command. The command is run, and any necessary unprivileged post-installation commands are also completed. --- 1370,1422 ---- @cindex install mode @cindex mode, install ! In @dfn{install} mode, libtool interprets most of the elements of ! @var{mode-args} as an installation command beginning with ! @code{cp}, or a BSD-compatible @code{install} program. ! ! The following components of @var{mode-args} are treated specially: ! ! @table @samp ! @item -inst-prefix @var{inst-prefix-dir} ! When installing into a temporary staging area, rather than the ! final @var{prefix}, this argument is used to reflect the ! temporary path, in much the same way @code{automake} uses ! @var{DESTDIR}. For instance, if @var{prefix} is @code{/usr/local}, ! but @var{inst-prefix-dir} is @code{/tmp}, then the object will be ! installed under @code{/tmp/usr/local/}. If the installed object ! is a libtool library, then the internal fields of that library ! will reflect only @var{prefix}, not @var{inst-prefix-dir}: ! ! @example ! # Directory that this library needs to be installed in: ! libdir='/usr/local/lib' ! @end example ! not ! ! @example ! # Directory that this library needs to be installed in: ! libdir='/tmp/usr/local/lib' ! @end example ! ! @code{inst-prefix} is also used to insure that if the installed ! object must be relinked upon installation, that it is relinked ! against the libraries in @var{inst-prefix-dir}/@var{prefix}, ! not @var{prefix}. ! ! In truth, this option is not really intended for use when calling ! libtool directly; it is automatically used when @code{libtool --mode=install} ! calls @code{libtool --mode=relink}. Libtool does this by ! analyzing the destination path given in the original ! @code{libtool --mode=install} command and comparing it to the ! expected installation path established during @code{libtool --mode=link}. ! ! Thus, end-users need change nothing, and @code{automake}-style ! @code{make install DESTDIR=/tmp} will Just Work(tm). ! @end table ! ! The rest of the @var{mode-args} are interpreted as arguments to the ! @code{cp} or @code{install} command. The command is run, and any necessary unprivileged post-installation commands are also completed. *************** *** 2201,2206 **** --- 2265,2279 ---- have in changing them. Static functions and variables may change forms as often as you like@dots{} your users cannot access them, so they aren't interface changes. + + @item Be careful with array dimensions + The number of elements in a global array is part of an interface, even + if the header just declares @code{extern int foo[];}. This is because + on i386 and some other SVR4/ELF systems, when an application + references data in a shared library the size of that data (whatever + its type) is included in the application executable. If you might + want to change the size of an array or string then provide a pointer + not the actual array. @end table @menu *************** *** 2355,2361 **** @file{libhello} that depends on @file{libm}: @example ! burger$ @kbd{libtool gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} burger$ @end example --- 2428,2434 ---- @file{libhello} that depends on @file{libm}: @example ! burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ -rpath /usr/local/lib -lm} burger$ @end example *************** *** 2452,2458 **** @samp{-module} to the other link flags: @example ! burger$ @kbd{libtool gcc -module -o libhello.la foo.lo \ hello.lo -rpath /usr/local/lib -lm} burger$ @end example --- 2525,2531 ---- @samp{-module} to the other link flags: @example ! burger$ @kbd{libtool --mode=link gcc -module -o libhello.la foo.lo \ hello.lo -rpath /usr/local/lib -lm} burger$ @end example *************** *** 2464,2470 **** dlopen: @example ! burger$ @kbd{libtool gcc -export-dynamic -o hell-dlopener main.o} burger$ @end example --- 2537,2543 ---- dlopen: @example ! burger$ @kbd{libtool --mode=link gcc -export-dynamic -o hell-dlopener main.o} burger$ @end example *************** *** 2646,2652 **** @menu * Libltdl interface:: How to use libltdl in your programs. * Modules for libltdl:: Creating modules that can be @code{dlopen}ed. ! * Thread Safety in libltdl:: Registering callbacks for multi-thread safety. * User defined module data:: Associating data with loaded modules. * Module loaders for libltdl:: Creating user defined module loaders. * Distributing libltdl:: How to distribute libltdl with your package. --- 2719,2725 ---- @menu * Libltdl interface:: How to use libltdl in your programs. * Modules for libltdl:: Creating modules that can be @code{dlopen}ed. ! * Thread Saftey in libltdl:: Registering callbacks for multi-thread safety. * User defined module data:: Associating data with loaded modules. * Module loaders for libltdl:: Creating user defined module loaders. * Distributing libltdl:: How to distribute libltdl with your package. *************** *** 2744,2751 **** @enumerate 1 @item user-defined search path: ! This search path can be set by the program using the ! functions @code{lt_dlsetsearchpath} and @code{lt_dladdsearchdir}. @item libltdl's search path: This search path is the value of the environment variable --- 2817,2825 ---- @enumerate 1 @item user-defined search path: ! This search path can be changed by the program using the ! functions @code{lt_dlsetsearchpath}, @code{lt_dladdsearchdir} and ! @code{lt_dlinsertsearchdir}. @item libltdl's search path: This search path is the value of the environment variable *************** *** 2794,2800 **** If the symbol cannot be found, @code{NULL} is returned. @end deftypefun ! @deftypefun {const char *}lt_dlerror (void) Return a human readable string describing the most recent error that occurred from any of libltdl's functions. Return @code{NULL} if no errors have occurred since initialization --- 2868,2874 ---- If the symbol cannot be found, @code{NULL} is returned. @end deftypefun ! @deftypefun {const char *} lt_dlerror (void) Return a human readable string describing the most recent error that occurred from any of libltdl's functions. Return @code{NULL} if no errors have occurred since initialization *************** *** 2819,2825 **** Return 0 on success. @end deftypefun ! @defmac LTDL_SET_PRELOADED_SYMBOLS() Set the default list of preloaded symbols. Should be used in your program to initialize libltdl's list of preloaded modules. --- 2893,2899 ---- Return 0 on success. @end deftypefun ! @defmac LTDL_SET_PRELOADED_SYMBOLS Set the default list of preloaded symbols. Should be used in your program to initialize libltdl's list of preloaded modules. *************** *** 2836,2843 **** @end defmac @deftypefun int lt_dladdsearchdir (const char *@var{search_dir}) ! Add the search directory @var{search_dir} to the user-defined library ! search path. Return 0 on success. @end deftypefun @deftypefun int lt_dlsetsearchpath (const char *@var{search_path}) --- 2910,2924 ---- @end defmac @deftypefun int lt_dladdsearchdir (const char *@var{search_dir}) ! Append the search directory @var{search_dir} to the current user-defined ! library search path. Return 0 on success. ! @end deftypefun ! ! @deftypefun int lt_dlinsertsearchdir (@w{const char *@var{before}}, @w{const char *@var{search_dir}}) ! Insert the search directory @var{search_dir} into the user-defined library ! search path, immediately before the element starting at address ! @var{before}. If @var{before} is @samp{NULL}, then @var{search_dir} is ! appending as if @code{lt_dladdsearchdir} had been called. Return 0 on success. @end deftypefun @deftypefun int lt_dlsetsearchpath (const char *@var{search_path}) *************** *** 2850,2855 **** --- 2931,2955 ---- Return the current user-defined library search path. @end deftypefun + @deftypefun int lt_dlforeachfile (@w{const char *@var{search_path}}, @w{int (*@var{func}) (const char *@var{filename}, lt_ptr @var{data})}, @w{lt_ptr @var{data}}) + In some applications you may not want to load individual modules with + known names, but rather find all of the modules in a set of + directories and load them all during initialisation. With this function + you can have libltdl scan the colon delimited directory list in + @var{search_path} for candidates, and pass them, along with @var{data} + to your own callback function, @var{func}. If @var{seach_path} is + @samp{NULL}, then search all of the standard locations that + @code{lt_dlopen} would examine. This function will continue to make + calls to @var{func} for each file that it discovers in @var{search_path} + until one of these calls returns non-zero, or until the files are + exhausted. @samp{lt_dlforeachfile} returns value returned by the last + call made to @var{func}. + + For example you could define @var{func} to build an ordered + @dfn{argv}-like vector of files using @var{data} to hold the address of + the start of the vector. + @end deftypefun + @deftypefun int lt_dlmakeresident (lt_dlhandle @var{handle}) Mark a module so that it cannot be @samp{lt_dlclose}d. This can be useful if a module implements some core functionality in your project, *************** *** 2943,2949 **** @end example ! @node Thread Safety in libltdl @section Using libtldl in a multi threaded environment Using the @code{lt_dlmutex_register()} function, and by providing some --- 3043,3049 ---- @end example ! @node Thread Saftey in libltdl @section Using libtldl in a multi threaded environment Using the @code{lt_dlmutex_register()} function, and by providing some *************** *** 3162,3172 **** @code{lt_dlloader} is a handle for module loader types. @end deftp ! @deftp {Type} lt_dlloader_data ! @code{lt_dlloader_data} is used for specifying loader instance data. @end deftp ! @deftypefn {Type} {struct} lt_user_dlloader @{@w{const char *@var{sym_prefix};} @w{lt_module_open *@var{module_open};}@w{lt_module_close *@var{module_close};} @w{lt_find_sym *@var{find_sym};} @w{lt_dlloader_exit *@var{dlloader_exit};} @w{lt_dlloader_data @var{dlloader_data};} @} If you want to define a new way to open dynamic modules, and have the @code{lt_dlopen} @sc{api} use it, you need to instantiate one of these structures and pass it to @code{lt_dlloader_add}. You can pass whatever --- 3262,3272 ---- @code{lt_dlloader} is a handle for module loader types. @end deftp ! @deftp {Type} lt_user_data ! @code{lt_user_data} is used for specifying loader instance data. @end deftp ! @deftypefn {Type} {struct} lt_user_dlloader @{@w{const char *@var{sym_prefix};} @w{lt_module_open *@var{module_open};} @w{lt_module_close *@var{module_close};} @w{lt_find_sym *@var{find_sym};} @w{lt_dlloader_exit *@var{dlloader_exit};} @} If you want to define a new way to open dynamic modules, and have the @code{lt_dlopen} @sc{api} use it, you need to instantiate one of these structures and pass it to @code{lt_dlloader_add}. You can pass whatever *************** *** 3175,3181 **** the function pointer fields. @end deftypefn ! @deftypefn {Type} lt_module lt_module_open (@w{lt_user_data @var{loader_data},} @w{const char *@var{filename}}) The type of the loader function for an @code{lt_dlloader} module loader. The value set in the dlloader_data field of the @code{struct lt_user_dlloader} structure will be passed into this function in the --- 3275,3281 ---- the function pointer fields. @end deftypefn ! @deftypefn {Type} lt_module lt_module_open (@w{const char *@var{filename}}) The type of the loader function for an @code{lt_dlloader} module loader. The value set in the dlloader_data field of the @code{struct lt_user_dlloader} structure will be passed into this function in the *************** *** 3186,3192 **** return @code{NULL}, and set the error message with @code{lt_dlseterror}. @end deftypefn ! @deftypefn {Type} int lt_module_close (@w{lt_dlloader_data @var{loader_data},} @w{lt_module @var{module}}) The type of the unloader function for a user defined module loader. Implementatation of such a function should attempt to release any resources tied up by the @var{module} module, and then unload it --- 3286,3292 ---- return @code{NULL}, and set the error message with @code{lt_dlseterror}. @end deftypefn ! @deftypefn {Type} int lt_module_close (@w{lt_user_data @var{loader_data},} @w{lt_module @var{module}}) The type of the unloader function for a user defined module loader. Implementatation of such a function should attempt to release any resources tied up by the @var{module} module, and then unload it *************** *** 3194,3200 **** message with @code{lt_dlseterror} and return non-zero. @end deftypefn ! @deftypefn {Type} lt_ptr lt_find_sym (@w{lt_user_data @var{loader_data},} @w{lt_module @var{module},} @w{const char *@var{symbol}}) The type of the symbol lookup function for a user defined module loader. Implementation of such a function should return the address of the named @var{symbol} in the module @var{module}, or else set the error message --- 3294,3300 ---- message with @code{lt_dlseterror} and return non-zero. @end deftypefn ! @deftypefn {Type} lt_ptr lt_find_sym (@w{lt_module @var{module},} @w{const char *@var{symbol}}) The type of the symbol lookup function for a user defined module loader. Implementation of such a function should return the address of the named @var{symbol} in the module @var{module}, or else set the error message *************** *** 3544,3565 **** libtool does not know which are these libraries, so it cannot even run the inter-library dependence analyzer to check how to link it in. Therefore, running @file{ld} to link a C++ program or library is deemed ! to fail. However, running the C++ compiler directly may lead to ! problems related with inter-library dependencies. @end enumerate ! The conclusion is that libtool is not ready for general use for C++ ! libraries. You should avoid any global or static variable ! initializations that would cause an ``initializer element is not ! constant'' error if you compiled them with a standard C compiler. ! ! There are other ways of working around this problem, but they are beyond ! the scope of this manual. ! ! Furthermore, you'd better find out, at configure time, what are the C++ ! Standard libraries that the C++ compiler will link in by default, and ! explicitly list them in the link command line. Hopefully, in the ! future, libtool will be able to do this job by itself. @node Troubleshooting --- 3644,3657 ---- libtool does not know which are these libraries, so it cannot even run the inter-library dependence analyzer to check how to link it in. Therefore, running @file{ld} to link a C++ program or library is deemed ! to fail. @end enumerate ! Because of these three issues, Libtool has been designed to always use ! the C++ compiler to compile and link C++ programs and libraries. In ! some instances the @code{main()} function of a program must also be ! compiled with the C++ compiler for static C++ objects to be properly ! initialized. @node Troubleshooting *************** *** 3967,3973 **** @vindex file_magic_test_file looks in the library link path for libraries that have the right libname. Then it runs @samp{$file_magic_cmd} on the library and checks ! for a match against @var{regex} using @code{egrep}. When @var{file_magic_test_file} is set by @file{libtool.m4}, it is used as an argument to @samp{$file_magic_cmd} in order to verify whether the regular expression matches its output, and warn the user otherwise. --- 4059,4065 ---- @vindex file_magic_test_file looks in the library link path for libraries that have the right libname. Then it runs @samp{$file_magic_cmd} on the library and checks ! for a match against the extended regular expression @var{regex}. When @var{file_magic_test_file} is set by @file{libtool.m4}, it is used as an argument to @samp{$file_magic_cmd} in order to verify whether the regular expression matches its output, and warn the user otherwise. *************** *** 4047,4053 **** * References:: Finding more information. * Compilers:: Creating object files from source files. * Reloadable objects:: Binding object files together. ! * Multiple dependencies:: Removing duplicate dependant libraries. * Archivers:: Programs that create static archives. @end menu --- 4139,4145 ---- * References:: Finding more information. * Compilers:: Creating object files from source files. * Reloadable objects:: Binding object files together. ! * Multiple dependencies:: Removing duplicate dependent libraries. * Archivers:: Programs that create static archives. @end menu Index: libtool/f77demo/.cvsignore diff -c /dev/null libtool/f77demo/.cvsignore:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/.cvsignore Wed Jul 31 16:35:06 2002 *************** *** 0 **** --- 1,19 ---- + .deps + .libs + Makefile + Makefile.in + acinclude.m4 + aclocal.m4 + configure + config.* + conftest* + hc-direct + hc-libflag + hc-libpath + hc-minusL + libtool + *.lo + *.la + hell + hell.static + helldl Index: libtool/f77demo/Makefile.am diff -c /dev/null libtool/f77demo/Makefile.am:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/Makefile.am Wed Oct 30 19:52:39 2002 *************** *** 0 **** --- 1,34 ---- + ## Process this file with automake to produce Makefile.in + ## + ## $Id: Makefile.am,v 1.2 2002/10/31 00:52:39 bfriesen Exp $ + + AUTOMAKE_OPTIONS = no-dependencies foreign + + EXTRA_DIST = acinclude.m4 + + noinst_LTLIBRARIES = libfoo.la libmix.la + + libfoo_la_SOURCES = foof.f + libfoo_la_LDFLAGS = -no-undefined + + libmix_la_SOURCES = foof.f fooc.c + libmix_la_LDFLAGS = -no-undefined + + noinst_HEADERS = foo.h + + bin_PROGRAMS = fprogram cprogram + + fprogram_SOURCES = fprogram.f + fprogram_LDADD = libfoo.la + + cprogram_SOURCES = cprogram.c + cprogram_LDADD = libmix.la + + $(OBJECTS): libtool + libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + + + + + Index: libtool/f77demo/README diff -c /dev/null libtool/f77demo/README:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/README Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,16 ---- + This is a short demo of the fortran support in libtool. + + fprogram is a pure-fortran program which is linked + against the fortran-only library libfoo.la + + cprogram is a C program, which is linked against the + mixed C and fortran library libmix.la. The program + calls a C function, which in turn calls a fortran + function. + + This demo requires GNU autoconf, automake, + libtool with the F77 tag and quite obvious Fortran 77. + + + + Index: libtool/f77demo/configure.ac diff -c /dev/null libtool/f77demo/configure.ac:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/configure.ac Sat Mar 22 01:34:27 2003 *************** *** 0 **** --- 1,70 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([f77demo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([foof.f])dnl + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + AM_CONFIG_HEADER([config.h:config-h.in]) + + + ## ------------------ ## + ## C compiler checks. ## + ## ------------------ ## + AC_PROG_CC + + ## ------------------------ ## + ## Fortran compiler checks. ## + ## ------------------------ ## + AC_PROG_F77 + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS + + # As of the writing of this demo, GNU Autoconf's AC_OBJEXT and + # AC_EXEEXT macros only works for C compilers! + # Libtool's setup macro calls AC_OBJEXT and AC_EXEEXT without setting + # the test language to C. We do it before any libtool setup macros are + # called so that the proper values are cached beforehand. We also do + # it before any linker flags (LDFLAGS) are set so that fortran specific + # ones don't break the tests. + AC_LANG_PUSH([C]) + AC_OBJEXT + AC_EXEEXT + AC_LANG_POP + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AM_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/f77demo/cprogram.c diff -c /dev/null libtool/f77demo/cprogram.c:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/cprogram.c Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,46 ---- + /* + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + #include "foo.h" + + int + main(int argc, char **argv) + { + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub(arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if(cres==2*arg) + printf ("The C subroutine is ok!\n"); + + printf("\nCalling the C wrapper routine...\n"); + fres=fwrapper(arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if(fres==2*arg) + printf ("The Fortran 77 subroutine is ok!\n"); + + return 0; + } + Index: libtool/f77demo/foo.h diff -c /dev/null libtool/f77demo/foo.h:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/foo.h Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,47 ---- + /* foo.h -- interface to fortran and C libraries + Copyright (C) 1998-1999 Free Software Foundation, Inc. + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + #ifndef _FOO_H_ + #define _FOO_H_ 1 + + /* config.h is necessary for the fortran name mangling */ + #ifdef HAVE_CONFIG_H + #include + #endif + + /* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ + extern int csub(int); + + /* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ + extern int fwrapper(int); + + /* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ + extern void F77_FUNC(fsub,FSUB)(int *arg, int *res); + + + #endif Index: libtool/f77demo/fooc.c diff -c /dev/null libtool/f77demo/fooc.c:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/fooc.c Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,17 ---- + #include "foo.h" + + + int csub(int arg) + { + return (2*arg); + } + + + int fwrapper(int arg) + { + int res; + printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); + F77_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran 77 subroutine...\n"); + return res; + } Index: libtool/f77demo/foof.f diff -c /dev/null libtool/f77demo/foof.f:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/foof.f Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,13 ---- + C + C This program is free software; you can redistribute it and/or + C modify it under the terms of the GNU General Public License + C as published by the Free Software Foundation; either version 2 + C of the License, or (at your option) any later version. + C + + subroutine fsub(arg,res) + implicit none + integer*4 arg,res + res=arg*2 + return + end Index: libtool/f77demo/fprogram.f diff -c /dev/null libtool/f77demo/fprogram.f:1.1 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/f77demo/fprogram.f Wed Jul 31 16:15:27 2002 *************** *** 0 **** --- 1,27 ---- + C + C This program is free software; you can redistribute it and/or + C modify it under the terms of the GNU General Public License + C as published by the Free Software Foundation; either version 2 + C of the License, or (at your option) any later version. + C + + program fprogram + implicit none + integer*4 arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + stop + end + + Index: libtool/libltdl/Makefile.am diff -c libtool/libltdl/Makefile.am:1.40.2.2 libtool/libltdl/Makefile.am:1.42 *** libtool/libltdl/Makefile.am:1.40.2.2 Tue Sep 11 15:28:19 2001 --- libtool/libltdl/Makefile.am Mon Sep 10 21:26:44 2001 *************** *** 27,33 **** ## Because we do not have automatic dependency tracking: ltdl.lo: ltdl.h config.h ! $(OBJECTS) $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck --- 27,33 ---- ## Because we do not have automatic dependency tracking: ltdl.lo: ltdl.h config.h ! $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool libtool: $(LIBTOOL_DEPS) $(SHELL) ./config.status --recheck Index: libtool/libltdl/README diff -c libtool/libltdl/README:1.2 libtool/libltdl/README:1.3 *** libtool/libltdl/README:1.2 Sat Jul 17 05:00:53 1999 --- libtool/libltdl/README Thu Mar 20 15:24:21 2003 *************** *** 6,9 **** --- 6,10 ---- * LoadLibrary (Win16 and Win32) * load_add_on (BeOS) * GNU DLD (emulates dynamic linking for static libraries) + * dyld (darwin/Mac OS X) * libtool's dlpreopen Index: libtool/libltdl/configure.ac diff -c /dev/null libtool/libltdl/configure.ac:1.6 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/libltdl/configure.ac Mon Feb 24 19:30:28 2003 *************** *** 0 **** --- 1,79 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + + ## FIXME: Is this really new enough? ## + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([libltdl], [1.2], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([ltdl.c]) + + + ## ------------------------------- ## + ## Libltdl specific configuration. ## + ## ------------------------------- ## + + AC_CONFIG_AUX_DIR([.]) + + if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then + if test -f ${srcdir}/ltmain.sh; then + # if libltdl is libtoolized, it is assumed to be stand-alone and + # installed unless the command line overrides it (tested above) + enable_ltdl_install=yes + else + AC_MSG_WARN([*** The top-level configure must select either]) + AC_MSG_WARN([*** [A""C_LIBLTDL_INSTALLABLE] or [A""C_LIBLTDL_CONVENIENCE].]) + AC_MSG_ERROR([*** Maybe you want to --enable-ltdl-install?]) + fi + fi + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, -) + AM_CONFIG_HEADER([config.h:config-h.in]) + + + ## ------------------ ## + ## C compiler checks. ## + ## ------------------ ## + AC_PROG_CC + AC_C_CONST + AC_C_INLINE + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBTOOL_WIN32_DLL + AC_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + AC_LIB_LTDL + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/libltdl/configure.in diff -c libtool/libltdl/configure.in:1.56.2.2 libtool/libltdl/configure.in:removed *** libtool/libltdl/configure.in:1.56.2.2 Mon Sep 10 22:04:24 2001 --- libtool/libltdl/configure.in Mon Apr 14 19:16:48 2003 *************** *** 1,44 **** - dnl Process this file with autoconf to create configure. - - AC_INIT(ltdl.c) - - dnl We shouldn't be using these internal macros of autoconf, - dnl but CONFIG_AUX_DIR($with_auxdir) breaks automake. - AC_ARG_WITH(auxdir, - [ --with-auxdir=DIR path to autoconf auxiliary files], - [AC_CONFIG_AUX_DIRS($with_auxdir)], - [AC_CONFIG_AUX_DIR_DEFAULT]) - - if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then - if test -f ${srcdir}/ltmain.sh; then - # if libltdl is libtoolized, it is assumed to be stand-alone and - # installed unless the command line overrides it (tested above) - enable_ltdl_install=yes - else - AC_MSG_WARN([*** The top-level configure must select either]) - AC_MSG_WARN([*** [A""C_LIBLTDL_INSTALLABLE] or [A""C_LIBLTDL_CONVENIENCE].]) - AC_MSG_ERROR([*** Maybe you want to --enable-ltdl-install?]) - fi - fi - - AM_INIT_AUTOMAKE(libltdl,1.2,-) - AM_CONFIG_HEADER(config.h:config-h.in) - AM_MAINTAINER_MODE - - AC_PROG_CC - AC_C_CONST - AC_C_INLINE - - AC_LIBTOOL_WIN32_DLL - AM_PROG_LIBTOOL - AC_SUBST(LIBTOOL_DEPS) - - AC_LIB_LTDL - - dnl Output the makefile - AC_OUTPUT(Makefile) - - # Local Variables: - # mode:shell-script - # sh-indentation:2 - # End: --- 0 ---- Index: libtool/libltdl/ltdl.c diff -c libtool/libltdl/ltdl.c:1.134.2.15 libtool/libltdl/ltdl.c:1.174 *** libtool/libltdl/ltdl.c:1.134.2.15 Tue Oct 22 21:39:55 2002 --- libtool/libltdl/ltdl.c Fri Mar 28 23:09:00 2003 *************** *** 65,84 **** # include #endif ! #if HAVE_DIRENT_H # include # define LT_D_NAMLEN(dirent) (strlen((dirent)->d_name)) #else ! # define dirent direct ! # define LT_D_NAMLEN(dirent) ((dirent)->d_namlen) ! # if HAVE_SYS_NDIR_H ! # include ! # endif ! # if HAVE_SYS_DIR_H ! # include ! # endif ! # if HAVE_NDIR_H ! # include # endif #endif --- 65,116 ---- # include #endif ! ! #ifndef __WINDOWS__ ! # ifdef __WIN32__ ! # define __WINDOWS__ ! # endif ! #endif ! ! ! #undef LT_USE_POSIX_DIRENT ! #ifdef HAVE_CLOSEDIR ! # ifdef HAVE_OPENDIR ! # ifdef HAVE_READDIR ! # ifdef HAVE_DIRENT_H ! # define LT_USE_POSIX_DIRENT ! # endif /* HAVE_DIRENT_H */ ! # endif /* HAVE_READDIR */ ! # endif /* HAVE_OPENDIR */ ! #endif /* HAVE_CLOSEDIR */ ! ! ! #undef LT_USE_WINDOWS_DIRENT_EMULATION ! #ifndef LT_USE_POSIX_DIRENT ! # ifdef __WINDOWS__ ! # define LT_USE_WINDOWS_DIRENT_EMULATION ! # endif /* __WINDOWS__ */ ! #endif /* LT_USE_POSIX_DIRENT */ ! ! ! #ifdef LT_USE_POSIX_DIRENT # include # define LT_D_NAMLEN(dirent) (strlen((dirent)->d_name)) #else ! # ifdef LT_USE_WINDOWS_DIRENT_EMULATION ! # define LT_D_NAMLEN(dirent) (strlen((dirent)->d_name)) ! # else ! # define dirent direct ! # define LT_D_NAMLEN(dirent) ((dirent)->d_namlen) ! # if HAVE_SYS_NDIR_H ! # include ! # endif ! # if HAVE_SYS_DIR_H ! # include ! # endif ! # if HAVE_NDIR_H ! # include ! # endif # endif #endif *************** *** 118,124 **** --- 150,177 ---- # define LT_READTEXT_MODE "r" #endif + #ifdef LT_USE_WINDOWS_DIRENT_EMULATION + + #include + #define dirent lt_dirent + #define DIR lt_DIR + + struct dirent + { + char d_name[2048]; + int d_namlen; + }; + + typedef struct _DIR + { + HANDLE hSearch; + WIN32_FIND_DATA Win32FindData; + BOOL firsttime; + struct dirent file_info; + } DIR; + + #endif /* LT_USE_WINDOWS_DIRENT_EMULATION */ /* --- MANIFEST CONSTANTS --- */ *************** *** 158,164 **** static lt_ptr lt_emalloc LT_PARAMS((size_t size)); static lt_ptr lt_erealloc LT_PARAMS((lt_ptr addr, size_t size)); ! static lt_ptr rpl_realloc LT_PARAMS((lt_ptr ptr, size_t size)); /* These are the pointers that can be changed by the caller: */ LT_GLOBAL_DATA lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) --- 211,218 ---- static lt_ptr lt_emalloc LT_PARAMS((size_t size)); static lt_ptr lt_erealloc LT_PARAMS((lt_ptr addr, size_t size)); ! /* static lt_ptr rpl_realloc LT_PARAMS((lt_ptr ptr, size_t size)); */ ! #define rpl_realloc realloc /* These are the pointers that can be changed by the caller: */ LT_GLOBAL_DATA lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) *************** *** 209,215 **** strdup(str) const char *str; { ! char *tmp = NULL; if (str) { --- 263,269 ---- strdup(str) const char *str; { ! char *tmp = 0; if (str) { *************** *** 238,246 **** { if (str1 == str2) return 0; ! if (str1 == NULL) return -1; ! if (str2 == NULL) return 1; for (;*str1 && *str2; ++str1, ++str2) --- 292,300 ---- { if (str1 == str2) return 0; ! if (str1 == 0) return -1; ! if (str2 == 0) return 1; for (;*str1 && *str2; ++str1, ++str2) *************** *** 294,300 **** const char *str; int ch; { ! const char *p, *q = NULL; for (p = str; *p != LT_EOS_CHAR; ++p) { --- 348,354 ---- const char *str; int ch; { ! const char *p, *q = 0; for (p = str; *p != LT_EOS_CHAR; ++p) { *************** *** 371,376 **** --- 425,500 ---- #endif /* !HAVE_MEMMOVE */ + #ifdef LT_USE_WINDOWS_DIRENT_EMULATION + + static void closedir LT_PARAMS((DIR *entry)); + + static void + closedir(entry) + DIR *entry; + { + assert(entry != (DIR *) NULL); + FindClose(entry->hSearch); + lt_dlfree((lt_ptr)entry); + } + + + static DIR * opendir LT_PARAMS((const char *path)); + + static DIR* + opendir (path) + const char *path; + { + char file_specification[LT_FILENAME_MAX]; + DIR *entry; + + assert(path != (char *) NULL); + (void) strncpy(file_specification,path,LT_FILENAME_MAX-1); + (void) strcat(file_specification,"\\"); + entry = LT_DLMALLOC (DIR,sizeof(DIR)); + if (entry != (DIR *) 0) + { + entry->firsttime = TRUE; + entry->hSearch = FindFirstFile(file_specification,&entry->Win32FindData); + } + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + (void) strcat(file_specification,"\\*.*"); + entry->hSearch = FindFirstFile(file_specification,&entry->Win32FindData); + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + LT_DLFREE (entry); + return (DIR *) 0; + } + } + return(entry); + } + + + static struct dirent *readdir LT_PARAMS((DIR *entry)); + + static struct dirent *readdir(entry) + DIR *entry; + { + int + status; + + if (entry == (DIR *) 0) + return((struct dirent *) 0); + if (!entry->firsttime) + { + status = FindNextFile(entry->hSearch,&entry->Win32FindData); + if (status == 0) + return((struct dirent *) 0); + } + entry->firsttime = FALSE; + (void) strncpy(entry->file_info.d_name,entry->Win32FindData.cFileName, + LT_FILENAME_MAX-1); + entry->file_info.d_namlen = strlen(entry->file_info.d_name); + return(&entry->file_info); + } + + #endif /* LT_USE_WINDOWS_DIRENT_EMULATION */ /* According to Alexandre Oliva , ``realloc is not entirely portable'' *************** *** 379,386 **** Instead implement our own version (with known boundary conditions) using lt_dlmalloc and lt_dlfree. */ ! #undef realloc ! #define realloc rpl_realloc static lt_ptr realloc (ptr, size) --- 503,517 ---- Instead implement our own version (with known boundary conditions) using lt_dlmalloc and lt_dlfree. */ ! /* #undef realloc ! #define realloc rpl_realloc ! */ ! #if 0 ! /* You can't (re)define realloc unless you also (re)define malloc. ! Right now, this code uses the size of the *destination* to decide ! how much to copy. That's not right, but you can't know the size ! of the source unless you know enough about, or wrote malloc. So ! this code is disabled... */ static lt_ptr realloc (ptr, size) *************** *** 390,403 **** if (size == 0) { /* For zero or less bytes, free the original memory */ ! if (ptr != NULL) { lt_dlfree (ptr); } return (lt_ptr) 0; } ! else if (ptr == NULL) { /* Allow reallocation of a NULL pointer. */ return lt_dlmalloc (size); --- 521,534 ---- if (size == 0) { /* For zero or less bytes, free the original memory */ ! if (ptr != 0) { lt_dlfree (ptr); } return (lt_ptr) 0; } ! else if (ptr == 0) { /* Allow reallocation of a NULL pointer. */ return lt_dlmalloc (size); *************** *** 418,423 **** --- 549,555 ---- return mem; } } + #endif #if ! HAVE_ARGZ_APPEND *************** *** 476,482 **** size_t *pargz_len; { size_t argz_len; ! char *argz = NULL; assert (str); assert (pargz); --- 608,614 ---- size_t *pargz_len; { size_t argz_len; ! char *argz = 0; assert (str); assert (pargz); *************** *** 757,767 **** /* The mutex functions stored here are global, and are necessarily the same for all threads that wish to share access to libltdl. */ ! static lt_dlmutex_lock *lt_dlmutex_lock_func = NULL; ! static lt_dlmutex_unlock *lt_dlmutex_unlock_func = NULL; ! static lt_dlmutex_seterror *lt_dlmutex_seterror_func = NULL; ! static lt_dlmutex_geterror *lt_dlmutex_geterror_func = NULL; ! static const char *lt_dllast_error = NULL; /* Either set or reset the mutex functions. Either all the arguments must --- 889,899 ---- /* The mutex functions stored here are global, and are necessarily the same for all threads that wish to share access to libltdl. */ ! static lt_dlmutex_lock *lt_dlmutex_lock_func = 0; ! static lt_dlmutex_unlock *lt_dlmutex_unlock_func = 0; ! static lt_dlmutex_seterror *lt_dlmutex_seterror_func = 0; ! static lt_dlmutex_geterror *lt_dlmutex_geterror_func = 0; ! static const char *lt_dllast_error = 0; /* Either set or reset the mutex functions. Either all the arguments must *************** *** 810,816 **** /* --- ERROR HANDLING --- */ ! static const char **user_error_strings = NULL; static int errorcount = LT_ERROR_MAX; int --- 942,948 ---- /* --- ERROR HANDLING --- */ ! static const char **user_error_strings = 0; static int errorcount = LT_ERROR_MAX; int *************** *** 819,825 **** { int errindex = 0; int result = -1; ! const char **temp = NULL; assert (diagnostic); --- 951,957 ---- { int errindex = 0; int result = -1; ! const char **temp = (const char **) 0; assert (diagnostic); *************** *** 906,916 **** /* --- DLOPEN() INTERFACE LOADER --- */ ! /* The Cygwin dlopen implementation prints a spurious error message to ! stderr if its call to LoadLibrary() fails for any reason. We can ! mitigate this by not using the Cygwin implementation, and falling ! back to our own LoadLibrary() wrapper. */ ! #if HAVE_LIBDL && !defined(__CYGWIN__) /* dynamic linking with dlopen/dlsym */ --- 1038,1044 ---- /* --- DLOPEN() INTERFACE LOADER --- */ ! #if HAVE_LIBDL /* dynamic linking with dlopen/dlsym */ *************** *** 1131,1137 **** lt_module module; const char *symbol; { ! lt_ptr address = NULL; /* sys_shl_open should never return a NULL module handle */ if (module == (lt_module) 0) --- 1259,1265 ---- lt_module module; const char *symbol; { ! lt_ptr address = 0; /* sys_shl_open should never return a NULL module handle */ if (module == (lt_module) 0) *************** *** 1175,1190 **** const char *filename; { lt_dlhandle cur; ! lt_module module = NULL; ! const char *errormsg = NULL; ! char *searchname = NULL; char *ext; char self_name_buf[MAX_PATH]; if (!filename) { /* Get the name of main module */ ! *self_name_buf = '\0'; GetModuleFileName (NULL, self_name_buf, sizeof (self_name_buf)); filename = ext = self_name_buf; } --- 1303,1318 ---- const char *filename; { lt_dlhandle cur; ! lt_module module = 0; ! const char *errormsg = 0; ! char *searchname = 0; char *ext; char self_name_buf[MAX_PATH]; if (!filename) { /* Get the name of main module */ ! *self_name_buf = 0; GetModuleFileName (NULL, self_name_buf, sizeof (self_name_buf)); filename = ext = self_name_buf; } *************** *** 1234,1240 **** { if (!cur->module) { ! cur = NULL; break; } --- 1362,1368 ---- { if (!cur->module) { ! cur = 0; break; } *************** *** 1250,1256 **** if (cur || !module) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); ! module = NULL; } return module; --- 1378,1384 ---- if (cur || !module) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); ! module = 0; } return module; *************** *** 1356,1368 **** lt_module module; const char *symbol; { ! lt_ptr address = NULL; image_id image = (image_id) module; if (get_image_symbol (image, symbol, B_SYMBOL_TYPE_ANY, address) != B_OK) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); ! address = NULL; } return address; --- 1484,1496 ---- lt_module module; const char *symbol; { ! lt_ptr address = 0; image_id image = (image_id) module; if (get_image_symbol (image, symbol, B_SYMBOL_TYPE_ANY, address) != B_OK) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND)); ! address = 0; } return address; *************** *** 1399,1405 **** { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); LT_DLFREE (module); ! module = NULL; } return module; --- 1527,1533 ---- { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN)); LT_DLFREE (module); ! module = 0; } return module; *************** *** 1447,1453 **** --- 1575,1919 ---- #endif /* HAVE_DLD */ + /* --- DYLD() MACOSX/DARWIN INTERFACE LOADER --- */ + #if HAVE_DYLD + + + #if HAVE_MACH_O_DYLD_H + # include + #endif + #include + + /* We have to put some stuff here that isn't in older dyld.h files */ + #ifndef ENUM_DYLD_BOOL + # define ENUM_DYLD_BOOL + # undef FALSE + # undef TRUE + enum DYLD_BOOL { + FALSE, + TRUE + }; + #endif + #ifndef LC_REQ_DYLD + # define LC_REQ_DYLD 0x80000000 + #endif + #ifndef LC_LOAD_WEAK_DYLIB + # define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) + #endif + static const struct mach_header * (*ltdl_NSAddImage)(const char *image_name, unsigned long options) = 0; + static NSSymbol (*ltdl_NSLookupSymbolInImage)(const struct mach_header *image,const char *symbolName, unsigned long options) = 0; + static enum DYLD_BOOL (*ltdl_NSIsSymbolNameDefinedInImage)(const struct mach_header *image, const char *symbolName) = 0; + static enum DYLD_BOOL (*ltdl_NSMakePrivateModulePublic)(NSModule module) = 0; + + #ifndef NSADDIMAGE_OPTION_NONE + #define NSADDIMAGE_OPTION_NONE 0x0 + #endif + #ifndef NSADDIMAGE_OPTION_RETURN_ON_ERROR + #define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 + #endif + #ifndef NSADDIMAGE_OPTION_WITH_SEARCHING + #define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 + #endif + #ifndef NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED + #define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 + #endif + #ifndef NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME + #define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 + #endif + #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND + #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 + #endif + #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW + #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 + #endif + #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY + #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 + #endif + #ifndef NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR + #define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 + #endif + + + static const char * + lt_int_dyld_error(othererror) + char* othererror; + { + /* return the dyld error string, or the passed in error string if none */ + NSLinkEditErrors ler; + int lerno; + const char *errstr; + const char *file; + NSLinkEditError(&ler,&lerno,&file,&errstr); + if (!errstr || !strlen(errstr)) errstr = othererror; + return errstr; + } + + static const struct mach_header * + lt_int_dyld_get_mach_header_from_nsmodule(module) + NSModule module; + { + /* There should probably be an apple dyld api for this */ + int i=_dyld_image_count(); + int j; + const char *modname=NSNameOfModule(module); + const struct mach_header *mh=NULL; + if (!modname) return NULL; + for (j = 0; j < i; j++) + { + if (!strcmp(_dyld_get_image_name(j),modname)) + { + mh=_dyld_get_image_header(j); + break; + } + } + return mh; + } + + static const char* lt_int_dyld_lib_install_name(mh) + const struct mach_header *mh; + { + /* NSAddImage is also used to get the loaded image, but it only works if the lib + is installed, for uninstalled libs we need to check the install_names against + each other. Note that this is still broken if DYLD_IMAGE_SUFFIX is set and a + different lib was loaded as a result + */ + int j; + struct load_command *lc; + unsigned long offset = sizeof(struct mach_header); + const struct mach_header *mh1; + const char* retStr=NULL; + for (j = 0; j < mh->ncmds; j++) + { + lc = (struct load_command*)(((unsigned long)mh) + offset); + if (LC_ID_DYLIB == lc->cmd) + { + retStr=(char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc); + } + offset += lc->cmdsize; + } + return retStr; + } + + static const struct mach_header * + lt_int_dyld_match_loaded_lib_by_install_name(const char *name) + { + int i=_dyld_image_count(); + int j; + const struct mach_header *mh=NULL; + const char *id=NULL; + for (j = 0; j < i; j++) + { + id=lt_int_dyld_lib_install_name(_dyld_get_image_header(j)); + if ((id) && (!strcmp(id,name))) + { + mh=_dyld_get_image_header(j); + break; + } + } + return mh; + } + + static NSSymbol + lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh) + const char *symbol; + const struct mach_header *mh; + { + /* Safe to assume our mh is good */ + int j; + struct load_command *lc; + unsigned long offset = sizeof(struct mach_header); + NSSymbol retSym = 0; + const struct mach_header *mh1; + if ((ltdl_NSLookupSymbolInImage) && NSIsSymbolNameDefined(symbol) ) + { + for (j = 0; j < mh->ncmds; j++) + { + lc = (struct load_command*)(((unsigned long)mh) + offset); + if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd)) + { + mh1=lt_int_dyld_match_loaded_lib_by_install_name((char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc)); + if (!mh1) + { + /* Maybe NSAddImage can find it */ + mh1=ltdl_NSAddImage((char*)(((struct dylib_command*)lc)->dylib.name.offset + + (unsigned long)lc), + NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED + + NSADDIMAGE_OPTION_WITH_SEARCHING + + NSADDIMAGE_OPTION_RETURN_ON_ERROR ); + } + if (mh1) + { + retSym = ltdl_NSLookupSymbolInImage(mh1, + symbol, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW + | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR + ); + if (retSym) break; + } + } + offset += lc->cmdsize; + } + } + return retSym; + } + + static int + sys_dyld_init() + { + int retCode = 0; + int err = 0; + if (!_dyld_present()) { + retCode=1; + } + else { + err = _dyld_func_lookup("__dyld_NSAddImage",(unsigned long*)<dl_NSAddImage); + err = _dyld_func_lookup("__dyld_NSLookupSymbolInImage",(unsigned long*)<dl_NSLookupSymbolInImage); + err = _dyld_func_lookup("__dyld_NSIsSymbolNameDefinedInImage",(unsigned long*)<dl_NSIsSymbolNameDefinedInImage); + err = _dyld_func_lookup("__dyld_NSMakePrivateModulePublic",(unsigned long*)<dl_NSMakePrivateModulePublic); + } + return retCode; + } + + static lt_module + sys_dyld_open (loader_data, filename) + lt_user_data loader_data; + const char *filename; + { + lt_module module = 0; + NSObjectFileImage ofi = 0; + NSObjectFileImageReturnCode ofirc; + + if (!filename) + return (lt_module)-1; + ofirc = NSCreateObjectFileImageFromFile(filename, &ofi); + switch (ofirc) + { + case NSObjectFileImageSuccess: + module = NSLinkModule(ofi, filename, + NSLINKMODULE_OPTION_RETURN_ON_ERROR + | NSLINKMODULE_OPTION_PRIVATE + | NSLINKMODULE_OPTION_BINDNOW); + NSDestroyObjectFileImage(ofi); + if (module) + ltdl_NSMakePrivateModulePublic(module); + break; + case NSObjectFileImageInappropriateFile: + if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage) + { + module = (lt_module)ltdl_NSAddImage(filename, NSADDIMAGE_OPTION_RETURN_ON_ERROR); + break; + } + default: + LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN))); + return 0; + } + if (!module) LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_OPEN))); + return module; + } + static int + sys_dyld_close (loader_data, module) + lt_user_data loader_data; + lt_module module; + { + int retCode = 0; + int flags = 0; + unsigned long size=0; + if (module == (lt_module)-1) return 0; + #ifdef __BIG_ENDIAN__ + if (((struct mach_header *)module)->magic == MH_MAGIC) + #else + if (((struct mach_header *)module)->magic == MH_CIGAM) + #endif + { + LT_DLMUTEX_SETERROR("Can not close a dylib"); + retCode = 1; + } + else + { + #if 1 + /* Currently, if a module contains c++ static destructors and it is unloaded, we + get a segfault in atexit(), due to compiler and dynamic loader differences of + opinion, this works around that. + */ + if ((const struct section *)NULL != + getsectbynamefromheader(lt_int_dyld_get_mach_header_from_nsmodule(module), + "__DATA","__mod_term_func")) + { + flags += NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED; + } + #endif + #ifdef __ppc__ + flags += NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES; + #endif + if (!NSUnLinkModule(module,flags)) + { + retCode=1; + LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(CANNOT_CLOSE))); + } + } + + return retCode; + } + + static lt_ptr + sys_dyld_sym (loader_data, module, symbol) + lt_user_data loader_data; + lt_module module; + const char *symbol; + { + lt_ptr address = 0; + NSSymbol *nssym = 0; + void *unused; + const struct mach_header *mh=NULL; + if (module == (lt_module)-1) + { + _dyld_lookup_and_bind(symbol,(unsigned long*)&address,&unused); + return address; + } + #ifdef __BIG_ENDIAN__ + if (((struct mach_header *)module)->magic == MH_MAGIC) + #else + if (((struct mach_header *)module)->magic == MH_CIGAM) + #endif + { + if (ltdl_NSIsSymbolNameDefinedInImage && ltdl_NSLookupSymbolInImage) + { + mh=module; + if (ltdl_NSIsSymbolNameDefinedInImage((struct mach_header*)module,symbol)) + { + nssym = ltdl_NSLookupSymbolInImage((struct mach_header*)module, + symbol, + NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW + | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR + ); + } + } + + } + else { + nssym = NSLookupSymbolInModule(module, symbol); + } + if (!nssym) + { + if (!mh) mh=lt_int_dyld_get_mach_header_from_nsmodule(module); + nssym = lt_int_dyld_NSlookupSymbolInLinkedLibs(symbol,mh); + } + if (!nssym) + { + LT_DLMUTEX_SETERROR (lt_int_dyld_error(LT_DLSTRERROR(SYMBOL_NOT_FOUND))); + return NULL; + } + return NSAddressOfSymbol(nssym); + } + + static struct lt_user_dlloader sys_dyld = + { "_", sys_dyld_open, sys_dyld_close, sys_dyld_sym, 0, 0 }; + + + #endif /* HAVE_DYLD */ /* --- DLPREOPEN() INTERFACE LOADER --- */ *************** *** 1461,1468 **** const lt_dlsymlist *syms; } lt_dlsymlists_t; ! static const lt_dlsymlist *default_preloaded_symbols = NULL; ! static lt_dlsymlists_t *preloaded_symbols = NULL; static int presym_init (loader_data) --- 1927,1934 ---- const lt_dlsymlist *syms; } lt_dlsymlists_t; ! static const lt_dlsymlist *default_preloaded_symbols = 0; ! static lt_dlsymlists_t *preloaded_symbols = 0; static int presym_init (loader_data) *************** *** 1472,1478 **** LT_DLMUTEX_LOCK (); ! preloaded_symbols = NULL; if (default_preloaded_symbols) { errors = lt_dlpreload (default_preloaded_symbols); --- 1938,1944 ---- LT_DLMUTEX_LOCK (); ! preloaded_symbols = 0; if (default_preloaded_symbols) { errors = lt_dlpreload (default_preloaded_symbols); *************** *** 1498,1504 **** lists = lists->next; LT_DLFREE (tmp); } ! preloaded_symbols = NULL; LT_DLMUTEX_UNLOCK (); --- 1964,1970 ---- lists = lists->next; LT_DLFREE (tmp); } ! preloaded_symbols = 0; LT_DLMUTEX_UNLOCK (); *************** *** 1607,1613 **** lt_module module; { /* Just to silence gcc -Wall */ ! module = NULL; return 0; } --- 2073,2079 ---- lt_module module; { /* Just to silence gcc -Wall */ ! module = 0; return 0; } *************** *** 1710,1718 **** size_t *pargz_len)); static int file_not_found LT_PARAMS((void)); ! static char *user_search_path= NULL; ! static lt_dlloader *loaders = NULL; ! static lt_dlhandle handles = NULL; static int initialized = 0; /* Initialize libltdl. */ --- 2176,2184 ---- size_t *pargz_len)); static int file_not_found LT_PARAMS((void)); ! static char *user_search_path= 0; ! static lt_dlloader *loaders = 0; ! static lt_dlhandle handles = 0; static int initialized = 0; /* Initialize libltdl. */ *************** *** 1726,1735 **** /* Initialize only at first call. */ if (++initialized == 1) { ! handles = NULL; ! user_search_path = NULL; /* empty search path */ ! #if HAVE_LIBDL && !defined(__CYGWIN__) errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dl, "dlopen"); #endif #if HAVE_SHL_LOAD --- 2192,2201 ---- /* Initialize only at first call. */ if (++initialized == 1) { ! handles = 0; ! user_search_path = 0; /* empty search path */ ! #if HAVE_LIBDL errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dl, "dlopen"); #endif #if HAVE_SHL_LOAD *************** *** 1744,1749 **** --- 2210,2219 ---- #if HAVE_DLD errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dld, "dld"); #endif + #if HAVE_DYLD + errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dyld, "dyld"); + errors += sys_dyld_init(); + #endif errors += lt_dlloader_add (lt_dlloader_next (0), &presym, "dlpreload"); if (presym_init (presym.dlloader_data)) *************** *** 1862,1868 **** LT_DLMEM_REASSIGN (loader, next); } ! loaders = NULL; } done: --- 2332,2338 ---- LT_DLMEM_REASSIGN (loader, next); } ! loaders = 0; } done: *************** *** 1914,1919 **** --- 2384,2401 ---- cur = *handle; if (filename) { + /* Comment out the check of file permissions using access. + This call seems to always return -1 with error EACCES. + */ + /* We need to catch missing file errors early so that + file_not_found() can detect what happened. + if (access (filename, R_OK) != 0) + { + LT_DLMUTEX_SETERROR (LT_DLSTRERROR (FILE_NOT_FOUND)); + ++errors; + goto done; + } */ + cur->info.filename = lt_estrdup (filename); if (!cur->info.filename) { *************** *** 1923,1929 **** } else { ! cur->info.filename = NULL; } while (loader) --- 2405,2411 ---- } else { ! cur->info.filename = 0; } while (loader) *************** *** 1932,1938 **** cur->module = loader->module_open (data, filename); ! if (cur->module != NULL) { break; } --- 2414,2420 ---- cur->module = loader->module_open (data, filename); ! if (cur->module != 0) { break; } *************** *** 1963,1969 **** const char *dlname; { int error = 0; ! char *filename = NULL; size_t filename_len = 0; size_t dirname_len = LT_STRLEN (dirname); --- 2445,2451 ---- const char *dlname; { int error = 0; ! char *filename = 0; size_t filename_len = 0; size_t dirname_len = LT_STRLEN (dirname); *************** *** 1973,1983 **** #ifdef LT_DIRSEP_CHAR /* Only canonicalized names (i.e. with DIRSEP chars already converted) should make it into this function: */ ! assert (strchr (dirname, LT_DIRSEP_CHAR) == NULL); #endif ! if (dirname[dirname_len -1] == '/') ! --dirname_len; filename_len = dirname_len + 1 + LT_STRLEN (dlname); /* Allocate memory, and combine DIRNAME and MODULENAME into it. --- 2455,2466 ---- #ifdef LT_DIRSEP_CHAR /* Only canonicalized names (i.e. with DIRSEP chars already converted) should make it into this function: */ ! assert (strchr (dirname, LT_DIRSEP_CHAR) == 0); #endif ! if (dirname_len > 0) ! if (dirname[dirname_len -1] == '/') ! --dirname_len; filename_len = dirname_len + 1 + LT_STRLEN (dlname); /* Allocate memory, and combine DIRNAME and MODULENAME into it. *************** *** 2057,2063 **** const char *path; char **pcanonical; { ! char *canonical = NULL; assert (path && *path); assert (pcanonical); --- 2540,2546 ---- const char *path; char **pcanonical; { ! char *canonical = 0; assert (path && *path); assert (pcanonical); *************** *** 2161,2169 **** int filenamesize = 0; size_t lenbase = LT_STRLEN (base_name); size_t argz_len = 0; ! char *argz = NULL; ! char *filename = NULL; ! char *canonical = NULL; LT_DLMUTEX_LOCK (); --- 2644,2652 ---- int filenamesize = 0; size_t lenbase = LT_STRLEN (base_name); size_t argz_len = 0; ! char *argz = 0; ! char *filename = 0; ! char *canonical = 0; LT_DLMUTEX_LOCK (); *************** *** 2180,2186 **** goto cleanup; { ! char *dir_name = NULL; while ((dir_name = argz_next (argz, argz_len, dir_name))) { size_t lendir = LT_STRLEN (dir_name); --- 2663,2669 ---- goto cleanup; { ! char *dir_name = 0; while ((dir_name = argz_next (argz, argz_len, dir_name))) { size_t lendir = LT_STRLEN (dir_name); *************** *** 2247,2253 **** LT_DLFREE (*pdir); *pdir = lt_estrdup (filename); ! is_done = (*pdir == NULL) ? -1 : 1; } return is_done; --- 2730,2736 ---- LT_DLFREE (*pdir); *pdir = lt_estrdup (filename); ! is_done = (*pdir == 0) ? -1 : 1; } return is_done; *************** *** 2259,2265 **** const char *base_name; char **pdir; { ! FILE *file = NULL; foreach_dirinpath (search_path, base_name, find_file_callback, pdir, &file); --- 2742,2748 ---- const char *base_name; char **pdir; { ! FILE *file = 0; foreach_dirinpath (search_path, base_name, find_file_callback, pdir, &file); *************** *** 2282,2288 **** /* Try to dlopen the file, but do not continue searching in any case. */ if (tryall_dlopen (handle, filename) != 0) ! *handle = NULL; return 1; } --- 2765,2771 ---- /* Try to dlopen the file, but do not continue searching in any case. */ if (tryall_dlopen (handle, filename) != 0) ! *handle = 0; return 1; } *************** *** 2311,2320 **** char *deplibs; { #if LTDL_DLOPEN_DEPLIBS ! char *p, *save_search_path = NULL; int depcount = 0; int i; ! char **names = NULL; #endif int errors = 0; --- 2794,2803 ---- char *deplibs; { #if LTDL_DLOPEN_DEPLIBS ! char *p, *save_search_path = 0; int depcount = 0; int i; ! char **names = 0; #endif int errors = 0; *************** *** 2350,2356 **** if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0) { char save = *end; ! *end = '\0'; /* set a temporary string terminator */ if (lt_dladdsearchdir(p+2)) { goto cleanup; --- 2833,2839 ---- if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0) { char save = *end; ! *end = 0; /* set a temporary string terminator */ if (lt_dladdsearchdir(p+2)) { goto cleanup; *************** *** 2407,2413 **** { char *name; char save = *end; ! *end = '\0'; /* set a temporary string terminator */ if (strncmp(p, "-l", 2) == 0) { size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2); --- 2890,2896 ---- { char *name; char save = *end; ! *end = 0; /* set a temporary string terminator */ if (strncmp(p, "-l", 2) == 0) { size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2); *************** *** 2513,2519 **** } else { ! *dest = NULL; } return 0; --- 2996,3002 ---- } else { ! *dest = 0; } return 0; *************** *** 2539,2555 **** lt_dlhandle *phandle; const char *filename; { ! const char * ext = NULL; ! const char * saved_error = NULL; ! char * canonical = NULL; ! char * base_name = NULL; ! char * dir = NULL; ! char * name = NULL; int errors = 0; lt_dlhandle newhandle; assert (phandle); ! assert (*phandle == NULL); LT_DLMUTEX_GETERROR (saved_error); --- 3022,3038 ---- lt_dlhandle *phandle; const char *filename; { ! const char * ext = 0; ! const char * saved_error = 0; ! char * canonical = 0; ! char * base_name = 0; ! char * dir = 0; ! char * name = 0; int errors = 0; lt_dlhandle newhandle; assert (phandle); ! assert (*phandle == 0); LT_DLMUTEX_GETERROR (saved_error); *************** *** 2557,2563 **** if (!filename) { *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == NULL) return 1; memset (*phandle, 0, sizeof(struct lt_dlhandle_struct)); --- 3040,3046 ---- if (!filename) { *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == 0) return 1; memset (*phandle, 0, sizeof(struct lt_dlhandle_struct)); *************** *** 2614,2625 **** if (ext && strcmp (ext, archive_ext) == 0) { /* this seems to be a libtool module */ ! FILE * file = NULL; ! char * dlname = NULL; ! char * old_name = NULL; ! char * libdir = NULL; ! char * deplibs = NULL; ! char * line = NULL; size_t line_len; /* if we can't find the installed flag, it is probably an --- 3097,3108 ---- if (ext && strcmp (ext, archive_ext) == 0) { /* this seems to be a libtool module */ ! FILE * file = 0; ! char * dlname = 0; ! char * old_name = 0; ! char * libdir = 0; ! char * deplibs = 0; ! char * line = 0; size_t line_len; /* if we can't find the installed flag, it is probably an *************** *** 2721,2727 **** /* Handle the case where we occasionally need to read a line that is longer than the initial buffer size. */ ! while (line[LT_STRLEN(line) -1] != '\n') { line = LT_DLREALLOC (char, line, line_len *2); if (!fgets (&line[line_len -1], (int) line_len +1, file)) --- 3204,3210 ---- /* Handle the case where we occasionally need to read a line that is longer than the initial buffer size. */ ! while ((line[LT_STRLEN(line) -1] != '\n') && (!feof (file))) { line = LT_DLREALLOC (char, line, line_len *2); if (!fgets (&line[line_len -1], (int) line_len +1, file)) *************** *** 2782,2788 **** errors += trim (&dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]); if (!errors && dlname ! && (last_libname = strrchr (dlname, ' ')) != NULL) { last_libname = lt_estrdup (last_libname + 1); if (!last_libname) --- 3265,3271 ---- errors += trim (&dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]); if (!errors && dlname ! && (last_libname = strrchr (dlname, ' ')) != 0) { last_libname = lt_estrdup (last_libname + 1); if (!last_libname) *************** *** 2803,2809 **** /* allocate the handle */ *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == NULL) ++errors; if (errors) --- 3286,3292 ---- /* allocate the handle */ *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == 0) ++errors; if (errors) *************** *** 2847,2853 **** { /* not a libtool module */ *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == NULL) { ++errors; goto cleanup; --- 3330,3336 ---- { /* not a libtool module */ *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1); ! if (*phandle == 0) { ++errors; goto cleanup; *************** *** 2914,2920 **** lt_dlopen (filename) const char *filename; { ! lt_dlhandle handle = NULL; /* Just incase we missed a code path in try_dlopen() that reports an error, but forgets to reset handle... */ --- 3397,3403 ---- lt_dlopen (filename) const char *filename; { ! lt_dlhandle handle = 0; /* Just incase we missed a code path in try_dlopen() that reports an error, but forgets to reset handle... */ *************** *** 2929,2935 **** static int file_not_found () { ! const char *error = NULL; LT_DLMUTEX_GETERROR (error); if (error == LT_DLSTRERROR (FILE_NOT_FOUND)) --- 3412,3418 ---- static int file_not_found () { ! const char *error = 0; LT_DLMUTEX_GETERROR (error); if (error == LT_DLSTRERROR (FILE_NOT_FOUND)) *************** *** 2946,2954 **** lt_dlopenext (filename) const char *filename; { ! lt_dlhandle handle = NULL; ! char * tmp = NULL; ! char * ext = NULL; size_t len; int errors = 0; --- 3429,3437 ---- lt_dlopenext (filename) const char *filename; { ! lt_dlhandle handle = 0; ! char * tmp = 0; ! char * ext = 0; size_t len; int errors = 0; *************** *** 2987,2993 **** failed, it is better to return an error message here than to report FILE_NOT_FOUND when the alternatives (foo.so etc) are not in the module search path. */ ! if (handle || ((errors > 0) && file_not_found ())) { LT_DLFREE (tmp); return handle; --- 3470,3476 ---- failed, it is better to return an error message here than to report FILE_NOT_FOUND when the alternatives (foo.so etc) are not in the module search path. */ ! if (handle || ((errors > 0) && !file_not_found ())) { LT_DLFREE (tmp); return handle; *************** *** 3014,3020 **** /* As before, if the file was found but loading failed, return now with the current error message. */ ! if (handle || ((errors > 0) && file_not_found ())) { LT_DLFREE (tmp); return handle; --- 3497,3503 ---- /* As before, if the file was found but loading failed, return now with the current error message. */ ! if (handle || ((errors > 0) && !file_not_found ())) { LT_DLFREE (tmp); return handle; *************** *** 3061,3067 **** size_t *pargz_len; const char *entry; { ! char *before = NULL; assert (pargz); assert (pargz_len); --- 3544,3550 ---- size_t *pargz_len; const char *entry; { ! char *before = 0; assert (pargz); assert (pargz_len); *************** *** 3086,3094 **** const char *dirnam; struct dirent *dp; { ! char *buf = NULL; size_t buf_len = 0; ! char *end = NULL; size_t end_offset = 0; size_t dir_len = 0; int errors = 0; --- 3569,3577 ---- const char *dirnam; struct dirent *dp; { ! char *buf = 0; size_t buf_len = 0; ! char *end = 0; size_t end_offset = 0; size_t dir_len = 0; int errors = 0; *************** *** 3151,3157 **** char **pargz; size_t *pargz_len; { ! DIR *dirp = NULL; int errors = 0; assert (dirnam && *dirnam); --- 3634,3640 ---- char **pargz; size_t *pargz_len; { ! DIR *dirp = 0; int errors = 0; assert (dirnam && *dirnam); *************** *** 3162,3168 **** dirp = opendir (dirnam); if (dirp) { ! struct dirent *dp = NULL; while ((dp = readdir (dirp))) if (dp->d_name[0] != '.') --- 3645,3651 ---- dirp = opendir (dirnam); if (dirp) { ! struct dirent *dp = 0; while ((dp = readdir (dirp))) if (dp->d_name[0] != '.') *************** *** 3193,3199 **** = (int (*) LT_PARAMS((const char *filename, lt_ptr data))) data1; int is_done = 0; ! char *argz = NULL; size_t argz_len = 0; if (list_files_by_dir (dirname, &argz, &argz_len) != 0) --- 3676,3682 ---- = (int (*) LT_PARAMS((const char *filename, lt_ptr data))) data1; int is_done = 0; ! char *argz = 0; size_t argz_len = 0; if (list_files_by_dir (dirname, &argz, &argz_len) != 0) *************** *** 3202,3208 **** goto cleanup; { ! char *filename = NULL; while ((filename = argz_next (argz, argz_len, filename))) if ((is_done = (*func) (filename, data2))) break; --- 3685,3691 ---- goto cleanup; { ! char *filename = 0; while ((filename = argz_next (argz, argz_len, filename))) if ((is_done = (*func) (filename, data2))) break; *************** *** 3446,3453 **** const char *dir; { int errors = 0; ! char *canonical = NULL; ! char *argz = NULL; size_t argz_len = 0; assert (ppath); --- 3929,3936 ---- const char *dir; { int errors = 0; ! char *canonical = 0; ! char *argz = 0; size_t argz_len = 0; assert (ppath); *************** *** 3462,3474 **** assert (canonical && *canonical); /* If *PPATH is empty, set it to DIR. */ ! if (*ppath == NULL) { assert (!before); /* BEFORE cannot be set without PPATH. */ assert (dir); /* Without DIR, don't call this function! */ *ppath = lt_estrdup (dir); ! if (*ppath == NULL) ++errors; return errors; --- 3945,3957 ---- assert (canonical && *canonical); /* If *PPATH is empty, set it to DIR. */ ! if (*ppath == 0) { assert (!before); /* BEFORE cannot be set without PPATH. */ assert (dir); /* Without DIR, don't call this function! */ *ppath = lt_estrdup (dir); ! if (*ppath == 0) ++errors; return errors; *************** *** 3702,3708 **** lt_ptr data; { int n_elements = 0; ! lt_ptr stale = NULL; int i; /* This needs to be locked so that the caller data can be updated --- 4185,4191 ---- lt_ptr data; { int n_elements = 0; ! lt_ptr stale = (lt_ptr) 0; int i; /* This needs to be locked so that the caller data can be updated *************** *** 3731,3737 **** if (!temp) { ! stale = NULL; goto done; } --- 4214,4220 ---- if (!temp) { ! stale = 0; goto done; } *************** *** 3791,3802 **** const char *loader_name; { int errors = 0; ! lt_dlloader *node = NULL, *ptr = NULL; ! if ((dlloader == NULL) /* diagnose null parameters */ ! || (dlloader->module_open == NULL) ! || (dlloader->module_close == NULL) ! || (dlloader->find_sym == NULL)) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); return 1; --- 4274,4285 ---- const char *loader_name; { int errors = 0; ! lt_dlloader *node = 0, *ptr = 0; ! if ((dlloader == 0) /* diagnose null parameters */ ! || (dlloader->module_open == 0) ! || (dlloader->module_close == 0) ! || (dlloader->find_sym == 0)) { LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER)); return 1; *************** *** 3807,3813 **** if (!node) return 1; ! node->next = NULL; node->loader_name = loader_name; node->sym_prefix = dlloader->sym_prefix; node->dlloader_exit = dlloader->dlloader_exit; --- 4290,4296 ---- if (!node) return 1; ! node->next = 0; node->loader_name = loader_name; node->sym_prefix = dlloader->sym_prefix; node->dlloader_exit = dlloader->dlloader_exit; *************** *** 3943,3949 **** lt_dlloader_name (place) lt_dlloader *place; { ! const char *name = NULL; if (place) { --- 4426,4432 ---- lt_dlloader_name (place) lt_dlloader *place; { ! const char *name = 0; if (place) { *************** *** 3963,3969 **** lt_dlloader_data (place) lt_dlloader *place; { ! lt_user_data *data = NULL; if (place) { --- 4446,4452 ---- lt_dlloader_data (place) lt_dlloader *place; { ! lt_user_data *data = 0; if (place) { *************** *** 3983,3989 **** lt_dlloader_find (loader_name) const char *loader_name; { ! lt_dlloader *place = NULL; LT_DLMUTEX_LOCK (); for (place = loaders; place; place = place->next) --- 4466,4472 ---- lt_dlloader_find (loader_name) const char *loader_name; { ! lt_dlloader *place = 0; LT_DLMUTEX_LOCK (); for (place = loaders; place; place = place->next) Index: libtool/mdemo/Makefile.am diff -c libtool/mdemo/Makefile.am:1.43.2.1 libtool/mdemo/Makefile.am:1.46 *** libtool/mdemo/Makefile.am:1.43.2.1 Thu Jun 28 22:38:04 2001 --- libtool/mdemo/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 10,16 **** foo1_la_SOURCES = foo1.c foo1_la_LIBADD = $(LIBM) libsub.la ! foo1_la_LDFLAGS = -module -avoid-version libfoo2_la_SOURCES = foo2.c libfoo2_la_LIBADD = $(LIBM) libsub.la --- 10,16 ---- foo1_la_SOURCES = foo1.c foo1_la_LIBADD = $(LIBM) libsub.la ! foo1_la_LDFLAGS = -no-undefined -module -avoid-version libfoo2_la_SOURCES = foo2.c libfoo2_la_LIBADD = $(LIBM) libsub.la *************** *** 21,27 **** noinst_HEADERS = foo.h ! bin_PROGRAMS = mdemo mdemo.static ## use @LIBLTDL@ because some broken makes do not accept macros in targets ## we can only do this because our LIBLTDL does not contain ${top_builddir} --- 21,27 ---- noinst_HEADERS = foo.h ! bin_PROGRAMS = mdemo mdemo_static ## use @LIBLTDL@ because some broken makes do not accept macros in targets ## we can only do this because our LIBLTDL does not contain ${top_builddir} Index: libtool/mdemo/configure.ac diff -c /dev/null libtool/mdemo/configure.ac:1.3 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/mdemo/configure.ac Sat Oct 6 11:35:17 2001 *************** *** 0 **** --- 1,79 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([mdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([main.c]) + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ------------------ ## + ## C compiler checks. ## + ## ------------------ ## + AC_PROG_CC + AC_C_CONST + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBLTDL_CONVENIENCE([../libltdl]) + AC_SUBST([INCLTDL]) + AC_SUBST([LIBLTDL]) + + AC_LIBTOOL_WIN32_DLL + AC_LIBTOOL_DLOPEN + AM_PROG_LIBTOOL + AC_SUBST(LIBTOOL_DEPS) + + if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then + STATIC=-static + else + STATIC= + fi + AC_SUBST([STATIC]) + + + ## ---------------------------- ## + ## C headers required by mdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([math.h]) + + + ## ---------------------------- ## + ## Libraries required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/mdemo/configure.in diff -c libtool/mdemo/configure.in:1.24 libtool/mdemo/configure.in:removed *** libtool/mdemo/configure.in:1.24 Mon Sep 4 01:10:30 2000 --- libtool/mdemo/configure.in Mon Apr 14 19:16:48 2003 *************** *** 1,32 **** - dnl Process this file with autoconf to create configure. - - AC_INIT(main.c) - AM_INIT_AUTOMAKE(mdemo,0.1) - - AC_PROG_CC - AC_C_CONST - AC_EXEEXT - - AC_LIBLTDL_CONVENIENCE(../libltdl) - AC_SUBST(INCLTDL) - AC_SUBST(LIBLTDL) - - AC_LIBTOOL_WIN32_DLL - AC_LIBTOOL_DLOPEN - AM_PROG_LIBTOOL - AC_SUBST(LIBTOOL_DEPS) - - if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then - STATIC=-static - else - STATIC= - fi - AC_SUBST(STATIC) - - AC_CHECK_HEADERS(math.h) - - AC_CHECK_LIBM - AC_SUBST(LIBM) - - dnl Output the makefile - AC_OUTPUT(Makefile) --- 0 ---- Index: libtool/pdemo/.cvsignore diff -c /dev/null libtool/pdemo/.cvsignore:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/.cvsignore Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,19 ---- + .deps + .libs + Makefile + Makefile.in + acinclude.m4 + aclocal.m4 + configure + config.* + conftest* + hc-direct + hc-libflag + hc-libpath + hc-minusL + libtool + *.lo + *.la + hell + hell.static + helldl Index: libtool/pdemo/Makefile.am diff -c /dev/null libtool/pdemo/Makefile.am:1.6 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/Makefile.am Tue Nov 19 04:42:39 2002 *************** *** 0 **** --- 1,145 ---- + ## Process this file with automake to produce Makefile.in + + AUTOMAKE_OPTIONS = no-dependencies foreign + + EXTRA_DIST = acinclude.m4 + + # Build a libtool library, libhello.la for installation in libdir. + lib_LTLIBRARIES = libhello.la + libhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.c + libhello_la_LIBADD = $(LIBM) + libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 + + include_HEADERS = foo.h + + if BINARY_HELLDL + BUILD_helldl = helldl + else + BUILD_helldl = + endif + + bin_PROGRAMS = hell hell_static $(BUILD_helldl) + + # Build hell from longer_file_name_main.c and libhello.la + hell_SOURCES = longer_file_name_main.c + hell_LDADD = libhello.la + + # Create a statically linked version of hell. + hell_static_SOURCES = longer_file_name_main.c + hell_static_LDADD = libhello.la + hell_static_LDFLAGS = $(STATIC) + + if BINARY_HELLDL + + # Create a version of hell that does a preloaded dlopen. + helldl_SOURCES = longer_file_name_dlmain.c + helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la + helldl_DEPENDENCIES = libhello.la + + else + + bin_SCRIPTS = helldl + # create a script that says that -dlopen is not supported + helldl helldl$(EXEEXT): + rm -f $@ + echo '#! /bin/sh' > $@ + echo '-dlopen is unsupported' >> $@ + chmod +x $@ + endif + + $(OBJECTS): libtool + libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + + #---------------------------------------------------------------------- + # The following declarations are only used in the testsuite: + #---------------------------------------------------------------------- + + hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusL + CLEANFILES = $(hardcode_tests) + + # Unfortunately, in order to test libtool thoroughly, we need access + # to its private directory. + objdir = `$(LIBTOOL) --config | sed -n -e 's/^objdir=\(.*\)$$/\1/p'` + + # The following rules are only for the libtool demo and tests. + # Regenerate our acinclude.m4 only if it doesn't exist. + $(srcdir)/acinclude.m4: + rm -f $(srcdir)/acinclude.m4 + cd $(srcdir) && $(LN_S) ../libtool.m4 acinclude.m4 + + + # Test programs to see what gets hardcoded. + .PHONY: hardcode + hardcode: $(hardcode_tests) + SET_HARDCODE_FLAGS = \ + eval `$(LIBTOOL) --config | sed -n -e '/^hardcode_.*=/p; /^wl=/p'` + hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-direct + @echo "You may ignore any linking errors from the following command:" + @shlib=./$(objdir)/libhello.a; \ + eval "`grep '^library_names' libhello.la`"; \ + for lib in $$library_names; do \ + shlib="./$(objdir)/$$lib"; \ + done; \ + $(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + + hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @$(SET_HARDCODE_FLAGS); \ + libdir=`pwd`/$(objdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + if test -z "$$flag"; then \ + echo "echo unsupported > $@"; \ + echo unsupported > $@ || status="$$?"; \ + else \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ + fi; \ + exit $$status + + hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-libpath + @echo "You may ignore any linking errors from the following command:" + @$(SET_HARDCODE_FLAGS); \ + eval `$(LIBTOOL) --config | grep '^shlibpath_var='`; \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + + hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) + @rm -f hc-minusL + @$(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + + # This is one of the essential tests for deplibs_check_method=pass_all. + # If this one passes with pass_all, it is likely that pass_all works + EXTRA_LIBRARIES = libhell0.a + libhell0_a_SOURCES = longer_file_name_hello.c longer_file_name_foo.c + EXTRA_LTLIBRARIES = libhell1.la libhell2.la + libhell1_la_SOURCES = longer_file_name_hell1.c + libhell1_la_LIBADD = -L. -lhell0 + libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) + libhell1_la_DEPENDENCIES = libhell0.a + libhell2_la_SOURCES = longer_file_name_hell2.c + libhell2_la_LIBADD = -L. -lhell0 + libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) + libhell2_la_DEPENDENCIES = libhell0.a + EXTRA_PROGRAMS = hell0 + hell0_SOURCES = longer_file_name_main.c + hell0_LDADD = libhell1.la libhell2.la $(LIBM) + + # 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we + # must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS + # are handled seamlessly by automake rules; the extra step is only + # necessary for EXTRA_PROGRAMS) + CLEANFILES += $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 + + deplibs-check: hell0 Index: libtool/pdemo/configure.ac diff -c /dev/null libtool/pdemo/configure.ac:1.3 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/configure.ac Sat Oct 6 11:35:17 2001 *************** *** 0 **** --- 1,77 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([pdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([longer_file_name_hello.c]) + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(hell,1.0) + + + ## ------------------ ## + ## C compiler checks. ## + ## ------------------ ## + AC_PROG_CC + AC_C_CONST + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + AC_LIBTOOL_DLOPEN + AM_PROG_LIBTOOL + AC_SUBST([LIBTOOL_DEPS]) + + if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then + STATIC=-static + else + STATIC= + fi + AC_SUBST([STATIC]) + + AM_CONDITIONAL([BINARY_HELLDL], + [grep '^global_symbol_pipe=..*$' ./libtool >/dev/null]) + + + ## ---------------------------- ## + ## C headers required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([string.h math.h]) + + + ## ---------------------------- ## + ## Libraries required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/pdemo/foo.h diff -c /dev/null libtool/pdemo/foo.h:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/foo.h Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,90 ---- + /* foo.h -- interface to the libfoo library + Copyright (C) 1996-1999 Free Software Foundation, Inc. + Gordon Matzigkeit , 1996 + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + /* Only include this header file once. */ + #ifndef _FOO_H_ + #define _FOO_H_ 1 + + /* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippit allows us to check + * for __CYGWIN32__ reliably for both old and (probable) future releases. + */ + #ifdef __CYGWIN__ + # ifndef __CYGWIN32__ + # define __CYGWIN32__ + # endif + #endif + + /* __BEGIN_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use __END_DECLS at + the end of C declarations. */ + #undef __BEGIN_DECLS + #undef __END_DECLS + #ifdef __cplusplus + # define __BEGIN_DECLS extern "C" { + # define __END_DECLS } + #else + # define __BEGIN_DECLS /* empty */ + # define __END_DECLS /* empty */ + #endif + + /* LTDL_PARAMS is a macro used to wrap function prototypes, so that compilers + that don't understand ANSI C prototypes still work, and ANSI C + compilers can issue warnings about type mismatches. */ + #undef LTDL_PARAMS + #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(__CYGWIN32__) || defined(__cplusplus) + # define LT_PARAMS(protos) protos + # define lt_ptr_t void* + #else + # define LT_PARAMS(protos) () + # define lt_ptr_t char* + #endif + + #ifdef __CYGWIN32__ + # ifdef LIBFOO_DLL + /* need some (as yet non-existant) automake magic to tell + * the object whether the libfoo it will be linked with is + * a dll or not, ie whether LIBFOO_DLL is defined or not. + */ + # ifdef _LIBFOO_COMPILATION_ + # define EXTERN __declspec(dllexport) + # else + # define EXTERN extern __declspec(dllimport) + # endif + # else + # define EXTERN extern + # endif + #else + # define EXTERN extern + #endif + + /* Silly constants that the functions return. */ + #define HELLO_RET 0xe110 + #define FOO_RET 0xf00 + + + /* Declarations. Note the wonderful use of the above macros. */ + __BEGIN_DECLS + int foo LT_PARAMS((void)); + int hello LT_PARAMS((void)); + EXTERN int nothing; + __END_DECLS + + #endif /* !_FOO_H_ */ Index: libtool/pdemo/longer_file_name_dlmain.c diff -c /dev/null libtool/pdemo/longer_file_name_dlmain.c:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/longer_file_name_dlmain.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,95 ---- + /* dlmain.c -- hello test program that uses simulated dynamic linking + Copyright (C) 1996-1999 Free Software Foundation, Inc. + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + #include "foo.h" + #include + + #ifdef HAVE_STRING_H + #include + #endif + + struct lt_symlist + { + const char *name; + lt_ptr_t address; + }; + + extern const struct lt_symlist lt_preloaded_symbols[]; + + int + main (argc, argv) + int argc; + char **argv; + { + const struct lt_symlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (!strcmp ("hello", name)) + phello = (int(*)())s->address; + else if (!strcmp ("foo", name)) + pfoo = (int(*)())s->address; + else if (!strcmp ("nothing", name)) + #ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; + #else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; + #endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the `nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the `foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the `hello' function\n"); + + return 0; + } Index: libtool/pdemo/longer_file_name_foo.c diff -c /dev/null libtool/pdemo/longer_file_name_foo.c:1.2 *** /dev/null Mon Apr 14 19:16:48 2003 --- libtool/pdemo/longer_file_name_foo.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,39 ---- + /* foo.c -- trivial test function for libfoo + Copyright (C) 1996-1999 Free Software Foundation, Inc. + Gordon Matzigkeit , 1996 + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + #define _LIBFOO_COMPILATION_ + #include "foo.h" + #undef _LIBFOO_COMPILATION_ + + #include + + #ifdef HAVE_MATH_H + #include + #endif + + /* Give a global variable definition. */ + int nothing = FOO_RET; + + int + foo () + { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; + } Index: libtool/pdemo/longer_file_name_foo2.c diff -c /dev/null libtool/pdemo/longer_file_name_foo2.c:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/pdemo/longer_file_name_foo2.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,36 ---- + /* foo.c -- trivial test function for libfoo + Copyright (C) 1996-1999 Free Software Foundation, Inc. + Gordon Matzigkeit , 1996 + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + #define _LIBFOO_COMPILATION_ + #include "foo.h" + #undef _LIBFOO_COMPILATION_ + + #include + + #ifdef HAVE_MATH_H + #include + #endif + + int + foo2() + { + printf ("foo2 cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; + } Index: libtool/pdemo/longer_file_name_hell1.c diff -c /dev/null libtool/pdemo/longer_file_name_hell1.c:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/pdemo/longer_file_name_hell1.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1 ---- + int hell1() { return 1; } Index: libtool/pdemo/longer_file_name_hell2.c diff -c /dev/null libtool/pdemo/longer_file_name_hell2.c:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/pdemo/longer_file_name_hell2.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1 ---- + int hell2() { return 2; } Index: libtool/pdemo/longer_file_name_hello.c diff -c /dev/null libtool/pdemo/longer_file_name_hello.c:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/pdemo/longer_file_name_hello.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,32 ---- + /* hello.c -- trivial test function for libfoo + Copyright (C) 1996-1999 Free Software Foundation, Inc. + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + /* Written by Gordon Matzigkeit */ + #define _LIBFOO_COMPILATION + #include "foo.h" + #undef _LIBFOO_COMPILATION + + #include + + int + hello () + { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; + } Index: libtool/pdemo/longer_file_name_main.c diff -c /dev/null libtool/pdemo/longer_file_name_main.c:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/pdemo/longer_file_name_main.c Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,45 ---- + /* main.c -- trivial hello test program + Copyright (C) 1996-1999 Free Software Foundation, Inc. + This file is part of GNU Libtool. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. */ + + /* Written by Gordon Matzigkeit */ + #include "foo.h" + #include + + int + main (argc, argv) + int argc; + char **argv; + { + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (foo2() != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; + } Index: libtool/tagdemo/.cvsignore diff -c /dev/null libtool/tagdemo/.cvsignore:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/.cvsignore Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,13 ---- + .deps + .libs + Makefile + Makefile.in + acinclude.m4 + aclocal.m4 + configure + config.* + conftest* + libtool + *.lo + *.la + tagdemo Index: libtool/tagdemo/Makefile.am diff -c /dev/null libtool/tagdemo/Makefile.am:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/Makefile.am Sat Jun 1 10:09:50 2002 *************** *** 0 **** --- 1,30 ---- + ## Process this file with automake to produce Makefile.in + ## + ## $Id: Makefile.am,v 1.4 2002/06/01 14:09:50 gary Exp $ + + AUTOMAKE_OPTIONS = no-dependencies foreign + + EXTRA_DIST = acinclude.m4 + + noinst_LTLIBRARIES = libfoo.la + lib_LTLIBRARIES = libbaz.la + + libfoo_la_SOURCES = foo.cpp + libfoo_la_LDFLAGS = -no-undefined + libfoo_la_LIBADD = $(LIBM) + + # Test some of the ILD support when using tagged configurations. + libbaz_la_SOURCES = baz.cpp + libbaz_la_LDFLAGS = -no-undefined + libbaz_la_LIBADD = libfoo.la + + noinst_HEADERS = foo.h baz.h + + bin_PROGRAMS = tagdemo + + tagdemo_SOURCES = main.cpp + tagdemo_LDADD = libbaz.la + + $(OBJECTS): libtool + libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck Index: libtool/tagdemo/README diff -c /dev/null libtool/tagdemo/README:1.3 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/README Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,8 ---- + # $Id: README,v 1.3 2001/06/06 14:53:29 rboehne Exp $ + + This directory contains a sample package that demonstrates the use of + GNU Libtool's multi-language support through the use of configuration + tags. It requires GNU autoconf, automake and of course libtool. + + The demonstration generates a libraries using the same libtool script, + which is then linked to a C++ program. Index: libtool/tagdemo/baz.cpp diff -c /dev/null libtool/tagdemo/baz.cpp:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/baz.cpp Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,35 ---- + // -*- C++ -*- + // baz.cpp -- a slightly more complicated test library + // Copyright (C) 1998-2000 Free Software Foundation, Inc. + // Originally by Thomas Tanner + // This file is part of GNU Libtool. + + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation; either version 2 of the License, or + // (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License + // along with this program; if not, write to the Free Software + // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + // USA. + + #include "foo.h" + #include "baz.h" + + // -------------------------------------------------------------------- + // Our C++ derived class methods. + + + int + barbaz_derived::baz(void) + { + foobar_derived FB; + + return FB.foo(); + } Index: libtool/tagdemo/baz.h diff -c /dev/null libtool/tagdemo/baz.h:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/baz.h Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,43 ---- + // -*- C++ -*- + // baz.h -- interface to the libfoo* libraries + // Copyright (C) 1998-1999 Free Software Foundation, Inc. + // Originally by Thomas Tanner + // This file is part of GNU Libtool. + + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation; either version 2 of the License, or + // (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License + // along with this program; if not, write to the Free Software + // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + // USA. + + // Only include this header file once. + #ifndef _BAZ_H_ + #define _BAZ_H_ 1 + + // Our test C++ base class. + class barbaz + { + public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. + }; + + + // Our test C++ derived class. + class barbaz_derived : public barbaz + { + public: + virtual int baz(void); + // Override the base class' pure virtual functions. + }; + + #endif /* !_FOO_H_ */ Index: libtool/tagdemo/configure.ac diff -c /dev/null libtool/tagdemo/configure.ac:1.3 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/configure.ac Sat Oct 6 11:35:17 2001 *************** *** 0 **** --- 1,86 ---- + ## Process this file with autoconf to create configure. -*- autoconf -*- + # Copyright 2001 Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + # 02111-1307 USA + + AC_PREREQ(2.50) + + + ## ------------------------ ## + ## Autoconf initialisation. ## + ## ------------------------ ## + AC_INIT([tagdemo], [0.1], [bug-libtool@gnu.org]) + AC_CONFIG_SRCDIR([foo.cpp]) + + AC_CANONICAL_TARGET + + + ## ------------------------ ## + ## Automake Initialisation. ## + ## ------------------------ ## + AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION) + + + ## ---------------- ## + ## Compiler checks. ## + ## ---------------- ## + AC_PROG_CC + AC_PROG_CPP + AC_PROG_CC_C_O + + AC_PROG_CXX + AC_PROG_CXXCPP + + # As of the writing of this demo, GNU Autoconf's AC_OBJEXT and + # AC_EXEEXT macros only works for C compilers! + # Libtool's setup macro calls AC_OBJEXT and AC_EXEEXT without setting + # the test language to C. We do it before any libtool setup macros are + # called so that the proper values are cached beforehand. We also do + # it before any linker flags (LDFLAGS) are set so that C++ specific + # ones don't break the tests. + AC_LANG_PUSH([C]) + AC_OBJEXT + AC_EXEEXT + AC_LANG_POP + + + ## ----------------------- ## + ## Libtool initialisation. ## + ## ----------------------- ## + + # Set the test language to C++. + AC_LANG([C++]) + AM_PROG_LIBTOOL + + + ## ---------------------------- ## + ## C headers required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_HEADERS([math.h]) + + + ## ---------------------------- ## + ## Libraries required by cdemo. ## + ## ---------------------------- ## + AC_CHECK_LIBM + AC_SUBST([LIBM]) + + + ## -------- ## + ## Outputs. ## + ## -------- ## + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT Index: libtool/tagdemo/foo.cpp diff -c /dev/null libtool/tagdemo/foo.cpp:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/foo.cpp Mon Apr 1 16:59:09 2002 *************** *** 0 **** --- 1,59 ---- + // -*- C++ -*- + // foo.cpp -- trivial test library + // Copyright (C) 1998-2000 Free Software Foundation, Inc. + // Originally by Thomas Tanner + // This file is part of GNU Libtool. + + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation; either version 2 of the License, or + // (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License + // along with this program; if not, write to the Free Software + // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + // USA. + + #include "foo.h" + #include + + #ifdef HAVE_MATH_H + #include + #endif + + // Our C functions. + int + foo(void) + { + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; + } + + int + hello(void) + { + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; + } + + + // -------------------------------------------------------------------- + // Our C++ derived class methods. + + + int + foobar_derived::foo(void) + { + return ::foo(); + } + + int + foobar_derived::hello(void) + { + return ::hello(); + } Index: libtool/tagdemo/foo.h diff -c /dev/null libtool/tagdemo/foo.h:1.3 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/foo.h Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,56 ---- + // -*- C++ -*- + // foo.h -- interface to the libfoo* libraries + // Copyright (C) 1998-1999 Free Software Foundation, Inc. + // Originally by Thomas Tanner + // This file is part of GNU Libtool. + + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation; either version 2 of the License, or + // (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License + // along with this program; if not, write to the Free Software + // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + // USA. + + // Only include this header file once. + #ifndef _FOO_H_ + #define _FOO_H_ 1 + + // Silly constants that the functions return. + #define HELLO_RET 0xe110 + #define FOO_RET 0xf00 + + // Our C test functions. + extern "C" + { + int foo(void); + int hello(void); + } + + // Our test C++ base class. + class foobar + { + public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. + }; + + + // Our test C++ derived class. + class foobar_derived : public foobar + { + public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. + }; + + #endif /* !_FOO_H_ */ Index: libtool/tagdemo/main.cpp diff -c /dev/null libtool/tagdemo/main.cpp:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tagdemo/main.cpp Mon Apr 1 16:59:09 2002 *************** *** 0 **** --- 1,63 ---- + // -*- C++ -*- + // main.cpp -- tagdemo test program + // Copyright (C) 1998-2000 Free Software Foundation, Inc. + // Originally by Thomas Tanner + // This file is part of GNU Libtool. + + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation; either version 2 of the License, or + // (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + + // You should have received a copy of the GNU General Public License + // along with this program; if not, write to the Free Software + // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + // USA. + + + #include "foo.h" + #include "baz.h" + #include + + + int + main (int, char *[]) + { + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value == HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + return 0; + } Index: libtool/tests/Makefile.am diff -c libtool/tests/Makefile.am:1.28.2.1 libtool/tests/Makefile.am:1.32 *** libtool/tests/Makefile.am:1.28.2.1 Fri Jun 29 13:06:56 2001 --- libtool/tests/Makefile.am Mon Nov 18 13:59:44 2002 *************** *** 2,8 **** AUTOMAKE_OPTIONS = gnits ! TESTS = cdemo-static.test cdemo-make.test cdemo-exec.test \ demo-static.test demo-make.test demo-exec.test \ demo-inst.test demo-unst.test \ depdemo-static.test depdemo-make.test \ --- 2,19 ---- AUTOMAKE_OPTIONS = gnits ! CXX_TESTS = \ ! tagdemo-static.test tagdemo-make.test tagdemo-exec.test \ ! tagdemo-conf.test tagdemo-make.test tagdemo-exec.test \ ! tagdemo-shared.test tagdemo-make.test tagdemo-exec.test ! ! F77_TESTS = \ ! f77demo-static.test f77demo-make.test f77demo-exec.test \ ! f77demo-conf.test f77demo-make.test f77demo-exec.test \ ! f77demo-shared.test f77demo-make.test f77demo-exec.test ! ! COMMON_TESTS = \ ! cdemo-static.test cdemo-make.test cdemo-exec.test \ demo-static.test demo-make.test demo-exec.test \ demo-inst.test demo-unst.test \ depdemo-static.test depdemo-make.test \ *************** *** 31,37 **** mdemo-shared.test mdemo-make.test mdemo-exec.test \ mdemo-inst.test mdemo-unst.test \ assign.test link.test link-2.test nomode.test \ ! quote.test sh.test suffix.test demo-conf.test: $(top_builddir)/libtool --- 42,63 ---- mdemo-shared.test mdemo-make.test mdemo-exec.test \ mdemo-inst.test mdemo-unst.test \ assign.test link.test link-2.test nomode.test \ ! quote.test sh.test suffix.test pdemo-conf.test \ ! pdemo-make.test pdemo-exec.test pdemo-inst.test ! ! if HAVE_CXX ! if HAVE_F77 ! TESTS = $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) ! else ! TESTS = $(COMMON_TESTS) $(CXX_TESTS) ! endif ! else ! if HAVE_F77 ! TESTS = $(COMMON_TESTS) $(F77_TESTS) ! else ! TESTS = $(COMMON_TESTS) ! endif ! endif demo-conf.test: $(top_builddir)/libtool *************** *** 43,61 **** CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ # Be sure to reexport important environment variables. TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ ! OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" ! EXTRA_DIST = defs $(TESTS) # We need to remove any files that the above tests created. clean-local: -test -f ../cdemo/Makefile && cd ../cdemo && $(MAKE) distclean -test -f ../demo/Makefile && cd ../demo && $(MAKE) distclean -test -f ../depdemo/Makefile && cd ../depdemo && $(MAKE) distclean -test -f ../mdemo/Makefile && cd ../mdemo && $(MAKE) distclean rm -rf _inst --- 69,91 ---- CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ + FFLAGS = @FFLAGS@ # Be sure to reexport important environment variables. TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ ! OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" FFLAGS="$(FFLAGS)" ! EXTRA_DIST = defs $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) # We need to remove any files that the above tests created. clean-local: + -test -f ../pdemo/Makefile && cd ../pdemo && $(MAKE) distclean -test -f ../cdemo/Makefile && cd ../cdemo && $(MAKE) distclean -test -f ../demo/Makefile && cd ../demo && $(MAKE) distclean -test -f ../depdemo/Makefile && cd ../depdemo && $(MAKE) distclean -test -f ../mdemo/Makefile && cd ../mdemo && $(MAKE) distclean + -test -f ../tagdemo/Makefile && cd ../tagdemo && $(MAKE) distclean + -test -f ../f77demo/Makefile && cd ../f77demo && $(MAKE) distclean rm -rf _inst Index: libtool/tests/assign.test diff -c libtool/tests/assign.test:1.2 libtool/tests/assign.test:1.3 *** libtool/tests/assign.test:1.2 Wed Sep 6 13:31:09 2000 --- libtool/tests/assign.test Tue Nov 19 04:42:39 2002 *************** *** 12,18 **** . $srcdir/defs || exit 1 # Check that test -e isn't used in our portable shell scripts. ! if egrep -n '[^ ]=[^ ].*(break|continue)' $srcdir/../ltmain.sh; then echo "cannot use \`break' or \`continue' on the same line as an assignment" exit 1 fi --- 12,18 ---- . $srcdir/defs || exit 1 # Check that test -e isn't used in our portable shell scripts. ! if $EGREP -n '[^ ]=[^ ].*(break|continue)' $srcdir/../ltmain.sh; then echo "cannot use \`break' or \`continue' on the same line as an assignment" exit 1 fi Index: libtool/tests/build-relink.test diff -c libtool/tests/build-relink.test:1.11 libtool/tests/build-relink.test:1.13 *** libtool/tests/build-relink.test:1.11 Tue Sep 5 07:03:06 2000 --- libtool/tests/build-relink.test Tue Nov 19 04:42:39 2002 *************** *** 19,25 **** # Check to make sure we have a dynamic library. library_names=NONE ! eval `egrep -e '^library_names=' ./libhello.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../demo/libhello.la" 1>&2 --- 19,25 ---- # Check to make sure we have a dynamic library. library_names=NONE ! eval `grep '^library_names=' ./libhello.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../demo/libhello.la" 1>&2 *************** *** 31,65 **** # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `egrep -e '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../demo/libtool" 1>&2 exit 1 fi shlibpath_overrides_runpath=NONE ! eval `egrep -e '^shlibpath_overrides_runpath=' ./libtool 2>/dev/null` if test "$shlibpath_overrides_runpath" = NONE; then echo "shlibpath_overrides_runpath not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_action=NONE ! eval `egrep -e '^hardcode_action=' ./libtool 2>/dev/null` if test "$hardcode_action" = NONE; then echo "hardcode_action not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_direct=NONE ! eval `egrep -e '^hardcode_direct=' ./libtool 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_into_libs=NONE ! eval `egrep -e '^hardcode_into_libs=' ./libtool 2>/dev/null` if test "$hardcode_into_libs" = NONE; then echo "hardcode_into_libs not set in ../demo/libtool" 1>&2 exit 1 --- 31,65 ---- # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `grep '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../demo/libtool" 1>&2 exit 1 fi shlibpath_overrides_runpath=NONE ! eval `grep '^shlibpath_overrides_runpath=' ./libtool 2>/dev/null` if test "$shlibpath_overrides_runpath" = NONE; then echo "shlibpath_overrides_runpath not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_action=NONE ! eval `grep '^hardcode_action=' ./libtool 2>/dev/null` if test "$hardcode_action" = NONE; then echo "hardcode_action not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_direct=NONE ! eval `grep '^hardcode_direct=' ./libtool 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../demo/libtool" 1>&2 exit 1 fi hardcode_into_libs=NONE ! eval `grep '^hardcode_into_libs=' ./libtool 2>/dev/null` if test "$hardcode_into_libs" = NONE; then echo "hardcode_into_libs not set in ../demo/libtool" 1>&2 exit 1 *************** *** 105,112 **** fi if test "$shlibpath_overrides_runpath" != yes; then ! rm -f $objdir/lt-hell || exit 1 ! cp $objdir/hell $objdir/lt-hell || exit 1 echo "running ../demo/hell with installed libhello.la" if ./hell; then echo "Worked, as expected" --- 105,112 ---- fi if test "$shlibpath_overrides_runpath" != yes; then ! rm -f $objdir/lt-hell$EXEEXT || exit 1 ! cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT || exit 1 echo "running ../demo/hell with installed libhello.la" if ./hell; then echo "Worked, as expected" *************** *** 114,120 **** echo "shlibpath_overrides_runpath should be set to yes" status=1 fi ! rm -f $objdir/lt-hell fi exit $status --- 114,120 ---- echo "shlibpath_overrides_runpath should be set to yes" status=1 fi ! rm -f $objdir/lt-hell$EXEEXT fi exit $status Index: libtool/tests/build-relink2.test diff -c libtool/tests/build-relink2.test:1.5 libtool/tests/build-relink2.test:1.7 *** libtool/tests/build-relink2.test:1.5 Tue Sep 5 08:54:02 2000 --- libtool/tests/build-relink2.test Tue Nov 19 04:42:39 2002 *************** *** 11,17 **** . $srcdir/defs || exit 1 # Check that things are built. ! if test -f $prefix/lib/extra/libl3.la && cd ../depdemo && test -f l3/libl3.la; then : else echo "You must run depdemo-inst.test before $0" 1>&2 exit 77 --- 11,18 ---- . $srcdir/defs || exit 1 # Check that things are built. ! if (test -f $prefix/lib/extra/libl3.la || test -f $prefix/lib/libl3.la) \ ! && cd ../depdemo && test -f l3/libl3.la; then : else echo "You must run depdemo-inst.test before $0" 1>&2 exit 77 *************** *** 19,25 **** # Check to make sure we have a dynamic library. library_names=NONE ! eval `egrep -e '^library_names=' ./l3/libl3.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../depdemo/l3/libl3.la" 1>&2 --- 20,26 ---- # Check to make sure we have a dynamic library. library_names=NONE ! eval `grep '^library_names=' ./l3/libl3.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../depdemo/l3/libl3.la" 1>&2 *************** *** 31,65 **** # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `egrep -e '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../depdemo/libtool" 1>&2 exit 1 fi shlibpath_overrides_runpath=NONE ! eval `egrep -e '^shlibpath_overrides_runpath=' ./libtool 2>/dev/null` if test "$shlibpath_overrides_runpath" = NONE; then echo "shlibpath_overrides_runpath not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_action=NONE ! eval `egrep -e '^hardcode_action=' ./libtool 2>/dev/null` if test "$hardcode_action" = NONE; then echo "hardcode_action not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_direct=NONE ! eval `egrep -e '^hardcode_direct=' ./libtool 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_into_libs=NONE ! eval `egrep -e '^hardcode_into_libs=' ./libtool 2>/dev/null` if test "$hardcode_into_libs" = NONE; then echo "hardcode_into_libs not set in ../depdemo/libtool" 1>&2 exit 1 --- 32,66 ---- # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `grep '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../depdemo/libtool" 1>&2 exit 1 fi shlibpath_overrides_runpath=NONE ! eval `grep '^shlibpath_overrides_runpath=' ./libtool 2>/dev/null` if test "$shlibpath_overrides_runpath" = NONE; then echo "shlibpath_overrides_runpath not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_action=NONE ! eval `grep '^hardcode_action=' ./libtool 2>/dev/null` if test "$hardcode_action" = NONE; then echo "hardcode_action not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_direct=NONE ! eval `grep '^hardcode_direct=' ./libtool 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../depdemo/libtool" 1>&2 exit 1 fi hardcode_into_libs=NONE ! eval `grep '^hardcode_into_libs=' ./libtool 2>/dev/null` if test "$hardcode_into_libs" = NONE; then echo "hardcode_into_libs not set in ../depdemo/libtool" 1>&2 exit 1 Index: libtool/tests/cdemo-conf.test diff -c libtool/tests/cdemo-conf.test:1.3 libtool/tests/cdemo-conf.test:1.6 *** libtool/tests/cdemo-conf.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/cdemo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/cdemo-exec.test diff -c libtool/tests/cdemo-exec.test:1.2 libtool/tests/cdemo-exec.test:1.3 *** libtool/tests/cdemo-exec.test:1.2 Fri Mar 19 12:58:46 1999 --- libtool/tests/cdemo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 10,16 **** fi . $srcdir/defs || exit 1 ! if test -f ../cdemo/cdemo; then : else echo "You must run cdemo-make.test before running $0" 1>&2 exit 77 --- 10,16 ---- fi . $srcdir/defs || exit 1 ! if test -f ../cdemo/cdemo$EXEEXT; then : else echo "You must run cdemo-make.test before running $0" 1>&2 exit 77 Index: libtool/tests/cdemo-shared.test diff -c libtool/tests/cdemo-shared.test:1.3 libtool/tests/cdemo-shared.test:1.6 *** libtool/tests/cdemo-shared.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/cdemo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix) with --disable-static" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix --disable-static || exit 1 ! if egrep '^build_old_libs=no' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix) with --disable-static" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix --disable-static || exit 1 ! if grep '^build_old_libs=no' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/cdemo-static.test diff -c libtool/tests/cdemo-static.test:1.4 libtool/tests/cdemo-static.test:1.7 *** libtool/tests/cdemo-static.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/cdemo-static.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix) with --disable-shared" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix --disable-shared || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../cdemo (prefix=$prefix) with --disable-shared" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../cdemo/configure --srcdir=$srcdir/../cdemo --prefix=$prefix --disable-shared || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/defs diff -c libtool/tests/defs:1.1.1.6.8.1 libtool/tests/defs:1.5 *** libtool/tests/defs:1.1.1.6.8.1 Sat Jun 30 16:27:42 2001 --- libtool/tests/defs Thu Apr 3 00:45:22 2003 *************** *** 14,19 **** --- 14,30 ---- make="${MAKE-make}" SHELL="${CONFIG_SHELL-/bin/sh}" + if echo a | (grep -E '(a|b)') >/dev/null 2>&1; then + EGREP='grep -E' + else + EGREP='egrep' + fi + if echo 'ab*c' | (grep -F 'ab*c') >/dev/null 2>&1; then + FGREP='grep -F' + else + FGREP='fgrep' + fi + prefix="./_inst" if test "$need_prefix" = yes; then # An absolute path to a test installation directory. *************** *** 26,31 **** --- 37,48 ---- # Extract CC from the libtool configuration eval `$libtool --config | grep '^CC='` + + # Disable usage of config.site for autoconf, unless DJGPP is present. + # The DJGPP port of autoconf requires config.site, to work correctly. + if test -z "$DJGPP"; then + CONFIG_SITE=/nonexistent + fi # See how redirections should work. case "$VERBOSE" in Index: libtool/tests/demo-conf.test diff -c libtool/tests/demo-conf.test:1.3 libtool/tests/demo-conf.test:1.6 *** libtool/tests/demo-conf.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/demo-exec.test diff -c libtool/tests/demo-exec.test:1.5 libtool/tests/demo-exec.test:1.8 *** libtool/tests/demo-exec.test:1.5 Thu Apr 1 10:34:13 1999 --- libtool/tests/demo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 10,16 **** fi . $srcdir/defs || exit 1 ! if test -f ../demo/hell; then : else echo "You must run demo-make.test before running $0" 1>&2 exit 77 --- 10,16 ---- fi . $srcdir/defs || exit 1 ! if test -f ../demo/hell$EXEEXT; then : else echo "You must run demo-make.test before running $0" 1>&2 exit 77 *************** *** 20,28 **** echo "Executing uninstalled programs in ../demo" status=0 ! if ../demo/hell.static| grep 'Welcome to GNU Hell'; then : else ! echo "$0: cannot execute ../demo/hell.static" 1>&2 status=1 fi --- 20,28 ---- echo "Executing uninstalled programs in ../demo" status=0 ! if ../demo/hell_static| grep 'Welcome to GNU Hell'; then : else ! echo "$0: cannot execute ../demo/hell_static" 1>&2 status=1 fi *************** *** 32,38 **** status=1 fi ! if ../demo/helldl | egrep -e '(Welcome to .*GNU Hell|unsupported)'; then : else echo "$0: cannot execute ../demo/helldl" 1>&2 status=1 --- 32,38 ---- status=1 fi ! if ../demo/helldl | $EGREP -e '(Welcome to .*GNU Hell|unsupported)'; then : else echo "$0: cannot execute ../demo/helldl" 1>&2 status=1 Index: libtool/tests/demo-inst.test diff -c libtool/tests/demo-inst.test:1.5 libtool/tests/demo-inst.test:1.8 *** libtool/tests/demo-inst.test:1.5 Thu Apr 1 10:34:13 1999 --- libtool/tests/demo-inst.test Sat Mar 29 00:06:46 2003 *************** *** 11,17 **** . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../demo/hell; then : else echo "You must run demo-make.test before $0" 1>&2 exit 77 --- 11,17 ---- . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../demo/hell$EXEEXT; then : else echo "You must run demo-make.test before $0" 1>&2 exit 77 *************** *** 25,33 **** echo "= Executing installed programs" status=0 ! if $prefix/bin/hell.static | grep 'Welcome to GNU Hell'; then : else ! echo "$0: cannot execute $prefix/bin/hell.static" 1>&2 status=1 fi --- 25,33 ---- echo "= Executing installed programs" status=0 ! if $prefix/bin/hell_static | grep 'Welcome to GNU Hell'; then : else ! echo "$0: cannot execute $prefix/bin/hell_static" 1>&2 status=1 fi *************** *** 43,49 **** status=1 fi ! if $prefix/bin/helldl | egrep -e '(Welcome to .*GNU Hell|unsupported)'; then : else echo "$0: cannot execute $prefix/bin/helldl" 1>&2 --- 43,49 ---- status=1 fi ! if $prefix/bin/helldl | $EGREP -e '(Welcome to .*GNU Hell|unsupported)'; then : else echo "$0: cannot execute $prefix/bin/helldl" 1>&2 Index: libtool/tests/demo-nofast.test diff -c libtool/tests/demo-nofast.test:1.3 libtool/tests/demo-nofast.test:1.6 *** libtool/tests/demo-nofast.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-nofast.test Sat Mar 29 00:06:46 2003 *************** *** 25,33 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --enable-fast-install=no || exit 1 ! if egrep '^hardcode_action=relink' libtool > /dev/null; then rm -f Makefile && exit 77 fi --- 25,33 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --enable-fast-install=no || exit 1 ! if grep '^hardcode_action=relink' libtool > /dev/null; then rm -f Makefile && exit 77 fi Index: libtool/tests/demo-nopic.test diff -c libtool/tests/demo-nopic.test:1.2 libtool/tests/demo-nopic.test:1.4 *** libtool/tests/demo-nopic.test:1.2 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-nopic.test Sat Mar 29 00:06:46 2003 *************** *** 25,30 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --without-pic" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --with-pic=no || exit 1 exit 0 --- 25,30 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --without-pic" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --with-pic=no || exit 1 exit 0 Index: libtool/tests/demo-pic.test diff -c libtool/tests/demo-pic.test:1.2 libtool/tests/demo-pic.test:1.4 *** libtool/tests/demo-pic.test:1.2 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-pic.test Sat Mar 29 00:06:46 2003 *************** *** 25,30 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --with-pic" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --with-pic=yes || exit 1 exit 0 --- 25,30 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --with-pic" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --with-pic=yes || exit 1 exit 0 Index: libtool/tests/demo-shared.test diff -c libtool/tests/demo-shared.test:1.3 libtool/tests/demo-shared.test:1.6 *** libtool/tests/demo-shared.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --disable-static" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --disable-static || exit 1 ! if egrep '^build_old_libs=no' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --disable-static" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --disable-static || exit 1 ! if grep '^build_old_libs=no' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/demo-static.test diff -c libtool/tests/demo-static.test:1.3 libtool/tests/demo-static.test:1.6 *** libtool/tests/demo-static.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/demo-static.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --disable-shared" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --disable-shared || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../demo (prefix=$prefix) with --disable-shared" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../demo/configure --srcdir=$srcdir/../demo --prefix=$prefix --disable-shared || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/depdemo-conf.test diff -c libtool/tests/depdemo-conf.test:1.4 libtool/tests/depdemo-conf.test:1.7 *** libtool/tests/depdemo-conf.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/depdemo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/depdemo-exec.test diff -c libtool/tests/depdemo-exec.test:1.3 libtool/tests/depdemo-exec.test:1.5 *** libtool/tests/depdemo-exec.test:1.3 Fri Mar 19 12:58:50 1999 --- libtool/tests/depdemo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 10,16 **** fi . $srcdir/defs || exit 1 ! if test -f ../depdemo/depdemo; then : else echo "You must run depdemo-make.test before running $0" 1>&2 exit 77 --- 10,16 ---- fi . $srcdir/defs || exit 1 ! if test -f ../depdemo/depdemo$EXEEXT; then : else echo "You must run depdemo-make.test before running $0" 1>&2 exit 77 *************** *** 20,28 **** echo "Executing uninstalled programs in ../depdemo" status=0 ! if ../depdemo/depdemo.static; then : else ! echo "$0: cannot execute ../depdemo/depdemo.static" 1>&2 status=1 fi --- 20,28 ---- echo "Executing uninstalled programs in ../depdemo" status=0 ! if ../depdemo/depdemo_static; then : else ! echo "$0: cannot execute ../depdemo/depdemo_static" 1>&2 status=1 fi Index: libtool/tests/depdemo-inst.test diff -c libtool/tests/depdemo-inst.test:1.3 libtool/tests/depdemo-inst.test:1.5 *** libtool/tests/depdemo-inst.test:1.3 Fri Mar 19 12:58:50 1999 --- libtool/tests/depdemo-inst.test Sat Mar 29 00:06:46 2003 *************** *** 11,17 **** . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../depdemo/depdemo; then : else echo "You must run depdemo-make.test before $0" 1>&2 exit 77 --- 11,17 ---- . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../depdemo/depdemo$EXEEXT; then : else echo "You must run depdemo-make.test before $0" 1>&2 exit 77 *************** *** 26,34 **** echo "= Executing installed programs" status=0 ! if $prefix/bin/depdemo.static; then : else ! echo "$0: cannot execute $prefix/bin/depdemo.static" 1>&2 status=1 fi --- 26,34 ---- echo "= Executing installed programs" status=0 ! if $prefix/bin/depdemo_static; then : else ! echo "$0: cannot execute $prefix/bin/depdemo_static" 1>&2 status=1 fi Index: libtool/tests/depdemo-nofast.test diff -c libtool/tests/depdemo-nofast.test:1.3 libtool/tests/depdemo-nofast.test:1.6 *** libtool/tests/depdemo-nofast.test:1.3 Mon Sep 4 03:46:01 2000 --- libtool/tests/depdemo-nofast.test Sat Mar 29 00:06:46 2003 *************** *** 25,33 **** # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --enable-fast-install=no || exit 1 ! if egrep '^hardcode_action=relink' libtool > /dev/null; then rm -f Makefile && exit 77 fi --- 25,33 ---- # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --enable-fast-install=no || exit 1 ! if grep '^hardcode_action=relink' libtool > /dev/null; then rm -f Makefile && exit 77 fi Index: libtool/tests/depdemo-shared.test diff -c libtool/tests/depdemo-shared.test:1.4 libtool/tests/depdemo-shared.test:1.7 *** libtool/tests/depdemo-shared.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/depdemo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix) with --disable-static" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --disable-static || exit 1 ! if egrep '^build_old_libs=no' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix) with --disable-static" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --disable-static || exit 1 ! if grep '^build_old_libs=no' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/depdemo-static.test diff -c libtool/tests/depdemo-static.test:1.4 libtool/tests/depdemo-static.test:1.7 *** libtool/tests/depdemo-static.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/depdemo-static.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix) with --disable-shared" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --disable-shared || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../depdemo (prefix=$prefix) with --disable-shared" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../depdemo/configure --srcdir=$srcdir/../depdemo --prefix=$prefix --disable-shared || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/depdemo-unst.test diff -c libtool/tests/depdemo-unst.test:1.4 libtool/tests/depdemo-unst.test:1.5 *** libtool/tests/depdemo-unst.test:1.4 Sat Mar 20 23:51:35 1999 --- libtool/tests/depdemo-unst.test Thu Jan 10 19:25:19 2002 *************** *** 26,31 **** --- 26,32 ---- if test -n "$leftovers"; then echo "= Leftover after make uninstall:" ls -l $leftovers + ls -l $leftovers > ~/devel/savannah/arse exit 1 fi Index: libtool/tests/dryrun.test diff -c libtool/tests/dryrun.test:1.8 libtool/tests/dryrun.test:1.9 *** libtool/tests/dryrun.test:1.8 Mon Sep 4 04:20:02 2000 --- libtool/tests/dryrun.test Sat Mar 2 22:19:55 2002 *************** *** 66,77 **** echo "= Making programs in ../mdemo (dry run)" ls -l . $objdir > $before ! force_dry_run=yes $make mdemo$EXEEXT mdemo.static 1>&2 || exit $? ls -l . $objdir > $after cmp $before $after > /dev/null || exit 1 # Now really make them echo "= Making programs in ../mdemo" ! $make mdemo$EXEEXT mdemo.static || exit 1 echo "= Running $make install in ../mdemo (dry run)" # Libtool does not create these directories --- 66,77 ---- echo "= Making programs in ../mdemo (dry run)" ls -l . $objdir > $before ! force_dry_run=yes $make mdemo$EXEEXT mdemo_static$EXEEXT 1>&2 || exit $? ls -l . $objdir > $after cmp $before $after > /dev/null || exit 1 # Now really make them echo "= Making programs in ../mdemo" ! $make mdemo$EXEEXT mdemo_static$EXEEXT || exit 1 echo "= Running $make install in ../mdemo (dry run)" # Libtool does not create these directories *************** *** 89,95 **** echo "= Running $make uninstall in ../mdemo (dry run)" # Libtool does not uninstall the programs, remove them first ! rm -f $prefix/bin/mdemo$EXEEXT $prefix/bin/mdemo.static ls -l . $objdir > $before ls -lR $prefix >> $before force_dry_run=yes $make uninstall 1>&2 || exit $? --- 89,95 ---- echo "= Running $make uninstall in ../mdemo (dry run)" # Libtool does not uninstall the programs, remove them first ! rm -f $prefix/bin/mdemo$EXEEXT $prefix/bin/mdemo_static$EXEEXT ls -l . $objdir > $before ls -lR $prefix >> $before force_dry_run=yes $make uninstall 1>&2 || exit $? Index: libtool/tests/f77demo-conf.test diff -c /dev/null libtool/tests/f77demo-conf.test:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/f77demo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,35 ---- + #! /bin/sh + # f77demo-conf.test - try configuring the ../f77demo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../f77demo || mkdir ../f77demo + + # Change to our build directory. + cd ../f77demo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../f77demo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../f77demo (prefix=$prefix)" + ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix || exit 1 + + if $EGREP '^build_old_libs=yes' libtool > /dev/null && + $EGREP '^build_libtool_libs=yes' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0 Index: libtool/tests/f77demo-exec.test diff -c /dev/null libtool/tests/f77demo-exec.test:1.3 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/f77demo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,34 ---- + #! /bin/sh + # f77demo-exec.test - check that programs in the ../f77demo subdirectory are viable + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../f77demo/fprogram$EXEEXT && test -f ../f77demo/cprogram$EXEEXT; then : + else + echo "You must run f77demo-make.test before running $0" 1>&2 + exit 77 + fi + + # Check to see if the programs really run. + echo "Executing uninstalled programs in ../f77demo" + + if ../f77demo/fprogram ; then : + else + echo "$0: cannot execute ../f77demo/fprogram" 1>&2 + status=1 + fi + + if ../f77demo/cprogram ; then : + else + echo "$0: cannot execute ../f77demo/cprogram" 1>&2 + status=1 + fi + + exit $status Index: libtool/tests/f77demo-make.test diff -c /dev/null libtool/tests/f77demo-make.test:1.1 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/f77demo-make.test Wed Jul 31 16:15:28 2002 *************** *** 0 **** --- 1,25 ---- + #! /bin/sh + # f77demo-make.test - try building in the ../f77demo subdirectory + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../f77demo/Makefile; then : + else + echo "You must run f77demo-conf.test before running $0" 1>&2 + exit 77 + fi + + # Change to our build directory. + cd ../f77demo || exit 1 + + # Do the actual build. + echo "Making in ../f77demo" + $make || exit 1 + exit 0 Index: libtool/tests/f77demo-shared.test diff -c /dev/null libtool/tests/f77demo-shared.test:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/f77demo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,35 ---- + #! /bin/sh + # f77demo-conf.test - try configuring the ../f77demo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../f77demo || mkdir ../f77demo + + # Change to our build directory. + cd ../f77demo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../f77demo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../f77demo (prefix=$prefix) with --disable-static" + ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix --disable-static || exit 1 + + if $EGREP '^build_old_libs=no' libtool > /dev/null && + $EGREP '^build_libtool_libs=yes' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0 Index: libtool/tests/f77demo-static.test diff -c /dev/null libtool/tests/f77demo-static.test:1.4 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/f77demo-static.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,44 ---- + #! /bin/sh + # f77demo-conf.test - try configuring the ../f77demo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../f77demo || mkdir ../f77demo + + # Change to our build directory. + cd ../f77demo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../f77demo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../f77demo (prefix=$prefix) with --disable-shared" + ${CONFIG_SHELL-/bin/sh} $srcdir/../f77demo/configure --srcdir=$srcdir/../f77demo --prefix=$prefix --disable-shared || exit 1 + + if $EGREP '^build_old_libs=yes' libtool > /dev/null && + $EGREP '^build_libtool_libs=no' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0 + + + + + + + + + Index: libtool/tests/hardcode.test diff -c libtool/tests/hardcode.test:1.4 libtool/tests/hardcode.test:1.6 *** libtool/tests/hardcode.test:1.4 Wed Sep 6 13:31:09 2000 --- libtool/tests/hardcode.test Tue Nov 19 04:42:39 2002 *************** *** 19,25 **** # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `egrep -e '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../demo/libtool" 1>&2 exit 1 --- 19,25 ---- # Unfortunately, we need access to libtool internals for this test. objdir=NONE ! eval `grep '^objdir=' ./libtool 2>/dev/null` if test "$objdir" = NONE; then echo "objdir not set in ../demo/libtool" 1>&2 exit 1 *************** *** 27,33 **** # Check to make sure we have a dynamic library. library_names=NONE ! eval `egrep -e '^library_names=' ./libhello.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../demo/libhello.la" 1>&2 --- 27,33 ---- # Check to make sure we have a dynamic library. library_names=NONE ! eval `grep '^library_names=' ./libhello.la 2>/dev/null` if test "$library_names" = NONE; then echo "library_names not set in ../demo/libhello.la" 1>&2 *************** *** 48,54 **** hardcode_libdir_flag_spec=NONE # Suck in all the hardcode_* variable settings. ! eval `egrep -e '^hardcode_' ./libtool 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../demo/libtool" 1>&2 --- 48,54 ---- hardcode_libdir_flag_spec=NONE # Suck in all the hardcode_* variable settings. ! eval `./libtool --config | grep '^hardcode_' 2>/dev/null` if test "$hardcode_direct" = NONE; then echo "hardcode_direct not set in ../demo/libtool" 1>&2 *************** *** 101,112 **** # AIX fgrep also has a limited line length, so we turn unprintable # characters into newlines. if cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ ! | fgrep "$objdir" > /dev/null 2>&1; then hardcoded=yes ! elif fgrep "$objdir" $file > /dev/null 2>&1; then # We retry fgrep without tr, in case the above lead to a false negative. hardcoded=yes ! elif (sed -e '1!d' $file | egrep 'unsupported') >/dev/null 2>&1; then hardcoded=unsupported fi --- 101,112 ---- # AIX fgrep also has a limited line length, so we turn unprintable # characters into newlines. if cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ ! | $FGREP "$objdir" > /dev/null 2>&1; then hardcoded=yes ! elif $FGREP "$objdir" $file > /dev/null 2>&1; then # We retry fgrep without tr, in case the above lead to a false negative. hardcoded=yes ! elif (sed -e '1!d' $file | grep 'unsupported') >/dev/null 2>&1; then hardcoded=unsupported fi Index: libtool/tests/mdemo-conf.test diff -c libtool/tests/mdemo-conf.test:1.6 libtool/tests/mdemo-conf.test:1.9 *** libtool/tests/mdemo-conf.test:1.6 Mon Sep 4 03:46:01 2000 --- libtool/tests/mdemo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix)" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix)" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/mdemo-exec.test diff -c libtool/tests/mdemo-exec.test:1.10 libtool/tests/mdemo-exec.test:1.12 *** libtool/tests/mdemo-exec.test:1.10 Sun Sep 3 21:20:16 2000 --- libtool/tests/mdemo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 10,16 **** fi . $srcdir/defs || exit 1 ! if test -f ../mdemo/mdemo; then : else echo "You must run mdemo-make.test before running $0" 1>&2 exit 77 --- 10,16 ---- fi . $srcdir/defs || exit 1 ! if test -f ../mdemo/mdemo$EXEEXT; then : else echo "You must run mdemo-make.test before running $0" 1>&2 exit 77 *************** *** 20,28 **** echo "Executing uninstalled programs in ../mdemo" status=0 ! if ../mdemo/mdemo.static ../mdemo/foo1.la ../mdemo/libfoo2.la; then : else ! echo "$0: execution of ../mdemo/mdemo.static failed" 1>&2 status=1 fi --- 20,28 ---- echo "Executing uninstalled programs in ../mdemo" status=0 ! if ../mdemo/mdemo_static ../mdemo/foo1.la ../mdemo/libfoo2.la; then : else ! echo "$0: execution of ../mdemo/mdemo_static failed" 1>&2 status=1 fi Index: libtool/tests/mdemo-inst.test diff -c libtool/tests/mdemo-inst.test:1.11 libtool/tests/mdemo-inst.test:1.14 *** libtool/tests/mdemo-inst.test:1.11 Fri Mar 19 12:58:52 1999 --- libtool/tests/mdemo-inst.test Sat Mar 29 00:06:46 2003 *************** *** 11,17 **** . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../mdemo/mdemo; then : else echo "You must run mdemo-make.test before $0" 1>&2 exit 77 --- 11,17 ---- . $srcdir/defs || exit 1 # Check that things are built. ! if test -f ../mdemo/mdemo$EXEEXT; then : else echo "You must run mdemo-make.test before $0" 1>&2 exit 77 *************** *** 24,34 **** $make install || exit 1 echo "= Executing installed programs" status=0 ! if $prefix/bin/mdemo.static $prefix/lib/foo1.la $prefix/lib/libfoo2.la; then : else ! echo "$0: cannot execute $prefix/bin/mdemo.static" 1>&2 status=1 fi --- 24,36 ---- $make install || exit 1 echo "= Executing installed programs" + path_old=$PATH + PATH=$prefix/lib:$PATH status=0 ! if $prefix/bin/mdemo_static $prefix/lib/foo1.la $prefix/lib/libfoo2.la; then : else ! echo "$0: cannot execute $prefix/bin/mdemo_static" 1>&2 status=1 fi *************** *** 44,47 **** --- 46,50 ---- status=1 fi + PATH=$path_old exit $status Index: libtool/tests/mdemo-shared.test diff -c libtool/tests/mdemo-shared.test:1.4 libtool/tests/mdemo-shared.test:1.7 *** libtool/tests/mdemo-shared.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/mdemo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix) with --disable-static" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix --disable-static || exit 1 ! if egrep '^build_old_libs=no' libtool > /dev/null && ! egrep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix) with --disable-static" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix --disable-static || exit 1 ! if grep '^build_old_libs=no' libtool > /dev/null && ! grep '^build_libtool_libs=yes' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/mdemo-static.test diff -c libtool/tests/mdemo-static.test:1.4 libtool/tests/mdemo-static.test:1.7 *** libtool/tests/mdemo-static.test:1.4 Mon Sep 4 03:46:01 2000 --- libtool/tests/mdemo-static.test Sat Mar 29 00:06:46 2003 *************** *** 25,34 **** # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix) with --disable-shared" ! CONFIG_SITE=/dev/null/config/site ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix --disable-shared || exit 1 ! if egrep '^build_old_libs=yes' libtool > /dev/null && ! egrep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi --- 25,34 ---- # Configure the demonstration. echo "= Configuring in ../mdemo (prefix=$prefix) with --disable-shared" ! ${CONFIG_SHELL-/bin/sh} $srcdir/../mdemo/configure --srcdir=$srcdir/../mdemo --prefix=$prefix --disable-shared || exit 1 ! if grep '^build_old_libs=yes' libtool > /dev/null && ! grep '^build_libtool_libs=no' libtool > /dev/null; then : else rm -f Makefile && exit 77 fi Index: libtool/tests/noinst-link.test diff -c libtool/tests/noinst-link.test:1.2 libtool/tests/noinst-link.test:1.3 *** libtool/tests/noinst-link.test:1.2 Fri Mar 19 11:54:28 1999 --- libtool/tests/noinst-link.test Sat Mar 2 22:19:55 2002 *************** *** 22,35 **** cd ../demo || exit 77 echo "removing libhello.la and hell from ../demo" ! rm -f libhello.la hell echo "linking hell with a broken ../demo/libhello.la" ! if $make hell libhello_la_OBJECTS=hello.lo; then echo "= Succeeded: this means the installed library was used, which is wrong" status=1 fi ! rm -f libhello.la hell exit $status --- 22,35 ---- cd ../demo || exit 77 echo "removing libhello.la and hell from ../demo" ! rm -f libhello.la hell$EXEEXT echo "linking hell with a broken ../demo/libhello.la" ! if $make hell$EXEEXT libhello_la_OBJECTS=hello.lo; then echo "= Succeeded: this means the installed library was used, which is wrong" status=1 fi ! rm -f libhello.la hell$EXEEXT exit $status Index: libtool/tests/pdemo-conf.test diff -c /dev/null libtool/tests/pdemo-conf.test:1.5 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/pdemo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,48 ---- + #! /bin/sh + # pdemo-conf.test - try configuring the ../pdemo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../pdemo || mkdir ../pdemo + + # Change to our build directory. + cd ../pdemo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../pdemo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../pdemo (prefix=$prefix)" + ${CONFIG_SHELL-/bin/sh} $srcdir/../pdemo/configure --srcdir=$srcdir/../pdemo --prefix=$prefix || exit 1 + + if grep '^build_old_libs=yes' libtool > /dev/null && + grep '^build_libtool_libs=yes' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + if test -f ./libtool ; then + sed 's/^max_cmd_len=*/max_cmd_len=24 # /g' ./libtool > ltnew + else + exit 1 + fi + + if test -f ./ltnew ; then + rm -f libtool + mv ltnew libtool + else + exit 1 + fi + + exit 0 Index: libtool/tests/pdemo-exec.test diff -c /dev/null libtool/tests/pdemo-exec.test:1.6 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/pdemo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,41 ---- + #! /bin/sh + # pdemo-exec.test - check that programs in the ../pdemo subdirectory are viable + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../pdemo/hell$EXEEXT; then : + else + echo "You must run pdemo-make.test before running $0" 1>&2 + exit 77 + fi + + # Check to see if the programs really run. + echo "Executing uninstalled programs in ../pdemo" + + status=0 + if ../pdemo/hell_static| grep 'Welcome to GNU Hell'; then : + else + echo "$0: cannot execute ../pdemo/hell_static" 1>&2 + status=1 + fi + + if ../pdemo/hell | grep 'Welcome to GNU Hell'; then : + else + echo "$0: cannot execute ../pdemo/hell" 1>&2 + status=1 + fi + + if ../pdemo/helldl | $EGREP -e '(Welcome to .*GNU Hell|unsupported)'; then : + else + echo "$0: cannot execute ../pdemo/helldl" 1>&2 + status=1 + fi + + exit $status Index: libtool/tests/pdemo-inst.test diff -c /dev/null libtool/tests/pdemo-inst.test:1.5 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/pdemo-inst.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,58 ---- + #! /bin/sh + # pdemo-inst.test - try installing from the ../pdemo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Check that things are built. + if test -f ../pdemo/hell$EXEEXT; then : + else + echo "You must run pdemo-make.test before $0" 1>&2 + exit 77 + fi + + # Change to our build directory. + cd ../pdemo || exit 1 + + echo "= Running $make install in ../pdemo" + $make install || exit 1 + + echo "= Executing installed programs" + status=0 + if $prefix/bin/hell_static | grep 'Welcome to GNU Hell'; then : + else + echo "$0: cannot execute $prefix/bin/hell_static" 1>&2 + status=1 + fi + + if $prefix/bin/hell | grep 'Welcome to GNU Hell'; then : + else + echo "$0: cannot execute $prefix/bin/hell" 1>&2 + + # Simple check to see if they are superuser. + if test -w /; then : + else + echo "You may need to run $0 as the superuser." + fi + status=1 + fi + + if $prefix/bin/helldl | $EGREP -e '(Welcome to .*GNU Hell|unsupported)'; then : + else + echo "$0: cannot execute $prefix/bin/helldl" 1>&2 + + # Simple check to see if they are superuser. + if test -w /; then : + else + echo "You may need to run $0 as the superuser." + fi + status=1 + fi + + exit $status Index: libtool/tests/pdemo-make.test diff -c /dev/null libtool/tests/pdemo-make.test:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/pdemo-make.test Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,25 ---- + #! /bin/sh + # pdemo-make.test - try building in the ../pdemo subdirectory + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../pdemo/Makefile; then : + else + echo "You must run pdemo-conf.test before running $0" 1>&2 + exit 77 + fi + + # Change to our build directory. + cd ../pdemo || exit 1 + + # Do the actual build. + echo "Making in ../pdemo" + $make || exit 1 + exit 0 Index: libtool/tests/sh.test diff -c libtool/tests/sh.test:1.6 libtool/tests/sh.test:1.9 *** libtool/tests/sh.test:1.6 Wed Sep 6 13:31:09 2000 --- libtool/tests/sh.test Tue Nov 19 04:42:39 2002 *************** *** 15,64 **** scripts="$srcdir/../ltmain.sh" # Check for bad binary operators. ! if egrep -n -e "if[ ]+[\"']?\\$.*(=|-[lg][te]|-eq|-ne)" $scripts; then echo "use \`if test \$something =' instead of \`if \$something ='" status=1 fi # Check for bad unary operators. ! if egrep -n -e 'if[ ]+-' $scripts; then echo "use \`if test -X' instead of \`if -X'" status=1 fi # Check for using `[' instead of `test'. ! if egrep -n -e 'if[ ]+\[' $scripts; then echo "use \`if test' instead of \`if ['" status=1 fi # Check for using test X... instead of test "X... ! if egrep -n -e 'test[ ]+X' $scripts; then echo "use \`test \"X...\"' instead of \`test X'" status=1 fi # Never use test -e. ! if egrep -n -e 'test[ ]+-e' $scripts; then echo "use \`test -f' instead of \`test -e'" status=1 fi # Check for problems with variable assignments. ! if egrep -n -e '[^ ]=[^ ].*(break|continue)' $scripts; then echo "assignments on the same line as a \`break' or \`continue' may have no effect" status=1 fi # Check for uses of Xsed without corresponding echo "X ! if egrep -n -e '\$Xsed' $scripts | egrep -v -n -e '\$echo \\*"X'; then echo "occurrences of \`\$Xsed\' without \`echo \"X\' on the same line" status=1 fi # Check for quotes within backquotes within quotes "`"bar"`" ! if egrep -n -e '"[^`"]*`[^"`]*"[^"`]*".*`[^`"]*"' $scripts | \ ! egrep -v "### testsuite: skip nested quoting test$"; then echo "nested quotes are dangerous" status=1 fi --- 15,75 ---- scripts="$srcdir/../ltmain.sh" # Check for bad binary operators. ! if $EGREP -n -e "if[ ]+[\"']?\\$.*(=|-[lg][te]|-eq|-ne)" $scripts; then echo "use \`if test \$something =' instead of \`if \$something ='" status=1 fi # Check for bad unary operators. ! if $EGREP -n -e 'if[ ]+-' $scripts; then echo "use \`if test -X' instead of \`if -X'" status=1 fi # Check for using `[' instead of `test'. ! if $EGREP -n -e 'if[ ]+\[' $scripts; then echo "use \`if test' instead of \`if ['" status=1 fi + if $EGREP -n -e 'test[ ]+(![ ])?(-.[ ]+)?"?[.,_x]' $scripts; then + echo "use \`test \"X...\"' instead of \`test \"x...\"'" + status=1 + fi + # Check for using test X... instead of test "X... ! if $EGREP -n -e 'test[ ]+(![ ])?(-.[ ]+)?X' $scripts; then echo "use \`test \"X...\"' instead of \`test X'" status=1 fi + # Check for using test $... instead of test "$... + if $EGREP -n -e 'test[ ]+(![ ])?(-.[ ]+)?X?\$' $scripts; then + echo "use \`test \"\$...\"' instead of \`test \$'" + status=1 + fi + # Never use test -e. ! if $EGREP -n -e 'test[ ]+(![ ])?-e' $scripts; then echo "use \`test -f' instead of \`test -e'" status=1 fi # Check for problems with variable assignments. ! if $EGREP -n -e '[^ ]=[^ ].*(break|continue)' $scripts; then echo "assignments on the same line as a \`break' or \`continue' may have no effect" status=1 fi # Check for uses of Xsed without corresponding echo "X ! if $EGREP -n -e '\$Xsed' $scripts | $EGREP -v -n -e '\$echo \\*"X'; then echo "occurrences of \`\$Xsed\' without \`echo \"X\' on the same line" status=1 fi # Check for quotes within backquotes within quotes "`"bar"`" ! if $EGREP -n -e '"[^`"]*`[^"`]*"[^"`]*".*`[^`"]*"' $scripts | \ ! $EGREP -v "### testsuite: skip nested quoting test$"; then echo "nested quotes are dangerous" status=1 fi Index: libtool/tests/tagdemo-conf.test diff -c /dev/null libtool/tests/tagdemo-conf.test:1.5 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/tagdemo-conf.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,35 ---- + #! /bin/sh + # tagdemo-conf.test - try configuring the ../tagdemo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../tagdemo || mkdir ../tagdemo + + # Change to our build directory. + cd ../tagdemo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../tagdemo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../tagdemo (prefix=$prefix)" + ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix || exit 1 + + if grep '^build_old_libs=yes' libtool > /dev/null && + grep '^build_libtool_libs=yes' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0 Index: libtool/tests/tagdemo-exec.test diff -c /dev/null libtool/tests/tagdemo-exec.test:1.3 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/tagdemo-exec.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,28 ---- + #! /bin/sh + # tagdemo-exec.test - check that programs in the ../tagdemo subdirectory are viable + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../tagdemo/tagdemo$EXEEXT; then : + else + echo "You must run tagdemo-make.test before running $0" 1>&2 + exit 77 + fi + + # Check to see if the programs really run. + echo "Executing uninstalled programs in ../tagdemo" + + if ../tagdemo/tagdemo; then : + else + echo "$0: cannot execute ../tagdemo/tagdemo" 1>&2 + status=1 + fi + + exit $status Index: libtool/tests/tagdemo-make.test diff -c /dev/null libtool/tests/tagdemo-make.test:1.2 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/tagdemo-make.test Wed Jun 6 10:53:29 2001 *************** *** 0 **** --- 1,25 ---- + #! /bin/sh + # tagdemo-make.test - try building in the ../tagdemo subdirectory + + # Test script header. + need_prefix=no + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + if test -f ../tagdemo/Makefile; then : + else + echo "You must run tagdemo-conf.test before running $0" 1>&2 + exit 77 + fi + + # Change to our build directory. + cd ../tagdemo || exit 1 + + # Do the actual build. + echo "Making in ../tagdemo" + $make || exit 1 + exit 0 Index: libtool/tests/tagdemo-shared.test diff -c /dev/null libtool/tests/tagdemo-shared.test:1.5 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/tagdemo-shared.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,35 ---- + #! /bin/sh + # tagdemo-conf.test - try configuring the ../tagdemo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../tagdemo || mkdir ../tagdemo + + # Change to our build directory. + cd ../tagdemo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../tagdemo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../tagdemo (prefix=$prefix) with --disable-static" + ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix --disable-static || exit 1 + + if grep '^build_old_libs=no' libtool > /dev/null && + grep '^build_libtool_libs=yes' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0 Index: libtool/tests/tagdemo-static.test diff -c /dev/null libtool/tests/tagdemo-static.test:1.5 *** /dev/null Mon Apr 14 19:16:49 2003 --- libtool/tests/tagdemo-static.test Sat Mar 29 00:06:46 2003 *************** *** 0 **** --- 1,35 ---- + #! /bin/sh + # tagdemo-conf.test - try configuring the ../tagdemo subdirectory + + # Test script header. + need_prefix=yes + if test -z "$srcdir"; then + srcdir=`echo "$0" | sed 's%/[^/]*$%%'` + test "$srcdir" = "$0" && srcdir=. + test "${VERBOSE+set}" != "set" && VERBOSE=yes + fi + . $srcdir/defs || exit 1 + + # Maybe we have a VPATH build, in which case, create a new subdir. + test -d ../tagdemo || mkdir ../tagdemo + + # Change to our build directory. + cd ../tagdemo || exit 1 + + # Possibly clean up the distribution. + if test -f Makefile; then + echo "= Running $make distclean in ../tagdemo" + $make distclean + fi + rm -f config.cache + + # Configure the demonstration. + echo "= Configuring in ../tagdemo (prefix=$prefix) with --disable-shared" + ${CONFIG_SHELL-/bin/sh} $srcdir/../tagdemo/configure --srcdir=$srcdir/../tagdemo --prefix=$prefix --disable-shared || exit 1 + + if grep '^build_old_libs=yes' libtool > /dev/null && + grep '^build_libtool_libs=no' libtool > /dev/null; then : + else rm -f Makefile && exit 77 + fi + + exit 0