From 5c59d096e16b436ebc754368337a5479c5633a2e Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 11 Mar 1999 01:21:57 +0000 Subject: [PATCH] * ltmain.in: properly create an export file for a program, avoiding error messages about not finding it --- ChangeLog | 3 +++ ltmain.in | 35 +++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9bc45f5f..381008da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-03-10 Alexandre Oliva + * ltmain.in: properly create an export file for a program, + avoiding error messages about not finding it + * TODO: need to document AC_LIBLTDL_*; static self dlopening problem fixed diff --git a/ltmain.in b/ltmain.in index db4eade7..977510e6 100644 --- a/ltmain.in +++ b/ltmain.in @@ -2324,8 +2324,6 @@ extern \"C\" { if test "$dlself" = yes; then $show "generating symbol list for \`$output'" - export_symbols="$objdir/$output.exp" - $run $rm $export_symbols # Add our own program objects to the symbol list. progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` @@ -2334,25 +2332,25 @@ extern \"C\" { $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v "^($exclude_expsyms)" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $show "egrep -e \"$export_symbols_regex\" \"$nlist\" > \"$nlist\"T" + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $show "$mv \"$nlist\"T \"$nlist\"" + $run eval '$mv "$nlist"T "$nlist"' + fi + # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$objdir/$output.exp" $run $rm $export_symbols - - if test -n "$exclude_expsyms"; then - $run eval 'egrep -v "^($exclude_expsyms)" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $show "egrep -e \"$export_symbols_regex\" \"$nlist\" > \"$nlist\"T" - $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $show "$mv \"$nlist\"T \"$nlist\"" - $run eval '$mv "$nlist"T "$nlist"' - fi - - sed -e 's/^.* \(.*\)$/\1/' < "$nlist" > "$export_symbols" fi + + sed -e 's/^.* \(.*\)$/\1/' < "$nlist" > "$export_symbols" fi for arg in $dlprefiles; do @@ -2364,6 +2362,11 @@ extern \"C\" { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v "^($exclude_expsyms)" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then $mv "$nlist"T "$nlist"