]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* ltconfig.in (solaris): define `need_version' to no
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 13 Jan 1999 20:48:54 +0000 (20:48 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Wed, 13 Jan 1999 20:48:54 +0000 (20:48 +0000)
1999-01-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

* 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
ltconfig.in
ltmain.in

index d53e1ec579ad7776be56ab9d4f45edb34e91a827..8e345034ab8315c203fe65fe2ff639fa1e123a3a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+1999-01-13  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * ltconfig.in (solaris): define `need_version' to no
+
+1999-01-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * 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  <Edouard.Parmelan@France.NCR.COM>
 
        * ltconfig.in (NM): PATH search was not updated like in
@@ -2862,245 +2875,4 @@ Thu May 28 18:59:08 1998  Ian Lance Taylor  <ian@cygnus.com>
        * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi:
-       Update the copyright completion years.
-
-1997-01-08  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       * ltconfig.in: Port to IRIX 5.3, 6.2.
-
-1997-01-06  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * ltmain.sh.in (link): Delete the `libtool' version type.
-
-1996-12-12  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm.  From Mark
-       Kettenis.
-
-1996-12-09  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * ltmain.sh.in (install): Just plunge ahead with the
-       installation... don't try to enforce dependencies.
-
-1996-11-15  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       * ltmain.sh.in: Fix up $libdir to be $dest in install mode.
-
-1996-11-10  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
-
-       * 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  <gord@gnu.ai.mit.edu>
-
-       * For historical reasons: this is when I started writing libtool.
+       * tes
\ No newline at end of file
index d114ac4ea15340fe214760922e3e8edf6ea07591..d6c6b039af8b2d678f838f7ee7b8c62cc3654e5d 100755 (executable)
@@ -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*)
index 5eac1ad41fe16b8c146646345d13358c7d7e7d3c..b2c213cc0ae62c9960619329dce59575c1a107e9 100644 (file)
--- 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: