summaryrefslogtreecommitdiff
path: root/bin/bootstrap.py
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-06-05 13:19:00 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-06-09 12:32:58 +0200
commit55572617cb95682794bb910d61b55cba9bb9461a (patch)
tree0fff9dea3b0043d2cdab8c65842a0d5d19986b5d /bin/bootstrap.py
parentc6ee55b1c6e2631807dd2b5ca8423c7ab214ed5c (diff)
downloadjustbuild-55572617cb95682794bb910d61b55cba9bb9461a.tar.gz
bootstrap: Improve OS/ARCH determination
... by making variables `os` and `arch` accessible to bootstrap hints. Furthermore, support the hints `os_map` and `arch_map` for mapping Justbuild's OS/ARCH to the terminology used by the repository. Values not covered by these maps will be passed through. (cherry picked from b7648b494024b00f8dabec8ab60a9990dd97bda7)
Diffstat (limited to 'bin/bootstrap.py')
-rwxr-xr-xbin/bootstrap.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/bin/bootstrap.py b/bin/bootstrap.py
index 012f0d67..17c60e48 100755
--- a/bin/bootstrap.py
+++ b/bin/bootstrap.py
@@ -53,6 +53,8 @@ ARCHS = {
'arm':'arm',
'aarch64':'arm64'
}
+if "OS" not in CONF:
+ CONF["OS"] = platform.system().lower()
if "ARCH" not in CONF:
MACH = platform.machine()
if MACH in ARCHS:
@@ -80,6 +82,8 @@ ENV['PKG_CONFIG_PATH'] = ":".join(CONFIG_PATHS)
CONF_STRING = json.dumps(CONF)
+OS=CONF["OS"]
+ARCH=CONF["ARCH"]
AR="ar"
CC="cc"
CXX="c++"
@@ -202,8 +206,11 @@ def setup_deps(src_wrkdir):
else:
os.symlink(os.path.normpath(include_dir),
os.path.join(include_location, include_name))
+ os_map = hints.get("os_map", dict())
+ arch_map = hints.get("arch_map", dict())
if "build" in hints:
run(["sh", "-c", hints["build"].format(
+ os=os_map.get(OS, OS), arch=arch_map.get(ARCH, ARCH),
cc=CC, cxx=CXX, ar=AR,
cflags=quote(CFLAGS), cxxflags=quote(CXXFLAGS),
)], cwd=subdir)