libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, pr-msvc-support, updated. v2.2.6-201-gccbaff5


From: Peter Rosin
Subject: [SCM] GNU Libtool branch, pr-msvc-support, updated. v2.2.6-201-gccbaff5
Date: Sat, 28 Nov 2009 22:36:45 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, pr-msvc-support has been updated
       via  ccbaff56253fa9bbb46c02b72a9ea5bb83f63789 (commit)
       via  4137bb8a1529bd0a8b91240faa0b08b111c351ce (commit)
       via  79dc9e9c8af44bcedb576807bc42e178940a52fd (commit)
       via  614eb28c76e3aa6339330134b5e80be6269685da (commit)
       via  e91f7b960032074a55fc91273c1917e3082b5338 (commit)
       via  3580cddcea7eec5c07cf69e8adbe14ccf94dccc1 (commit)
       via  c242ea638d7713fd0d1406a3b6880069bce11e93 (commit)
       via  1d3560143c215704de37550773ba87fa7cf69678 (commit)
       via  eae9d5832f84c14c69bec01d72d18bee8d38ec0d (commit)
       via  5a46d6e5c1f3bf5165c45f903f39e00ccd2492a2 (commit)
       via  7890173078d185548f1f058322d8ddc3b18cfc81 (commit)
       via  a4cc3d2c9f4190a0425d03f57bb38bfb4a0ea1b7 (commit)
       via  16988b353264adf6ef21f123e7d9e0dd125f60e9 (commit)
       via  741a9867eb71eb258ca1ed5b85bc7f03ce864195 (commit)
      from  14efcbca1bbe78e8fbd220ba279047e3f2699d68 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ccbaff56253fa9bbb46c02b72a9ea5bb83f63789
Merge: 14efcbca1bbe78e8fbd220ba279047e3f2699d68 
4137bb8a1529bd0a8b91240faa0b08b111c351ce
Author: Peter Rosin <address@hidden>
Date:   Sat Nov 28 04:31:48 2009 -0500

    Merge branch 'master' into pr-msvc-support

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |  100 +++++++++++++++++++++++++++++++++++++++++++
 Makefile.am                 |    1 +
 NEWS                        |    2 +
 THANKS                      |    5 ++
 doc/libtool.texi            |   31 +++++++++++++
 libltdl/Makefile.inc        |    2 +-
 libltdl/config/general.m4sh |   13 +++--
 libltdl/config/ltmain.m4sh  |    6 +-
 libltdl/ltdl.c              |    7 ++-
 libltdl/m4/libtool.m4       |   75 ++++++++++++++++++++++++++++----
 libltdl/m4/ltoptions.m4     |    9 ++--
 tests/execute-mode.at       |    4 +-
 tests/lt_dlopen_a.at        |   97 +++++++++++++++++++++++++++++++++++++++++
 tests/testsuite.at          |    4 +-
 14 files changed, 326 insertions(+), 30 deletions(-)
 create mode 100644 tests/lt_dlopen_a.at

