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~