libtool-patches
[Top][All Lists]
Advanced

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

cygwin status report


From: Charles Wilson
Subject: cygwin status report
Date: Tue, 09 Jul 2002 11:09:37 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2

[Note: this is a consolidation of two separate but undelivered emails sent over the weekend, when mail.gnu.org was down]

As of 20020705, libtool on cygwin passes most tests, assuming the attached patch is applied (although, for reasons discussed on this list previously, I don't expect that all of the attached patch will be accepted into CVS).

Failures
   build-relink2             (***.dll not found win32 popups)
   quote

Changelog

----------------
2002-07-06  Charles Wilson  <address@hidden>

        * libtool.m4: fix postinstall_cmds so that
        "libtool -c sub/foo.la" will install from <build>/.libs,
        not <build>/.libs/sub/.  (Found while running the
        nobase.test from automake-1.6.2)
        * depdemo/configure.ac: initialize libtool before
        using it to set STATIC.

I don't think we ever reached a consensus on the "right" fix for this problem...see the thread in early June, "Some fixes for cygwin".

        * tests/mdemo-inst.test: include the location of
        module DLLs in PATH while running the test.
-----------------

It seems that certain (rejected) changes I posted a month ago are no longer necessary, so those have not been included here -- but I'm not sure exactly what changed in libtool to make them unnecessary. Previously, I had to set STATIC to -all-static, instead of -static within [demo|depdemo|mdemo|pdemo]/configure.ac, because libtool 'ate' -static. Now it understands .dll.a vs. .a. How'd that happen?

Now, none of these patches correct the problem where libtool puts both PIC and non-PIC versions of the same .o into static libs -- see my message posted to libtool@ at 7pm EDT 6 Jul 02, and again at 10:50am EDT 9 Jul 02 entitled "cross-platform bug: static archives contain duplicate .o's"

(I would give the URL, but it appears that the web archives are not being updated...this is bad...)

--Chuck


confirmed. The original -all-static/-static patches to the configure.ac files are no longer necessary. However, for some reason, depdemo/configure.ac tries to use libtool to set STATIC *before* libtool itself is created. So, the results depend on whether libtool was created by a previous test and what THAT test's options were. Bad.

So, new patch (obseletes the one posted earlier.


--Chuck


Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.261
diff -u -r1.261 libtool.m4
--- libtool.m4  26 Jun 2002 07:15:36 -0000      1.261
+++ libtool.m4  7 Jul 2002 02:18:30 -0000
@@ -1109,10 +1109,11 @@
     library_names_spec='$libname.dll.a'
     sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib"
     soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | 
sed -e 's/[[.]]/-/g'`${versuffix}.dll'
-    postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo 
\$dlname'\''`~
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`bash 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo 
\$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog .libs/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname'
     postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -4387,7 +4388,7 @@
       _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience 
| awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && 
([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
     fi
     ;;
-  mingw* | pw32*)
+  mingw* | pw32*) # and not cygwin.  Cygwin uses the $NM incantation, below
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   *)
Index: depdemo/configure.ac
===================================================================
RCS file: /cvsroot/libtool/libtool/depdemo/configure.ac,v
retrieving revision 1.4
diff -u -r1.4 configure.ac
--- depdemo/configure.ac        3 Mar 2002 03:19:55 -0000       1.4
+++ depdemo/configure.ac        7 Jul 2002 02:18:31 -0000
@@ -26,17 +26,6 @@
 AC_CONFIG_SRCDIR([main.c])
 
 
-## ------------------------------- ##
-## depdemo specific configuration. ##
-## ------------------------------- ##
-if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then
-  STATIC=-static
-else
-  STATIC=
-fi
-AC_SUBST([STATIC])
-
-
 ## ------------------------ ##
 ## Automake Initialisation. ##
 ## ------------------------ ##
@@ -56,6 +45,15 @@
 AM_PROG_LIBTOOL
 AC_SUBST([LIBTOOL_DEPS])
 
+## ------------------------------- ##
+## depdemo specific configuration. ##
+## ------------------------------- ##
+if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then
+  STATIC=-static
+else
+  STATIC=
+fi
+AC_SUBST([STATIC])
 
 ## ---------------------------- ##
 ## C headers required by cdemo. ##
Index: tests/mdemo-inst.test
===================================================================
RCS file: /cvsroot/libtool/libtool/tests/mdemo-inst.test,v
retrieving revision 1.12
diff -u -r1.12 mdemo-inst.test
--- tests/mdemo-inst.test       3 Mar 2002 03:19:55 -0000       1.12
+++ tests/mdemo-inst.test       7 Jul 2002 02:18:33 -0000
@@ -24,6 +24,8 @@
 $make install || exit 1
 
 echo "= Executing installed programs"
+path_old=$PATH
+PATH=$prefix/lib:$PATH
 
 status=0
 if $prefix/bin/mdemo_static $prefix/lib/foo1.la $prefix/lib/libfoo2.la; then :
@@ -44,4 +46,5 @@
   status=1
 fi
 
+PATH=$path_old
 exit $status

reply via email to

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