diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2023-06-05 13:19:00 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-06-09 12:32:58 +0200 |
commit | 55572617cb95682794bb910d61b55cba9bb9461a (patch) | |
tree | 0fff9dea3b0043d2cdab8c65842a0d5d19986b5d /bin/bootstrap.py | |
parent | c6ee55b1c6e2631807dd2b5ca8423c7ab214ed5c (diff) | |
download | justbuild-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-x | bin/bootstrap.py | 7 |
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) |