automake updates (was Re: ok, new libtool for cygwin updates)

edward tailbert@yahoo.com
Sat Mar 10 19:05:00 GMT 2001


so, automake now behaves as well as could be expected. i've enclosed unified
diffs of all my cumulative changes against stock cvs automake as
attachments. still a couple of outstanding issues, but it's getting darn
close. you get

1) exe exec fix (remove exe everywhere and put it in where needed (install,
clean), see 2) and 3)
    fixes: script wrappers in libtool dll generation
2) exe install fix
    fixes: unbalanced exe problem, causing either foo.exe.exe or foo when it
should be foo.exe
3) exe clean fix
    fixes: clean should nuke foo.exe not foo (introduced because i
implemented 1)
4) missing embedded conditionals spaces
    fixes: nested conditionals showed up as FOO1_TRUEFOO2_TRUE instead of
FOO1_TRUE FOO2_TRUE (as demonstrated in cond3.test)
5) missing global space -> autoconf macro expansion for conditionals
    fixes: autoconf'd nested conditionals showed up as @FOO1_TRUE@@FOO2_TRUE
FOO3_TRUE@ (as demonstrated in cond3.test)
6) incorrect pr19 test validation fix
    fixes: compared 11 lines of Makefile.in against expected, when it should
compare all 12 relevant lines
7) incorrect subdir3.test validation fix
    fixes: uses the correct test (look for OBJEXT not .o)
8) freebie: my partially specified conditional targets patch
    fixes: allows one to use automake's built in rules for targets that are
conditionally specified

if HAVE_FOO
foo:
    echo imma script foo
    touch foo
else
foo_SOURCES = foo.c
endif

bin_PROGRAMS = $(foo)

    prior to this patch, automake would not generate rules for
foo_SOURCES -> foo_OBJECTS etc. now it does, and the conditionals determine
which get executed

----- Original Message -----
From: "Robert Collins" <robert.collins@itdomain.com.au>
To: "edward" <tailbert@Yahoo.com>; <cygwin-apps@cygwin.com>
Cc: <automake@gnu.org>
Sent: Saturday, March 10, 2001 10:01 AM
Subject: Re: ok, new libtool for cygwin updates


> Thanks edward,
>     when I started looking into those, I read somewhere in the automake
> pages, that the XFAIL results, are "expected fails", so only the
>
> FAIL: pr87.test

pr87.test fails because

    1) autodep isn't initialized correctly for C in automake.in

--- automake.in.orig Sat Mar 10 20:45:03 2001
+++ automake.in Sat Mar 10 20:47:12 2001
@@ -757,7 +757,7 @@
 ################################################################

 # Initialize our list of languages that are internally supported.
-&register_language ('c', 'ansi-p=1', 'autodep=', 'flags=CFLAGS',
+&register_language ('c', 'ansi-p=1', 'autodep=no', 'flags=CFLAGS',
       'compile=$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(AM_CFLAGS) $(CFLAGS)',
       'compiler-name=COMPILE',
       'output-arg=-c',

    2) the install target in progs.am isn't fully cygwin aware.
specifically, /usr/bin/install is picky about the usage of .exe in the
following: /usr/bin/install -c SRC DST

    if SRC and DST is really SRC.exe and DST.exe, then it's ok
    if SRC and DST *neither* have .exe, then it's ok
    if SRC xor DST have .exe then it's bad bad bad.

--- progs.am.orig Sat Mar 10 20:46:49 2001
+++ progs.am Sat Mar 10 20:47:30 2001
@@ -35,7 +35,10 @@
 ## Note that we explicitly set the libtool mode.  This avoids any
 ## lossage if the install program doesn't have a name that libtool
 ## expects.
-?INSTALL?     f=`echo $$p|sed
's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+?INSTALL?     case $$p in \
+?INSTALL?     *.exe) f=`echo $$p|sed
's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`;; \
+?INSTALL?     *) f=`echo $$p|sed '$(transform)'`;; \
+?INSTALL?     esac; \
 ?INSTALL??LIBTOOL?    echo " $(INSTALL_PROGRAM_ENV)
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p
$(DESTDIR)$(%NDIR%dir)/$$f"; \
 ?INSTALL??LIBTOOL?    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(%NDIR%dir)/$$f; \
 ?INSTALL??!LIBTOOL?    echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p
$(DESTDIR)$(%NDIR%dir)/$$f"; \

> FAIL: subdirbuiltsources.test
>

works for me.

> Still need to be looked at. Sorry for the slight misdirection.
>
> Rob

edward

-------------- next part --------------
A non-text attachment was scrubbed...
Name: automake-cygwin.patch.gz
Type: application/x-gzip
Size: 3175 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20010310/bad88adf/attachment.bin>


More information about the Cygwin-apps mailing list