Re: does expat/libtool combo work on Win32?


Subject: Re: does expat/libtool combo work on Win32?
From: Paul Rohr (paul@abisource.com)
Date: Wed Feb 14 2001 - 18:36:22 CST


At 03:06 PM 2/12/01 -0600, Sam TH wrote:
>Try this with a newer Cygwin, and see what happens. The problem you
>have described are all really weird, so maybe an upgrade will fix
>them.

OK. Now that I've upgraded to all the relevant Cygwin 1.1.8 packages, I'm
making headway, but I'm not quite there yet. At the moment, I'm confronting
the following 3 obstacles:

1. tell expat to realclean config.cache
----------------------------------------
Doing a make realclean on expat doesn't remove config.cache like the other
libraries (wv, psiconv, etc.) do. This one wasted most of my morning.
Grumble.

I'm doing so manually for now because I can't tell where the change belongs.

2. tell expat VC, not GCC
--------------------------
What's the automagical switch I need to get expat to build with VC instead
of GCC? It works for psiconv, and I see that Tom has it working in
Tinderbox, but I can't tell what the difference is.

The problem seems to be out in configure-land, since this is what I see for
expat:

-- snip --
Found expat in peer directory
make[5]: Entering directory `/cygdrive/c/work/expat'
creating cache ./config.cache
checking host system type... i686-pc-cygwin
checking build system type... i686-pc-cygwin
checking for ranlib... ranlib
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
-- snip --

Whereas the other conf-requiring libraries know better:

-- snip --
Found psiconv in peer directory
creating cache ./config.cache
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... found
checking for working automake... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking host system type... i686-pc-cygwin
checking build system type... i686-pc-cygwin
checking for ranlib... ranlib
checking for gcc... cl.exe
checking whether the C compiler (cl.exe -Dvsnprintf=_vsnprintf
-Dsnprintf=_snpri
ntf -DHAVE_STRING_H=1 ) works... yes
checking whether the C compiler (cl.exe -Dvsnprintf=_vsnprintf
-Dsnprintf=_snpri
ntf -DHAVE_STRING_H=1 ) is a cross-compiler... no
checking whether we are using GNU C... no
checking whether cl.exe accepts -g... no
checking for non-GNU ld... /bin/ld
checking if the linker (/bin/ld) is GNU ld... yes
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
updating cache ./config.cache
checking whether we are using GNU C... no
-- snip --

-- snip --
Found libiconv in peer directory
creating cache ./config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... cl.exe
checking whether the C compiler (cl.exe ) works... yes
checking whether the C compiler (cl.exe ) is a cross-compiler... no
checking whether we are using GNU C... no
-- snip --

-- snip --
Found libwv in peer directory
creating cache ./config.cache
checking for gcc... cl.exe
checking whether the C compiler (cl.exe ) works... yes
checking whether the C compiler (cl.exe ) is a cross-compiler... no
checking whether we are using GNU C... no
-- snip --

Since these diverge at the "checking for gcc" stage, I tried comparing the
configure scripts around that point, but it looked like identical gibberish
to me.

3. hush the autoconf makefile
------------------------------
Long ago, Jeff and I conspired to tweak the makefiles so that a
successful warning-free compile on Win32 generates only one line of output
per file -- namely, the filename. This makes it really easy to find and
nuke any warnings, because they stand out like a sore thumb.

By comparison, those autoconf builds are #$^% noisy! This is what I'm
seeing for each and every file:

-- snip --
bash.exe ../libtool --mode=compile cl.exe -DHAVE_CONFIG_H -I. -I. -I..
-Dvsn
printf=_vsnprintf -Dsnprintf=_snprintf -DHAVE_STRING_H=1 -c dummy.c
cl.exe -DHAVE_CONFIG_H -I. -I. -I.. -Dvsnprintf=_vsnprintf
-Dsnprintf=_snprintf
-DHAVE_STRING_H=1 -c dummy.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

dummy.c
echo timestamp > dummy.lo
-- snip --

Where do I need to go to hush them up? Shutting up the MS tools just
requires passing a -nologo argument (somehow), but I can't tell how far
upstream I need to go inm the auto-mumble process to hush up bash, libtool,
and that echo timestamp thing.

Thanks.

Paul,
who still misses Makefile.abi



This archive was generated by hypermail 2b25 : Wed Feb 14 2001 - 23:26:11 CST