Skip to content

Commit 43b9966

Browse files
committed
Refactor
1 parent 12963f3 commit 43b9966

File tree

9 files changed

+271
-655
lines changed

9 files changed

+271
-655
lines changed

src/arch.nim

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66
# License, v. 2.0. If a copy of the MPL was not distributed with this
77
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
88

9-
import std/[os, osproc, strformat, strutils, times], constants
9+
import std/[os, osproc, strformat, strutils], constants
1010

11-
proc setEnvArch*(stage = native) =
12-
putEnv($ARCH, $x86_64)
13-
putEnv(
14-
$BLD,
15-
execCmdEx($radClustersPackagesLib / $slibtool / $files / $configGuess).output.strip(),
16-
)
17-
putEnv($CARCH, $x86_64_v3)
18-
putEnv($PRETTY_NAME, &"""{glaucus} {s6} {x86_64_v3} {now().format("YYYYMMdd")}""")
19-
putEnv($TGT, &"{x86_64Linux}-{(if stage == native: tupleNative else: tupleCross)}")
11+
proc setEnvArch*(vendor = "pc") =
12+
for i in [
13+
("ARCH", "x86-64"),
14+
("BLDT", execCmdEx(pathCoreRepo / "slibtool/files/config.guess").output.strip()),
15+
("PRETTY_NAME", "glaucus s6 x86-64-v3"),
16+
("TGTT", &"x86_64-{vendor}-linux-musl"),
17+
]:
18+
putEnv(i[0], i[1])

src/bootstrap.nim

Lines changed: 20 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -6,87 +6,36 @@
66
# License, v. 2.0. If a copy of the MPL was not distributed with this
77
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
88

9-
import std/[os, strformat], constants
9+
import std/os, constants
1010

1111
proc cleanBootstrap*() =
12-
removeDir(getEnv($CRSD))
13-
removeDir(getEnv($LOGD))
14-
removeDir(getEnv($TMPD))
15-
removeDir(getEnv($TLCD))
16-
17-
proc distcleanBootstrap*() =
18-
cleanBootstrap()
19-
20-
removeDir(getEnv($PKGD))
21-
removeDir(getEnv($SRCD))
12+
for i in dirCleanBootstrap:
13+
removeDir(ParDir / i)
2214

2315
proc prepareBootstrap*() =
24-
createDir(getEnv($CRSD))
25-
createDir(getEnv($LOGD))
26-
createDir(getEnv($PKGD))
27-
createDir(getEnv($SRCD))
28-
createDir(getEnv($TMPD))
29-
createDir(getEnv($TLCD))
16+
for i in dirPrepareBootstrap:
17+
createDir(ParDir / i)
3018

3119
proc prepareCross*() =
32-
removeDir(getEnv($TMPD))
33-
createDir(getEnv($TMPD))
20+
removeDir(ParDir / "tmp")
21+
createDir(ParDir / "tmp")
3422

3523
proc setEnvBootstrap*() =
36-
let path = parentDir(getCurrentDir())
37-
38-
putEnv($CERD, path / $cerata)
39-
putEnv($CRSD, path / $cross)
40-
putEnv($LOGD, path / $log)
41-
putEnv($PKGD, path / $pkg)
42-
putEnv($SRCD, path / $src)
43-
putEnv($TMPD, path / $tmp)
44-
putEnv($TLCD, path / $toolchain)
45-
46-
putEnv($PATH, getEnv($TLCD) / $usr / &"{bin}:{getEnv($PATH)}")
24+
for i in envBootstrap:
25+
putEnv(i[0], absolutePath(ParDir) / i[1])
4726

48-
proc setEnvCrossTools*() =
49-
let crossCompile = &"{getEnv($TGT)}-"
27+
putEnv("PATH", getEnv("TLCD") / "usr/bin" & ':' & getEnv("PATH"))
5028

51-
putEnv($CROSS_COMPILE, crossCompile)
29+
proc setEnvCross*() =
30+
for i in envCross:
31+
putEnv(i[0], i[1])
5232

53-
putEnv($AR, &"{crossCompile}{ar}")
54-
putEnv($radEnv.AS, &"{crossCompile}{radTools.As}")
55-
putEnv($CC, &"{crossCompile}{gcc}")
56-
putEnv($CPP, &"{getEnv($CC)} {cpp}")
57-
putEnv($CXX, &"{crossCompile}{cxx}")
58-
putEnv($CXXCPP, &"{getEnv($CXX)} {cpp}")
59-
putEnv($HOSTCC, $gcc)
60-
putEnv($NM, &"{crossCompile}{nm}")
61-
putEnv($OBJCOPY, &"{crossCompile}{objcopy}")
62-
putEnv($OBJDUMP, &"{crossCompile}{objdump}")
63-
putEnv($PKG_CONFIG_LIBDIR, getEnv($CRSD) / $pkgConfigLibdir)
64-
putEnv($PKG_CONFIG_PATH, getEnv($PKG_CONFIG_LIBDIR))
65-
putEnv($PKG_CONFIG_SYSROOT_DIR, &"{getEnv($CRSD)}{root}")
66-
putEnv($PKG_CONFIG_SYSTEM_INCLUDE_PATH, getEnv($CRSD) / $pkgConfigSystemIncludePath)
67-
putEnv($PKG_CONFIG_SYSTEM_LIBRARY_PATH, getEnv($CRSD) / $pkgConfigSystemLibraryPath)
68-
putEnv($RANLIB, &"{crossCompile}{ranlib}")
69-
putEnv($READELF, &"{crossCompile}{readelf}")
70-
putEnv($SIZE, &"{crossCompile}{size}")
71-
putEnv($STRIP, &"{crossCompile}{strip}")
33+
for i in envPkgConfig:
34+
putEnv(i[0], getEnv("CRSD") / i[1])
7235

73-
proc setEnvNativeDirs*() =
74-
putEnv($CERD, $radClustersCerataLib)
75-
putEnv($LOGD, $radLog)
76-
putEnv($PKGD, $radPkgCache)
77-
putEnv($SRCD, $radSrcCache)
78-
putEnv($TMPD, $radTmp)
36+
proc setEnvNative*() =
37+
for i in envNative:
38+
putEnv(i[0], i[1])
7939

80-
proc setEnvNativeTools*() =
81-
putEnv($AR, $ar)
82-
putEnv($AWK, $mawk)
83-
putEnv($CC, $gcc)
84-
putEnv($CPP, &"{gcc} {cpp}")
85-
putEnv($CXX, $cxx)
86-
putEnv($CXXCPP, &"{cxx} {cpp}")
87-
putEnv($LEX, $reflex)
88-
putEnv($LIBTOOL, $slibtool)
89-
putEnv($NM, $nm)
90-
putEnv($PKG_CONFIG, $uConfig)
91-
putEnv($RANLIB, $ranlib)
92-
putEnv($YACC, $byacc)
40+
putEnv("CORD", pathCoreRepo)
41+
putEnv("TMPD", pathTmp)

0 commit comments

Comments
 (0)