This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64)


On Jun 24 11:20, Corinna Vinschen wrote:
> On Jun 21 12:57, Yaakov (Cygwin/X) wrote:
> > On 2013-06-21 06:33, Corinna Vinschen wrote:
> > >as our resident autotools/libtool experts, could you please have a
> > >look here?
> > 
> > The problem is, as a fork of GMP, it too tries to be too clever with
> > libtool in an attempt to shorten configure times by avoiding the
> > CXX/F77 checks.  Those hacks are not only unnecessary with libtool
> > 2.x, they are incompatible with it.
> > 
> > Run the following to remove the offending 25 lines of configure:
> > 
> > sed -i -e '/# Enable CXX/,/AC_PROVIDE/d' configure.in
> > 
> > Then you still need to teach configure.in about Cygwin wrt -f
> > win32/win64 and which asm sources to use before running
> > (cyg)autoreconf.
> 
> Oh, cool, thanks!  I'll have to look into other stuff first, but I'll
> probably have a look later this week.  An ld crash is never really a
> good idea.

This seem to have been a problem with the assembler files, but I can't
reproduce it if I use the right settings.  With this cygport file:

  NAME="mpir"
  VERSION="2.6.0"
  RELEASE=1
  CATEGORY="Math"
  SUMMARY="MPIR"
  DESCRIPTION="MPIR"
  SRC_URI="http://www.mpir.org/${P}.tar.bz2";

and with this patch to configure.in:

--- origsrc/mpir-2.6.0/configure.in	2012-11-08 23:10:45.000000000 +0100
+++ src/mpir-2.6.0/configure.in	2013-06-24 13:01:45.471254358 +0200
@@ -1904,32 +1904,6 @@ if test -z "$CONFIG_SHELL"; then
   CONFIG_SHELL=$SHELL
 fi
 
-# Enable CXX in libtool only if we want it, and never enable GCJ, nor RC on
-# mingw and cygwin.  Under --disable-cxx this avoids some error messages
-# from libtool arising from the fact we didn't actually run AC_PROG_CXX.
-# Notice that any user-supplied --with-tags setting takes precedence.
-#
-# FIXME: Is this the right way to get this effect?  Very possibly not, but
-# the current _LT_AC_TAGCONFIG doesn't really suggest an alternative.
-#
-if test "${with_tags+set}" != set; then
-  if test $want_cxx = yes; then
-    with_tags=CXX
-  else
-    with_tags=
-  fi
-fi
-
-# The dead hand of AC_REQUIRE makes AC_PROG_LIBTOOL expand and execute
-# AC_PROG_F77, even when F77 is not in the selected with_tags.  This is
-# probably harmless, but it's unsightly and bloats our configure, so pretend
-# AC_PROG_F77 has been expanded already.
-#
-# FIXME: Rumour has it libtool will one day provide a way for a configure.in
-# to say what it wants from among supported languages etc.
-#
-AC_PROVIDE([AC_PROG_F77])
-
 AC_PROG_LIBTOOL
 
 # Generate an error here if attempting to build both shared and static when
@@ -2829,7 +2803,7 @@ if test "$gmp_asm_syntax_testing" != no;
           case $host in 
             *-*-darwin*)
               OBJECT_FORMAT="-f macho64" ;;
-	    *-w64-mingw*)
+	    *-w64-mingw*|*-pc-cygwin*)
 		OBJECT_FORMAT="-f x64"  ;;
 	    *)
 	      OBJECT_FORMAT="-f elf64" ;;

the package is built completely.  11 out of 48 tests segfault, but that
has nothing to do with ld and, as such, has been left as an excercise
for the reader.  I'm pretty sure it has something to do with the LLP64
vs LP64 difference between mingw and Cygwin 64 bit toolchain.

There's also still the problem that the DLL is installed into usr/lib
rather than usr/bin and that it's using the "lib" prefix rather than
the "cyg" prefix, but I'm sure this is fixable as well.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]