Test suite updates for the @SHELL@ change:
authorTom Tromey <tromey@redhat.com>
Sat, 26 Sep 1998 18:32:31 +0000 (18:32 +0000)
committerTom Tromey <tromey@redhat.com>
Sat, 26 Sep 1998 18:32:31 +0000 (18:32 +0000)
* exsource.test: Set SHELL on `make' command line.
* ansi.test: Set SHELL on `make' command line.
* texinfo.test: Set SHELL on `make' command line.
* insh2.test: Set SHELL on `make' command line.
* empty.test: Rewrite @SHELL@ to /bin/sh.

12 files changed:
ChangeLog
automake.in
compile.am
header-vars.am
lib/am/compile.am
lib/am/header-vars.am
tests/ChangeLog
tests/ansi.test
tests/empty.test
tests/exsource.test
tests/insh2.test
tests/texinfo.test

index 1796bd8..822a4b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+Mon Jul  6 14:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * compile.am (mostlyclean-compile): If OBJEXT, remove *.$(OBJEXT)
+       along with *.o.
+
+Thu May 28 18:49:47 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * automake.in (seen_objext): New variable.
+       (get_object_extension): If seen_objext, use .$(OBJEXT) rather than
+       .o.  When including compile.am, keep or discard OBJEXT lines
+       according to whether seen_objext is set.  If seen_objext, add .obj
+       to @suffixes.  If seen_objext, use .$(OBJEXT) rather than .o when
+       building ansi2knr.
+       (handle_yacc_lex_cxx): If seen_objext, add a rule to create .obj
+       files.  If seen_objext, use .$(OBJEXT) rather than .o when
+       building ansi2knr.
+       (scan_one_configure_file): Check for .obj as well as .o in
+       LIBOBJS.  Set seen_exeext if we see AC_EXEEXT.  Look for
+       AC_OBJEXT, and if found set seen_objext and set OBJEXT in
+       configure_vars.
+       (check_cygnus): Change error message to permit AC_EXEEXT.
+       * compile.am: Add OBJEXT lines for .c.obj compilation.
+       * Makefile.in: Rebuild.
+       * m4/Makefile.in: Rebuild.
+       * tests/Makefile.in: Rebuild.
+
+Mon Sep 11 16:07:55 1997  Chris Provenzano <proven@cygnus.com>
+
+       * header-vars.am: SHELL=@SHELL@
+       Ran aclocal, autoconf, and automake.
+
 Sat Sep 26 16:31:29 1998  Tom Tromey  <tromey@cygnus.com>
 
        * ltlib.am: Use $(INSTALL) and not $(INSTALL_DATA).
index 7cb9c8b..f65a4aa 100755 (executable)
@@ -202,9 +202,12 @@ $package_version_line = 0;
 # TRUE if we've seen AM_PATH_LISPDIR.
 $seen_lispdir = 0;
 
-# TRUE if we've seen AM_EXEEXT.
+# TRUE if we've seen AM_EXEEXT or AC_EXEEXT.
 $seen_exeext = 0;
 
+# TRUE if we've seen AC_OBJEXT.
+$seen_objext = 0;
+
 # Hash table of discovered configure substitutions.  Keys are names,
 # values are meaningless.
 %configure_vars = ();
@@ -721,6 +724,7 @@ sub get_object_extension
 
     # Maybe require libtool library object files.
     local ($extension) = '.o';
+    $extension = '.$(OBJEXT)' if $seen_objext;
     $extension = '.lo' if ($out =~ /\.la$/);
 
     if (! $included_generic_compile)
@@ -741,10 +745,12 @@ sub get_object_extension
        $xform = 's/\@CONFIG_INCLUDE_SPEC\@/' . $xform . '/go;';
        $output_vars .= &file_contents_with_transform ($xform,
                                                       'comp-vars');
-       $output_rules .=
-           &file_contents_with_transform
-               ($use_dependencies ? 's/^NOTDEPEND.*$//;' : 's/^NOTDEPEND//;',
-                'compile');
+
+       $xform = (($use_dependencies
+                  ? 's/^NOTDEPEND.*$//;'
+                  : 's/^NOTDEPEND//;')
+                 . ($seen_objext ? 's/^OBJEXT//;' : 's/^OBJEXT.*$//;'));
+       $output_rules .= &file_contents_with_transform ($xform, 'compile');
 
        &push_phony_cleaners ('compile');
 
