diff --git a/scripts/core_common/modules/heif.py b/scripts/core_common/modules/heif.py index ccedbd1..c60c92b 100644 --- a/scripts/core_common/modules/heif.py +++ b/scripts/core_common/modules/heif.py @@ -23,6 +23,25 @@ ANDROID_CMAKE_TOOLCHAIN_FILE = base.get_env("ANDROID_NDK_ROOT") + "/build/cmake/ # linux arm64 cmake toolchain LINUX_ARM64_CMAKE_TOOLCHAIN_FILE = base.get_script_dir() + "/../tools/linux/arm/cross_arm64/linux-arm64.toolchain.cmake" +OLD_ENV = dict() + +# get custom sysroot vars as str +def setup_custom_sysroot_env() -> str: + env_vars = [] + env_vars += ['LDFLAGS=-Wl,-rpath-link=\"' + config.get_custom_sysroot_lib() + "\""] + env_vars += ['CC=\"' + config.get_custom_sysroot_bin() + "/gcc\""] + env_vars += ['XX=\"' + config.get_custom_sysroot_bin() + "/g++\""] + env_vars += ['AR=\"' + config.get_custom_sysroot_bin() + "/ar\""] + env_vars += ['RABLIB=\"' + config.get_custom_sysroot_bin() + "/ranlib\""] + env_vars += ['CFLAGS=\"' + "--sysroot=" + config.option("custom-sysroot") + "\""] + env_vars += ['CXXFLAGS=\"' + "--sysroot=" + config.option("custom-sysroot") + "\""] + + env_str = "" + for env_var in env_vars: + env_str += env_var + " " + + return env_str + def get_vs_version(): vs_version = "14 2015" if config.option("vs-version") == "2019": @@ -103,9 +122,13 @@ def build_with_cmake(platform, cmake_args, build_type): # run cmake base.cmd("cmake", cmake_args + cmake_args_ext) + + # env setup for custom sysroot + env_str = setup_custom_sysroot_env() if config.option("custom-sysroot") != "" else "" + # build if "Unix Makefiles" in cmake_args_ext: - base.cmd("make", ["-j4"]) + base.cmd(env_str + "make", ["-j4"]) else: base.cmd("cmake", ["--build", ".", "--config", build_type]) return diff --git a/scripts/core_common/modules/openssl.py b/scripts/core_common/modules/openssl.py index f9eb434..6a00a2e 100644 --- a/scripts/core_common/modules/openssl.py +++ b/scripts/core_common/modules/openssl.py @@ -105,7 +105,7 @@ def make(): ld_library_path_copy = os.environ['LD_LIBRARY_PATH'] os.environ['LD_LIBRARY_PATH'] = config.get_custom_sysroot_lib() base.replaceInFile("./Makefile", "CROSS_COMPILE=", "CROSS_COMPILE=" + config.get_custom_sysroot_bin() + "/") - base.replaceInFile("./Makefile", "CFLAGS=-Wall -O3", "CFLAGS=-Wall -O3 -fvisibility=hidden --sysroot=" + config.option("custom-sysroot"),) + base.replaceInFile("./Makefile", "CFLAGS=-Wall -O3", "CFLAGS=-Wall -O3 -fvisibility=hidden --sysroot=" + config.option("custom-sysroot")) base.replaceInFile("./Makefile", "CXXFLAGS=-Wall -O3", "CXXFLAGS=-Wall -O3 -fvisibility=hidden --sysroot=" + config.option("custom-sysroot")) if config.option("custom-sysroot") == "": diff --git a/tools/linux/sysroot/build_sysroot.py b/tools/linux/sysroot/build_sysroot.py index 2b5696b..5643e01 100755 --- a/tools/linux/sysroot/build_sysroot.py +++ b/tools/linux/sysroot/build_sysroot.py @@ -29,7 +29,35 @@ def download_sysroot(): bash_chroot('apt update -y', tmp_sysroot_ubuntu_dir) bash_chroot('apt upgrade -y', tmp_sysroot_ubuntu_dir) - bash_chroot('apt install -y build-essential curl libpthread-stubs0-dev zlib1g-dev', tmp_sysroot_ubuntu_dir) + + apt_libs = ["build-essential"] + apt_libs += ["libpthread-stubs0-dev"] + apt_libs += ["zlib1g-dev"] + apt_libs += ["curl"] + apt_libs += ["libc6-dev"] + apt_libs += ["glib-2.0-dev"] + apt_libs += ["libglu1-mesa-dev"] + apt_libs += ["libgtk-3-dev"] + apt_libs += ["libpulse-dev"] + apt_libs += ["libasound2-dev"] + apt_libs += ["libatspi2.0-dev"] + apt_libs += ["libcups2-dev"] + apt_libs += ["libdbus-1-dev"] + apt_libs += ["libicu-dev"] + apt_libs += ["libgstreamer1.0-dev"] + apt_libs += ["libgstreamer-plugins-base1.0-dev"] + apt_libs += ["libx11-xcb-dev"] + apt_libs += ["libxcb*"] + apt_libs += ["libxi-dev"] + apt_libs += ["libxrender-dev"] + apt_libs += ["libxss-dev"] + apt_libs += ["libxkbcommon-dev"] + apt_libs += ["libxkbcommon-x11-dev"] + + apt_libs_str = "" + for apt_lib in apt_libs: + apt_libs_str += apt_lib + " " + bash_chroot('apt install -y ' + apt_libs_str, tmp_sysroot_ubuntu_dir) # # downloading arm toolchain arm_toolchain_url = 'https://releases.linaro.org/components/toolchain/binaries/5.4-2017.05/aarch64-linux-gnu/'