Create ../compile

Give up the battle to keep extra files in $MACHINE/compile to keep the file in
the tree. Instead, create CDIR (usually ../compile) if it doesn't exist when
we're using a default build location (eg, not using -d). If it does, we do
nothing. This only affects people that do old-school builds, but it's bit me a
dozen times since last summer so time to fix the bug.
This commit is contained in:
Warner Losh 2020-02-24 16:41:16 +00:00
parent b0254d9afb
commit f33a95bc86
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=358291

View File

@ -116,6 +116,7 @@ main(int argc, char **argv)
char *kernfile;
struct includepath* ipath;
int printmachine;
bool cust_dest = false;
printmachine = 0;
kernfile = NULL;
@ -140,6 +141,7 @@ main(int argc, char **argv)
strlcpy(destdir, optarg, sizeof(destdir));
else
errx(EXIT_FAILURE, "directory already set");
cust_dest = true;
break;
case 'g':
debugging++;
@ -232,7 +234,14 @@ main(int argc, char **argv)
exit(0);
}
/* Make compile directory */
/*
* Make CDIR directory, if doing a default destination. Some version
* control systems delete empty directories and this seemlessly copes.
*/
if (!cust_dest && stat(CDIR, &buf))
if (mkdir(CDIR, 0777))
err(2, "%s", CDIR);
/* Create the compile directory */
p = path((char *)NULL);
if (stat(p, &buf)) {
if (mkdir(p, 0777))