Thread View: gnu.utils.bug
1 messages
1 total messages
Started by Steven Grady
Fri, 17 Feb 1989 00:59
some problems with gnumake (3.27) under System V
Author: Steven Grady
Date: Fri, 17 Feb 1989 00:59
Date: Fri, 17 Feb 1989 00:59
63 lines
2531 bytes
2531 bytes
First, I want to say that gnumake is infinitely cool (excuse the
hyperbole). Our group wants to use it to compile multiple
object files from a single source tree, like this:
src
/ | \
Makefile foo.c sun3 rtpc hpux ultrix
| | | |
foo.o foo.o foo.o foo.o
We also use mkmf to update the Makefile. But supporting
this construction was easy:
ARCH := $(strip $(shell machinetype))
OBJS = ... [created by mkmf]
ROBJS = $(addprefix $(ARCH)/, $(OBJS))
$(TARGET): $(ROBJS) ...
Simple, elegant, and it works. The problem is that gnumake
did not really get a full-blown port to System V. Below are
some changes required to get it to work on all our machines.
I had few problems on SunOS 3.5, SunOS 4.0, and Ultrix..
I'm not including diffs because I'm not sure if my fixes
were the best possible. Also, I don't have a vanilla copy
of the source.
The "struct stringlist" structure in make.c contains the element
"index", which some compilers (ie HP's) want to preprocess to
be strchr if USG is defined (from make.h).
USGr3 is not supported in commands.c, as opposed to all
the other files.
Some (USG) machines do strange things when the handler for SIGC[H]LD
is set to SIG_IGN. (They force wait() to block until all the
children terminate.) The handler should be set to SIG_DFL instead.
On HPUX, if you reinstall a SIGCLD handler, you must do so
_after_ the call to wait(), or you recursively call the
child_handler until you get a core dump.
On AIX, "fcntl.h" is in /usr/include, not in /usr/include/sys.
In commands.c, the WRETCODE macro is not always used to reference the status
from a wait().
Line 154 of commands.c contains the line:
while (wait (&status) > 0)
It should be:
while ((pid = wait (&status)) > 0)
Also, given that systems without wait3() are supported,
is there any reason to have two sets of code, one which
uses wait3(), and one which doesn't?
Steven
...!ucbvax!grady
grady@postgres.berkeley.edu
"It's no longer a blue world, Max. Where can we go?"
"Argentina?"
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads