mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 22:32:38 +00:00
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:
parent
a36c9a4dd3
commit
e32beb78d5
@ -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
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user