bug-make
[Top][All Lists]
Advanced

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

Re: address@hidden: GNU make: Next release schedule.]


From: Juan Manuel Guerrero
Subject: Re: address@hidden: GNU make: Next release schedule.]
Date: Fri, 18 Sep 2009 00:20:00 +0200
User-agent: KMail/1.9.10

Am Mittwoch, 16. September 2009 schrieb Eli Zaretskii:
> FYI
> 
> Juan, this would be a good time to resubmit your DJGPP patches, so
> that they will be included in Make 3.82.
> 
> Thanks.
> 
[snip]

This patch contains the changes required to compile and run the testsuite
using DJGPP.  It is basicaly the same that I have submitted almost two years
ago.  I have removed the part to fix the broken path support for MSDOS/WINDOWS
because this has already been fixed.
For a description of what the patch was supposed to fix in its original version
see:
<http://lists.gnu.org/archive/html/bug-make/2008-01/msg00008.html>
<http://lists.gnu.org/archive/html/bug-make/2008-06/msg00059.html>


Regards,
Juan M. Guerrero



2008-01-14  Juan Manuel Guerrero  <address@hidden>

        * glob/glob.c (my_realloc): Don't define, and don't redefine realloc
        to call it since the DJGPP realloc handles NULL pointers.

        * configh.dos.template: Remove unconditional definition of 
SYS_SIGLIST_DECLARED.
        Include <sys/version.h> because ports of GCC 4.3.0 and later no longer
        include it, so macros like __DJGPP_MINOR__ are no longer defined 
automatically.

        * Makefile.DOS.template (INCLUDES): Use $(prefix) and the corresponding
        variables to define LIBDIR, INCLUDEDIR and LOCALEDIR instead of using
        the hardcoded ones.
        (SUBDIRS): doc subdir added.
        (INFO_DEPS, DVIS): Values changed to 'make.info' and 'make.dvi'.
        (TEXI2HTML, TEXI2HTML_FLAGS): Removed.  Use makeinfo --html to
        create html formated docs.  texi2html may not be ported to DOS.
        (make.info, make.dvi, make.ps, make.html): Make targets depend on
        'make.texi'.
        (.texi.info, .texi, .texi.dvi): Now recursively invocate.  Change
        -I switch to look in ./ instead of ./doc.
        (html): Target depend on html-recursive instead of make_1.html.
        (make_1.html): Removed.
        (mostlyclean-aminfo): Use $(srcdir)/doc instead of ./ as prefix.
        (all-recursive): Allow for more than one subdir in the build process.
        (mostlyclean-recursive, clean-recursive, distclean-recursive,
        maintainer-clean-recursive, check-recursive): Enter in doc/ too.
        (tags-recursive): Allow for more than one subdir in the build process.
        (info-recursive, dvi-recursive, ps-recursive, html-recursive): New
        targets.  Enter into doc/ to produce the targets.
        (all-am): $(INFO_DEPS) replaced by info.

        * tests/scripts/options/dash-B: Define $error_message to allow for an
        error message that may be specific to a particular libc implementation.

        * tests/scripts/options/dash-k: Define $error_message to allow for an
        error message that may be specific to a particular libc implementation.

        * tests/scripts/options/dash-W: Define $error_message to allow for an
        error message that may be specific to a particular libc implementation.

        * tests/scripts/targets/SECONDARY: If the port does not support
        parallelism inhibit test cases #9 and #10 (Savannah bug #15919).

        * tests/scripts/variables/MAKE_RESTARTS: Define $error_message to allow
        error message that may be specific to a particular libc implementation.

        * tests/scripts/variables/SHELL: If compiled with DJGPP, do not run
        this test at all.




Index: Makefile.DOS.template
===================================================================
RCS file: /sources/make/make/Makefile.DOS.template,v
retrieving revision 2.16
diff -u -r2.16 Makefile.DOS.template
--- Makefile.DOS.template       22 Dec 2007 12:07:36 -0000      2.16
+++ Makefile.DOS.template       17 Sep 2009 19:54:09 -0000
@@ -2,7 +2,7 @@
 # Makefile.in generated automatically by automake 1.2 from Makefile.am
 #
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
 # GNU Make is free software; you can redistribute it and/or modify it under
