libtool-patches
[Top][All Lists]
Advanced

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

enhance PGI pgf77 shared linking


From: Ralf Wildenhues
Subject: enhance PGI pgf77 shared linking
Date: Thu, 10 Mar 2005 16:43:42 +0100
User-agent: Mutt/1.4.1i

We don't want MAIN_ to be referenced in a libtool-created Fortran
library, linking into a C `main' program would fail without a stub.

OK to apply this patch (all branches) which makes the HEAD testsuite
pass for pgcc/pgCC/pgf77 (branch-1-5 testsuite is insufficient w.r.t
f77)?

BTW, many thanks to Jeff Squires for providing me with a test account!

Furthermore, this patch removes unnecessary
 archive_expsym_cmds = archive_cmds
as this will be set by ltmain if the former is empty.

Regards,
Ralf

        * m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]: Remove MAIN_
        dependency when creating shared libraries with Portland pgf77.

Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.167
diff -u -r1.167 libtool.m4
--- m4/libtool.m4       8 Mar 2005 16:24:38 -0000       1.167
+++ m4/libtool.m4       10 Mar 2005 14:32:11 -0000
@@ -3690,7 +3690,7 @@
          ;;
        pgf77* | pgf90* )               # Portland Group f77 and f90 compilers
          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-         tmp_addflag=' -fpic' ;;
+         tmp_addflag=' -fpic -Mnomain' ;;
        ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
          tmp_addflag=' -i_dynamic' ;;
        efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
@@ -3703,8 +3703,6 @@
 
         if test "x$supports_anon_versioning" = xyes; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "{ global:" > 
$output_objdir/$libname.ver~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> 
$output_objdir/$libname.ver~$ECHO "local: *; };" >> 
$output_objdir/$libname.ver~$CC -shared'"$tmp_addflag"' $libobjs $deplibs 
$compiler_flags ${wl}-soname $wl$soname ${wl}-version-script 
${wl}$output_objdir/$libname.ver -o $lib'
-        else
-          _LT_TAGVAR(archive_expsym_cmds, $1)=$_LT_TAGVAR(archive_cmds, $1)
         fi
       else
         _LT_TAGVAR(ld_shlibs, $1)=no




reply via email to

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