Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/lib/csu
On Mon, Jan 31, 2011 at 09:54:03PM +0100, Joerg Sonnenberger wrote:
> On Mon, Jan 31, 2011 at 08:42:59PM +0100, Matthias Drochner wrote:
> >
> > joerg%britannica.bec.de@localhost said:
> > > $ ~/work/NetBSD/obj/clang-base/tools/bin/nbmake-amd64 -V .OBJDIR
> > > /home/joerg/work/NetBSD/obj/clang-base/amd64/lib/csu
> >
> > This shows that you are not using an .OBJDIR, in the sense that it is
> > different from .CURDIR. See the make(1) manpage.
> >
> > There are various rules which use this in mk/bsd.obj.mk. I'm
> > setting BUILDID and BSDOBJDIR in my /etc/mk.conf.
>
> I can comment out the MAKEOBJDIR assignment in nbmake-amd64 and it still
> works fine. BSDOBJDIR doesn't seem to do anything. BUILDID breaks this.
> I have no idea why those variables even exist, the code in bsd.own.mk is
> messy at best and I don't think it justifies the changes to the
> Makefiles. As such, please either kill BUILDID or find a proper fix and
> backout this change.
The attached patch seems to sort this out.
Joerg
Index: src/usr.bin/make/main.c
===================================================================
--- src/usr.bin/make/main.c
+++ src/usr.bin/make/main.c
@@ -179,11 +179,11 @@
static void MainParseArgs(int, char **);
static int ReadMakefile(const void *, const void *);
static void usage(void);
static Boolean ignorePWD; /* if we use -C, PWD is meaningless */
-static char curdir[MAXPATHLEN + 1]; /* startup directory */
+char curdir[MAXPATHLEN + 1]; /* startup directory */
static char objdir[MAXPATHLEN + 1]; /* where we chdir'ed to */
char *progname; /* the program name */
char *makeDependfile;
pid_t myPid;
Index: src/usr.bin/make/parse.c
===================================================================
--- src/usr.bin/make/parse.c
+++ src/usr.bin/make/parse.c
@@ -2206,11 +2206,12 @@
char *dirname;
int len;
slash = strrchr(filename, '/');
if (slash == NULL) {
- Var_Set(".PARSEDIR", ".", VAR_GLOBAL, 0);
+ extern char curdir[];
+ Var_Set(".PARSEDIR", curdir, VAR_GLOBAL, 0);
Var_Set(".PARSEFILE", filename, VAR_GLOBAL, 0);
} else {
len = slash - filename;
dirname = bmake_malloc(len + 1);
memcpy(dirname, filename, len);
Home |
Main Index |
Thread Index |
Old Index