@@ -761,6 +767,7 @@ sub get_object_extension
        }
 
        push (@suffixes, '.c', '.o', '.S', '.s');
+       push (@suffixes, '.obj') if $seen_objext;
        push (@clean, 'compile');
 
        $included_generic_compile = 1;
@@ -811,12 +818,15 @@ sub get_object_extension
            # Generate rules to build ansi2knr.  If it is in some
            # other directory, then generate dependencies but have the
            # rule just run elsewhere.
+           $objext = $seen_objext ? ".$(OBJEXT)" : ".o";
            $output_rules .= ($options{'ansi2knr'} . ': '
-                             . $options{'ansi2knr'} . ".o\n");
+                             . $options{'ansi2knr'} . $objext . "\n");
            if ($options{'ansi2knr'} eq 'ansi2knr')
            {
-               $output_rules .= ("\t\$(LINK) ansi2knr.o \$(LIBS)\n"
-                                 . "ansi2knr.o: \$(CONFIG_HEADER)\n\n");
+               $output_rules .= ("\t\$(LINK) ansi2knr" . $objext
+                                 . " \$(LIBS)\n"
+                                 . "ansi2knr" . $objext
+                                 . ": \$(CONFIG_HEADER)\n\n");
            }
            else
            {
@@ -824,10 +834,10 @@ sub get_object_extension
                                  . " && \$(MAKE) \$(AM_MAKEFLAGS) "
                                  . "ansi2knr\n\n");
                # This is required for non-GNU makes.
-               $output_rules .= ($options{'ansi2knr'} . ".o:\n");
+               $output_rules .= ($options{'ansi2knr'} . $objext . ":\n");
                $output_rules .= ("\tcd " . &dirname ($options{'ansi2knr'})
-                                 . " && \$(MAKE) \$(AM_MAKEFLAGS) "
-                                 . "ansi2knr.o\n\n");
+                                 . " && \$(MAKE) \$(AM_MAKEFLAGS)"
+                                 . " ansi2knr" . $objext . "\n\n");
            }
 
            # Make sure ansi2knr can be found: if no path specified,
@@ -991,6 +1001,10 @@ sub handle_yacc_lex_cxx
        {
            $output_rules .= ("$ext.o:\n"
                              . "\t\$(CXXCOMPILE) -c \$<\n");
+           # FIXME: Using cygpath should be somehow conditional.
+           $output_rules .= ("$ext.obj:\n"
+                             . "\t\$(CXXCOMPILE) -c `cygpath -w \$<`\n")
+               if ($seen_objext);
            $output_rules .= ("$ext.lo:\n"
                              . "\t\$(LTCXXCOMPILE) -c \$<\n")
                if ($seen_libtool);
@@ -1037,7 +1051,8 @@ sub handle_yacc_lex_cxx
                              . '; else echo ' . $base . '.c; fi` '
                              . "| sed 's/^# \\([0-9]\\)/#line \\1/' "
                              . '| $(ANSI2KNR) > ' . $base . "_.c\n");
-           push (@objects, $base . '_.o');
+           push (@objects, $base . '_'
+                 . ($seen_objext ? '.$(OBJEXT)' : '.o'));
            push (@objects, $base . '_.lo') if $seen_libtool;
        }
 