diff --git a/ChangeLog b/ChangeLog
index bfb65e6..32c93e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,103 @@
+2009-11-25  Peter Rosin  <address@hidden>
+
+       Fix cross build issue in execute mode test.
+       * tests/execute-mode.at: Skip test for cross builds.
+
+2009-11-24  Ralf Wildenhues  <address@hidden>
+
+       Tighten regex for Portland C++ compiler for version 10.
+       * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [linux]:
+       Match a dot after version 1 through 5, so 10 and up don't match,
+       and use weak symbols.
+       * THANKS: Update.
+       Report by Jeff Squyres and Brent Leback.
+
+2009-11-16  Peter O'Gorman  <address@hidden>
+
+       Update libltdl version to match 2.2.6b release.
+       * libltdl/Makefile.inc: Make version 9:1:2
+
+2009-11-14  Bob Friesenhahn  <address@hidden>
+
+       Don't load module.la from current directory by default.
+       * libltdl/ltdl.c (try_dlopen): Do not attempt to load an
+       unqualified module.la file from the current directory (by
+       default) since doing so is insecure and is not compliant with
+       the documentation.
+       * tests/testsuite.at: Qualify access to module.la file in
+       current directory so that test passes.
+
+2009-11-14  Peter O'Gorman  <address@hidden>
+
+       Only use preopen loader to load preopened archives
+       * libltdl/ltdl.c: Limit checking of .a to preopen loader.
+       * tests/lt_dlopen_a.at: Add test.
+       * Makefile.am: Add test.
+
+2009-11-14  Ralf Wildenhues  <address@hidden>
+
+       Recognize `pgfortran' as Portland compiler.
+       * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS):
+       Accept `pgfortran*' too.
+       Report by Jeff Squyres.
+
+2009-11-04  Alexandre Oliva  <address@hidden>
+           Ralf Wildenhues  <address@hidden>
+
+       Fix verbose link extraction for multiply reconfigured GCC.
+       * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG)
+       <output_verbose_link_cmd>: Drop GCC lines "Configured with" that
+       may contain unrelated flags.
+
+2009-11-02  Eric Blake  <address@hidden>
+
+       Allow gcc builds with -Wall -Werror.
+       * libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on
+       an array that will never be NULL.
+
+2009-11-01  Ralf Wildenhues  <address@hidden>
+
+       Fix func_normal_abspath sed script for Solaris.
+       * libltdl/config/general.m4sh (pathcar, pathcdr, removedotparts)
+       (collapseslashes, finalslash): Use single quotes, for clarity.
+       (removedotparts): Avoid \{N,M\} after subexpression \(...\), for
+       Solaris /bin/sed.
+
+       Improve versioning algorithm documentation.
+       * doc/libtool.texi (Updating version info): Repeat the
+       algorithms in different, hopefully simpler terms.
+       * THANKS: Update.
+       Prompted by Richard B. Kreckel.
+
+2009-11-01  Ingo Weinhold  <address@hidden>  (tiny change)
+
+       Support for the Haiku operating system.
+       * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for
+       `*-*-haiku*' alongside `*-*-beos*'.
+       * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
+       (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC)
+       (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for
+       `haiku*'.
+       * NEWS, THANKS: Update.
+
+2009-11-01  Ralf Wildenhues  <address@hidden>
+
+       Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script.
+       * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Quote values of
+       $AS, $DLLTOOL, and $OBJDUMP, so they can contain arguments.
+       * THANKS: Update.
+       Report by Matthijs Kooijman.
+
+2009-09-18  Ralf Wildenhues  <address@hidden>
+
+       Initial support for the Cuda Compiler Driver on Linux.
+       * libltdl/config/ltmain.m4sh (func_mode_compile): Accept source
+       file extensions `.cu' and `.cup'.
+       * libltdl/m4/libtool.m4 (_LT_COMPILER_NO_RTTI, _LT_COMPILER_PIC)
+       (_LT_LINKER_SHLIBS): Support for `nvcc' compiler driver.
+       * NEWS, THANKS: Update.
+       Report by Mahesh Narayanamurthi.
+
 2009-09-12  Dave Korn  <address@hidden>
 
        Control where win32 DLLs get installed.
diff --git a/Makefile.am b/Makefile.am
index 2b5e6b6..394e0fd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -483,6 +483,7 @@ TESTSUITE_AT        = tests/testsuite.at \
                  tests/lt_dlexit.at \
                  tests/lt_dladvise.at \
                  tests/lt_dlopen.at \
+                 tests/lt_dlopen_a.at \
                  tests/lt_dlopenext.at \
                  tests/ltdl-api.at \
                  tests/need_lib_prefix.at \
diff --git a/NEWS b/NEWS
index c9e9a22..97afd4f 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,8 @@ New in 2.2.8 2009-??-??: git version 2.2.7a, Libtool team:
   - Initial support for compilers on BlueGene BG/L.
   - Improved support for Atari FreeMiNT.
   - With binutils 2.19.50+, shared libraries can be built on AIX.
+  - Initial support for the Cuda Compiler Driver on GNU/Linux.
+  - Support for Haiku (i586-pc-haiku).
   - Initial support for Microsoft Visual C w/o wrapper scripts.
 
 * Bug fixes:
diff --git a/THANKS b/THANKS
index 54c989b..004dbd8 100644
--- a/THANKS
+++ b/THANKS
@@ -74,6 +74,7 @@
   Andrey Slepuhin              address@hidden
   Aneesh Kumar K.V             address@hidden
   Brad Smith                   address@hidden
+  Brent Leback                 address@hidden
   Brian Barrett                        address@hidden
   Bruno Haible                 address@hidden
   Camilo La Rota               address@hidden
@@ -100,6 +101,7 @@
   Henning Nielsen Lund         address@hidden
   Howard Chu                   address@hidden
   Ian Lance Taylor             address@hidden
+  Ingo Weinhold                        address@hidden
   Jakub Bogusz                 address@hidden
   Jacob Meuser                 address@hidden
   James Su                     address@hidden
@@ -120,11 +122,13 @@
   Kurt D. Zeilenga             address@hidden
   Maciej Helminiak             address@hidden
   Maciej W. Rozycki            address@hidden
+  Mahesh Narayanamurthi                address@hidden
   Manfred Weichel              address@hidden
   Marc Espie                   address@hidden
   Marc J. Fraioli              address@hidden
   Marcel Loose                 address@hidden
   Mark Kettenis                        address@hidden
+  Matthijs Kooijman            address@hidden
   Michael Haubenwallner                address@hidden
   Mike Gorchak                 address@hidden
   Mike Frysinger               address@hidden
@@ -142,6 +146,7 @@
   Rainer Orth                  address@hidden
   Rainer Tammer                        address@hidden
   Ralf Menzel                  address@hidden
+  Richard B. Kreckel           address@hidden
   Richard Purdie               address@hidden
   Richard Sandiford            address@hidden
   Robert Garron                        address@hidden
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 3b75af8..6c31b90 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -2930,6 +2930,37 @@ Instead, use the @option{-release} flag (@pxref{Release 
numbers}), but be
 warned that every release of your package will not be binary compatible
 with any other release.
 
+The following explanation may help to understand the above rules a bit
+better: consider that there are three possible kinds of reactions from
+users of your library to changes in a shared library:
+
address@hidden 1
address@hidden
+Programs using the previous version may use the new version as
+drop-in replacement, and programs using the new version can also work
+with the previous one.  In other words, no recompiling nor relinking
+is needed.  In this case, bump @var{revision} only, don't touch
address@hidden nor @var{age}.
+
address@hidden
+Programs using the previous version may use the new version as
+drop-in replacement, but programs using the new version may use APIs not
+present in the previous one.  In other words, a program linking against
+the new version may fail with ``unresolved symbols'' if linking against
+the old version at runtime: set @var{revision} to 0, bump @var{current}
+and @var{age}.
+
address@hidden
+Programs may need to be changed, recompiled, relinked in order to use
+the new version.  Bump @var{current}, set @var{revision} and @var{age}
+to 0.
address@hidden enumerate
+
address@hidden
+In the above description, @emph{programs} using the library in question
+may also be replaced by other libraries using it.
+
+
 @node Release numbers
 @section Managing release information
 
diff --git a/libltdl/Makefile.inc b/libltdl/Makefile.inc
index 0cd982d..f210890 100644
--- a/libltdl/Makefile.inc
+++ b/libltdl/Makefile.inc
@@ -36,7 +36,7 @@ AM_CPPFLAGS          += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \
                          -DLTDL -I. -I$(srcdir) -Ilibltdl \
                          -I$(srcdir)/libltdl -I$(srcdir)/libltdl/libltdl
 AM_LDFLAGS            += -no-undefined
-LTDL_VERSION_INFO      = -version-info 9:0:2
+LTDL_VERSION_INFO      = -version-info 9:1:2
 
 noinst_LTLIBRARIES     += $(LT_DLLOADERS)
 
diff --git a/libltdl/config/general.m4sh b/libltdl/config/general.m4sh
index 53fafba..fcf75e9 100644
--- a/libltdl/config/general.m4sh
+++ b/libltdl/config/general.m4sh
@@ -101,11 +101,14 @@ func_dirname_and_basename ()
 # Generated shell functions inserted here.
 
 # These SED scripts presuppose an absolute path with a trailing slash.
-pathcar="s,^/\([^/]*\).*$,\1,"
-pathcdr="s,^/[^/]*,,"
-removedotparts="s@/\(\./\)\{1,\}@/@g;s,/\.$,/,"
-collapseslashes="s@/\{1,\}@/@g"
-finalslash="s,/*$,/,"
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+               s@/\./@/@g
+               t dotsl
+               s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
 
 # func_normal_abspath PATH
 # Remove doubled-up and trailing slashes, "." path components,
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index d13c5b5..fdb999e 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -818,7 +818,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -4182,7 +4182,7 @@ func_mode_link ()
       -l*)
        if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
          case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | 
*-*-haiku*)
            # These systems don't actually have a C or math library (as such)
            continue
            ;;
@@ -6146,7 +6146,7 @@ func_mode_link ()
       if test "$build_libtool_libs" = yes; then
        if test -n "$rpath"; then
          case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | 
*-cegcc*)
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | 
*-cegcc* | *-*-haiku*)
            # these systems don't actually have a c library (as such)!
            ;;
          *-*-rhapsody* | *-*-darwin1.[012])
diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index 80b5675..24ee13f 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -529,7 +529,8 @@ find_module (lt_dlhandle *handle, const char *dir, const 
char *libdir,
   /* Try to open the old library first; if it was dlpreopened,
      we want the preopened version of it, even if a dlopenable
      module is available.  */
-  if (old_name && tryall_dlopen (handle, old_name, advise, 0) == 0)
+  if (old_name && tryall_dlopen (handle, old_name,
+                         advise, lt_dlloader_find ("lt_preopen") ) == 0)
     {
       return 0;
     }
@@ -1264,7 +1265,7 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, 
const char *ext,
       if (vtable)
        {
          /* name + "." + libext + NULL */
-         archive_name = MALLOC (char, LT_STRLEN (name) + LT_STRLEN (libext) + 
2);
+         archive_name = MALLOC (char, LT_STRLEN (name) + strlen (libext) + 2);
          *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle));
 
          if ((*phandle == NULL) || (archive_name == NULL))
@@ -1345,7 +1346,7 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, 
const char *ext,
            }
 #endif
        }
-      if (!file)
+      else
        {
          file = fopen (attempt, LT_READTEXT_MODE);
        }
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index f5c5bf5..a8e2213 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2418,6 +2418,19 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+haiku*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib 
/boot/beos/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
@@ -3128,6 +3141,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -3377,7 +3394,7 @@ AC_DEFUN([LT_LIB_M],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 LIBM=
 case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
@@ -3405,7 +3422,12 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
 if test "$GCC" = yes; then
-  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler 
-fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
 
   _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
     lt_cv_prog_compiler_rtti_exceptions,
@@ -3719,6 +3741,11 @@ m4_if([$1], [CXX], [
       # DJGPP does not support shared libraries at all
       _LT_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
     interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -4024,6 +4051,12 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -4066,6 +4099,13 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -4129,7 +4169,7 @@ m4_if([$1], [CXX], [
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -4509,6 +4549,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4541,7 +4586,8 @@ _LT_EOF
          _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for 
conv in $convenience\"\"; do test  -n \"$conv\" && 
new_convenience=\"$new_convenience,$conv\"; done; func_echo_all 
\"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag'
          ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+       pgf77* | pgf90* | pgf95* | pgfortran*)
+                                       # Portland Group f77 and f90 compilers
          _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for 
conv in $convenience\"\"; do test  -n \"$conv\" && 
new_convenience=\"$new_convenience,$conv\"; done; func_echo_all 
\"$new_convenience\"` ${wl}--no-whole-archive'
          tmp_addflag=' $pic_flag -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
@@ -4556,6 +4602,10 @@ _LT_EOF
        xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal 
with xlf below)
          tmp_sharedflag='-qmkshrobj'
          tmp_addflag= ;;
