On Tue, Mar 27, 2001 at 10:52:52PM +0200, [EMAIL PROTECTED] wrote:
> 
> I'm home currently, which means... I have my prcs handy :)  Starting to
> track down more precisely...

It's between revision 0.119 and 0.120, diffs attached.  I'm looking for
the problem.
Index: 0.119/ChangeLog
--- 0.119/ChangeLog Sun, 04 Mar 2001 15:17:55 +0100 akim (am/f/47_ChangeLog 1.110 644)
+++ 0.120/ChangeLog Sun, 04 Mar 2001 20:02:14 +0100 akim (am/f/47_ChangeLog 1.111 644)
@@ -1,5 +1,22 @@
 2001-03-04  Akim Demaille  <[EMAIL PROTECTED]>
 
+       If OBJEXT and EXEEXT are not set, provide a default value, and use
+       them unconditionally.
+
+       * automake.in (&generate_makefile): Provide default values for
+       EXEEXT and OBJEXT.
+       (&get_object_extension, &finish_languages)
+       (&handle_single_transform_list, &handle_programs, &add_depend2)
+       (&check_cygnus, &lang_c_finish, am_install_var): Don't bother with
+       them, they are defined.
+       * compile.am, depend2.am, program.am, progs.am: Likewise.
+       * remake-hdr.am: Fix a typo.
+       * tests/cxxo.test, tests/fo.test, tests/implicit.test,
+       * tests/interp.test, tests/subobj.test, tests/subobj2.test,
+       * tests/suffix2.test: Adjust.
+
+2001-03-04  Akim Demaille  <[EMAIL PROTECTED]>
+
        Standardize the handing of `all' targets.
 
        * automake.in (@all): Remove.
Index: 0.119/automake.in
--- 0.119/automake.in Sun, 04 Mar 2001 15:17:55 +0100 akim (am/f/39_automake.i 1.109 
755)
+++ 0.120/automake.in Sun, 04 Mar 2001 20:02:14 +0100 akim (am/f/39_automake.i 1.110 
+755)
@@ -1115,6 +1115,14 @@
        return;
     }
 
+    # If OBJEXT/EXEEXT were not set in configure.in, do it, it
+    # simplifies our task, and anyway starting with Autoconf 2.50, it
+    # will always be defined, and this code will be dead.
+    $output_vars .= "EXEEXT =\n"
+      unless $seen_exeext;
+    $output_vars .= "OBJEXT = o\n"
+      unless $seen_objext;
+
     # Must do this after reading .am file.  See read_main_am_file to
     # understand weird tricks we play there with variables.
     &define_variable ('subdir', $relative_dir);
@@ -1319,8 +1327,7 @@
     my ($out) = @_;
 
     # Maybe require libtool library object files.
-    my $extension = '.o';
-    $extension = '.$(OBJEXT)' if $seen_objext;
+    my $extension = '.$(OBJEXT)';
     $extension = '.lo' if ($out =~ /\.la$/);
 
     if (! $included_generic_compile)
@@ -1344,8 +1351,7 @@
                          &transform ('DEFAULT_INCLUDES' => $default_include));
 
        $output_rules .=
-         &file_contents ('compile',
-                         &transform ('OBJEXT' => $seen_objext));
+         &file_contents ('compile');
 
        # If using X, include some extra variable definitions.  NOTE
        # we don't want to force these into CFLAGS or anything,
@@ -1359,8 +1365,7 @@
            }
        }
 
-       push (@suffixes, '.c', '.o');
-       push (@suffixes, '.obj') if $seen_objext;
+       push (@suffixes, '.c', '.o', '.obj');
 
        $included_generic_compile = 1;
     }
@@ -1402,26 +1407,25 @@
            # Generate rules to build ansi2knr.  If it is in some
            # other directory, then generate dependencies but have the
            # rule just run elsewhere.
-           my $objext = $seen_objext ? ".\$(OBJEXT)" : ".o";
            $output_rules .= ($options{'ansi2knr'} . ': '
-                             . $options{'ansi2knr'} . $objext . "\n");
+                             . $options{'ansi2knr'} . '.$(OBJEXT)' . "\n");
            if ($options{'ansi2knr'} eq 'ansi2knr')
            {
-               $output_rules .= ("\t\$(LINK) ansi2knr" . $objext
+               $output_rules .= ("\t\$(LINK) ansi2knr.\$(OBJEXT)"
                                  . " \$(LIBS)\n"
-                                 . "ansi2knr" . $objext
+                                 . 'ansi2knr.$(OBJEXT)'
                                  . ": \$(CONFIG_HEADER)\n\n");
            }
            else
            {
                $output_rules .= ("\tcd " . dirname ($options{'ansi2knr'})
-                                 . " && \$(MAKE) \$(AM_MAKEFLAGS) "
+                                 . ' && $(MAKE) $(AM_MAKEFLAGS) '
                                  . "ansi2knr\n\n");
                # This is required for non-GNU makes.
-               $output_rules .= ($options{'ansi2knr'} . $objext . ":\n");
+               $output_rules .= ($options{'ansi2knr'} . '.$(OBJEXT)' . ":\n");
                $output_rules .= ("\tcd " . dirname ($options{'ansi2knr'})
-                                 . " && \$(MAKE) \$(AM_MAKEFLAGS)"
-                                 . " ansi2knr" . $objext . "\n\n");
+                                 . ' && $(MAKE) $(AM_MAKEFLAGS)'
+                                 . ' ansi2knr.$(OBJEXT)' . "\n\n");
            }
 
            # Make sure ansi2knr can be found: if no path specified,
@@ -1497,8 +1501,7 @@
            # FIXME: Using cygpath should be somehow conditional.
            $output_rules .= (".$ext.obj:\n"
                              . $full
-                             . " \`cygpath -w \$<\`\n")
-               if $seen_objext;
+                             . " \`cygpath -w \$<\`\n");
            $output_rules .= (".$ext.lo:\n"
                              . "\t\$(LT"
                              . $language_map{$lang . '-compiler-name'}
@@ -1908,7 +1911,7 @@
         {
             my $depfile = $object;
             $depfile =~ s/\.([^.]*)$/.P$1/;
-            $depfile =~ s/\$\(OBJEXT\)$/o/ if $seen_objext;
+            $depfile =~ s/\$\(OBJEXT\)$/o/;
             $dep_files{'$(DEPDIR)/' . $depfile} = 1;
         }
     }
@@ -2299,15 +2302,8 @@
            $xlink = $linker ? $linker : 'LINK';
        }
 
-       my $exeext = '';
-       if ($seen_exeext && $one_file !~ /\./)
-       {
-           $exeext = '$(EXEEXT)';
-       }
-
        $output_rules .= &file_contents ('program',
-                                        &transform ('EXEEXT'   => $exeext,
-                                                    'PROGRAM'  => $one_file,
+                                        &transform ('PROGRAM'  => $one_file,
                                                     'XPROGRAM' => $xname,
                                                     'XLINK'    => $xlink));
     }
@@ -3220,7 +3216,6 @@
     # First include code for ordinary objects.
     my $xform = &transform ('PFX'  => $pfx,
                            'FPFX' => $fpfx,
-                           'OBJEXT'  => $seen_objext,
                            'LIBTOOL' => $seen_libtool,
                            'AMDEP'   => $use_dependencies);
 
@@ -4822,11 +4817,6 @@
     {
        &am_conf_error ("\`AM_MAINTAINER_MODE' required when --cygnus specified");
     }
-
-    if (! $seen_exeext)
-    {
-       &am_conf_error ("\`AC_EXEEXT' required when --cygnus specified");
-    }
 }
 
 # Do any extra checking for GNU standards.
@@ -5082,9 +5072,9 @@
                              . '; else echo ' . $base . '.c; fi` '
                              . "| sed 's/^# \\([0-9]\\)/#line \\1/' "
                              . '| $(ANSI2KNR) > ' . $base . "_.c\n");