@@ -4116,7 +4131,7 @@ sub scan_one_configure_file
        {
            foreach $libobj_iter (split (' ', $1))
            {
-               if ($libobj_iter =~ /^(.*)\.o$/)
+               if ($libobj_iter =~ /^(.*)\.o(bj)?$/)
                {
                    $libsources{$1 . '.c'} = 1;
                }
@@ -4216,12 +4231,18 @@ sub scan_one_configure_file
        $am_c_prototypes = 1 if /AM_C_PROTOTYPES/;
 
        # Check for exe extension stuff.
-       if (/AM_EXEEXT/)
+       if (/AM_EXEEXT/ || /AC_EXEEXT/)
        {
            $seen_exeext = 1;
            $configure_vars{'EXEEXT'} = 1;
        }
 
+       if (/AC_OBJEXT/)
+       {
+           $seen_objext = 1;
+           $configure_vars{'OBJEXT'} = 1;
+       }
+
        # Check for NLS support.
        if (/AM_GNU_GETTEXT/)
        {
@@ -4455,7 +4476,7 @@ sub check_cygnus
 
     if (! $seen_exeext)
     {
-       &am_conf_error ("\`AM_EXEEXT' required when --cygnus specified");
+       &am_conf_error ("\`AM_EXEEXT' or \`AC_EXEEXT' required when --cygnus specified");
     }
 }
 
index ece6559..6e9f92a 100644 (file)
 NOTDEPEND.c.o:
 NOTDEPEND      $(COMPILE) -c $<
 
+OBJEXT# FIXME: We should only use cygpath when building on Windows,
+OBJEXT# and only if it is available.
+OBJEXT.c.obj:
+OBJEXT $(COMPILE) -c `cygpath -w $<`
+
 .s.o:
        $(COMPILE) -c $<
 
@@ -28,6 +33,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)
 
 clean-compile:
 
index 8fb65e8..3c0fd8e 100644 (file)
@@ -15,7 +15,7 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
-SHELL = /bin/sh
+SHELL = @SHELL@
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
index ece6559..6e9f92a 100644 (file)
 NOTDEPEND.c.o:
 NOTDEPEND      $(COMPILE) -c $<
 
+OBJEXT# FIXME: We should only use cygpath when building on Windows,
+OBJEXT# and only if it is available.
+OBJEXT.c.obj:
+OBJEXT $(COMPILE) -c `cygpath -w $<`
+
 .s.o:
        $(COMPILE) -c $<
 
@@ -28,6 +33,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)
 
 clean-compile:
 
index 8fb65e8..3c0fd8e 100644 (file)
@@ -15,7 +15,7 @@
 ## along with this program; if not, write to the Free Software
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
-SHELL = /bin/sh
+SHELL = @SHELL@
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
index 14221d4..6031cd5 100644 (file)
@@ -1,3 +1,12 @@
+Sat Sep 26 19:17:43 1998  Tom Tromey  <tromey@cygnus.com>
+
+       Test suite updates for the @SHELL@ change:
+       * exsource.test: Set SHELL on `make' command line.
+       * ansi.test: Set SHELL on `make' command line.
+       * texinfo.test: Set SHELL on `make' command line.
+       * insh2.test: Set SHELL on `make' command line.
+       * empty.test: Rewrite @SHELL@ to /bin/sh.
+
 Tue Sep 22 01:20:00 1998  Tom Tromey  <tromey@cygnus.com>
 
        * ansi3.test: Use gcc and not gcc -traditional.
index 45c1930..1140cad 100755 (executable)
@@ -20,4 +20,4 @@ END
 
 $AUTOMAKE || exit 1
 
-$MAKE -s -f Makefile.in magic | grep 'ansi2knr\.c'
+$MAKE -s -f Makefile.in SHELL=/bin/sh magic | grep 'ansi2knr\.c'
index 09ffeb7..14a7124 100755 (executable)
@@ -24,7 +24,8 @@ END
 chmod +x mkinstalldirs
 
 # Substitute variables we need.
-sed -e 's/@srcdir@/./g' -e 's/@top_srcdir@/./g' -e 's/@datadir@/./g' \
+sed -e 's,@SHELL@,/bin/sh,g' -e 's/@srcdir@/./g' \
+   -e 's/@top_srcdir@/./g' -e 's/@datadir@/./g' \
    < Makefile.in > Makefile
 
 $MAKE install
index b4ac665..1ebfaef 100755 (executable)
@@ -34,4 +34,4 @@ echo > .deps/.P
 echo > .deps/xtra.P
 echo > .deps/www.P
 
-$MAKE -s -f Makefile.in srcdir=`pwd` magic | grep xtra
+$MAKE -s -f Makefile.in SHELL=/bin/sh srcdir=`pwd` magic | grep xtra
index b5018da..ae4ea2c 100755 (executable)
@@ -12,4 +12,4 @@ END
 
 $AUTOMAKE || exit 1
 
-$MAKE -s -f Makefile.in magic | grep install-sh
+$MAKE -s -f Makefile.in SHELL=/bin/sh magic | grep install-sh
index 96022ff..1421867 100755 (executable)
@@ -16,4 +16,4 @@ echo '@setfilename textutils.info' > textutils.texi
 
 $AUTOMAKE || exit 1
 
-$MAKE -s -f Makefile.in magic | grep 'texinfo\.tex'
+$MAKE -s -f Makefile.in SHELL=/bin/sh magic | grep 'texinfo\.tex'