+       nvcc*)  # Cuda Compiler Driver 2.2
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for 
conv in $convenience\"\"; do test  -n \"$conv\" && 
new_convenience=\"$new_convenience,$conv\"; done; func_echo_all 
\"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(compiler_needs_object, $1)=yes
+         ;;
        esac
        case `$CC -V 2>&1 | sed 5q` in
        *Sun\ C*)                       # Sun C 5.9
@@ -5690,7 +5740,7 @@ if test "$_lt_caught_CXX_error" != yes; then
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -5966,6 +6016,11 @@ if test "$_lt_caught_CXX_error" != yes; then
       gnu*)
         ;;
 
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
       hpux9*)
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -6177,7 +6232,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
            case `$CC -V` in
-           *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+           *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
              _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
                rm -rf $tpldir~
                $CC --prelink_objects --instantiation_dir $tpldir $objs 
$libobjs $compile_deplibs~
@@ -6196,7 +6251,7 @@ if test "$_lt_caught_CXX_error" != yes; then
                $CC --prelink_objects --instantiation_dir $tpldir 
$predep_objects $libobjs $deplibs $convenience $postdep_objects~
                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find 
$tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname 
${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
              ;;
-           *) # Version 6 will use weak symbols
+           *) # Version 6 and above use weak symbols
              _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname 
