Server IP : 103.119.228.120 / Your IP : 3.135.214.139 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/local/ssl/share/doc/libtool-2.4.2/ |
Upload File : |
2010-12-20 Ian Lance Taylor <iant@google.com> * libltdl/m4/libtool.m4 (LT_LANG): Add Go. (AC_PROG_GO): Provide. (_LT_SYS_HIDDEN_LIBDEPS): Add Go case. (_LT_LANG_GO_CONFIG): Define. (LT_PROG_GO): Define. (AC_PROG_GO): Define if not defined. * libltdl/config/ltmain.m4sh: Match *.go. * doc/libtool.texi (LT_INIT): Mention Go. (Tags): Mention Go. * configure.ac: Enable Go. * NEWS: Update. 2010-12-20 Brice De Bruyne <bricedb@gmail.com> (tiny change) Also turn off -fuse-linker-plugin for postdep_objects computation. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add -fno-use-linker-plugin to temporary compile flags if necessary, to fix C++ postdep_objects setting with -flto -fuse-linker-plugin. * NEWS, THANKS: Update. 2010-12-20 KO Myung-Hun <komh@chollian.net> (tiny change) Set command line length limit for OS/2. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2] <lt_cv_sys_max_cmd_len>: Set to 8192 to avoid long test. 2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PIC flags with mpif77 using ifort on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Intel compiler also using $CC -V output, to avoid false negatives with compiler drivers like mpif77. Report by Christian Rössel. 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PIC flags with MPI wrappers using Portland on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Portland compilers also using $CC -V output, to avoid false negatives with MPI compiler drivers. Report by Christian Rössel. * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for PATH_SEPARATOR. 2010-12-15 KO Myung-Hun <komh@chollian.net> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix PATH_SEPARATOR handling for OS/2. * Makefile.am (update_mans): Quote $(PATH_SEPARATOR). * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for PATH_SEPARATOR. * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing $progpath. * THANKS: Update. 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix nvcc PIC setting on darwin. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>: Prepend -Xcompiler to nonempty variable setting rather than hard-coding -Xcompiler -fPIC, for darwin. * NEWS, THANKS: Update. Report by Paweł Daniluk. Honor $AUTOCONF, $AUTOMAKE in --help output. * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and $AUTOMAKE if set, for --version outout. docs: Libtool configuration diagram. * doc/libtool.texi (Integrating libtool): Add diagrams explaining the dependencies between Libtool files. Suggestion by Ethan Mallove. 2010-11-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Eliminate hardcode_libdir_flag_spec_ld tag variable. * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty if $LD is used for creating shared libraries. Do not use hardcode_libdir_flag_spec_ld any more. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER) <hardcode_libdir_flag_spec_ld>: Remove all instances of the tag variable. (_LT_LINKER_SHLIBS) [linux, xlf] <hardcode_libdir_flag_spec>: Set variable, including ${wl}. Fixes hardcoding in programs created by XL Fortran on GNU/Linux. * NEWS, THANKS: Update. Report by Paul H. Hargrove. Rebuild menus in the manual. * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). Thanks to Ian Lance Taylor for the suggestion. 2010-11-07 Ollie Wild <aaw@google.com> Modify --with-pic to support per-package configurations. * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of package names. Modelled off --enable-shared. * tests/with-pic.at: New test. * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at. * doc/libtool.texi (LT_INIT): Enhance documentation of --with-pic configure flag. * NEWS (New features): Mention that --with-pic now accepts a comma-separated list of package names. 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cwrapper test failure with --disable-static. * tests/cwrapper.at (cwrapper and installed shared libraries): Compile program source without libtool, so we can be sure a non-PIC object will be created. 2010-11-01 Peter Rosin <peda@lysator.liu.se> docs: Windows DLLs and headers. * doc/libtool.texi (Platform quirks): Add new subsection 'Windows DLLs'. * doc/libtool.texi (Platform quirks): Fix typo. 2010-10-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: mention shell requirement for libtool script. * doc/libtool.texi (Invoking libtool): Document that the shell used to invoke libtool needs to be the same used to configure it. * THANKS: Update. Report by Markus Duft. 2010-10-15 Gary V. Vaughan <gary@gnu.org> libtool: remove redundant unsubstituted shell var defaults. * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from libltdl/config/general.m4 sets some default shell variables designed to be substituted by `$(configure_edit)'. Actually, `libtool' uses the language tag values for those variables, and `ltmain.m4sh' is not passed through `$(configure_edit)', so they are just noise. Edit them out at bootstrap time. 2010-10-15 Gary V. Vaughan <gary@gnu.org> maint: don't leak developer GREP, SED etc into distribution file. * Makefile.am: Having rearranged the file, now apply the actual changes to follow-up. (edit): Split into two parts... (bootstrap_edit): ...substitutions that should happen at bootstrap time... (configure_edit): ...and substitutions that should not happen until configure time. * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh) (libtoolize.in, tests/package.m4): Use bootstrap_edit. (libtoolize, tests/defs): Use configure_edit. * HACKING (Release Procedure): Remove the note to workaround the bug fixed by this changeset. * NEWS (Bug fixes): Mention that this bug is now fixed. Reported by Joerg Sonnenberger. maint: rearrange Makefile.am in preparation for a follow-up patch. * Makefile.am (Libtool scripts.): Move this section below the `Bootstrap.' section... (libtoolize.in): ...except this one which is generated at bootstrap time, and was added into the `Bootstrap.' section. (Libltdl.): Move this section below the `Libtool scripts.' section. 2010-10-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix linking from only convenience archives with gfortran on Darwin. * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update macro comment header. [darwin, F77, FC] <compiler_needs_object>: Set to yes if whole_archive_flag_spec is nonempty. Fixes convenience.at test suite failures with gfortran 4.2 on Darwin. * THANKS: Update. Report by Paul Laight. Fix bindir check logic, and relax non-bindir case for AIX. * tests/bindir.at (bindir install tests): Rewrite checks for place of the installed shared library in two separate tests, depending on whether -bindir is supposed to have an effect or not. In the positive case, make the test stricter so that we reject libraries in $libdir. In the negative case, do not require a major version number in the $libdir file name, for AIX without runtimelinking. If tmpdir creation fails, skip the test. Use fewer bindir directory names for testing, to speed up the test. Also mention MSVC style DLL name in comment. Report by Peter Rosin. tests: remove unneeded 'bindir compile check' test. * tests/bindir.at (bindir compile check): Remove. 2010-10-14 Peter Rosin <peda@lysator.liu.se> tests: fix $EXEEXT typo. * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT instead of $EXEXT. 2010-10-12 Simon Josefsson <simon@josefsson.org> Matěj Týč <matej.tyc@gmail.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: improve description of -no-undefined. * doc/libtool.texi (Link mode): Fix -no-undefined description. (Inter-library dependencies): Use Windows not AIX as example system. Clarify need for symbol resolution at library creation time. 2010-10-09 Paolo Bonzini <bonzini@gnu.org> Add missing sysroot resolution. * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot when fetching the install directory of dependent libraries. Reported by Lionel Landwerlin <llandwerlin@gmail.com>, patch by Khem Raj <raj.khem@gmail.com>. * THANKS: Reorder entries, add Khem and Lionel. 2010-10-07 Roumen Petrov <bugtrack@roumenpetrov.info> Add test case for 69e77671 (cwrapper PATH manipulation order) * tests/cwrapper.at: Add new test 'cwrapper and installed shared libraries.' 2010-10-04 Peter Rosin <peda@lysator.liu.se> cwrapper: split long lines when dumping the wrapper script. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If the wrapper script contains long lines, split them for readability and to conform with C standards. * tests/cwrapper.at (cwrapper string length): New test, making sure we don't regress. msvc: handle symbols from different files independently. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) <dumpbin, lt_cv_sys_global_symbol_pipe>: Make all sections viable for symbol extraction again when the symbols from a new file starts. Fixes tests/tagdemo-make.test for MSVC 10. * tests/dumpbin-symbols.at: New test, making sure we don't regress. * Makefile.am (TESTSUITE_AT): Update. 2010-09-27 Peter Rosin <peda@lysator.liu.se> tests: check if sys_lib_search_path_spec works on MSVC. * tests/search-path.at (sys_lib_search_path on w32): New test, making sure v2.2.10-207-g09142ea doesn't regress. Skip need_lib_prefix.at on systems without lib prefix on libraries. * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on systems that do not have libraries prefixed with lib. tests: clean up importing and exporting on w32. Makes the touched tests pass for MSVC when DLLs are built. * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define BUILDING_LIBHELLO when building libhello.la. * tests/demo/foo.h, tests/pdemo/foo.h (nothing) <MSVC>: Export variable when building the libhello dll and import when using libhello. For GCC and non-w32, and when building a static libhello, leave as an ordinary extern. * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export and import logic (LIBFOO_DLL is always undefined). * tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not useful before, even less so now. Removed. * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when building libl1.la. * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when building libl2.la. * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when building libl3.la. * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when building libl4.la. * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h, tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h <MSVC>: Export variables when building the associated library dll and import when using the library. For GCC and non-w32, and when building static libraries, leave as an ordinary extern. 2010-09-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> docs: do not refer to Libtool version with dlopen functionality. * doc/libtool.texi (Dlopened modules): Remove broken reference to what should have been Libtool 0.9g. Report by Roumen Petrov. 2010-09-23 Peter Rosin <peda@lysator.liu.se> msvc: don't try to export import descriptors. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw] [pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in import libraries related to describing what dll(s) the import library is importing. Fixes problem in tests/demo-make.test and some other tests. 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix regression in command-line length computation. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather than possibly-undefined func_fallback_echo, to ensure we fork and exec for this test. * NEWS: Update. Regression introduced in v2.2.6-39-g9c3d4d8. 2010-09-22 Gary V. Vaughan <gary@gnu.org> Post-release administrivia. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers to 2.4.1a. * NEWS: Add header line for next release. Release 2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the static libprefix interface, so new version-info is C+1:0:R+1. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Update version number. manual: web-manual index.html clashes with @node Index. * doc/libtool.texi (Index): Renamed to `Combined Index'. tests: ISO C++ forbids declaration of 'v1' with no type. * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an explicit int type to declaration of 'v1' to prevent compilation failure with C++. 2010-09-22 Peter Rosin <peda@lysator.liu.se> tests: reloadable objects do not work on MSVC, SKIP test. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32, cegcc] <cl*, reload_cmds>: Indicate that reloadable objects do not work. * tests/duplicate_conv.at: Skip last test if reloadable objects do not work. * doc/libtool.texi (libtool script contents) <reload_cmds>: Document how to indicate that reloadable objects do not work. 2010-09-21 Peter Rosin <peda@lysator.liu.se> msvc: eliminate spaces in the library search path. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] <cl*, sys_lib_search_path_spec>: The LIB path variable telling where MSVC looks for libraries is likely to contain directory names with spaces. Convert those directory names to the short 8.3 DOS form (i.e. without spaces) when storing them in sys_lib_search_path_spec, as that is a space separated variable. 2010-09-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Revert to per-language libpath computation on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept tagname argument. Use global cache variable lt_cv_aix_libpath to override per-language tag variables for the libpath value. Fix the sed script to remove trailing space. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to _LT_SYS_MODULE_PATH_AIX. Tracked down and reported by Rainer Tammer. 2010-09-21 Gary V. Vaughan <gary@gnu.org> maint: edit-readme-alpha shouldn't try to re-edit during dist. * libltdl/config/edit-readme-alpha: If README is non-writable assume that it is being run from distcheck, and skip the edit with a warning (to help diagnose cases where the heuristic is not correct). However, if README has already been edited to the alpha text, quietly skip without an error message. 2010-09-20 Eric Blake <eblake@redhat.com> maint: drop autobuild requirement * HACKING: Update. build: ship autobuild.m4, to reduce bootstrap requirement * libltdl/m4/.gitignore: Drop autobuild.m4. * libltdl/m4/autobuild.m4: New file, copied from autobuild. * configure.ac (AB_INIT): Unconditionally call it. 2010-09-20 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> libltdl: Make sure preloaded symbols are declared extern "C". * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the declaration of lt__PROGRAM__LTX_preloaded_symbols to global scope and make sure it has "C" linkage. Makes exceptions.at succeed on MSVC. 2010-09-20 Peter Rosin <peda@lysator.liu.se> tests: __declspec (dll{ex,im}port) in tests/exceptions.at * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use __declspec (dllimport) and __declspec (dllexport) instead of the less portable __attribute__ ((dllimport)) and __attribute__ ((dllexport)). Makes the test compile on MSVC. 2010-09-19 Peter Rosin <peda@lysator.liu.se> tests: Import items from liba1 for MSVC. * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and variable v1 from liba1 when using them from modb1. Makes the test pass on MSVC. 2010-09-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid distcheck failure with --disable-ltdl-install. * tests/ltdl-libdir.at (libdir of installed modules): Skip if $LIBLTDL does not exist. 2010-09-18 Gary V. Vaughan <gary@gnu.org> maint: use sed instead of maintaining 2 README files. * README.alpha: Deleted. It was mostly identical to README. * libltdl/config/edit-readme-alpha: New script to edit the contents of README in the dist tree prior to tarring up. * Makefile.am (dist-hook): Run it before rolling alpha release tarball. maint: improve README's `Obtaining the Latest Sources'. * README (Obtaining the Latest Sources): Add instructions for obtaining stable, alpha and nightly snapshot tarballs. * README.alpha (Obtaining the Latest Sources): Adjust to match. maint: reformat README `The Test Suites' for consistency. * README (The Test Suites): Reformatted for consistency. * README.alpha (The Test Suites): Adjust to match. maint: improve `Reporting Bugs' in README and README.alpha. * README (Reporting Bugs): Rewritten to a more complete and concise guide to providing a good bug report. * README.alpha (Reporting Bugs): Adjust to match. maint: consolidate Introductions of README and README.alpha. * README (Introduction): Rewritten to a more logical order for first time users, incorporating some additional text that was previously only in README.alpha. * README.alpha (Introduction): Adjust to match. maint: copy the Version Numbering section into README.alpha. * README.alpha (Version Numbering): No less useful for users of alpha releases. Copied from README. 2010-09-17 Peter Rosin <peda@lysator.liu.se> tests: actually detect missing 'test' in 'if "$foo" = ...'. * tests/sh.test: Remove extra backslash in regex. Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2] [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++. 2010-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> LTO: consistently accept -fwhopr* and -flto* for GCC. * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match -flto*. 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm> Fix order of PATH manipulation in cwrapper and shwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call lt_update_exe_path before lt_update_lib_path, to ensure that the temporary rpath values (which include the OBJDIRs of uninstalled libtool libraries) precede installation and final -rpath directories. (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending $temp_rpath to $shlibpath_var; similar rationale as above. Reported by Jon Turney <jon.turney@dronecode.org.uk> 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm> Document libtool variable to_host_file_cmd. * doc/libtool.texi (libtool script contents:to_host_file_cmd): Document variable. (libtool script contents:to_tool_file_cmd): Prefer `build platform' to `build system'; Ditto `host platform'. 2010-09-16 Charles Wilson <libtool@cwilson.fastmail.fm> Fix sh.test failure introduced in 72064249 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor syntax. 2010-09-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid localization failure due to unstable compiler messages. * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): Attempt to normalize temporary file names in error messages. Fixes 'localized compiler messages' test failure on Darwin when creating fat (multi-ABI) libraries. 2010-09-13 Peter Rosin <peda@lysator.liu.se> Prefer $NM @file when the toolchain isn't native to $build. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating the command line length and take the @file branch *if* the file names needs to be converted for the toolchain and the @file branch works. Fixes problems in stresstest.at when doing a cross from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked" cross), and for the specific case of MSVC on Cygwin it makes the test pass. 2010-09-15 Gary V. Vaughan <gary@gnu.org> maint: improve README instructions for fetching latest version. * README, README-alpha (Obtaining the Latest Sources): New section, describing use of savannah repositories and bootstrap. * README.alpha (Reporting Bugs): Remove git instructions in favour of a reference to the new `Obtaining the Latest Sources' section. 2010-09-14 Eric Blake <eblake@redhat.com> maint: ship .xz, not .lzma * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format. * Makefile.maint (git-release, git-dist, prev-tarball) (new-tarball, diffs): Use correct extension. * HACKING: Update instructions. * .gitignore: Ignore .xz files. 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> doc: avoid long lines in input and output, indexing fixes. * doc/libtool.texi (Linking libraries) (Module loaders for libltdl): Manually line-wrap examples, to avoid long lines. (Libltdl interface, User defined module data) (Module loaders for libltdl): Wrap long @deftypefun input lines using trailing '@'. Use @deftypefun rather than @deftp where appropriate, and add spaces in @deftypefun lines to fix the index entries generated from these lines. (Cheap tricks): Use @smallexample rather than @example, to avoid long lines. docs: @file and @option markup fixes. * doc/libtool.texi (Creating object files, Linking libraries) (Linking executables, Link mode, Finish mode, Autoconf macros) (Using Automake, Inter-library dependencies, Dlpreopening) (Linking with dlopened modules, Finding the dlname) (Libltdl interface, Test descriptions, Multiple dependencies): Add @option where needed, replace @samp with @file as appropriate. 2010-09-12 Peter Rosin <peda@lysator.liu.se> * .gitignore: Ignore *.obj files for MSVC (and w32 in general). Adjust to moved auxiliary files and add compile. * HACKING (Maintenance Notes): Adjust to moved files. Add the compile script. * Makefile.maint (fetch): Also fetch the compile script. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid empty AT_DATA contents, for zsh. * tests/libtoolize.at (libtoolize macro serial update) (libtoolize config files serial update, LIBTOOLIZE_OPTIONS): Do not create empty files with AT_DATA, the latter is documented to require a final newline. Fixes testsuite failures with zsh 4.3.10. 2010-09-12 Charles Wilson <libtool@cwilson.fastmail.fm> When assigning $linklib value, honor [-all]-static[-libtool-libs] * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs and static library exists, ensure old_library name is used as $linklib. Fixes failure on mingw when both static and shared libraries are present. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: work around zsh use of $options variable. * tests/getopt-m4sh.at: Rename $options to $opts, the former is special for zsh 4.3.10. Fix AC_NO_EXECUTABLES test failure on IRIX 6.5. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result of link check for -Wl,-exported_symbol. * tests/no-executables.at (AC_NO_EXECUTABLES): Set lt_cv_irix_exported_symbol, to avoid link check. 2010-09-12 Jürgen Reuter <juergen.reuter@physik.uni-freiburg.de> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Initial support for the NAG Fortran compiler on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <nagfor>: New set of entries, for NAG Fortran 5.1 and 5.2. * NEWS: Update. 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix getopt.m4sh to require Autoconf 2.62 or newer. * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62, not 2.61. 2010-09-11 Charles Wilson <libtool@cwilson.fastmail.fm> Correct typo: $sharedlib_from_linklib_cmd missing '_cmd' * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious typo, $sharedlib_from_linklib_cmd missing '_cmd'. 2010-09-10 Peter Rosin <peda@lysator.liu.se> Convert file name to toolchain format when invoking $NM. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_win32_libid, func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): When using the name lister to find symbols in files, convert the file names to a format appropriate for the tool. Fixes testsuite issues in mdemo-static-make.test and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW using MinGW native tools (a.k.a. a "faked" cross). 2010-09-09 Peter Rosin <peda@lysator.liu.se> Fix dependency tracking for MSYS/MinGW. * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy argument which allows the user to specify conversions that are not desired. (func_mode_compile): Don't convert source files on MSYS, as MSYS does it for us. This fixes a regression introduced by "Use func_to_tool_file instead of fix_srcfile_path". Reported by Charles Wilson. 2010-09-08 Peter Rosin <peda@lysator.liu.se> Mention adjustment of naming of MSVC import libraries in NEWS. * NEWS: Mention the change in import library naming on MSVC. 2010-09-07 Peter Rosin <peda@lysator.liu.se> Adjust naming of MSVC import libraries. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] [pw32, cegcc] <cl*, library_names_spec>: Adjust naming of the import library from foo-<major-version>.lib to foo.dll.lib, to avoid clashes with the static library for unversioned libraries. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32] [cegcc] <cl*, archive_expsym_cmds>: Explicitely name the import library to match the above. Fixup texi typo in previous. * doc/libtool.texi (libtool script content) <postlink_cmds>: Add missing 'code' command. Convert POSIX file names to toolchain format for MSVC * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [cygwin, mingw, pw32, cegcc] <cl*, postlink_cmds>: Make sure the -outputresource: file name for the manifest tool is in w32 format. <cl*, archive_expsym_cmds>: Likewise for the MSVC command file containing the exports and the output file name. * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the toolchain format of the output_objdir file name and store it in the tool_output_objdir variable. Also replace any occurrence of @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the @OUTPUT@ content. * doc/libtool.texi (libtool script content): Update description of postlink_cmds to mention @TOOL_OUTPUT@. 2010-09-06 Peter Rosin <peda@lysator.liu.se> Use func_to_tool_file instead of fix_srcfile_path. * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the fix_srcfile_path hook with a call to func_to_tool_file. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32] [cegcc]: Drop fix_srcfile_path. * doc/libtool.texi (libtool script contents): Likewise. * NEWS: Mention that fix_srcfile_path has been replaced. Convert file names to toolchain format in $NM and $AR @files. * libltdl/config/ltmain.m4sh (func_mode_link): When listing symbols and when creating archives using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes stresstest.at on MSYS when run with low command line length. Convert file names to toolchain format when linking. * libltdl/config/ltmain.m4sh (func_mode_link): When exporting symbols and when linking using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes problems in stresstest.at on MSYS when run with low command line length. Add file name conversion from $build to toolchain. * configure.ac: Ensure to_tool_file_cmd is available to Makefile. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add cache variable lt_cv_to_tool_file_cmd that describes how to convert file names from $build to toolchain format. * libltdl/config/ltmain.m4sh (func_to_tool_file): New function that utilizes the above. * Makefile.am: Ensure to_tool_file_cmd is included in TEST_ENVIRONMENT so that it is passed to (old testsuite) tests. * testsuite.at: Ensure to_tool_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * doc/libtool.texi (libtool script content): Update with to_tool_file_cmd description. (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd. 2010-09-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid spurious test failure due to library mode on HP-UX. * tests/help.at (debug tracing): Use $lt_INSTALL not cp for install mode, the latter will not overwrite an existing library with mode 555. 2010-09-01 Charles Wilson <libtool@cwilson.fastmail.fm> Path conversion documentation * doc/libtool.texi (Platform quirks): Add new subsections 'Cross compiling' and 'File name conversion'. 2010-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: avoid spurious pic_flag test failure on HP-UX 10.20. * tests/pic_flag.at (override pic_flag at configure time): Match HP-UX 10.20 cc warning about unknown options, to skip the test. tests: fix localization test for GCC on HP-UX 11.00. * tests/localization.at (localized compiler messages): Be sure to switch the locale only for the actual compiler commands, so we don't pick up warnings from helper tools such as diff which may not have the locale installed. Avoid leaking make flags into testsuite results. * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__ and MAKE_JOBS_FIFO. * tests/testsuite.at: Likewise. Fixes warnings in test logs when the user uses 'make -jN check' and inner $MAKE invocations can't connect to the job server. Fixes spurious failures of configure-iface.at and of demo-noinst-link tests with BSD and Tru64 make if the user uses 'make -k', as the exit status of the latter is not reliable. 2010-09-01 Gary V. Vaughan <gary@gnu.org> Remove announce-gen.m4sh and mailnotify.m4sh. * libltdl/config/announce-gen.m4sh: Removed. This script has no apparent connection to libtool functionality, and mostly duplicates the better maintained gnulib announce-gen script. * libltdl/config/mailnotify.sh: Removed. This script was used by only clcommit.m4sh and announce-gen.m4sh, both of which are now removed too. * Makefile.maint (announce-gen, libltdl/config/mailnotify): Targets removed. * bootstrap: Remove the mailnotify regeneration warning. * HACKING (Release Procedure): Remove references to announce-gen. (Alpha release note template, Full release note template): Reinstated from before announce-gen was introduced. Remove clcommit.m4sh. * clcommit.m4sh: Removed. This script was written to help keep ChangeLog and commit messages in sync when committing to CVS, and is an anachronism now that Libtool uses git. * Makefile.maint (commit): Target removed. * bootstrap: Don't generate commit. * HACKING (Release Procedure): Adjusted. 2010-08-31 Peter Rosin <peda@lysator.liu.se> archive-in-archive.at passes with Microsoft lib. * tests/archive-in-archive.at: Tighten test to check that the desired object files are indeed part of the archive. Microsoft lib still passes, so remove the expected failure for that case. Dump archiver output to the log when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log when testing for @file support. Suggested by Ralf Wildenhues. Silence archiver output when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr to the bit bucket when testing for @file support. 2010-08-31 Gary V. Vaughan <gary@gnu.org> Remove double `Generated from foo.m4sh' lines. We now require a modern Autoconf to bootstrap libtool, which will add the `Generated by ...' boiler-plate automatically, so we can remove the hand-rolled @configure_input@ substitutions we had been doing: * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh, libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh: Remove @configure_input@. * Makefile.am (edit): Remove configure_input substitution. (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) (tests/defs): Don't set `$input' shell variable. * Makefile.maint (announce_gen, libltdl/config/mailnotify) (commit): Likewise. 2010-08-31 Peter Rosin <peda@lysator.liu.se> Extract the archive name from the .la file and use $AR (not ar). * Makefile.am: Pass AR through to the testsuite. * tests/archive-in-archive.at: Bump copyright year. Extract archive name from the .la file instead of hardcoding the name, and allow different archivers. Also clarify that the tested functionality is currently broken. 2010-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> tests: skip -Wall -Werror with Tru64 cc in cwrapper test. * tests/cwrapper.at (cwrapper for uninstalled executables): Use a link test rather than a compile test to flesh out unknown compiler flags starting with -W; Tru64/OSF1 cc will happily accept `-Wall -Werror' as indication to pass flags on to subprocesses. tests: avoid getopt-m4sh failures when autom4te is not available. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Check $M4SH --version, skip on failure. tests: mark 'syntax of .la files' as XFAIL, expose failure. * tests/lalib-syntax.at (syntax of .la files): Assert that the string returned by lt_dlerror after a failure is non-NULL, so the failure shows up on systems other than Solaris. Mark test as expected to fail. Suggested by Bob Friesenhahn. 2010-08-30 Eric Blake <eblake@redhat.com> Simplify recent configure quoting portability workaround. * configure.ac: Simplify setting of timestamp_string. 2010-08-30 Charles Wilson <libtool@cwilson.fastmail.fm> Update path conversion warning messages * libltdl/config/ltmain.m4sh (func_convert_file_check): Update comments and warning message. (func_convert_path_check): Update warning message. 2010-08-29 Peter Rosin <peda@lysator.liu.se> Fix typo when renaming path conversion functions. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. 2010-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Support GCC LTO on GNU/Linux. * libltdl/config/ltmain.m4sh (func_mode_link): Allow through flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols starting with __gnu_lto. (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsyms_cmds>: Add $pic_flag for GCC. (_LT_LANG_CXX_CONFIG) [linux] <archive_cmds, archive_expsyms_cmds>: Likewise. (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o. * NEWS: Update. Disable GCC LTO for verbose library extraction. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which are substituted with the per-language variables here) contain -flto or match -fwhopr*, respectively. Save and restore CFLAGS properly inside libtool.m4 macros. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different temporary variables for saved and restored values of $LIBS, $CFLAGS, to avoid overlap with the *_CONFIG macros. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore $CFLAGS, and override it with per-language flags, so that in case output_verbose_link_cmd uses $CFLAGS, the right flags are used. Work around yet another shell quoting portability issue. * configure.ac: Avoid nonportable quoted alternate variable value in unquoted here document, so Solaris 10 sh and Tru64 ksh do not print spurious extra quotes. Silence order-only configure test for AIX make. * configure.ac: Also drop standard output, for AIX 5.1 make. 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm> Minor sysroot fixups. * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo. * tests/sysroot.at: Search also for crt0.o to accommodate cygwin. 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw|cross-compile]: Path conversion support. * configure.ac: Ensure to_host_file_cmd is available to Makefile. * TODO: Document QoI issue with file name conversion functions. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function sets libtool variable $to_host_file_cmd, and employs cache. (_LT_SETUP): Require it. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is included so that it is passed to (old testsuite) tests. * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here. * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd): New variables. (func_cygpath): New function. (func_init_to_host_path_cmd): New function. (func_to_host_path): Renamed to... (func_to_host_file): Refactored to... (now uses $to_host_file_cmd). (func_convert_core_file_wine_to_w32): Here. New function. (func_convert_core_msys_to_w32): Here. New function. (func_convert_file_check): Here. New function. (func_convert_file_noop): Here. New function. (func_convert_file_msys_to_w32): Here. New function. (func_convert_file_cygwin_to_w32): Here. New function. (func_convert_file_nix_to_w32): Here. New function. (func_convert_file_msys_to_cygwin): New function. (func_convert_file_nix_to_cygwin): New function. (func_to_host_pathlist): Renamed to... (func_to_host_path): Refactored to... (now uses $to_host_path_cmd and func_init_to_host_path_cmd). (func_convert_path_check): Here. New function. (func_convert_path_front_back_pathsep): Here. New function. (func_convert_core_path_wine_to_w32): Here. New function. (func_convert_path_noop): Here. New function. (func_convert_path_msys_to_w32): Here. New function. (func_convert_path_cygwin_to_w32): Here. New function. (func_convert_path_nix_to_w32): Here. New function. (func_convert_path_msys_to_cygwin): New function. (func_convert_path_nix_to_cygwin): New function. 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix symlist variable path to use _WIN32 instead of __WINDOWS__. * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h, libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h: Change __WINDOWS__ to _WIN32. Report by Charles Wilson. Add $pic_flag to archive_cmds and archive_expsym_cmds. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) <archive_cmds, archive_expsym_cmds> [GNU ld, netbsd]: Add $pic_flag if ELF. [GNU ld, solaris]: Likewise. [GNU ld, default case]: Likewise. [!GNU ld, freebsd, dragonfly]: Add $pic_flag. [!GNU ld, GCC, hpux9]: Add $pic_flag. [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag. [!GNU ld, GCC, osf4, osf5]: Likewise. [!GNU ld, GCC, solaris]: Likewise. (_LT_LANG_CXX_CONFIG) <archive_cmds, archive_expsym_cmds> [hpux9]: Add $pic_flag if $GXX. [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [irix5, irix6]: Add $pic_flag if $GXX. [osf4, osf5]: Likewise. [solaris]: Add $pic_flag if $GXX and not GCC 2.7. Uniform const'ness of symlist variable lt_preloaded_symbols. On some systems, lt_preloaded_symbols may not be declared const due to relocation issues. C99 requires qualification to match for compatible declarations, so ensure we declare const'ness in the same way everywhere; link-time optimization may otherwise rightfully complain about inconsistencies. Since ltdl.h may not depend upon config.h, rely on system defines for choosing const'ness. * NEWS: Update. * doc/libtool.texi (Dlpreopening): Document this issue. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST according to system defines. Remove old shell cruft. Use LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols. * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise, define LT_DLSYM_CONST according to system defines. * tests/demo/foo.h (LT_DLSYM_CONST): Likewise. * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise. * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST. * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist): Likewise. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise for configure test code. * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST. * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise. 2010-08-28 Dave Korn <dave.korn.cygwin@googlemail.com> Ensure cwrapper magic string is not optimized away. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Declare MAGIC_EXE as volatile. Report by Charles Wilson. 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix quoting in non-XSI func_xform, for IRIX sh. * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra M4 quotes. Fix response file test for unreliable exit status of IRIX ar. * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail over a command-line argument specifying a nonexistent file (such as `@FILE'), so ensure failure with a reponse file containing a nonexistent file. Also, use lt_* variable prefix for temporary variables. Fix AC_LANG_PROGRAM warnings from git Autoconf. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix underquoted AC_LANG_PROGRAM call. (LT_PROG_AR): Use AC_LANG_PROGRAM. (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the given language. * NEWS: Update. 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> fix AIX testsuite regression * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly revert v2.2.10-83-gc45a288: Do not absolutize path here, only do sysroot replacement. (func_mode_link): Adjust. 2010-08-22 Charles Wilson <libtool@cwilson.fastmail.fm> fix --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else blocks of the "if $opt_dry_run" conditional. 2010-08-15 Paolo Bonzini <bonzini@gnu.org> improve code for sysroot --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex and sysroot_cmd delimiter from pipe to slash. Wrap the entire for loop with "if $opt_dry_run...fi" and print an explanatory message for the --dry-run case. 2010-08-12 Paolo Bonzini <bonzini@gnu.org> add libtool --mode=finish mode for sysroot * doc/libtool.texi (Finish mode): Document behavior when *.la files are passed. * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot or `=' signs representing it from files in $libs. * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot references before running libtool --mode=finish, and for absence afterwards. reorganize parsing of --mode=finish arguments * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for directories and *.la files. fix sysroot handling for deplibs of preopened libtool libs * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool through func_resolve_sysroot. fix sysroot tests to pass on Fedora 13 * tests/sysroot.at: Link $prefix/include into the sysroot as well, as required by newer GCC. 2010-07-29 Paolo Bonzini <bonzini@gnu.org> initial version of the NEWS entry * NEWS: Document sysroot support. add sysroot test * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at. * tests/sysroot.at: New. emit sysrooted paths when installing .la files * libltdl/config/ltmain.m4sh (func_replace_sysroot): New. (func_mode_link): Prepend paths in $libdir with the sysroot. Further, replace the sysroot with = (using func_replace_sysroot) whenever such a path is written in a .la file. process postdeps to include sysrooted paths * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson). (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R and -l flags will now always be separated from the rest of the argument. handle sysrooted paths when reading dependencies to la files * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install, func_mode_link): Whenever a .la file occurs in another .la file, expand the sysroot path in it. 2010-07-28 Paolo Bonzini <bonzini@gnu.org> teach libtool -L= and -R= * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New. (func_mode_link): Always pass result of stripping -L and -R to func_resolve_sysroot before using it. Remove absolute path expansion when func_resolve_sysroot subsumes it. Expand sysroot in -rpath. When processing dependent libraries also resolve sysroot paths there. add --with-sysroot * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New. (LT_SETUP): Require _LT_WITH_SYSROOT. handle sysroot flags * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot option. 2010-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * NEWS: Only bootstrapping needs new Automake and Autoconf. check-interactive and check-noninteractive for both testsuites. * Makefile.am (COMMON_TESTS, TESTS): Split into ... (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new variables. (check-interactive-new): Rename from check-interactive. (check-noninteractive-new): Rename from check-noninteractive. (check-interactive-old, check-noninteractive-old): New targets. (check-interactive, check-noninteractive): Depend on the respective targets for the old and the new test suites. * doc/libtool.texi (Test descriptions): Simplify description about check-interactive and check-noninteractive. Add index entries. Adjust docs for renaming and for parallel-tests. * README: Update example TESTS setting. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions): Update for test renaming, adjust descriptions accordingly. Update VERBOSE handling for parallel-tests driver. * tests/defs.m4sh: Default to verbose output, drop now-unneeded handling of 'VERBOSE=no'. * README: Update example usage. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions, When tests fail): Remove unneeded VERBOSE recommendations. Point to per-test log files and test-suite.log summary file. Enable parallel-tests test driver for the old testsuite. * configure.ac: New configure test to find out whether `make' supports order-only prerequisites; set @ORDER@ accordingly. (AM_INIT_AUTOMAKE): Enable parallel-tests option. * tests/defs.m4sh (prefix): Derive install prefix for tests from the test name, to avoid clashes. * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS): Reformat. Adjust for renamed tests. Add dependencies between the respective log files of the tests, to ensure proper ordering. Use order-only dependencies if possible, between test groups that use the same directory. (clean-local-legacy): Remove `_inst-*' directories as well. Prompted by suggestion from Bob Friesenhahn. New alias scripts for old tests run more than once. * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test: New files. Require Automake 1.11.1 for Libtool, enable color-tests. * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable color-tests. (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and feature test for Autoconf 2.59 and Automake 1.9.x workaround. * Makefile.am: Simplify accordingly. * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds for Autoconf 2.59 and Automake 1.9.6. 2010-08-23 Charles Wilson <libtool@cwilson.fastmail.fm> Fix syntax for cygwin-cross libltdl/m4/argz.m4: Add quotes around variable, which may contain the multiword value 'guessing no'. 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> configure: use Autobuild AB_INIT if available. * configure.ac: Call AB_INIT if it is defined, with $autobuild_mode as argument, to be set at configure time. Set AB_VERSION to the Libtool version string. * HACKING: Update. Fix getopt tests to skip with Autoconf < 2.61. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test if 'autom4te --language=m4sh' exits 63 because version 2.61 is required. Allows the testsuite to complete successfully with Autoconf 2.59 and Automake 1.9.6. Tidy and fix clean and distclean rules for old testsuite. * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead of hard-coding the list of test directories. Use $(AM_MAKEFLAGS). (fake-distclean-legacy): New phony rule, to create fake Makefile files if needed so that the automake-generated distclean-recursive rule can work properly. (distclean_recursive): New helper variable. (distclean-recursive): Depend on fake-distclean-legacy. 2010-08-22 Paolo Bonzini <bonzini@gnu.org> Fix sed_make_literal_regex. * libltdl/config/general.m4sh (sed_make_literal_regex): Fix definition. 2010-08-15 Paolo Bonzini <bonzini@gnu.org> Factor the sed command used to make a regex from a literal. * libltdl/config/general.m4sh (sed_make_literal_regex): New. * libltdl/config/ltmain.m4sh (func_cygming_dll_for_implib_fallback_core): Use it. Suggested by Ralf Wildenhues. 2010-08-21 Rainer Tammer <tammer@tammer.net> (tiny change) Avoid issues with AIX resident shared libraries in old testsuite. * tests/defs.m4sh [aix]: Remove file mode permission for others, so shared libraries are not kept in memory after execution. Fixes failures of repeated mdemo-inst.test with on AIX 5.3. 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Skip part of versioning test on AIX. * tests/versioning.at (versioning): The AIX linker always records the unversioned library name, even with runtimelinking, so skip the execution test for the incompatibly upgraded library. Report by Rainer Tammer. Remove dead code from versioning test. * tests/versioning.at (versioning): No need to build unused prog3. 2010-08-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Don't hide the table of contents in the manual. * doc/libtool.texi: Move the table of contents to the beginning. Prompted by patch from Bruno Haible against Automake. Remove superfluous dependency in Makefile.am. * Makefile.am (tests/demo-conf.test): Remove dependency on libtool, this test is a primary source and not generated. Bump copyright years in manual. * doc/libtool.texi: Bump copyright years. 2010-08-13 Peter Rosin <peda@lysator.liu.se> Allow the use of a listing file if the archiver supports it. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection of a suitable archiver... (_LT_PROG_AR): ...to here. New macro, also detect if the archiver supports a listing file with the new variable archiver_list_spec. * libltdl/config/ltmain.m4sh: If the archiver supports a listing file, use it when max_cmd_len is exceeded. This is needed for tool chains such as MSVC which do not support piece by piece linking (-r -o). * doc/libtool.texi (libtool script contents): Update with archiver_list_spec description. 2010-08-10 Gary V. Vaughan <gary@gnu.org> (tiny change) Make testsuite compatible with Autoconf 2.62 again. * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph. Suggested by Eric Blake <eblake@redhat.com> Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-08-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix more problematic code from "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Revert back func_append instances that as assignments relied on the shell not performing word splitting on the right hand side of the assignment. Fix another typo on "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in computation of finalize_rpath introduced in v2.2.10-40-g0da7d80, fixing several testsuite failures on AIX. Report by Rainer Tammer. 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Avoid unwanted error message in configure output. * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print in subshell, so eventual `print: not found' is hidden reliably. Fix compilation of program sources on AIX. * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not use $LIBTOOL when compiling plain object, AIX by default does not enable static archives. * tests/ltdl-libdir.at (libdir of installed modules): Likewise. Report by Rainer Tammer. Do not call toplevel configure in non-VPATH build. * tests/deplibs-mingw.at (deplibs without file command): Use LT_AT_CONFIGURE for consistency, update comment about why it might fail. * tests/pic_flag.at (override pic_flag at configure time): Skip test if we are building in-tree. Report by Rainer Tammer. Allow running pic_flag test with different shell. * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second argument specifying the configure script to run. * tests/pic_flag.at (override pic_flag at configure time): Use LT_AT_CONFIGURE. Ensure not to reverse preserving of --debug for relinking/finish. * libltdl/config/ltmain.m4sh (func_check_version_match): Only preserve '--debug' switch if $opt_debug is not equal to ':'. * tests/help.at (debug tracing): New test group. Report by Rainer Tammer. 2010-08-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix AC_NO_EXECUTABLES test failure on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath. * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to avoid link test. Bug report by Rainer Tammer. Fix ltdl-libdir test for C++ compilers. * tests/ltdl-libdir.at (libdir of installed modules): Declare module function as extern "C". 2010-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Let `libtool' without arguments point to `--help' again. * libltdl/config/ltmain.m4sh (func_check_version_match): Remove duplicate and wrong error check. * tests/help.at (standard command line options): Extend test. Report by Rainer Tammer. Avoid syntax error due to shift of nonexistent parameter. * libltdl/config/ltmain.m4sh <command-line handling>: Only shift if there is a positional parameter to shift. Fixes `libtool --help' when dash is used. Report by Rainer Tammer. Fix testsuite errors due to shell quoted parameter expansion issue. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space between double-quoted and unquoted shell parameter, as bash 4.0.28 doesn't add one in its output if the expansion of the second one starts with a space. (short option splitting, enhanced shell short option splitting) (long option splitting, XSI long option splitting): Add space in expected output. Fixes testsuite failures on AIX, FreeBSD, etc. Report by Rainer Tammer. 2010-08-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix build failure with AIX sh due to shell quoting error. * libltdl/config/ltmain.m4sh (func_append_quoted): Document that this function inserts a separator space. (func_mode_compile): Do not pass extra space here. Fixes regression introduced in v2.2.10-49-gc13532a. Report by Rainer Tammer. 2010-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix pic_flag test unportabilities. * tests/pic_flag.at (override pic_flag at configure time): Skip test if the compiler produces a warning containing `fpic'. Do not use nonportable `grep -e', for Solaris. Report by Charles Wilson. 2010-08-01 Paolo Bonzini <bonzini@gnu.org> Fix bug in postdeps computation * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually concatenate $prev and $p. 2010-07-26 Charles Wilson <libtool@cwilson.fastmail.fm> Don't always skip XSI tests * tests/getopt-m4sh.at: Use new signature as implemented by de8a0992b21b76a13c302cf48588ad5f6042595c, when determining whether to test Extended-shell functions. 2010-07-18 Peter Rosin <peda@lysator.liu.se> * tests/stresstest.at: Link with main.lo when liba is shared and linking main with -no-install. 2010-07-18 Peter Rosin <peda@lysator.liu.se> * tests/stresstest.at [MSVC]: dllimport all imported variables. 2010-07-17 Peter Rosin <peda@lysator.liu.se> dllimport the variable for MSVC in link-order.at * tests/link-order.at [MSVC]: Makes the test pass by dllimporting imported variables when working with shared libraries. 2010-07-08 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make preloading heed libname_spec. Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC. * libltdl/ltdl.c (libprefix): New static variable describing the prefix of static archives. (try_dlopen): Use libprefix. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static archives to config.h. Also fix assignment of LTDLOPEN to be more efficient and less error prone while at it. 2010-07-08 Gary V. Vaughan <gary@gnu.org> Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to _LT_PROG_REPLACE_SHELLFNS. (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE. (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use 'Extended shell' rather than 'XSI' on successful replacement. * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_stripname): Change decorator comment to use 'extended shell' rather than 'XSI' on fallback implementations. * libltdl/config/getopt.m4sh (func_split_short_opt) (func_split_long_opt): Ditto. * libltdl/config/ltmain.m4sh (func_append, func_append_quoted) (func_arith, func_len, func_lo2o, func_xform): Ditto. * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT. (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to match new replacable function decorator comments. 2010-07-08 Peter Rosin <peda@lysator.liu.se> Optimize assignment of output_la. * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec instances. Report by Ralf Wildenhues. 2010-07-08 Gary V. Vaughan <gary@gnu.org> Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch. * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious variable dereference. 2010-07-07 Gary V. Vaughan <gary@gnu.org> Tidy m4 comment header underline. * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make sure hyphens in function name comment header underline line up. 2010-07-07 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin|mingw] fix dlpreopen with --disable-static * libltdl/config/general.m4sh (func_tr_sh): New function. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: Obtain DLL name corresponding to import library by using value stored in unique variable libfile_$(transliterated implib name). If that fails, use $sharedlib_from_linklib_cmd to extract DLL name from import library directly. Also, properly extract dlsyms from the import library. (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs over static libs when both are available. When dlpreopening DLLs, use linklib (that is, import lib) as dlpreopen file, rather than DLL. Store name of associated la file in unique variable libfile_$(transliterated implib name) for later use. (func_win32_libid): Accomodate pei-i386 import libs as well as pe-i386. (func_cygming_dll_for_implib): New function. (func_cygming_dll_for_implib_fallback): New function. (func_cygming_dll_for_implib_fallback_core): New function. (func_cygming_gnu_implib_p): New function. (func_cygming_ms_implib_p): New function. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed expressions for lt_cv_sys_global_symbol_to_c_name_address and lt_cv_sys_global_symbol_to_c_name_address_lib_prefix as trailing space after module name is optional. (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: Set exclude_expsyms correctly for $host. Simplify regular expression in export_symbols_cmds. (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms correctly for $host. Enable export_symbols_cmds to identify DATA exports by _nm_ prefix. (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets sharedlib_from_linklib_cmd variable. (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. 2010-07-05 Peter Rosin <peda@lysator.liu.se> * tests/export.at [MSVC]: dllimport all imported variables. 2010-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Peter Rosin <peda@lysator.liu.se> Support for response files with $NM. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) <nm_file_list_spec>: New tag variable. Set it to '@' if input files can be passed to $NM in a file named with the '@' option. * libltdl/config/ltmain.m4sh (func_mode_link): When nm_file_list_spec is nonempty, use it to avoid skipped_export. * doc/libtool.texi (libtool script contents): Document new variable. 2010-07-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix ccache test for MSVC. * tests/static.at (ccache -all-static): Ignore compiler stderr. Reported by Peter Rosin. 2010-07-03 Charles Wilson <libtool@cwilson.fastmail.fm> Avoid false failures caused by filesystem interaction * tests/dlloader-api.at (dlloader API): Use uglified names for pseudo-modules. 2010-07-03 Peter Rosin <peda@lysator.liu.se> Fix typo in "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_compile): Use func_append_quoted instead of func_append. 2010-07-02 Peter Rosin <peda@lysator.liu.se> Don't trigger file name expansion when embedding manifests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the case statement of postlink_cmds to make file name expansion more unlikely. (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |. 2010-07-01 Peter Rosin <peda@lysator.liu.se> Fix regression caused by "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover "_libs" trash. 2010-06-28 Peter Rosin <peda@lysator.liu.se> For MSVC, embed the manifest as a resource in the executable. Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and above (and perhaps also MSVC .Net) related to running programs that have been moved (e.g. installed) without their manifests also having been moved. * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro that locates the Manifest Tool (mt) and verifies that it is indeed the manifest tool. The result is stored in the new variable MANIFEST_TOOL. (_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable. [ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a resource. Make sure the embedding work regardless of if the @OUTPUT@ file name includes a trailing $EXEEXT. (_LT_LANG_CXX_CONFIG): Likewise. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above _LT_PATH_MANIFEST_TOOL. * libltdl/config/ltmain.m4sh (func_mode_link): After linking a program, replace @OUTPUT@ in $postlink_cmds and then execute the commands. * doc/libtool.texi (libtool script contents): Document new postlink_cmds variable. (LT_INIT): Add that the MANIFEST_TOOL environment variable can be used to override the manifest tool to use. * tests/exeext.at: New. Make sure linking with both -o prog and -o prog$EXEEXT works. * Makefile.am (TESTSUITE_AT): Update. (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the testsuite. * NEWS: Add note of the new MANIFEST_TOOL environment variable. 2010-06-24 Peter Rosin <peda@lysator.liu.se> Add MSVC support. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add support for the Microsoft C/C++ Compiler (cl) relying on help from the compile script in Automake. * NEWS: Add note of the above. 2010-07-01 Gary V. Vaughan <gary@gnu.org> Skip `enhanced shell option appending' test when not available. * tests/getopt-m4sh.at [enhanced shell option appending]: _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced libtool func_append function if the replacement wasn't substituted by configure, since the decorator comments will be different - in that case simply skip the test. 2010-06-30 Gary V. Vaughan <gary@gnu.org> Add func_append test cases for smart and retarded implementations. * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New macro to extract a fallback function implementation from ltmain.m4sh. [option appending]: Use it for a test of the fallback implementation of func_append. [enhanced shell option appending]: And also test the enhanced implementation. * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\ to escape a quoted space for eval. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in dereference of func_append inline replacement for retarded shells. 2010-06-29 Gary V. Vaughan <gary@gnu.org> Correct func_split_short_opt comment cut-n-pasto. * libtool/config/getopt.m4sh (func_split_short_opt): Fix the function comment. Use a real XSI compliant func_split_short_opt substitution. * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove test ${foo:n:m} substrings, instead adding a ${foo%??} check to the existing XSI tests. (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based func_split_short_opt substitution in favour of a properly XSI compliant substitution. Suggested by Paolo Bonzini. 2010-06-28 Gary V. Vaughan <gary@gnu.org> Add func_append_quoted and do inline func_append substitutions. * libtool/config/ltmain.m4sh: Replace all occurrences of `foo="$foo bar"' with func_append. No decorator comment was added since /func_append [a-zA-Z0-9_]* "/ is already an excellent match regexp, and additional comments would only complicate things. (func_append_quoted): New function that quotes a value with func_quote_for_eval before appending it. To avoid quoting the whitespace in the passed value, a single whitespace is added automatically. Changed callers where possible. * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a `+=' implementation substitution for func_append_quoted. More importantly, systematically replace matching func_append calls with inline `+=' when supported (for maximum speed), and longhand `foo="$foo bar"' otherwise to avoid the function overhead. Add an XSI replacement for func_split_short_opt, with test cases. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now that getopt.m4sh doesn't steal that letter for the --version short option. * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v' as a short option for '--verbose'. * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the leading '-' for remaining non-argument short options. (func_split_short_opt): Use the correct sed script variable. * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure that XSI substring extraction is supported. (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split short options to avoid unnecessary forks if the host shell supports that. * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage. * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at. (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the m4sh expansion performed in tests/getopt-m4sh.at. 2010-06-27 Gary V. Vaughan <gary@gnu.org> Add missing case branch terminators. * libltdl/config/ltmain.m4sh: Fixed everal case branches with missing ';;' terminators. Use TAB-SPACE in preference to SPACE-TAB. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors might optimise away the SPACE in SPACE-TAB sequences, so use TAB-SPACE just in case. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Amend a missed opt_mode rename instance in ltmain.m4sh. * libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode. Fix portability regressions in today's earlier changeset. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not portable; use `mv -f ...|| cp -f ...' instead. Add an initial backslash to sed `c' substitutions with leading whitespace, so that indentation is not removed by some non-POSIX compliant sed implementations. (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if one or more XSI function replacements failed. getopt.m4sh generated libtool option parser, and XSI improvements. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable shell versions of various utility functions from here... * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here... * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_strip_name): ...here... * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len) (func_lo2o, func_xform): ...and here. * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that expands into a sed command for replacing the contents of a suitably decorated shell function with an alternate XSI implementation. (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell versions of the functions above with equivalent XSI implementations that avoid unnecessary forks if the host shell supports that. * libltdl/config/ltmain.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Rename some option variables in the client code to match the generated option parser settings. * libltdl/config/general.m4sh (func_echo, func_error) (func_warning): Use $opt_mode instead of obsoleted $mode in message leader. * libltdl/config/getopt.m4sh (m4_version_prereq): This file requires m4sugar.m4 from Autoconf-2.61 or newer. 2010-06-24 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin] Refactor C++ exception handling for Win32 correctness * tests/exception.at (common.h): New file, refactored from (module.h): Move declaration of modexc to libcommon. Include common.h. Use explicit import/export markings for symbols when building on win32 or cygwin. (common.cpp): New file. (module.cpp): Ensure correct symbols markings when including module.h. (lib.h): Use explicit import/export markings for symbols when building on win32 or cygwin. (lib.cpp): Ensure correct symbol markings when including lib.h. (main.cpp): Include common.h. (commands): Ensure correct symbol markings when compiling main.cpp, and lib.cpp, and module.cpp. Add command to compile common.cpp, and to link libcommon.la. Add libcommon.la when linking module.la and main. Add command to install libcommon.la. 2010-06-21 Gary V. Vaughan <gary@gnu.org> Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer. * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is implemented even if Autoconf's m4sugar.m4 doesn't provide it. (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use it everywhere incase m4sugar.m4 doesn't have an implementation. (m4_ifnblank): Replace all uses with m4_ifval, which was available long before m4_ifnblank was introduced. 2010-06-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix clean mode for HP-UX 11.31 sh. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try to match a null string in a case pattern, even with surrounding spaces. Fixes `lt_dlopenadvise library loading' test. Add comment for exception handling module unloading issue. * tests/exceptions.at (C++ exception handling): Add comment for last patch. Fix flags test failure when ld is used as linker. * tests/flags.at (passing CC flags through libtool): When $LD is used for linking libraries, ensure flags passed with `-Wc,' are not passed through to $LD, but flags passed with `-Wl,' use $wl when linking programs. Fixed testsuite failure on HP-UX 10.20. 2010-06-19 Charles Wilson <libtool@cwilson.fastmail.fm> [cygwin] Fix segfault in C++ exception handling test * tests/exceptions.at (main.cpp:exceptions_in_module): Move dlclose outside catch block; otherwise __cxa_end_catch (part of the cygwin g++ ABI) accesses pointers to data inside unloaded DLL. This is a platform ABI-specific bug, but is likely common to many platforms' g++ and/or other C++ compilers. 2010-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix srcdir computation for manual runs of old tests. * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow `$srcdir/tests/FOO.test' to be run from the top build directory. Clean up @var handling in the manual. * doc/libtool.texi: Throughout the manual, replace @var with @samp or @code as appropriate, ensure the argument of remaining @var uses are lower-case. Let the bootstrap script fail upon errors. * bootstrap: Enable errexit. Fix execute mode test for OSF/1 5.1. * tests/execute-mode.at (execute mode): Do not use grep -F with an empty pattern. * THANKS: Update. Report by Jay K. Use config.cache variable for PIC flag, to allow override. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>: Save result, and allow override, through cache variable lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable needs to contain an eventual -DPIC. * tests/pic_flag.at (override pic_flag at configure time): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS, THANKS: Update. Suggestion by Joakim Tjernlund and Paolo Bonzini. 2010-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Optimize func_ltwrapper_scriptname to assume a cwrapper. * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not call func_ltwrapper_executable_p again here, this function is documented to allow being called with wrapper executables. Fix bootstrap script to cope with changed AC_INIT arguments. * bootstrap: When extracting PACKAGE and VERSION from AC_INIT arguments, be sure to remove a 'GNU ' prefix and lowercase the package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL appropriately for GNU software. Pass these variables to the make commands creating tests/package.m4 and other files. * Makefile.am (edit): Fix substitution of PACKAGE_NAME and PACKAGE_STRING. * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not @PACKAGE_STRING@. 2010-06-15 Peter Rosin <peda@lysator.liu.se> On Windows, find potential libs regardless of file name case. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD), libltdl/config/ltmain.m4sh (func_mode_link): On Windows, find potential libs regardless of file name case. * tests/nocase.at: New test, to check for regressions of the above. * Makefile.am: Add above new test. * doc/libtool.texi (libtool script contents): Document new variables. * NEWS: Updated. 2010-06-15 Philip Allison <philip.allison@smoothwall.net> (tiny change) Avoid GCC -Wall compiler warning in dlopen self test. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused variable warning in test program. * THANKS: Update. 2010-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix cleaning of uninstalled w32 shell wrapper in subdirs. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not override global objdir variable, instead use odir for the directory of to-be-removed files. Drop unneeded origobjdir. Report by Charles Wilson. 2010-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Enable colored Autotest testsuite output if available. * tests/testsuite.at: Move AT_INIT call down to late in the file, all prior code can go beforehand. Call AT_COLOR_TESTS if defined. 2010-06-14 Peter O'Gorman <peter@pogma.com> Pass resident test with --disable-shared too. * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. 2010-06-13 Peter O'Gorman <peter@pogma.com> Test with --disable-shared at release time too. * HACKING: Note it. Avoid failure for --disable-shared. * tests/lt_dladvise.at: Hack. Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure. * tests/exceptions.at: Use it. 2010-06-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Print Libtool project URL in program --help output. * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool', so Autoconf knows this is GNU software. For Autoconf < 2.64, if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL. * Makefile.am (edit): Substitute PACKAGE_URL. ($(srcdir)/tests/package.m4): Also depend on Makefile.am. Define AT_PACKAGE_URL, for `tests/testsuite --help' output. * libltdl/config/getopt.m4sh (func_help): Also extract comment lines that mention a home page and general GNU help. * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of hard-coded list address. Also mention Libtool home page and general GNU help web page. * libtoolize.m4sh: Likewise. 2010-06-12 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Improve libdir usage from within ltdl on MinGW. * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the libdir entry in the .la file, but accept it only if it is not a unix-style absolute name. * tests/ltdl-libdir.at: New test that checks if ltdl finds an installed module via the libdir variable in the .la file. On MinGW, use a Windows-style libdir name including drive spec. * Makefile.am: Add above. 2010-06-11 Peter O'Gorman <peter@pogma.com> Skip bindir install test if we're not building shared. * tests/bindir.at: Skip install test if necessary. * THANKS: Update. Report by Michael E Faenza. 2010-06-11 Gary V. Vaughan <gary@gnu.org> Use getopt.m4sh to generate libtoolize option parser. * libtoolize.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Move some premature initialization from the preamble to the main part of the script. Exit with an error on spurious additional non-option arguments. (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the main option parsing loop. (opt_copy): Use in place of and in the reverse sense of the old opt_link variable. 2010-06-10 Peter O'Gorman <peter@pogma.com> Create reloadable object files with non-pic objects too. * libltdl/config/ltmain.m4sh: When not building a shared library, use the non-pic objects to create a reloadable object, because pic objects do not exist. 2010-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Ensure libltdl is up to date for check-local. * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable. (all-local): Use it to simplify dependencies. (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS). Report by Peter Rosin. 2010-06-10 Gary V. Vaughan <gary@gnu.org> Support shell tracing inside functions even with ksh. * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:' or `set -x' depending on whether --debug was parsed to match usage in libtoolize.m4sh and ltmain.m4sh. * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'. * clcommit.m4sh, libltdl/config/announce-gen.m4sh, libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh: Execute at the start of functions to cater to ksh, which resets `-x' inside shell functions. Fix a typu in HACKING. * HACKING (Release Procedure): s/Makeflie/Makefile/. 2010-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Factorize testing gcj installation in the testsuite. * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually try to compile a .java file when deciding whether to skip. (LT_AT_EXEC_TAG): New macro, to also ensure runnability. * tests/convenience.at (Java convenience archives): Use LT_AT_EXEC_TAG, simplify accordingly. * tests/flags.at (passing lt_tag flags through libtool): Use m4_defn for tag so LT_AT_TAG works. * tests/infer-tag.at (GCJ inferred tag): Simplify. * THANKS: Update. Report by Warren Dodge. 2010-06-09 Peter O'Gorman <peter@pogma.com> Skip demo-nopic tests if SELinux policy will cause failure. * tests/demo-nopic.test: Check SELinux policy and skip if necessary. 2010-06-09 Gary V. Vaughan <gary@gnu.org> Set SCM version number to 2.2.11a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.11a. * NEWS: Updated. GNU Libtool 2.2.10 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.10. * NEWS: Update version number. Fix a quoting bug with ./commit -a 'A U Thor'. * clcommit.m4sh (func_commit): Use func_show_eval when calling git, so that the previously func_quote_for_eval()ed $git_flags is expanded properly. 2009-09-15 Peter Rosin <peda@lysator.liu.se> Don't try the MSYS libdir path on MinGW. * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute libdir path in the .la file is recorded as an MSYS (POSIX style) path. Make sure it isn't tried when locating the shared library. * NEWS: Updated. 2010-06-09 Gary V. Vaughan <gary@gnu.org> Simplify license variations, and add missing license texts. * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add all-permissive license. * HACKING, README, README.alpha, TODO: Relax license to RMS encouraged all-permissive terms. * libltdl/README: Ditto. I added the original license text in 2007, and there's no need for it to be so long for such a trivial file. * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is dead, and I am the author of these files, so consolidated license terms to match regular Libtool licensing. * HACKING (Licensing Rules): Update wording, and list of files for the all permissive license. (GPL with CVS-Utils exception clause): Removed. No files have these license any more. (GPL with Libtool exception clause): Ditto, only libltdl/README used to be distributed with this variation. * AUTHORS: Add GPL license text. Fix a type in the 2.2.8 release notes. * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes. Don't warn about the blank line inserted into git commit message. * clcommit.m4sh: When searching for accidental commits of mutliple changes, ignore the second line of the message, which we inserted earlier to support "git log --oneline". Enable correct extraction of multiline copyright from --version. * libltdl/config/getopt.m4sh: Wrap copyright notice at 76 columns. (func_version): Don't omit spaces when merging multiline copyright notices. * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76 columns. * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P systems, not BG/L. Reported by Christian Rössel <christian.roessel@gmx.de> 2010-06-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix testsuite helper macros to not hide failure. * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE): Do not wrap AT_CHECK in a subshell, so that failures are properly propagated; instead, move environment changes inside the AT_CHECK code. Report and analysis by Peter Rosin. Avoid autom4te warning about unnamed diversion. * libltdl/config/getopt.m4sh: Use diversion name KILL not -1. 2010-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Make versioning test stricter for w32, enable shared libs. * tests/versioning.at (versioning): Add -no-undefined to LDFLAGS. (test_uninstalled): Also move $bindir out of the way temporarily. Fix versioning test for LDFLAGS=-Wl,--as-needed. * tests/versioning.at (versioning): For the library update hypotheses, ensure the unchanged library libb isn't accidentally relinked against the new liba, by not reinstalling libb. Fixes testsuite failure for the incompatible update case with LDFLAGS=-Wl,--as-needed. * THANKS: Update. Report by Ryan Hill. 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Rewrite manual intro to be gender-neutral. * doc/libtool.texi (Introduction): Use gender-neutral formulation when addressing developers. 2010-06-05 Gary V. Vaughan <gary@gnu.org> Update and simplify all m4sh scripts to use latest getopt.m4sh. * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option parsing loop over M4SH_GETOPTS macro, and adjust all clients of option variables to use generated option names. Add missing quote for literal ? in a shell case statement. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ? correctly for use in a shell case statement. Quote command line arguments after --rcfile properly. * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining arguments shell variable expression correctly for eval. Shift correctly in numbered option argument collection. * libltdl/config/getopt.m4sh (_m4go_option): Argument list also needs to be `shift'ed in the shell option loop after processing a numbered argument collection. Fetch from new upstream host for config.guess and config.sub. * Makefile.maint (WGET_CGIT): Location of newest config.guess and config.sub upstream. (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather than no-longer-updating WGET_SGO location. Update generated upload directive file format to v1.1. * Makefile.maint (git-dist, diffs): Update to generate v1.1 format directive files for ftp://ftp-upload.gnu.org/incoming/ftp. Fix web manual generation details in release instructions. * HACKING (Release Procedure): Move the instruction for generating web manuals for a new release to before the instruction that bumps the version numbers to the post release values. Set SCM version number to 2.2.9a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.9a. * NEWS: Updated. GNU Libtool 2.2.8 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.8. * NEWS: Update version number. * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated from canonical source. Provide an m4sh reimplementation of announce-gen. * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes a quoted m4 list of command line options to be parsed, and generates the shell code to parse those options and collect the results into appropriately named 'opt_xxx' shell variables. Also, add some private supporting macros, and improve the comments radically. * libltdl/config/announce-gen.m4sh: New file, to generate and optionally post (an enhancement over the gnulib perl script of the same name) a release announcement. * Makefile.maint (announce-gen): Build a new announce-gen script in the build directory, from the contents of libltdl/config/announce-gen.m4sh. * HACKING (Release Procedure): Update the instructions to use announce-gen. (Alpha release note template, Full release note template): Removed. 2010-05-22 Gary V. Vaughan <gary@gnu.org> Support "git log --oneline" in generated commit messages. * clcommit.m4sh (func_check_commit_msg): Insert an empty line between the ChangeLog entry summary line and the ChangeLog entry body, so that "git log --oneline" works properly. Bump copyright and version number. Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * HACKING: Set Reply-To: in announcement emails. 2010-05-21 Gary V. Vaughan <gary@gnu.org> Set SCM version number to 2.2.7c. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7c. * NEWS: Updated. GNU Libtool 2.2.7b was released. Prepare for next release candidate. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7b. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files have been updated without a serial bump since the last release. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to account for bugfixes since the last release. * libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex, INSTALL: Updated from canonical source. * NEWS: Update with missing entries from ChangeLog. * HACKING: Note workaround for developer tool-path leakage bug. Skip some tests in --disable-ltdl-install mode. * tests/dlloader-api.at, tests/exceptions.at, tests/lalib-syntax.at, tests/loadlibrary.at, tests/lt_dlopenext.at, tests/resident.at: Detect when these tests try to link against the not installed libltdl.la, and skip rather than FAIL. 2010-05-05 Peter Rosin <peda@lysator.liu.se> Clarify versioning algorithm documentation. * doc/libtool.texi (Updating version info): Be explicit about setting age to zero on interface change. Reported by Jef Driesen <jefdriesen@hotmail.com> 2010-05-04 Peter O'Gorman <peter@pogma.com> Ranlib is required with -force_load and fat archives. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run ranlib. Reported by Jeremy Huddleston <jeremyhu@apple.com> 2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix incompatible struct declarations. * doc/libtool.texi (Dlpreopening): Remove broken documentation of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist and symbol lt_preloaded_symbols according to the implementation. * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ... (lt_dlsymlist): ... and typedef to this name. (lt_preloaded_symbols, main): Adjust. * tests/pdemo/longer_file_name_dlmain.c: Likewise. 2010-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use linker_flags not compiler_flags with $LD. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsym_cmds>: With xlf and bgxlf compilers, when linking with $LD, use $linker_flags not $compiler_flags. 2010-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Add FAQ, and FAQ entry for flags stripped at library link time. * doc/libtool.texi (FAQ, Stripped link flags): New nodes. (Wrapper executables): Replace bug address with macro. (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler ' semantics better. * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment for the flags that are passed through. Prompted by reports from Simon Richter <Simon.Richter@hogyros.de>, Török Edwin <edwintorok@gmail.com> and Åke Sandgren <ake.sandgren@hpc2n.umu.se>. 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix preloader symbol list declaration in libltdl. * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include array brackets. (lt_dlinit): Do not take address of preloaded_symbols. Fix typo in libtool --help output. * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help output. Fix a couple of documentation errors. * doc/libtool.texi (Autoconf macros): Improve hyphenation. (Using libltdl): libltdl uses the Lesser General Public License, not the Library General Public License. Do not use @sc nor @acronym in the manual. * doc/libtool.texi: Remove all usage of @sc. 2010-03-19 Chris Demetriou <cgd@google.com> Sort output of 'find' to enable deterministic builds. * libltdl/config/ltmain.m4sh (func_extract_archives): Sort output of 'find'. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise. * THANKS: Update. 2010-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Unconditionally normalize LC_ALL, LANGUAGE in libtool script. * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and LANGUAGE to 'C', to avoid semantic differences on MinGW under Chines locale. SCO issues with e.g. LANG=C are not known to be relevant today any more. Report by Pete Batard <pbatard@gmail.com> and Xiaofan Chen <xiaofanc@gmail.com>. 2010-03-17 Peter Rosin <peda@lysator.liu.se> Preserve the last error when restoring the error mode. * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on SetThreadErrorMode (or SetErrorMode) to not clobber the last error. Report by Ralf Wildenhues. Use Get/SetThreadErrorMode if they are available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced... (wrap_getthreaderrormode): ...by this function that checks first for GetThreadErrorMode, then GetErrorMode and makes use of either of those or... (fallback_getthreaderrormode): ...else falls back to this replacement function that implements the old workaround, which was previously implemented in... (fallback_geterrormode): ...this now renamed function. (geterrormode): Replaced... (getthreaderrormode): ...by this function pointer that points at either of wrap_getthreaderrormode, GetThreadErrorMode, GetErrorMode or fallback_getthreaderrormode. (wrap_setthreaderrormode): New function that checks if SetThreadErrorMode is supported by the system and makes use of it if it is. (fallback_setthreaderrormode): New function that is used otherwise that implements the old version using SetErrorMode. (setthreaderrormode): New function pointer that points at either of wrap_setthreaderrormode, SetThreadErrorMode or fallback_setthreaderrormode. (vm_open): Adjust to the above. 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Detect Sun compiler suite with 'sun'-prefixed names. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC, sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95. * NEWS: Update. Report by Vadim Zeitlin. 2010-02-28 Pierre Ossman <ossman@ossman.lkpg.cendio.se> (tiny change) Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Fix deplibs check fallback for 64-bit Windows and Windows CE. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ... * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective pattern here; sync pattern from the former. * tests/deplibs-mingw.at (deplibs without file command): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS: Update. 2010-02-24 Scott McCreary <scottmc2@gmail.com> (tiny change) Update search path on Haiku for legacy system directory. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] <sys_lib_dlsearch_path_spec>: Replace legacy /boot/beos/system/lib directory with /boot/system/lib. * THANKS: Update. 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> manual: fix detailmenu ordering. * doc/libtool.texi (Top): Add section for `Linking executables' in the detailmenu. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Guard against strerror()==NULL * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Check return value of strerror() using nonnull(). (func_emit_cwrapperexe_src:find_executable): Ditto. (func_emit_cwrapperexe_src:chase_symlinks): Ditto. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Document wrapper changes. * NEWS: Indicate new feature and incompatibility. * doc/libtool.texi [detailmenu]: Add reference to subsection 'Wrapper executables for programs', in Platform Quirks category. [Linking executables]: Mention wrapper executables, in addition to wrapper scripts. Add menu referencing subsection 'Wrapper executables for programs'. [Wrapper executables for programs]: New subsection. Documents cwrapper rationale and command line options. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Add --lt-* options to shell wrapper * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call func_parse_lt_options early. Use func_exec_program. (func_emit_wrapper:func_parse_lt_options): New function. (func_emit_wrapper:func_lt_dump_args): New function. (func_emit_wrapper:func_exec_program_core): New function. (func_emit_wrapper:func_exec_program): New function. 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm> Enable runtime cwrapper debugging; add tests * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Update comments. Initialize program_name. Eliminate _LENGTH variables for string constants. In debug mode, print a banner with known content before any other output. Remove LTWRAPPER_DEBUGPRINTF macro. Add constants and variables to support new --lt-debug option. (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to... (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print messages if lt_debug != 0. Ensure appearance of messages conforms to GCS. (func_emit_cwrapperexe_src:lt_fatal): Ditto. (func_emit_cwrapperexe_src:lt_error_core): Ditto. (func_emit_cwrapperexe_src): Update all callers to lt_fatal. Update all users of LTWRAPPER_DEBUGPRINTF (()) to call lt_debugprintf () directly. (func_emit_cwrapperexe_src:main): Consolidate option parsing. Ensure first use of lt_debugprintf occurs after option parsing. Add stanza to parse for --lt-debug and set lt_debug variable. Use strcmp rather than strncmp, where safe. * tests/cwrapper.at: Add new tests for --lt-debug and -DLT_DEBUGWRAPPER. 2010-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Use --email with gendocs.sh. * Makefile.maint (web-manual): Pass bug reporting address to gendocs.sh. Make testsuite code C++ clean again. * tests/resident.at (resident modules): Fix for C++. 2010-01-29 Peter Rosin <peda@lysator.liu.se> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Testsuite exposure for dlloader API. * tests/dlloader-api.at: New file, new test. * Makefile.am (TESTSUITE_AT): Update. 2010-01-29 Peter Rosin <peda@lysator.liu.se> * tests/loadlibrary.at: Fix C++ issues. 2010-01-20 Peter Rosin <peda@lysator.liu.se> Report proper errors from the loadlibrary loader. * libltdl/loaders/loadlibrary.c (loadlibraryerror): New helper function that returns the latest Windows error as a string, or the provided default string on failure to do so. (LOADLIB_SETERROR): New macro that wraps previous to make it easy to use. (vm_open, vm_close, vm_sym): Make use of previous. (LOCALFREE): New macro to help free the Windows error string. (vl_exit): Make use of previous. * tests/loadlibarry.at: New file, new test that makes sure the loadlibrary loader reports non-standard error messages. * Makefile.am (TESTSUITE_AT): Add above test. 2010-01-02 Peter Rosin <peda@lysator.liu.se> Use GetErrorMode if it is available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New function that checks if GetErrorMode is supported by the system and makes use of it if it is. (fallback_geterrormode): New function that is used otherwise that implements the old workaround. (geterrormode): New function pointer that points at either of the above or directly at GetErrorMode. (vm_open): Make use of the above. 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Ensure functions from resident modules work in atexit handlers. * tests/resident.at (resident modules): New file, new test. * Makefile.am (TESTSUITE_AT): Adjust. Report by Bob Friesenhahn. Testsuite exposure for relative output file names and deplibs. * tests/deplib-in-subdir.at (deplib in subdir): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Prompted by report from Bob Friesenhahn. 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bob Friesenhahn <bfriesen@simple.dallas.tx.us> Testsuite exposure for C++ exception handling. * tests/exceptions.at (C++ exception handling): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Report by Bob Friesenhahn. 2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> Bump copyright years. * ChangeLog.2009: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2009. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. Continued in ChangeLog.2009 -- Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Libtool. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. vim:tw=72