Hi Tor,
On Wednesday 21 February 2001 4:36 pm, Tor Lillqvist wrote:
> New try... I changed "lib" to "cyg" in the wrong place. Sorry. Now it
> should affect only the name of the dll (and related files), I hope.
I split your patch into two and applied to the HEAD branch. I also ported
both patches to the multi-language-branch. Please test these for me, since
I don't have a working cygwin at the moment...
The attached files are FYI, and represent the commits I made to HEAD.
Cheers,
Gary.
--
___ _ ___ __ _ mailto: [EMAIL PROTECTED]
/ __|__ _ _ ___ _| | / / | / /_ _ _ _ __ _| |_ __ _ ___ [EMAIL PROTECTED]
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
\___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page: /___/ /___/ gpg public key:
http://www.oranda.demon.co.uk http://www.oranda.demon.co.uk/key.asc
from Gary V. Vaughan <[EMAIL PROTECTED]>
* libtool.m4 (library_names_spec): Use an appropriate filename
prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32.
From Tor Lillqvist <[EMAIL PROTECTED]>
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.145
diff -u -r1.145 libtool.m4
--- libtool.m4 2001/03/06 11:20:37 1.145
+++ libtool.m4 2001/03/07 00:26:48
@@ -1818,11 +1818,21 @@
version_type=windows
need_version=no
need_lib_prefix=no
- if test "$GCC" = yes; then
- library_names_spec='${libname}`echo ${release} | [sed -e
's/[.]/-/g']`${versuffix}.dll'
- else
- library_names_spec='${libname}`echo ${release} | [sed -e
's/[.]/-/g']`${versuffix}.dll $libname.lib'
- fi
+ case $GCC,$host_os in
+ yes,cygwin*)
+ � �library_names_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} |
+[sed -e 's/[.]/-/g']`${versuffix}.dll'
+����;;
+ �yes,mingw*)
+ � �library_names_spec='${libname}`echo ${release} | [sed -e
+'s/[.]/-/g']`${versuffix}.dll'
+����sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e
+"s/^libraries://" -e "s/;/ /g"`
+��� ;;
+ �yes,pw32*)
+ � library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed
+-e 's/[.]/-/g'`${versuffix}.dll'
+����;;
+ *)
+ library_names_spec='${libname}`echo ${release} | [sed -e
+'s/[.]/-/g']`${versuffix}.dll $libname.lib'
+ ;;
+ esac
dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
from Gary V. Vaughan <[EMAIL PROTECTED]>
From Tor Lillqvist <[EMAIL PROTECTED]>
* libtool.m4 (export_symbols): On Windows, if the export_symbols
file (which has been passed to libtool with the -export-symbols
command line switch) already is a .def file, use it as is.
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.147
diff -u -r1.147 libtool.m4
--- libtool.m4 2001/03/07 01:16:21 1.147
+++ libtool.m4 2001/03/07 01:38:01
@@ -1272,17 +1272,23 @@
$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def
$output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
[sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] <
$output_objdir/$soname-def > $export_symbols'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is.
# If DATA tags from a recent dlltool are present, honour them!
- archive_expsym_cmds='echo EXPORTS > $output_objdir/$soname-def~
- _lt_hint=1;
- cat $export_symbols | while read symbol; do
- set dummy \$symbol;
- case \[$]# in
- 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
- *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
- esac;
- _lt_hint=`expr 1 + \$_lt_hint`;
- done~
+ archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname-def;
+ else
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \[$]# in
+ 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
+ fi~
'"$ltdll_cmds"'
$CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch'
-Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
$DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols'
--def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp
$output_objdir/$soname-exp~