From d9bc7946f9ae3e6c437cfe10894fd535301a8313 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Wed, 13 Jan 1999 20:48:54 +0000 Subject: [PATCH] * ltconfig.in (solaris): define `need_version' to no 1999-01-13 Sebastian Wilhelmi * ltconfig.in (solaris): Define `deplibs_check_method', `file_magic_command', `need_lib_prefix' and `sys_lib_search_path' * ltmain.in (file_magic_regex): Add space before matching pattern, such that it works on solaris (solaris has a tab between the library name (including the colon) and the `ELF' and such the `ELF' will never be matched). --- ChangeLog | 256 +++------------------------------------------------- ltconfig.in | 5 + ltmain.in | 227 +++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 244 insertions(+), 244 deletions(-) diff --git a/ChangeLog b/ChangeLog index d53e1ec5..8e345034 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +1999-01-13 Alexandre Oliva + + * ltconfig.in (solaris): define `need_version' to no + +1999-01-13 Sebastian Wilhelmi + + * ltconfig.in (solaris): Define `deplibs_check_method', + `file_magic_command', `need_lib_prefix' and `sys_lib_search_path' + * ltmain.in (file_magic_regex): Add space before matching pattern, + such that it works on solaris (solaris has a tab between the + library name (including the colon) and the `ELF' and such the + `ELF' will never be matched). + 1999-01-13 Edouard G. Parmelan * ltconfig.in (NM): PATH search was not updated like in @@ -2862,245 +2875,4 @@ Thu May 28 18:59:08 1998 Ian Lance Taylor * tests/tlibtool: Rewrote to grab all the settings from the generated libtool script. - * tests/hardcode.test: Make allowances if shlibpath_var cannot be used - to find libraries at link time, such as on AIX. - -1997-01-15 Gordon Matzigkeit - - * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno - Haible. - - * PLATFORMS: Add to distribution. Suggested by Bruno Haible. - -1997-01-14 Gordon Matzigkeit - - * tests/demo-conf.test, tests/demo-inst.test, tests/demo-unst.test, - tests/hardcode.test: - Use $make instead of make. - - * tests/defs (make): Add definition of $make that uses the $MAKE - environment variable, if set. Suggested by Bruno Haible. - - * tests/demo-unst.test (leftovers): Change the find command to ignore - files beginning with a dot, as egrep -v doesn't seem to do the - trick. Reported by Bruno Haible. - -1997-01-13 Gordon Matzigkeit - - * ltconfig.in: Add support for SCO OpenServer 5.x. From - Christopher Olsen. - - (can_build_shared): Initialize at the top of the file, so that - shared libraries aren't built on platforms that don't support - them. - - * tests/hardcode.test: Added a test to make sure that libtool's idea of - hardcoding system linkers is correct. - -1997-01-11 Gordon Matzigkeit - - * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: - Update the copyright completion years. - -1997-01-08 Gordon Matzigkeit - - * ltconfig.in: Port to IRIX 5.3, 6.2. - -1997-01-06 Gordon Matzigkeit - - * ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the - port is trivial. - - * libtoolize.in: Add --dry-run option, -n for short. - -1997-01-03 Gordon Matzigkeit - - * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't - understand "export something=val". From Bruno Haible. - - * tests/Makefile.am (distclean-local): Remove all files that the tests - may have created. Reported by Bruno Haible. - - * For all tests, discover srcdir when running from the command - line. - - * tests/demo-unst.test: Don't fail if make uninstall doesn't delete - files beginning with a dot, since spurious .nfsXXX files may be - present when running NFS. Reported by Bruno Haible. - -1997-01-02 Gordon Matzigkeit - - * ltmain.sh.in (compile): Recognize valid source file suffixes for - Fortran and C++. - - * tests/suffix.test: New test to guarantee that libtool compile - recognizes valid source file suffices. - -1996-12-17 Gordon Matzigkeit - - * ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid - object type suffixes, in spite of Automake's current ansi2knr - implementation. Not all compilers allow non-`.o' suffixes. - -1996-12-16 Gordon Matzigkeit - - * ltmain.sh.in (link): Delete the `libtool' version type. - -1996-12-12 Gordon Matzigkeit - - * ltconfig.in: Use the full autoconf syntax when checking for GNU - C. Delete library stripping program, until we have a correct - test. - -1996-12-11 Gordon Matzigkeit - - * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From Mark - Kettenis. - -1996-12-09 Gordon Matzigkeit - - Reported by Charles Kerr: - * doc/libtool.texi (Creating Object Files): Doc fix independant -> - independent. - - * ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library - dependencies. - -1996-12-08 Gordon Matzigkeit - - * Release 0.7. - - * Makefile.am (EXTRA_DIST): Add README-automake to the - distribution. - - * ltmain.sh.in (link): When linking libtool libraries, use - standard objects if they are PIC. This prevents spurious warnings - about invalid suffixes on AIX. - - * demo/Makefile.am: Rename libhell to libhello, so that we're not - quite as offensive. - - * ltconfig.in: Remove unnecessary host validity checking. - - * ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la - is good enough (for consistency with *.a handling). - - * tests/demo.test: Break up into demo-conf.test, demo-make.test, - demo-exec.test, demo-inst.test, and demo-unst.test, so that passes - and failures are reported more quickly. - - * tests/link-2.test: Test to make sure that .lo files don't get built - directly into programs. - -1996-12-07 Gordon Matzigkeit - - * ltmain.sh.in (link): Accept files ending in .a as standard - object files. Reported by Ulrich Drepper. - Remove support for creating profiled libraries (for now). - Transform all library objects into standard objects when linking a - program. - - * ltconfig.in (thisdir): How embarrassing! An error in the regexp - for finding the directory component of the script path. - - * tests/tlibtool: A typically-configured libtool script, that uses - ../ltmain.sh.in for its backend. - - * tests/link.test: Make sure that it is legal to link against .a files. - -1996-12-05 Gordon Matzigkeit - - * ltmain.sh.in (compile): Support `.S' (preprocessed assembler) - files. Reported by Anthony Green. - - * libtoolize.in: Give clearer instrutions for how to update - aclocal.m4. - - * ltconfig.in, ltmain.sh.in (link): Add support for creating - reloadable objects. - -1996-12-04 Gordon Matzigkeit - - * ltmain.sh.in (install): Fix passing -n flag to `libtool - --finish'. - (compile): Compile `.lo' and `.o' objects at the same time so that - non-PIC objects (if they are available) can be used for linking - into programs and creating static archives. Suggested by Ulrich - Drepper. - -1996-12-03 Gordon Matzigkeit - - * ltmain.sh.in (link): Give the full path to the libtool library - when sourcing it. - - * ltconfig.in (old_striplib): Do a configuration test to determine - if old-style libraries actually can be stripped or not. - -1996-12-02 Gordon Matzigkeit - - * tests/demo.test: Try compiling the ../demo subdirectory, with no - special options. - - * test-e.test: Check that we haven't used `test -e' anywhere in - our portable shell scripts. - -1996-12-02 Gordon Matzigkeit - - * ltconfig.in: Delete reference to ABOUT-LIBS. - - * tests: Added new subdirectory. - - * doc/libtool.texi: Doc fixes, and finished up the Configuring - chapter. - - * ltmain.sh.in (link): Allow *._o and *.l_o to be valid object - file suffixes, for Automake's ansi2knr implementation. - New option -version-info replaces -version-file. - - [help]: Give a pointer to mode-specific help when appropriate. - - * ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC. - - * demo: Also test Automake's ansi2knr support. - -1996-11-19 Gordon Matzigkeit - - * ltconfig.in: Bug fixes for AIX 4, and for static platforms. - - * ltmain.sh.in (install): Fix for loops over arguments. - Need to quote ${IFS= } -> "${IFS= }". - (link): Fix soname_spec bug. Create objdir whether or not we have - shared libraries. - - * ltconfig.in: Check for library stripping program. - Use test -f instead of test -e. - -1996-11-18 Gordon Matzigkeit - - * ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't - set. - Be verbose about the environment variables we were configured - with. - - * ltmain.sh.in (objdir): change to .libs. - -1996-11-16 Gordon Matzigkeit - - * ltmain.sh.in (install): Just plunge ahead with the - installation... don't try to enforce dependencies. - -1996-11-15 Gordon Matzigkeit - - * ltmain.sh.in: Fix up $libdir to be $dest in install mode. - -1996-11-10 Gordon Matzigkeit - - * ltmain.sh: Finished rewrite of compile, link, and install - modes. - - * New ChangeLog file for libtool-0.7, since I've totally rewritten - libtool. - -1996-03-15 Gordon Matzigkeit - - * For historical reasons: this is when I started writing libtool. + * tes \ No newline at end of file diff --git a/ltconfig.in b/ltconfig.in index d114ac4e..d6c6b039 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -1733,11 +1733,16 @@ sco3.2v5*) solaris*) version_type=linux + need_lib_prefix=no + need_version=no library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' + deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" + file_magic_command="file" + sys_lib_search_path="/lib /usr/lib /usr/local/lib `echo $LD_LIBRARY_PATH | sed -e 's/:/ /g'`" ;; sunos4*) diff --git a/ltmain.in b/ltmain.in index 5eac1ad4..b2c213cc 100644 --- a/ltmain.in +++ b/ltmain.in @@ -1578,7 +1578,7 @@ EOF ;; file_magic* | file_regex) set dummy $deplibs_check_method - file_magic_regex="`expr \"$deplibs_check_method\" : \"$2\(.*\)\"`" + file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`" for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. @@ -3019,4 +3019,227 @@ libdir='$install_libdir'\ if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" - IFS="${IFS= }"; save_i \ No newline at end of file + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + eval cmds=\"$old_postuninstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + done + IFS="$save_ifs" + fi + + # FIXME: should reinstall the best remaining shared library. + fi + ;; + + *.lo) + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi + $show "$rm $rmfiles" + $run $rm $rmfiles + ;; + + *) + $show "$rm $rmfiles" + $run $rm $rmfiles + ;; + esac + done + exit 0 + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + ;; + esac + + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 +fi # test -z "$show_help" + +# We need to display help for each of the modes. +case "$mode" in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --version print version information + +MODE must be one of the following: + + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE." + exit 0 + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; +esac + +echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: