automake-patches
[Top][All Lists]
Advanced

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

Re: FYI: fix for PR/352 & combinatorial explosion in append_exeext


From: Alexandre Duret-Lutz
Subject: Re: FYI: fix for PR/352 & combinatorial explosion in append_exeext
Date: Sun, 02 Feb 2003 18:07:40 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

>>> "adl" == Alexandre Duret-Lutz <address@hidden> writes:

[...]
 adl> Also while I adjusted exeext.test to use ./configure and make
 adl> instead of just grepping the Makefile.in, I found out that
 adl> `bin_PROGRAMS = maude$(EXEEXT)' never worked: Automake define
 adl> `maude__EXEEXT_SOURCES = maude$(EXEEXT).c' which causes problem
 adl> with dependencies (as with all filenames containing variables,
 adl> see PR/325).
[...]
 adl> (handle_programs): Strip any $(EXEEXT) suffix from $one_file,
 adl> or this will confuse handle_source_transform.
[...]

This wasn't done soon enough: exeext.test still showed some
use of $(maude__EXEEXT__OBJECTS)...

I'm installing the following.

2003-02-02  Alexandre Duret-Lutz  <address@hidden>

        * automake.in (handle_programs): Strip $(EXEEXT) before
        calling &check_canonical_spelling.
        * tests/exeext.test: Make sure we don't use a
        maude3__EXEEXT__OBJECTS variable.

Index: automake.in
===================================================================
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1426
diff -u -r1.1426 automake.in
--- automake.in 2 Feb 2003 10:05:02 -0000       1.1426
+++ automake.in 2 Feb 2003 17:05:10 -0000
@@ -3202,6 +3202,11 @@
       my $seen_libobjs = 0;
       my $obj = &get_object_extension ($one_file);
 
+      # Strip any $(EXEEXT) suffix the user might have added, or this
+      # will confuse &handle_source_transform and &check_canonical_spelling.
+      # We'll add $(EXEEXT) back later anyway.
+      $one_file =~ s/\$\(EXEEXT\)$//;
+
       # Canonicalize names and check for misspellings.
       my $xname = &check_canonical_spelling ($one_file, '_LDADD', '_LDFLAGS',
                                             '_SOURCES', '_OBJECTS',
@@ -3210,10 +3215,6 @@
       $where->push_context ("while processing program `$one_file'");
       $where->set (INTERNAL->get);
 
-      # Strip any $(EXEEXT) suffix the user might have added, or this
-      # will confuse &handle_source_transform.  We'll add $(EXEEXT) back
-      # later anyway.
-      $one_file =~ s/\$\(EXEEXT\)$//;
       my $linker = &handle_source_transform ($xname, $one_file, $obj, $where);
 
       my $xt = '';
Index: tests/exeext.test
===================================================================
RCS file: /cvs/automake/automake/tests/exeext.test,v
retrieving revision 1.4
diff -u -r1.4 exeext.test
--- tests/exeext.test   28 Jan 2003 23:24:25 -0000      1.4
+++ tests/exeext.test   2 Feb 2003 17:05:11 -0000
@@ -66,6 +66,9 @@
 grep '^mt$(EXEEXT):' Makefile.in
 grep '^rmt$(EXEEXT):' Makefile.in
 
+# Make sure $(EXEEXT) gets stripped before canonicalization.
+grep 'maude3__EXEEXT__OBJECTS' Makefile.in && exit 1
+
 ./configure
 
 EXEEXT=.foo $MAKE -e print > stdout


-- 
Alexandre Duret-Lutz





reply via email to

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