Fix a bug in libtool's ltmain.sh. On Cygwin the "$output.exp" expression

expands to a full path name. Substitute $outputname.exp" instead and it
makes a viable temporary file name. This gets around the problem with lli
on Cygwin linking but not having any "C" library functions linked into it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19123 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-12-24 00:15:20 +00:00
parent a36c9a4dd3
commit e32beb78d5
2 changed files with 13 additions and 12 deletions

View File

@ -8,20 +8,21 @@ If you are in the mood to upgrade libtool, you must do the following:
3. Copy <SRC>/ltdl.m4 to llvm/autoconf/m4 3. Copy <SRC>/ltdl.m4 to llvm/autoconf/m4
4. Copy <PFX>/share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4 4. Copy <PFX>/share/aclocal/libtool.m4 to llvm/autoconf/m4/libtool.m4
5. Copy <PFX>/share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh 5. Copy <PFX>/share/libtool/ltmain.sh to llvm/autoconf/ltmain.sh
6. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System 6. Run sed -e 's/output.exp/outputname.exp/g' on ltmain.sh
7. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System 7. Copy <PFX>/share/libtool/libltdl/ltdl.c to llvm/lib/System
8. Adjust the llvm/autoconf/m4/libtool.m4 file to ensure that the variable 8. Copy <PFX>/share/libtool/libltdl/ltdl.h to llvm/lib/System
9. Adjust the llvm/autoconf/m4/libtool.m4 file to ensure that the variable
default_ofile is set to "mklib" instead of "libtool" default_ofile is set to "mklib" instead of "libtool"
9. Run "autoupdate libtool.m4 ltdl.m4" in the llvm/autoconf/m4 directory. 10. Run "autoupdate libtool.m4 ltdl.m4" in the llvm/autoconf/m4 directory.
This should correctly update the macro definitions in the libtool m4 This should correctly update the macro definitions in the libtool m4
files to match the version of autoconf that LLVM uses. This converts files to match the version of autoconf that LLVM uses. This converts
AC_HELP_STRING to AS_HELP_STRING and AC_TRY_LINK to AC_LINK_IFELSE, amongst AC_HELP_STRING to AS_HELP_STRING and AC_TRY_LINK to AC_LINK_IFELSE, amongst
other things. You may need to manually adjust the files. other things. You may need to manually adjust the files.
10. Run AutoRegen.sh to get the new macros into configure script 11. Run AutoRegen.sh to get the new macros into configure script
11. If there are any warnings from configure, go to step 9. 12. If there are any warnings from configure, go to step 9.
12. Rebuild LLVM, making sure it reconfigured 13. Rebuild LLVM, making sure it reconfigured
13. Test the JIT which uses libltdl 14. Test the JIT which uses libltdl
14. If it all works, only THEN commit the changes. 15. If it all works, only THEN commit the changes.
Upgrading autoconf Upgrading autoconf
=============================================================================== ===============================================================================

View File

@ -4327,12 +4327,12 @@ extern \"C\" {
# Prepare the list of exported symbols # Prepare the list of exported symbols
if test -z "$export_symbols"; then if test -z "$export_symbols"; then
export_symbols="$output_objdir/$output.exp" export_symbols="$output_objdir/$outputname.exp"
$run $rm $export_symbols $run $rm $export_symbols
$run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
else else
$run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
$run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
$run eval 'mv "$nlist"T "$nlist"' $run eval 'mv "$nlist"T "$nlist"'
fi fi
fi fi