1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
* Merge with NetBSD make
pick up fix for .END failure in compat mode.
pick up fix for extra va_end() in ParseVErrorInternal.
Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
* configure.in: for systems that have sys/cdefs.h check if it is
compatible. If not, include the one under missing, but tell it to
include the native one too - necessary on Linux.
* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
include_next (for gcc) to get the native sys/cdefs.h
Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* job.c (JobFinish): Fix an earlier merge bug that resulted in
leaking descriptors when using -jN.
* job.c (JobPrintCommand): See if "curdir" exists before
attempting to chdir(). Doing the chdir directly in make (when in
compat mode) fails silently, so let the -jN version do the same.
This can happen when building kernels in an object tree and
playing clever games to reset .CURDIR.
* Merged with NetBSD make
pick up .USEBEFORE
Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
us not to export the iterator variable when using VAR_CMD context.
Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
its the wrong "fix".
Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* Redesigned export of VAR_CMD's via MAKEFLAGS.
We now simply append the variable names to .MAKEOVERRIDES, and
handle duplicate suppression and quoting in ExportMAKEFLAGS using:
${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
Apart from fixing quoting bugs in previous version, this allows us
to export vars to the environment by simply doing:
.MAKEOVERRIDES+= PATH
Merged again with NetBSD make, but the above is the only change.
* configure.in: added
--disable-pwd-override disable $PWD overriding getcwd()
--disable-check-make-chdir disable make trying to guess
when it should automatically cd ${.CURDIR}
* Merge with NetBSD make, changes include:
parse.c (ParseDoDependency): Spot that the syntax error is
caused by an unresolved cvs/rcs conflict and say so.
var.c: most of Var* functions now take a ctxt as 1st arg.
now does variable substituion on rhs of sysv style modifiers.
* var.c (Var_Set): exporting of command line variables (VAR_CMD)
is now done here. We append the name='value' to .MAKEOVERRIDES
rather than directly into MAKEFLAGS as this allows a Makefile to
use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
very similar mechanism. Note that in adding name='value' to
.MAKEOVERRIDES we do the moral equivalent of:
.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
* Merged with NetBSD make
make -dx can now be used to run commands via sh -x
better error messages on exec failures.
Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
MACHINE etc otherwise they propagate from the previous bmake.
* configure.in (machine): allow --with-machine=generic to make
configure use machine.sh to set MACHINE.
* job.c (JobInterrupt): convert to using WAIT_T and friends.
* Makefile.in: mention in bmake.1 that we use autoconf.
* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
as that rather defeats the usefulness of ${MAKEFILE}.
* main.c (MainParseArgs): append command line variable assignments
to MAKEFLAGS so that they get propagated to child make's.
Apparently this is required POSIX behaviour? Its useful anyway.
Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* compat.c (CompatRunCommand): don't use perror() since stdio may
cause problems in child of vfork().
* compat.c, main.c: Call PrintOnError() when we are going to bail.
This routine prints out the .curdir where we stopped and will also
display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
* main.c: add ${.newline} to hold a "\n" - sometimes handy in
:@ expansion.
* var.c: VarLoopExpand: ignore addSpace if a \n is present.
* Added RCSid's for the files we've touched.
Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* configure.in: Thanks to some clues from mdb@juniper.net,
added autoconf magic to control setting of MACHINE, MACHINE_ARCH
as well as what ends up in _PATH_DEFSYSPATH. We now have:
--with-machine=MACHINE explicitly set MACHINE
--with-force-machine=MACHINE set FORCE_MACHINE
--with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
--with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
--with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
--with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
* makefile: added a pathetically simple makefile to drive
bootstrapping. Running configure by hand is more useful.
* Makefile.in: added MAKE_VERSION, and reworked things to be less
dependent on NetBSD bsd.*.mk
* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
_PATH_OBJDIRPREFIX for those that don't want a default.
construct _PATH_DEFSYSPATH from the info we get from configure.
* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
if MAKE_VERSION is defined.
* compat.c: when we bail, print out the .CURDIR we were in.
Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
* var.c: fixed a bug in the handling of the modifier :P
if the node as found but the path was null, we segfault trying to
duplicate it.
Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
* make.c: Make_OODate's test for a library out of date was using
cmtime where it should have used mtime (my bug).
* compat.c: Use perror() to tell us what really went wrong when we
cannot exec a command.
Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Merged with NetBSD make
Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* util.c: don't provide signal() since we use sigcompat.c
* Makefile.in: added a build target.
* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
These allow some quite clever magic.
* main.c (main): added support for getenv(MAKESYSPATH).
Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
This avoids objdir having a different value depending on how a
directory was reached (via command line, or subdir.mk).
* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
I've been testing this in NetBSD's make for some weeks.
* Turn Makefile into Makefile.in and make it useful.
Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
* Imported NetBSD's -current make(1) and resolve conflicts.
* Applied autoconf patches from bmake v2
* Imported clean code base from NetBSD-1.0
|