libtool-patches
[Top][All Lists]
Advanced

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

Re: Support for Interix 5.2 and 6.0?


From: Martin Koeppe
Subject: Re: Support for Interix 5.2 and 6.0?
Date: Thu, 5 Apr 2007 00:29:31 +0200 (CEST)


Hello Ralf,

On Tue, 3 Apr 2007, Ralf Wildenhues wrote:

Hello Martin,

* Martin Koeppe wrote on Tue, Apr 03, 2007 at 09:10:48PM CEST:

However, I now found out why 'make' is called. Interix make has some
standard build rules in /usr/share/mk/sys.mk, which also define
MAKE=make. When calling "make.itx -r", then MAKE and also MAKEFLAGS
are set correctly and sys.mk isn't read.

When using Interix make without -r, AC_PROC_MAKE_SET isn't smart
enough to check if MAKE is not just set, but also set correctly.

Yeah, I guess Autoconf needs a patch there.  Could you try configuring
with
 ./configure MAKE=make.itx ac_cv_prog_make_make_itx_set=no

please?  If an autoconf rerun is triggered, you _need_ 2.61 to avoid a
related bug.

I tried this, with autoconf 2.61, it builds libtool, but the test fails, as ac_cv_prog_make_make_itx_set=no apparently isn't forwarded to the tests. I saw plain 'make' in the log. (attached)


When OTOH one calls
$ ./configure MAKE=make.itx MAKEFLAGS=-r
and later
$ make.itx -r
then libtool and/or automake apparently isn't smart enough to call
recursive makes as "$(MAKE) $(MAKEFLAGS)" instead of just "$(MAKE)",
so the second recursion fails again.

Oh, for that you can try to use AM_MAKEFLAGS.

I did a second test where I
- added "AM_MAKEFLAGS = $(MAKEFLAGS)" to all the Makefile.am files
- $ automake-1.10
- $ ./configure MAKE=make.itx MAKEFLAGS=-r
- $ make.itx -r
- $ make.itx -r check-local

There also are several failed tests, due to non-existent 'make'
(log not attached as it hasn't finished yet).

Why, however, ./configure is called a second time with make.itx and
not with make.gnu, I couldn't yet figure out. Maybe someone has some
hints?

Not yet.  Maybe we still have some nonportable construct in there; or
Interix make figures something out wrongly.  Dunno.

I now found out that! Problem seems that target "clean-ltmain-sh" apparently isn't marked as PHONY, and Interix make handles non-existent targets as both infinitely new and as infinitely old, so ltversion.m4 is rebuilt first, and later rerunning ./configure gets necessary. See the make debug log. (I didn't change and re-test, so I don't know if this is the only missing PHONY.)


Martin


PS: Please don't forget to update
libtool-1.5.23c/libltdl/config.{guess,sub}
before releasing 1.5.24, so that it matches the interix[3-9] change.
For 2.1a it's clever now to only have one copy of config.{guess,sub}.

Attachment: testsuite-makeitx-makeset-forceno.log.gz
Description: Binary data

Attachment: make.itx.log.gz
Description: Binary data


reply via email to

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