-           push (@objects, $base . '_'
-                 . ($seen_objext ? '.$(OBJEXT)' : '.o'));
-           push (@objects, $base . '_.lo') if $seen_libtool;
+           push (@objects, $base . '_.$(OBJEXT)');
+           push (@objects, $base . '_.lo')
+             if $seen_libtool;
        }
 
        # Make all _.o (and _.lo) files depend on ansi2knr.
@@ -7039,7 +7029,7 @@
 
            # A blatant hack: we rewrite each _PROGRAMS primary to
            # include EXEEXT when in Cygwin32 mode.
-           if ($seen_exeext && $primary eq 'PROGRAMS')
+           if ($primary eq 'PROGRAMS')
            {
                my @conds = &variable_conditions ($one_name);
 
Index: 0.119/compile.am
--- 0.119/compile.am Fri, 09 Feb 2001 04:37:00 +0100 akim (am/g/48_compile.am 1.3 644)
+++ 0.120/compile.am Sun, 04 Mar 2001 20:02:14 +0100 akim (am/g/48_compile.am 1.4 644)
@@ -20,8 +20,7 @@
 mostlyclean-compile:
 ## Don't remove 'core.*' because some distributions have eg "core.c".
 ## 4.4BSD systems use `PROG.core'.
-       -rm -f *.o core *.core
-?OBJEXT?       -rm -f *.$(OBJEXT)
+       -rm -f *.$(OBJEXT) core *.core
 
 distclean-am: distclean-compile
 distclean-compile:
Index: 0.119/depend2.am
--- 0.119/depend2.am Tue, 27 Feb 2001 22:23:36 +0100 akim (am/g/43_depend2.am 1.7 644)
+++ 0.120/depend2.am Sun, 04 Mar 2001 20:02:14 +0100 akim (am/g/43_depend2.am 1.8 644)
@@ -30,16 +30,16 @@
 ?AMDEP?@AMDEP@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
        %COMPILE% -c -o %OBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
 
-?GENERIC??LIBTOOL?%EXT%.lo:
-?!GENERIC??LIBTOOL?LTOBJ%: %SOURCE%
+?LIBTOOL??GENERIC?%EXT%.lo:
+?LIBTOOL??!GENERIC?%LTOBJ%: %SOURCE%
 ?LIBTOOL??AMDEP?@AMDEP@        source='%SOURCE%' object='%LTOBJ%' libtool=yes 
@AMDEPBACKSLASH@
 ?LIBTOOL??AMDEP?@AMDEP@        depfile='$(DEPDIR)/%BASE%.Plo' 
tmpdepfile='$(DEPDIR)/%BASE%.TPlo' @AMDEPBACKSLASH@
 ?LIBTOOL??AMDEP?@AMDEP@        $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
 ?LIBTOOL?      %LTCOMPILE% -c -o %LTOBJ% `test -f %SOURCE% || echo 
'$(srcdir)/'`%SOURCE%
 
-?GENERIC??OBJEXT?%EXT%.obj:
-?!GENERIC??OBJEXT?%OBJOBJ%: %SOURCE%
-?OBJEXT??AMDEP?@AMDEP@ source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@
-?OBJEXT??AMDEP?@AMDEP@ depfile='$(DEPDIR)/%BASE%.Po' 
tmpdepfile='$(DEPDIR)/%BASE%.TPo' @AMDEPBACKSLASH@
-?OBJEXT??AMDEP?@AMDEP@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
-?OBJEXT?       %COMPILE% -c -o %OBJOBJ% `cygpath -w %SOURCE%`
+?GENERIC?%EXT%.obj:
+?!GENERIC?%OBJOBJ%: %SOURCE%
+?AMDEP?@AMDEP@ source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@
+?AMDEP?@AMDEP@ depfile='$(DEPDIR)/%BASE%.Po' tmpdepfile='$(DEPDIR)/%BASE%.TPo' 
+@AMDEPBACKSLASH@
+?AMDEP?@AMDEP@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       %COMPILE% -c -o %OBJOBJ% `cygpath -w %SOURCE%`
Index: 0.119/program.am
--- 0.119/program.am Mon, 26 Feb 2001 23:44:40 +0100 akim (am/g/22_program.am 1.4 644)
+++ 0.120/program.am Sun, 04 Mar 2001 20:02:14 +0100 akim (am/g/22_program.am 1.5 644)
@@ -15,11 +15,11 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
-%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES)
+%PROGRAM%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES)
 ## Remove program before linking.  Otherwise the link will fail if the
 ## program is running somewhere.  FIXME: this could be a loss if
 ## you're using an incremental linker.  Maybe we should think twice?
 ## Or maybe not... sadly, incremental linkers are rarer than losing
 ## systems.
