diff --git a/pmb/build/__init__.py b/pmb/build/__init__.py index 871148a7..3e424172 100644 --- a/pmb/build/__init__.py +++ b/pmb/build/__init__.py @@ -1,6 +1,6 @@ # Copyright 2021 Oliver Smith # SPDX-License-Identifier: GPL-3.0-or-later -from pmb.build.init import init +from pmb.build.init import init, init_compiler from pmb.build.envkernel import package_kernel from pmb.build.menuconfig import menuconfig from pmb.build.newapkbuild import newapkbuild diff --git a/pmb/build/_package.py b/pmb/build/_package.py index 61f83ac6..8da0ca53 100644 --- a/pmb/build/_package.py +++ b/pmb/build/_package.py @@ -218,20 +218,7 @@ def init_buildenv(args, apkbuild, arch, strict=False, force=False, cross=None, # Cross-compiler init if cross: - cross_pkgs = ["ccache-cross-symlinks"] - if "gcc4" in depends: - cross_pkgs += ["gcc4-" + arch] - elif "gcc6" in depends: - cross_pkgs += ["gcc6-" + arch] - else: - cross_pkgs += ["gcc-" + arch, "g++-" + arch] - if "clang" in depends or "clang-dev" in depends: - cross_pkgs += ["clang"] - if cross == "crossdirect": - cross_pkgs += ["crossdirect"] - if "rust" in depends or "cargo" in depends: - cross_pkgs += ["rust"] - pmb.chroot.apk.install(args, cross_pkgs) + pmb.build.init_compiler(args, depends, cross, arch) if cross == "distcc": pmb.chroot.distccd.start(args, arch) if cross == "crossdirect": diff --git a/pmb/build/init.py b/pmb/build/init.py index f669c76b..48035287 100644 --- a/pmb/build/init.py +++ b/pmb/build/init.py @@ -78,3 +78,21 @@ def init(args, suffix="native"): # Mark the chroot as initialized pmb.chroot.root(args, ["touch", marker], suffix) + + +def init_compiler(args, depends, cross, arch): + cross_pkgs = ["ccache-cross-symlinks"] + if "gcc4" in depends: + cross_pkgs += ["gcc4-" + arch] + elif "gcc6" in depends: + cross_pkgs += ["gcc6-" + arch] + else: + cross_pkgs += ["gcc-" + arch, "g++-" + arch] + if "clang" in depends or "clang-dev" in depends: + cross_pkgs += ["clang"] + if cross == "crossdirect": + cross_pkgs += ["crossdirect"] + if "rust" in depends or "cargo" in depends: + cross_pkgs += ["rust"] + + pmb.chroot.apk.install(args, cross_pkgs)