fixed default build dir creation in the default prefix.

This commit is contained in:
Norayr Chilingarian 2022-01-22 04:09:25 +04:00
parent 96ea8bddc5
commit a52c3efa8e
3 changed files with 48 additions and 18 deletions

View file

@ -52,6 +52,41 @@ BEGIN
Strings.Append(vpkSettings.vpkConfDir, path);
END mkConfDirPath;
PROCEDURE mkBldDir*(VAR prefix: ARRAY OF CHAR): StringList.pstring;
VAR
builddir: StringList.pstring;
ln : INTEGER;
BEGIN
ln := 3 + Strings.Length(prefix) + Strings.Length(vpkSettings.vpkBldDir);
NEW(builddir, ln);
COPY(prefix, builddir^);
createIfNotThere(builddir^);
Strings.Append("/", builddir^);
Strings.Append(vpkSettings.vpkBldDir, builddir^);
createIfNotThere(builddir^);
Strings.Append("/", builddir^);
RETURN builddir
END mkBldDir;
PROCEDURE mkdefBldDir*(): StringList.pstring;
VAR
builddir: StringList.pstring;
ln: INTEGER;
home: ARRAY 128 OF CHAR;
BEGIN
getHome(home);
ln := 2 + Strings.Length(home) + Strings.Length(vpkSettings.vpkPkgDir) + Strings.Length(vpkSettings.vpkBldDir);
NEW(builddir, ln);
COPY(home, builddir^);
Strings.Append("/", builddir^);
Strings.Append(vpkSettings.vpkPkgDir, builddir^);
createIfNotThere(builddir^);
Strings.Append("/", builddir^);
Strings.Append(vpkSettings.vpkBldDir, builddir^);
createIfNotThere(builddir^);
RETURN builddir
END mkdefBldDir;
PROCEDURE mkdefPkgDirPath*(VAR name, path: ARRAY OF CHAR);
VAR
home: ARRAY 128 OF CHAR;
@ -60,11 +95,11 @@ BEGIN
COPY(home, path);
Strings.Append("/", path);
Strings.Append(vpkSettings.vpkPkgDir, path);
Strings.Append("/", path);
createIfNotThere(path);
Strings.Append("/", path);
Strings.Append(vpkSettings.vpkDepDir, path);
Strings.Append("/", path);
createIfNotThere(path);
Strings.Append("/", path);
Strings.Append(name, path);
createIfNotThere(path);
Strings.Append("/", path);
@ -82,21 +117,6 @@ BEGIN
Strings.Append("/", path);
END mkPkgDirPath;
PROCEDURE mkBldDir*(VAR prefix: ARRAY OF CHAR): StringList.pstring;
VAR
builddir: StringList.pstring;
ln : INTEGER;
BEGIN
ln := 3 + Strings.Length(prefix) + Strings.Length(vpkSettings.vpkBldDir);
NEW(builddir, ln);
COPY(prefix, builddir^);
createIfNotThere(builddir^);
Strings.Append("/", builddir^);
Strings.Append(vpkSettings.vpkBldDir, builddir^);
createIfNotThere(builddir^);
Strings.Append("/", builddir^);
RETURN builddir
END mkBldDir;
PROCEDURE mkCmd*(VAR p0, p1: ARRAY OF CHAR): StringList.pstring;
VAR

View file

@ -195,7 +195,13 @@ BEGIN
opts.valOfOpt("-p", foptions, package);
opts.valOfOpt("-P", foptions, prefix);
IF prefix = "" THEN
Out.String(" will use the default prefix location"); Out.Ln;
END;
opts.valOfOpt("-t", foptions, pkgTree);
IF pkgTree = "" THEN
Out.String(" will use the default package tree location"); Out.Ln;
END;
IF pkgTree # "" THEN vpkConf.setTreeDir(pkgTree) END;

View file

@ -71,7 +71,11 @@ VAR
builddir, cmd, srcPath: StringList.pstring;
res: INTEGER;
BEGIN
builddir := vpkEnv.mkBldDir(prefix);
IF prefix # "" THEN
builddir := vpkEnv.mkBldDir(prefix)
ELSE
builddir := vpkEnv.mkdefBldDir();
END;
depTree := resolve(package);
IF a THEN ask END;
i := 0;