${wl}$soname -o $lib'
              _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname 
${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
              ;;
@@ -6399,7 +6454,7 @@ if test "$_lt_caught_CXX_error" != yes; then
              # Commands to make compiler produce verbose output that lists
              # what "hidden" libraries, object files and flags are used when
              # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP "\-L"'
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
            else
              # FIXME: insert proper C++ library support
@@ -6483,7 +6538,7 @@ if test "$_lt_caught_CXX_error" != yes; then
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
              else
                # g++ 2.7 appears to require `-G' NOT `-shared' on this
                # platform.
@@ -6494,7 +6549,7 @@ if test "$_lt_caught_CXX_error" != yes; then
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
              fi
 
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
diff --git a/libltdl/m4/ltoptions.m4 b/libltdl/m4/ltoptions.m4
index b8e0e71..5ef12ce 100644
--- a/libltdl/m4/ltoptions.m4
+++ b/libltdl/m4/ltoptions.m4
@@ -1,6 +1,7 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -133,13 +134,13 @@ case $host in
 esac
 
 test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [0], [Assembler program])dnl
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
 
 test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
 
 test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
 ])# win32-dll
 
 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
diff --git a/tests/execute-mode.at b/tests/execute-mode.at
index a1f2017..a1a1ee2 100644
--- a/tests/execute-mode.at
+++ b/tests/execute-mode.at
@@ -169,8 +169,8 @@ AT_CHECK([$LIBTOOL --mode=execute ./foo lt-wrapper "arg  
with special chars: \$!
         [], [./lt-real
 arg  with special chars: $!&*`'()
 ])
-AT_CHECK([$LIBTOOL --mode=execute ./main$EXEEXT "arg  with special chars: 
\$!&*\`'()"],
-        [], [stdout])
+LT_AT_NOINST_EXEC_CHECK([./main], [], [], [stdout], [ignore],
+                       ["arg  with special chars: \$!&*\`'()"])
 AT_CHECK([$FGREP 'arg  with special chars: $!&*`'\''()' stdout], [], [ignore])
 
 # We always pair two args.  The first one is never the empty string.
diff --git a/tests/lt_dlopen_a.at b/tests/lt_dlopen_a.at
new file mode 100644
index 0000000..4844d06
--- /dev/null
+++ b/tests/lt_dlopen_a.at
@@ -0,0 +1,97 @@
+# lt_dlopen_a.at -- test libltdl functionality                -*- Autotest -*-
+#
+#   Copyright (C) 2009 Free Software Foundation, Inc.
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+####
+
+AT_SETUP([lt_dlopen archive])
+AT_KEYWORDS([libltdl lt_dlopen_a])
+
+AT_DATA([main.c],
+[[#include <ltdl.h>
+#include <stdio.h>
+
+/* This dlopen() in the main executable should override any dlopen()s in
+   shared libraries etc.
+
+   If that is not the case (or the platform does not use dlopen()) then this
+   test should exit 77, causing the test to SKIP.
+*/
+static int retcde = 77;
+
+void * dlopen(const char *path, int mode) {
+  if (!(strcmp(path,"plugin.a") && strcmp(path,"plugin.lib")))
+    {
+      fprintf(stderr,"Tried to open archive %s\n",path);
+      retcde = 1;
+    }
+  else
+    {
+      fprintf(stderr,"Opening ... %s\n", path);
+      if (retcde == 77) retcde = 0;
+    }
+  return NULL;
+}
+
+int
+main (int argc, char* argv[])
+{
+  int err = 0;
+  lt_dlhandle plugin_handle;
+
+  lt_dlinit ();
+  plugin_handle = lt_dlopenext (argv[1]);
+  lt_dlexit ();
+  return retcde;
+}
+]])
+
+AT_DATA([plugin.c],
+[[
+int i = 1;
+]])
+
+: ${LTDLINCL="-I$abs_top_srcdir/libltdl"}
+: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"}
+
+CPPFLAGS="$LTDLINCL $CPPFLAGS"
+inst=`pwd`/inst
+libdir=$inst/lib
+bindir=$inst/bin
+
+AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c || exit 77],[],[ignore],[ignore])
+AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 
77],
+        [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath ]dnl
+        [$libdir -module -no-undefined -avoid-version plugin.lo || exit 77],
+        [], [ignore], [ignore])
+
+AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl
+        [main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77],
+        [], [ignore], [ignore])
+
+mkdir -p $libdir
+mkdir -p $bindir
+
+AT_CHECK([$LIBTOOL --mode=install cp plugin.la $libdir],[], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir],[], [ignore], 
[ignore])
+AT_CHECK([test -f $libdir/plugin.a || exit 77])
+LT_AT_EXEC_CHECK([$bindir/main], [], [ignore], [ignore],[$libdir/plugin.la])
+
+AT_CLEANUP
diff --git a/tests/testsuite.at b/tests/testsuite.at
index e9226ee..34f7f21 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -336,9 +336,9 @@ main ()
     return 1;
   }
 
-  module = lt_dlopen("module.la");
+  module = lt_dlopen("./module.la");
   if (!module) {
-    fprintf (stderr, "error dlopening module.la: %s\n", lt_dlerror());
+    fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror());
     goto finish;
   }
 


hooks/post-receive
-- 
GNU Libtool




reply via email to

[Prev in Thread] Current Thread [Next in Thread]