libtool-patches
[Top][All Lists]
Advanced

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

FYI: libtool--devo--1.0--patch-194


From: Gary V. Vaughan
Subject: FYI: libtool--devo--1.0--patch-194
Date: Wed, 22 Sep 2004 09:51:41 +0100 (BST)
User-agent: mailnotify/0.3

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Applied to HEAD.
- -- 
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook
_________________________________________________________
This patch notification generated by tlaapply version 0.5
http://tkd.kicks-ass.net/arch/address@hidden/cvs-utils--tla--1.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Darwin)

iD8DBQFBUT0cFRMICSmD1gYRAn+NAJ9P1pSAH9PVOOf7Qi7XYguFeympFgCgo4h/
1oFgybnvv3FpjONPRiTRQgM=
=MYSc
-----END PGP SIGNATURE-----
* looking for address@hidden/libtool--devo--1.0--patch-193 to compare with
* comparing to address@hidden/libtool--devo--1.0--patch-193
M  ChangeLog
M  NEWS
M  config/ltmain.in

* modified files

Index: Changelog
from  Charles Wilson  <address@hidden>
        * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating
        a .exp file for an executable, also create a .def file, and add
        that file to the link command via SYMFILES.  This causes binutils
        to generate an .edata section, and allows self dlopening to work.
        * NEWS: Updated.

--- orig/NEWS
+++ mod/NEWS
@@ -17,6 +17,7 @@
   types have been exchanged.  See libltdl/slist.c for documentation.
 * libltdl is C89 compatible again.  lt_dlsymbol type removed, and lt_dlsymlist
   structure changed to avoid using C99 flexible arrays.
+* Support self dlopening for executables on cygwin and mingw.
 * Improved support for linux-gnu/ia64.
 * Fixed some memory leaks in libltdl.
 


--- orig/config/ltmain.in
+++ mod/config/ltmain.in
@@ -1019,8 +1019,18 @@
            export_symbols="$output_objdir/$output.exp"
            $run $RM $export_symbols
            $run eval "${SED} -n -e '/^: @address@hidden/d' -e 's/^.* 
\(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+           case $host in
+           *cygwin* | *mingw* )
+             $run eval "${SED} -e '1iEXPORTS'"' < "$export_symbols" > 
"$output_objdir/$output.def"'
+             ;;
+           esac
          else
            $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 
's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
+           case $host in
+           *cygwin | *mingw* )
+             $run eval "${SED} -e '1iEXPORTS'"' < "$output_objdir/$output.exp" 
> "$output_objdir/$output.def"'
+             ;;
+           esac
            $run eval '$GREP -f "$output_objdir/$output.exp" < "$nlist" > 
"$nlist"T'
            $run eval '$MV "$nlist"T "$nlist"'
          fi
@@ -1142,8 +1152,21 @@
 
        # Transform the symbol file into the correct name.
        symfileobj="$output_objdir/${my_outputname}S.$objext"
-       compile_command=`$echo "X$compile_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
-       finalize_command=`$echo "X$finalize_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
+       case $host in
+       *cygwin* | *mingw* )
+         if test -f "$output_objdir/$my_outputname.def"; then
+           compile_command=`$echo "X$compile_command" | $Xsed -e 
"address@hidden@%$output_objdir/$my_outputname.def $symfileobj%"`
+           finalize_command=`$echo "X$finalize_command" | $Xsed -e 
"address@hidden@%$output_objdir/$my_outputname.def $symfileobj%"`
+         else
+           compile_command=`$echo "X$compile_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
+           finalize_command=`$echo "X$finalize_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
+         fi
+         ;;
+       *)
+         compile_command=`$echo "X$compile_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
+         finalize_command=`$echo "X$finalize_command" | $Xsed -e 
"address@hidden@%$symfileobj%"`
+         ;;
+       esac
        ;;
       *)
        func_fatal_error "unknown suffix for \`$my_dlsyms'"
@@ -5828,8 +5851,10 @@
        esac
        case $host in
          *cygwin* | *mingw* )
-           cwrappersource=`$echo ${objdir}/lt-${output}.c`
-           cwrapper=`$echo ${output}.exe`
+           output_name=`basename $output`
+           output_path=`dirname $output`
+           cwrappersource=`$echo "$output_path/$objdir/lt-$output_name.c"`
+           cwrapper=`$echo "$output_path/$output_name.exe"`
            $RM $cwrappersource $cwrapper
            trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 




reply via email to

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