Mail Archives: djgpp-workers/2000/05/30/17:41:07
> From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
> Date: Tue, 30 May 2000 08:21:01 -0500 (CDT)
>
> > I could easily make a variant of Make that does this, but I'm not sure
> > Make alone will solve the problem. In a typical Unix build, you have
> > something like this:
> >
> > make -> make -> bash -> gcc -> cc1
> >
> > or this:
> >
> > make -> bash -> make -> gcc -> cc1
> >
> > or even this:
> >
> > make -> bash -> make -> bash -> gcc -> cc1
> >
> > So perhaps at least Bash should support this option, in order to test
> > it.
>
> I'm willing to test builds with whatever images you provide. At this
> point I'd be happy if any make would work.
I've put a version of Make linked with a hacked dosexec.c on my
server, it's available for anon ftp:
ftp://is.elta.co.il/pub/make_nex.zip
Unzip make.exe and try to use it. If you set W2KBUG in the
environment (the value is not important), it will toggle exceptions
before invoking child programs.
The diffs against dosexec.c in djlsr203.zip are reproduced below, so
if Someone (tm) can build Bash for Charles, please feel free...
--- src/libc/dos/process/dosexec.c~0 Thu Jun 3 13:27:36 1999
+++ src/libc/dos/process/dosexec.c Tue May 30 23:21:58 2000
@@ -17,6 +17,7 @@
#include <ctype.h>
#include <sys/system.h>
#include <sys/movedata.h>
+#include <sys/exceptn.h>
#include <libc/dosexec.h>
#include <libc/unconst.h>
#include <libc/dosio.h>
@@ -1098,8 +1099,12 @@ int __spawnve(int mode, const char *path
errno = is_dir ? EISDIR : ENOENT;
return -1;
}
+ if (getenv("W2KBUG"))
+ __djgpp_exception_toggle();
errno = e;
i = interpreters[i].interp(rpath, argvp, envpp);
+ if (getenv("W2KBUG"))
+ __djgpp_exception_toggle();
if (mode == P_OVERLAY)
exit(i);
return i;
- Raw text -