Compare commits

..
1 Commits
Author SHA1 Message Date
sisungo e7d77b63b3 fix: llvm build configuration has invalid fields
Signed-off-by: sisungo <[email protected]>
2026-08-09 13:01:40 +08:00
2 changed files with 7 additions and 17 deletions
+4 -13
View File
@@ -32,32 +32,19 @@ BASE_REQUIREMENTS = [
def _prepare_build_env_base_files(root: str):
# Create root directory
os.makedirs(root, exist_ok=True)
# Create var, run and tmp
os.mkdir(f"{root}/var")
os.mkdir(f"{root}/var/tmp")
os.mkdir(f"{root}/var/run")
os.mkdir(f"{root}/tmp")
os.mkdir(f"{root}/run")
# Copy repository config files
os.makedirs(f"{root}/var/db/packie")
shutil.copytree("/var/config/packie/repos.d", f"{root}/var/config/packie/repos.d")
# Create directories for kernel pseudo filesystems
os.mkdir(f"{root}/dev")
os.mkdir(f"{root}/sys")
os.mkdir(f"{root}/proc")
# Create home directory of root (some scripts may require it)
os.makedirs(f"{root}/home/root")
# Copy DNS config
os.makedirs(f"{root}/etc", exist_ok=True)
shutil.copy2("/etc/resolv.conf", f"{root}/etc/resolv.conf")
def prepare_build_env(root: str, extreq: list[str] = []):
# Skip if the environment is already initialized
@@ -78,6 +65,10 @@ def prepare_build_env(root: str, extreq: list[str] = []):
# Refresh certificates
enter_build_env(root, ["certutil", "refresh"])
# Copy DNS config
os.makedirs(f"{root}/etc", exist_ok=True)
shutil.copy2("/etc/resolv.conf", f"{root}/etc/resolv.conf")
# Create initialized tag
with open(f"{root}/.INIT", "wt+") as file:
file.write("OK")
+3 -4
View File
@@ -130,6 +130,7 @@ def build_clang():
"-DCLANG_DEFAULT_CXX_STDLIB=libc++",
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
"-DLLVM_INCLUDE_TESTS=OFF",
f"-DC_INCLUDE_DIRS=/lib/{arch.get_target()}/include",
]
cmake("clang", import_llvm() + options)
@@ -143,7 +144,7 @@ def build_polly():
cmake("polly", import_llvm())
def build_runtimes():
cflags = f"-isystem /lib/{arch.get_target()}/include -L/lib/{arch.get_target()} -B/lib/{arch.get_target()} -rtlib=compiler-rt"
os.makedirs("../_build_runtimes", exist_ok=True)
shutil.rmtree("../_build_runtimes")
options = [
# Configure runtimes
@@ -187,6 +188,7 @@ dep("semi-libc @same-arch")
dep("libunwind @same-arch")
dep("libcxx @same-arch")
dep("libcxxabi @same-arch")
dep("libffi @same-arch")
on_pack(lambda composer: auto_pack_glob(composer, ["lib/*.so*"]))
package("libllvm-dev")
@@ -249,9 +251,6 @@ def pack_clang(composer):
lrtlib = rtlib.replace(f"-{larch}", "")
composer.addfile(f"{linuxrtdir}/{rtlib}", f"{localrtdir}/{lrtlib}")
# Add symlink to system directories
os.symlink(f"/lib/{arch.get_target()}/include", f"{composer.workdir}/bundle/include")
# Add configuration
clang_cfg = f"-L/lib/{arch.get_target()}\n-B/lib/{arch.get_target()}\n-rtlib=compiler-rt\n"
clangxx_cfg = f"-stdlib=libc++\n{clang_cfg}"