@@ -85,13 +85,13 @@
 
 man_MANS =     make.1
 
-INCLUDES =     -I$(srcdir)/glob -DLIBDIR=\"c:/djgpp/lib\" 
-DINCLUDEDIR=\"c:/djgpp/include\" -DLOCALEDIR=\"$(localedir)\"
+INCLUDES =     -I$(srcdir)/glob -DLIBDIR=\"$(prefix)$(libdir)\" 
-DINCLUDEDIR=\"$(prefix)$(includedir)\" -DLOCALEDIR=\"$(prefix)$(localedir)\"
 
 BUILT_SOURCES =        README build.sh-in
 
 EXTRA_DIST =   $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c  
make-stds.texi texinfo.tex SCOPTIONS SMakefile  Makefile.ami README.Amiga 
config.ami amiga.c amiga.h  NMakefile README.DOS configh.dos configure.bat 
makefile.com  README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk  
config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c  vmsify.c
 
-SUBDIRS =      glob
+SUBDIRS =      glob doc
 mkinstalldirs = ${exec_prefix}/bin/gmkdir -p
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =  build.sh
@@ -115,16 +115,13 @@
 LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
 TEXI2DVI = texi2dvi
 TEXINFO_TEX = $(srcdir)/config/texinfo.tex
-INFO_DEPS = make.info
-DVIS = make.dvi
+INFO_DEPS = doc/make.info
+DVIS = doc/make.dvi
 TEXINFOS = doc/make.texi
 noinst_TEXINFOS = doc/fdl.texi doc/make-stds.texi
 man1dir = $(mandir)/man1
 MANS = $(man_MANS)
 
-TEXI2HTML = texi2html
-TEXI2HTML_FLAGS = -split_chapter
-
 NROFF = nroff
 DIST_COMMON =  README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am  
Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in  
configure configure.in getloadavg.c
 
@@ -191,8 +188,10 @@
 
 # Documentation
 
-make.info: doc/make.texi
-make.dvi: doc/make.texi
+make.info: make.texi
+make.dvi: make.texi
+make.ps: make.dvi make.texi
+make.html: make.texi
 
 
 DVIPS = dvips
@@ -200,32 +199,33 @@
 .texi.info:
        @command.com /c if exist make.info* del make.info*
        @command.com /c if exist make.i* del make.i*