-       @rm -f %PROGRAM%%EXEEXT%
+       @rm -f %PROGRAM%
        $(%XLINK%) $(%XPROGRAM%_LDFLAGS) $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_LDADD) 
$(LIBS)
Index: 0.119/progs.am
--- 0.119/progs.am Thu, 01 Mar 2001 22:55:36 +0100 akim (am/g/20_progs.am 1.5 644)
+++ 0.120/progs.am Sun, 04 Mar 2001 20:02:14 +0100 akim (am/g/20_progs.am 1.6 644)
@@ -1,5 +1,6 @@
 ## automake - create Makefile.in from Makefile.am
-## Copyright 1994, 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+## Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2001
+##  Free Software Foundation, Inc.
 
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -16,6 +17,11 @@
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
 
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
 _am_installdirs += $(DESTDIR)$(%NDIR%dir)
 ?EXEC?.PHONY install-exec-am: install-%DIR%PROGRAMS
 ?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS
@@ -29,7 +35,7 @@
 ## Note that we explicitly set the libtool mode.  This avoids any
 ## lossage if the install program doesn't have a name that libtool
 ## expects.
-           f="`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 
's/$$/$(EXEEXT)/'`"; \
+           f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
 ?LIBTOOL?          echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install 
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(%NDIR%dir)/$$f"; \
 ?LIBTOOL?          $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install 
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(%NDIR%dir)/$$f; \
 ?!LIBTOOL?         echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p 
$(DESTDIR)$(%NDIR%dir)/$$f"; \
@@ -37,11 +43,16 @@
          else :; fi; \
        done
 
+
+## -------------- ##
+## uninstalling.  ##
+## -------------- ##
+
 .PHONY uninstall-am: uninstall-%DIR%PROGRAMS
 uninstall-%DIR%PROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(%DIR%_PROGRAMS)'; for p in $$list; do \
-         f="`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 
's/$$/$(EXEEXT)/'`"; \
+         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(%NDIR%dir)/$$f"; \
          rm -f $(DESTDIR)$(%NDIR%dir)/$$f; \
        done
Index: 0.119/remake-hdr.am
--- 0.119/remake-hdr.am Sun, 04 Mar 2001 15:17:55 +0100 akim (am/g/17_remake-hdr 1.6 
644)
+++ 0.120/remake-hdr.am Sun, 04 Mar 2001 20:02:14 +0100 akim (am/g/17_remake-hdr 1.7 
+644)
@@ -48,7 +48,7 @@
                rm -f $(srcdir)/%SRC_STAMP%.in; \
                $(MAKE) $(srcdir)/%SRC_STAMP%.in; \
        else :; fi
-$(srcdir)/%SRC_STAMP%.in: $(top_srcdir)/%CONFIGURE_AC% $(ACLOCAL_M4) %FILES%
+$(srcdir)/%SRC_STAMP%.in: $(top_srcdir)/%CONFIGURE-AC% $(ACLOCAL_M4) %FILES%
        @rm -f $(srcdir)/%SRC_STAMP%.in $(srcdir)/%SRC_STAMP%.inT
 ## We used to try to get a real timestamp here.  But the fear is that
 ## that will cause unnecessary cvs conflicts
Index: 0.119/tests/cxxo.test
--- 0.119/tests/cxxo.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/d/33_cxxo.test 1.1 
775)
+++ 0.120/tests/cxxo.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/d/33_cxxo.test 1.2 
+775)
@@ -16,4 +16,4 @@
 
 $AUTOMAKE || exit 1
 
-fgrep doe.o Makefile.in
+fgrep 'doe.$(OBJEXT)' Makefile.in
Index: 0.119/tests/fo.test
--- 0.119/tests/fo.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/d/3_fo.test 1.1 775)
+++ 0.120/tests/fo.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/d/3_fo.test 1.2 775)
@@ -18,4 +18,4 @@
 
 $AUTOMAKE || exit 1
 
-fgrep doe.o Makefile.in
+fgrep 'doe.$(OBJEXT)' Makefile.in
Index: 0.119/tests/implicit.test
--- 0.119/tests/implicit.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/c/46_implicit.t 
1.1 775)
+++ 0.120/tests/implicit.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/c/46_implicit.t 
+1.2 775)
@@ -15,4 +15,4 @@
 
 $AUTOMAKE || exit 1
 
-grep '^libapp_1_OBJECTS' Makefile.in | grep '\.o'
+grep '^libapp_1_OBJECTS' Makefile.in | fgrep '.$(OBJEXT)'
Index: 0.119/tests/interp.test
--- 0.119/tests/interp.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/c/33_interp.tes 
1.1 775)
+++ 0.120/tests/interp.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/c/33_interp.tes 
+1.2 775)
@@ -16,4 +16,4 @@
 
 $AUTOMAKE || exit 1
 
-grep 'z\.o' Makefile.in
+fgrep 'z.$(OBJEXT)' Makefile.in
Index: 0.119/tests/subobj.test
--- 0.119/tests/subobj.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/39_subobj.tes 1.1 
775)
+++ 0.120/tests/subobj.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/39_subobj.tes 1.2 
+775)
@@ -19,8 +19,8 @@
 
 $AUTOMAKE || exit 1
 
-fgrep 'generic/a.o' Makefile.in || exit 1
-grep '[^/]a\.o' Makefile.in && exit 1
+fgrep 'generic/a.$(OBJEXT)' Makefile.in || exit 1
+grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1
 
 # Opportunistically test for a different bug.
-grep '^generic/b.o:.*dirstamp' Makefile.in
+grep '^generic/b.\$(OBJEXT):.*dirstamp' Makefile.in
Index: 0.119/tests/subobj2.test
--- 0.119/tests/subobj2.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/38_subobj2.te 
1.1 775)
+++ 0.120/tests/subobj2.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/38_subobj2.te 
+1.2 775)
@@ -18,6 +18,6 @@
 
 $AUTOMAKE || exit 1
 
-fgrep 'generic/a.o' Makefile.in || exit 1
-grep '[^/]a\.o' Makefile.in && exit 1
+fgrep 'generic/a.$(OBJEXT)' Makefile.in || exit 1
+grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1
 fgrep -e '-c -o' Makefile.in
Index: 0.119/tests/suffix2.test
--- 0.119/tests/suffix2.test Sat, 13 Jan 2001 18:11:09 +0100 akim (am/34_suffix2.te 
1.1 775)
+++ 0.120/tests/suffix2.test Sun, 04 Mar 2001 20:02:14 +0100 akim (am/34_suffix2.te 
+1.2 775)
@@ -27,4 +27,5 @@
 
 $AUTOMAKE -a || exit 1
 
-test "`fgrep '.c.o' Makefile.in | wc -l`" -eq 1
+grep '^\.c\.o:' Makefile.in
+grep '^\.c\.obj:' Makefile.in

Reply via email to