[Top][All Lists]
[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}.
testsuite-makeitx-makeset-forceno.log.gz
Description: Binary data
make.itx.log.gz
Description: Binary data