]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* ltconfig.in (export_symbols_cmds): Add $convenience.
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Thu, 27 May 1999 10:45:31 +0000 (10:45 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Thu, 27 May 1999 10:45:31 +0000 (10:45 +0000)
(cygwin, export_symbols_cmds): Ditto.
* ltmain.in: Generate export symbol list before expanding
convenience libraries, to avoid passing whole_archive_flag_spec to
$NM.
Reported by Godmar Back <gback@cs.utah.edu>

ChangeLog
ltconfig.in
ltmain.in

index a6156e397bc6914646cff666f611eccba4cd421e..f3468a929087360fa87ebc19ba0b5743b4fd80f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+1999-05-27  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * ltconfig.in (export_symbols_cmds): Add $convenience.
+       (cygwin, export_symbols_cmds): Ditto.
+       * ltmain.in: Generate export symbol list before expanding
+       convenience libraries, to avoid passing whole_archive_flag_spec to 
+       $NM.
+       Reported by Godmar Back <gback@cs.utah.edu>
+
 1999-05-27  David Jones  <jones@mosaid.com>
 
        * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid
index 4e5698c8c1a47e4de31a35b898be1e8442a4dace..245cfba4791548db74543380002df4a14558bcd4 100755 (executable)
@@ -1047,7 +1047,7 @@ hardcode_minus_L=no
 hardcode_shlibpath_var=unsupported
 runpath_var=
 always_export_symbols=no
-export_symbols_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
 # include_expsyms should be a list of space-separated symbols to be *always*
 # included in the symbol list
 include_expsyms=
@@ -1133,7 +1133,7 @@ EOF
     export_symbols_cmds='rm -f $objdir/$soname-ltdll.c~
       sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
       (cd $objdir && $CC -c $soname-ltdll.c)~
-      $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs~
+      $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def  $objdir/$soname-ltdll.$objext $libobjs $convenience~
       sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
 
     archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
index a3f654f25eab6f8e642bdc0f90330cd6f15903fa..72ffe690e777cf998cebd56777e967ca6e172441 100644 (file)
--- a/ltmain.in
+++ b/ltmain.in
@@ -2037,6 +2037,33 @@ EOF
        # Use standard objects if they are pic
        test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
 
+       # Prepare the list of exported symbols
+       if test -z "$export_symbols"; then
+         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+           $show "generating symbol list for \`$libname.la'"
+           export_symbols="$output_objdir/$libname.exp"
+           $run $rm $export_symbols
+           eval cmds=\"$export_symbols_cmds\"
+           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             $show "$cmd"
+             $run eval "$cmd" || exit $?
+           done
+           IFS="$save_ifs"
+           if test -n "$export_symbols_regex"; then
+             $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+             $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+             $run eval '$mv "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+       fi
+
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+       fi
+
        if test -n "$whole_archive_flag_spec"; then
          if test -n "$convenience"; then
            eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
@@ -2082,33 +2109,6 @@ EOF
          linkopts="$linkopts $flag"
        fi
 
-       # Prepare the list of exported symbols
-       if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           $show "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
-           $run $rm $export_symbols
-           eval cmds=\"$export_symbols_cmds\"
-           IFS="${IFS=         }"; save_ifs="$IFS"; IFS='~'
-           for cmd in $cmds; do
-             IFS="$save_ifs"
-             $show "$cmd"
-             $run eval "$cmd" || exit $?
-           done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex"; then
-             $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-             $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-             $run eval '$mv "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-       fi
-
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-       fi
-
        # Do each of the archive commands.
        if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
          eval cmds=\"$archive_expsym_cmds\"