-       $(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
+       $(MAKEINFO) -I$(srcdir) --no-split $< -o ./$@
 
 .texi:
        @command.com /c if exist make.info* del make.info*
        @command.com /c if exist make.i* del make.i*
-       $(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
+       $(MAKEINFO) -I$(srcdir) --no-split $< -o ./$@
 
 .texi.dvi:
-       TEXINPUTS="$(srcdir)/doc;$$TEXINPUTS"    MAKEINFO='$(MAKEINFO) -I 
$(srcdir)/doc' $(TEXI2DVI) $<
+       TEXINPUTS="$(srcdir);$$TEXINPUTS"    MAKEINFO='$(MAKEINFO) -I 
$(srcdir)' $(TEXI2DVI) $<
 
 .dvi.ps:
        $(DVIPS) $< -o $@
 
 # Other documentation formats
 
-html: make_1.html
+html: html-recursive
 
-make_1.html: $(TEXINFOS) $(noinst_TEXINFOS)
-       $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/doc/make.texi
+.texi.html:
+       @command.com /c if exist make.html* del make.html*
+       $(MAKEINFO) --html -I$(srcdir) --no-split $< -o ./$@
 
 install-info-am: $(INFO_DEPS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(infodir)
-       @for file in $(INFO_DEPS); do    d=$(srcdir);    for ifile in `cd $$d 
&& echo $$file`; do      if test -f $$d/$$ifile; then        echo " 
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) 
$$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi;    done;  done
+       @for file in $(INFO_DEPS); do    iifile=`echo $$file | sed "s|doc/||"`; 
   d=$(srcdir);    for ifile in `cd $$d && echo $$file`; do      if test -f 
$$d/$$ifile; then        echo " $(INSTALL_DATA) $$d/$$ifile 
$(DESTDIR)$(infodir)/$$iifile"; $(INSTALL_DATA) $$d/$$ifile 
$(DESTDIR)$(infodir)/$$iifile; else : ; fi;    done;  done
        @$(POST_INSTALL)
-       @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i 
debian' >/dev/null 2>&1; then    for file in $(INFO_DEPS); do      echo " 
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";     
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;  
 done;  else : ; fi
+       @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i 
debian' >/dev/null 2>&1; then    for file in $(INFO_DEPS); do    iifile=`echo 
$$file | sed "s|doc/||"`;      echo " install-info 
--info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$iifile";     
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$iifile || 
:;   done;  else : ; fi
 
 uninstall-info:
        $(PRE_UNINSTALL)
@@ -237,9 +237,12 @@
        for base in $(INFO_DEPS); do    d=$(srcdir);    for file in `cd $$d && 
eval echo $$base*`; do      test -f $(distdir)/$$file      || ln $$d/$$file 
$(distdir)/$$file 2> /dev/null      || cp -p $$d/$$file $(distdir)/$$file;    
done;  done
 
 mostlyclean-aminfo:
-       -rm -f make.aux make.cp make.cps make.dvi make.fn make.fns make.ky \
-         make.kys make.ps make.log make.pg make.toc make.tp make.tps \
-         make.vr make.vrs make.op make.tr make.cv make.cn
+       -rm -f $(srcdir)/doc/make.aux $(srcdir)/doc/make.cp 
$(srcdir)/doc/make.cps $(srcdir)/doc/make.dvi \
+         $(srcdir)/doc/make.fn $(srcdir)/doc/make.fns $(srcdir)/doc/make.ky 
$(srcdir)/doc/make.kys \
+         $(srcdir)/doc/make.ps $(srcdir)/doc/make.log $(srcdir)/doc/make.pg 
$(srcdir)/doc/make.toc \
+         $(srcdir)/doc/make.tp $(srcdir)/doc/make.tps $(srcdir)/doc/make.vr 
$(srcdir)/doc/make.vrs \
+         $(srcdir)/doc/make.op $(srcdir)/doc/make.tr $(srcdir)/doc/make.cv 
$(srcdir)/doc/make.cn \
+         $(srcdir)/doc/make.html
 
 clean-aminfo:
 
@@ -291,13 +294,10 @@
 # but do a sanity check: if $SUBDIRS will ever have more than
 # a single directory, yell bloody murder.
 all-recursive:
-ifeq ($(words $(SUBDIRS)), 1)
+ifeq ($(findstring glob, $(SUBDIRS)), glob)
        @command.com /c if not exist glob\\nul md glob
-       @echo Making all in $(SUBDIRS)
-       $(MAKE) -C $(SUBDIRS) -f ../Makefile INCLUDES='-I$(srcdir) 
-I$(srcdir)/glob' DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a
-else
-       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
-       @$(EXIT_FAIL)
+       @echo Making all in glob
+       $(MAKE) -C glob -f ../Makefile INCLUDES='-I$(srcdir) -I$(srcdir)/glob' 
DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a
 endif
 
 $(SUBDIRS):
@@ -310,11 +310,13 @@
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive check-recursive:
-ifeq ($(words $(SUBDIRS)), 1)
-       @echo Making $(shell echo $@ | sed s/-recursive//) in $(SUBDIRS)
-       $(MAKE) -C $(SUBDIRS) -f ../Makefile $(shell echo $@ | sed 
s/-recursive//)-am
+ifeq ($(words $(SUBDIRS)), 2)
+       @echo Making $(shell echo $@ | sed s/-recursive//) in glob
+       $(MAKE) -C glob -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am
+       @echo Making $(shell echo $@ | sed s/-recursive//) in doc
+       $(MAKE) -C doc -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am
 else
-       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
+       @echo FATAL: There is more than two directory in "($(SUBDIRS))"
        @$(EXIT_FAIL)
 endif
 
@@ -322,10 +324,10 @@
        etags $(addprefix $(srcdir)/,$^) -o ./glob/TAGS
 
 tags-recursive:
-ifeq ($(words $(SUBDIRS)), 1)
+ifeq ($(words $(SUBDIRS)), 2)
        $(MAKE) tags-in-glob
 else
-       @echo FATAL: There is more than one directory in "($(SUBDIRS))"
+       @echo FATAL: There is more than two directory in "($(SUBDIRS))"
        @$(EXIT_FAIL)
 endif
 
@@ -376,15 +378,44 @@
        $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
        $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
 
-info: $(INFO_DEPS) info-recursive
-dvi: $(DVIS) dvi-recursive
+info: info-recursive
+info-recursive:
+ifeq ($(findstring doc, $(SUBDIRS)), doc)
+       @command.com /c if not exist doc\\nul md doc
+       @echo Making all in doc
+       $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.info
+endif
+
+dvi: dvi-recursive
+dvi-recursive:
+ifeq ($(findstring doc, $(SUBDIRS)), doc)
+       @command.com /c if not exist doc\\nul md doc
+       @echo Making all in doc
+       $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.dvi
+endif
+
+ps: ps-recursive
+ps-recursive:
+ifeq ($(findstring doc, $(SUBDIRS)), doc)
+       @command.com /c if not exist doc\\nul md doc
+       @echo Making all in doc
+       $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.ps
+endif
+
+html-recursive:
+ifeq ($(findstring doc, $(SUBDIRS)), doc)
+       @command.com /c if not exist doc\\nul md doc
+       @echo Making all in doc
+       $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.html
+endif
+
 check: all-am check-recursive check-local
        @:
 installcheck: installcheck-recursive
 all-recursive-am: config.h
        $(MAKE) all-recursive
 
-all-am: Makefile $(INFO_DEPS) $(PROGRAMS) config.h
+all-am: Makefile $(PROGRAMS) config.h info
 
 install-exec-am: install-binPROGRAMS
 
Index: configh.dos.template
===================================================================
RCS file: /sources/make/make/configh.dos.template,v
retrieving revision 1.19
diff -u -r1.19 configh.dos.template
--- configh.dos.template        22 Dec 2007 11:27:02 -0000      1.19
+++ configh.dos.template        17 Sep 2009 19:54:09 -0000
@@ -16,12 +16,16 @@
 You should have received a copy of the GNU General Public License along with
 this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+/* Include this header to make __DJGPP_MINOR__ available because DJGPP ports
+   of GCC 4.3.0 and later no longer do it automatically.  */
+#include <sys/version.h>
+
 /* Many things are defined already by a system header.  */
 #include <sys/config.h>
 
 #if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1
 
-/* Define to 1 if `sys_siglist' is declared by <signal.h>.  */
+/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
 # define SYS_SIGLIST_DECLARED 1
 
 /* Define to 1 if the C library defines the variable `_sys_siglist'.  */
@@ -107,9 +111,6 @@
 /* Define to 1 if the C compiler supports function prototypes. */
 #define PROTOTYPES 1
 
-/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
-#define SYS_SIGLIST_DECLARED 1
-
 /* Version number of package */
 #define VERSION "%VERSION%"
 
Index: glob/glob.c
===================================================================
RCS file: /sources/make/make/glob/glob.c,v
retrieving revision 1.28
diff -u -r1.28 glob.c
--- glob/glob.c 22 Dec 2007 11:28:49 -0000      1.28
+++ glob/glob.c 17 Sep 2009 19:54:09 -0000
@@ -182,7 +182,7 @@
 # define mempcpy(Dest, Src, Len) __mempcpy (Dest, Src, Len)
 #endif
 
-#ifndef        __GNU_LIBRARY__
+#if !defined __GNU_LIBRARY__ && !defined __DJGPP__
 # ifdef        __GNUC__
 __inline
 # endif
@@ -190,9 +190,6 @@
 #  ifdef WINDOWS32
 static void *
 my_realloc (void *p, unsigned int n)
-#  elif defined(__DJGPP__)
-static void *
-my_realloc (void *p, size_t n)
 #  else
 static char *
 my_realloc (p, n)
@@ -208,7 +205,7 @@
 }
 # define       realloc my_realloc
 # endif /* __SASC */
-#endif /* __GNU_LIBRARY__ */
+#endif /* __GNU_LIBRARY__ || __DJGPP__ */
 
 
 #if !defined __alloca && !defined __GNU_LIBRARY__
Index: tests/scripts/options/dash-B
===================================================================
RCS file: /sources/make/make/tests/scripts/options/dash-B,v
retrieving revision 1.5
diff -u -r1.5 dash-B
--- tests/scripts/options/dash-B        13 Jun 2009 21:21:49 -0000      1.5
+++ tests/scripts/options/dash-B        17 Sep 2009 19:54:10 -0000
@@ -38,15 +38,27 @@
 # Test -B with the re-exec feature: we don't want to re-exec forever
 # Savannah bug # 7566
 
+if ($port_type eq "DOS") {
+  if (exists $ENV{DJDIR}) {
+  #
+  #  If compiled with DJGPP an error message (ENOENT) is issued.
+  #
+    $error_message = ' (ENOENT)';
+  }
+}
+else {
+  $error_message = '';
+}
+
 run_make_test('
 all: ; @:
 $(info MAKE_RESTARTS=$(MAKE_RESTARTS))
 include foo.x
 foo.x: ; @touch $@
 ',
-              '-B', 'MAKE_RESTARTS=
-#MAKEFILE#:4: foo.x: No such file or directory
-MAKE_RESTARTS=1');
+              '-B', "MAKE_RESTARTS=
+#MAKEFILE#:4: foo.x: No such file or directory$error_message
+MAKE_RESTARTS=1");
 
 rmfiles('foo.x');
 
@@ -62,11 +74,11 @@
 foo.x: ; @touch $@
 blah.x: ; @echo $@
 ',
-              '-B', 'MAKE_RESTARTS=
-#MAKEFILE#:4: foo.x: No such file or directory
+              '-B', "MAKE_RESTARTS=
+#MAKEFILE#:4: foo.x: No such file or directory$error_message
 MAKE_RESTARTS=1
 blah.x
-all');
+all");
 
 rmfiles('foo.x', 'blah.x');
 
Index: tests/scripts/options/dash-W
===================================================================
RCS file: /sources/make/make/tests/scripts/options/dash-W,v
retrieving revision 1.5
diff -u -r1.5 dash-W
--- tests/scripts/options/dash-W        8 Mar 2006 20:15:09 -0000       1.5
+++ tests/scripts/options/dash-W        17 Sep 2009 19:54:10 -0000
@@ -33,6 +33,18 @@
 
 # First set it up with a normal build
 
+if ($port_type eq "DOS") {
+  if (exists $ENV{DJDIR}) {
+  #
+  #  If compiled with DJGPP an error message (ENOENT) is issued.
+  #
+    $error_message = ' (ENOENT)';
+  }
+}
+else {
+  $error_message = '';
+}
+
 run_make_test('
 all: baz.x ; @:
 include foo.x
@@ -42,11 +54,11 @@
 bar.x: ; echo >> $@
 baz.x: bar.x ; @echo "touch $@"
 ',
-              '', '#MAKEFILE#:3: foo.x: No such file or directory
+              '', "#MAKEFILE#:3: foo.x: No such file or directory$error_message
 echo >> bar.x
 touch foo.x
 restarts=1
-touch baz.x');
+touch baz.x");
 
 # Now run with -W bar.x
 
Index: tests/scripts/options/dash-k
===================================================================
RCS file: /sources/make/make/tests/scripts/options/dash-k,v
retrieving revision 1.3
diff -u -r1.3 dash-k
--- tests/scripts/options/dash-k        16 May 2004 19:16:56 -0000      1.3
+++ tests/scripts/options/dash-k        17 Sep 2009 19:54:10 -0000
@@ -100,12 +100,24 @@
 # TEST -- make sure we keep the error code if we can't create an included
 # makefile.
 
+if ($port_type eq "DOS") {
+  if (exists $ENV{DJDIR}) {
+  #
+  #  If compiled with DJGPP an error message (ENOENT) is issued.
+  #
+    $error_message = ' (ENOENT)';
+  }
+}
+else {
+  $error_message = '';
+}
+
 run_make_test('all: ; @echo hi
 include ifile
 ifile: no-such-file; @false
 ',
               '-k',
-              "#MAKEFILE#:2: ifile: No such file or directory
+              "#MAKEFILE#:2: ifile: No such file or directory$error_message
 #MAKE#: *** No rule to make target `no-such-file', needed by `ifile'.
 #MAKE#: Failed to remake makefile `ifile'.
 hi\n",
Index: tests/scripts/targets/SECONDARY
===================================================================
RCS file: /sources/make/make/tests/scripts/targets/SECONDARY,v
retrieving revision 1.6
diff -u -r1.6 SECONDARY
--- tests/scripts/targets/SECONDARY     15 Aug 2007 13:53:54 -0000      1.6
+++ tests/scripts/targets/SECONDARY     17 Sep 2009 19:54:10 -0000
@@ -121,6 +121,10 @@
 
 unlink('version2');
 
+if (!$parallel_jobs) {
+  return 1;
+}
+
 # TEST #9 -- Savannah bug #15919
 # The original fix for this bug caused a new bug, shown here.
 
Index: tests/scripts/variables/MAKE_RESTARTS
===================================================================
RCS file: /sources/make/make/tests/scripts/variables/MAKE_RESTARTS,v
retrieving revision 1.1
diff -u -r1.1 MAKE_RESTARTS
--- tests/scripts/variables/MAKE_RESTARTS       25 Jun 2005 18:57:28 -0000      
1.1
+++ tests/scripts/variables/MAKE_RESTARTS       17 Sep 2009 19:54:10 -0000
@@ -4,15 +4,27 @@
 
 # Test basic capability
 
+if ($port_type eq "DOS") {
+  if (exists $ENV{DJDIR}) {
+  #
+  #  If compiled with DJGPP an error message (ENOENT) is issued.
+  #
+    $error_message = ' (ENOENT)';
+  }
+}
+else {
+  $error_message = '';
+}
+
 run_make_test('
 all: ; @:
 $(info MAKE_RESTARTS=$(MAKE_RESTARTS))
 include foo.x
 foo.x: ; @touch $@
 ',
-              '', 'MAKE_RESTARTS=
-#MAKEFILE#:4: foo.x: No such file or directory
-MAKE_RESTARTS=1');
+              '', "MAKE_RESTARTS=
+#MAKEFILE#:4: foo.x: No such file or directory$error_message
+MAKE_RESTARTS=1");
 
 rmfiles('foo.x');
 
@@ -25,11 +37,11 @@
 foo.x: ; @echo "include bar.x" > $@
 bar.x: ; @touch $@
 ',
-              '', 'MAKE_RESTARTS=
-#MAKEFILE#:4: foo.x: No such file or directory
+              '', "MAKE_RESTARTS=
+#MAKEFILE#:4: foo.x: No such file or directory$error_message
 MAKE_RESTARTS=1
-foo.x:1: bar.x: No such file or directory
-MAKE_RESTARTS=2');
+foo.x:1: bar.x: No such file or directory$error_message
+MAKE_RESTARTS=2");
 
 rmfiles('foo.x', 'bar.x');
 
@@ -47,9 +59,9 @@
 bar.x: ; @touch $@
 ',
               '', "MAKE_RESTARTS=
-#MAKEFILE#:8: foo.x: No such file or directory
+#MAKEFILE#:8: foo.x: No such file or directory$error_message
 MAKE_RESTARTS=1
-foo.x:1: bar.x: No such file or directory
+foo.x:1: bar.x: No such file or directory$error_message
 MAKE_RESTARTS=2
 recurse MAKE_RESTARTS=
 MAKE_RESTARTS=
Index: tests/scripts/variables/SHELL
===================================================================
RCS file: /sources/make/make/tests/scripts/variables/SHELL,v
retrieving revision 1.6
diff -u -r1.6 SHELL
--- tests/scripts/variables/SHELL       6 Jun 2009 23:16:47 -0000       1.6
+++ tests/scripts/variables/SHELL       17 Sep 2009 19:54:10 -0000
@@ -2,6 +2,12 @@
 
 $description = "Test proper handling of SHELL.";
 
+if ($port_type eq "DOS") {
+  if (exists $ENV{DJDIR}) {
+    return -1;
+  }
+}
+
 # Find the default value when SHELL is not set.  On UNIX it will be /bin/sh,
 # but on other platforms who knows?
 resetENV();




reply via email to

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