diff --git a/scripts/core_common/modules/heif.py b/scripts/core_common/modules/heif.py index b3c1593..a77d58d 100644 --- a/scripts/core_common/modules/heif.py +++ b/scripts/core_common/modules/heif.py @@ -72,7 +72,10 @@ def build_with_cmake(platform, cmake_args, build_type): cmake_args_ext += ["-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0", "-DCMAKE_OSX_ARCHITECTURES=arm64"] elif config.option("sysroot") != "": # force use custom CXXFLAGS with Release/Debug build - cmake_args += ["-DCMAKE_TOOLCHAIN_FILE=" + LINUX_CUSTOM_SYSROOT_TOOLCHAIN_FILE] + if (platform == "linux_64"): + cmake_args += ["-DCMAKE_TOOLCHAIN_FILE=" + LINUX_CUSTOM_SYSROOT_TOOLCHAIN_FILE] + else: + cmake_args += ["-DCMAKE_TOOLCHAIN_FILE=" + LINUX_SYSTEM_AARCH64_TOOLCHAIN_FILE] elif platform == "linux_arm64" and not base.is_os_arm(): cmake_args += ["-DCMAKE_TOOLCHAIN_FILE=" + LINUX_SYSTEM_AARCH64_TOOLCHAIN_FILE] # IOS @@ -109,7 +112,7 @@ def build_with_cmake(platform, cmake_args, build_type): # env setup for custom sysroot if config.option("sysroot") != "": - base.set_sysroot_env("linux_arm64") + base.set_sysroot_env(platform) # run cmake base.cmd("cmake", cmake_args + cmake_args_ext) diff --git a/scripts/core_common/modules/openssl.py b/scripts/core_common/modules/openssl.py index 5ea3a8a..814f8f5 100644 --- a/scripts/core_common/modules/openssl.py +++ b/scripts/core_common/modules/openssl.py @@ -120,7 +120,8 @@ def make(): else: if config.option("sysroot") != "": base.set_sysroot_env("linux_arm64") - base.cmd("./Configure", ["linux-aarch64", "enable-md2", "no-shared", "no-asm", "no-tests", "--prefix=" + old_cur_dir + "/build/linux_arm64", "--openssldir=" + old_cur_dir + "/build/linux_arm64"]) + base.cmd("/usr/bin/perl", ["./Configure", "linux-aarch64", "enable-md2", "no-shared", "no-asm", "no-tests", "--prefix=" + old_cur_dir + "/build/linux_arm64", "--openssldir=" + old_cur_dir + "/build/linux_arm64"]) + #base.cmd("./Configure", ["linux-aarch64", "enable-md2", "no-shared", "no-asm", "no-tests", "--prefix=" + old_cur_dir + "/build/linux_arm64", "--openssldir=" + old_cur_dir + "/build/linux_arm64"]) base.replaceInFile("./Makefile", "CFLAGS=-Wall -O3", "CFLAGS=-Wall -O3 -fvisibility=hidden") base.replaceInFile("./Makefile", "CXXFLAGS=-Wall -O3", "CXXFLAGS=-Wall -O3 -fvisibility=hidden") base.cmd("make", [], True) diff --git a/tools/linux/deps.py b/tools/linux/deps.py index 7644361..cde4735 100755 --- a/tools/linux/deps.py +++ b/tools/linux/deps.py @@ -16,6 +16,7 @@ def install_deps(): "build-essential", "ca-certificates", "cmake", + "perl", "curl", "git", "glib-2.0-dev", diff --git a/tools/linux/sysroot/fetch.py b/tools/linux/sysroot/fetch.py index 3b81ad2..bbf0088 100755 --- a/tools/linux/sysroot/fetch.py +++ b/tools/linux/sysroot/fetch.py @@ -146,8 +146,10 @@ def fix_absolute_symlinks(sysroot_path, arch): if arch == "arm64": lib_dir = os.path.join(sysroot_path, "usr/lib/aarch64-linux-gnu") + target_lib_dir = "aarch64-linux-gnu" elif arch == "amd64": lib_dir = os.path.join(sysroot_path, "usr/lib/x86_64-linux-gnu") + target_lib_dir = "x86_64-linux-gnu" else: return @@ -182,6 +184,14 @@ def fix_absolute_symlinks(sysroot_path, arch): print(f" Fixed: {filename} -> {relative_target}") fixed_count += 1 + + libgcc_usr_symlink = os.path.join(lib_dir, "libgcc_s.so") + libgcc_target = os.path.join(sysroot_path, "lib", target_lib_dir, "libgcc_s.so.1") + + if os.path.exists(libgcc_target) and not os.path.exists(libgcc_usr_symlink): + absolute_libgcc = os.path.abspath(libgcc_target) + os.symlink(absolute_libgcc, libgcc_usr_symlink) + fixed_count += 1 print(f"Fixed {fixed_count} absolute symlinks")