From 84a24f02e01ff97e4798efdc8b86af7ea30ce543 Mon Sep 17 00:00:00 2001 From: Yingchi Long Date: Tue, 9 Jul 2024 15:12:15 +0800 Subject: [PATCH] build/llvmPackages: add sysroot generator --- src/build/llvmPackages.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/build/llvmPackages.ts b/src/build/llvmPackages.ts index 873e798..44cfe44 100644 --- a/src/build/llvmPackages.ts +++ b/src/build/llvmPackages.ts @@ -16,6 +16,40 @@ export interface LLVMPackageOverrides { spawnOverrides?: (old: SpawnOptions) => SpawnOptions, } +/** + * Make sysroot options suitable for LLVM build. + */ +export function llvmBuildSysroot(prefix: string): LLVMPackageOverrides { + return { + cmakeDefinitionOverrides: { + llvm: { + CMAKE_C_COMPILER: path.resolve(prefix, 'usr', 'bin', 'gcc'), + CMAKE_CXX_COMPILER: path.resolve(prefix, 'usr', 'bin', 'g++'), + CMAKE_SYSROOT: prefix, + }, + libpgmath: { + CMAKE_SYSROOT: prefix, + }, + cflang: { + + CMAKE_SYSROOT: prefix, + }, + }, + spawnOverrides: o => ({ + ...o, + env: { + ...o.env, + LD_LIBRARY_PATH: [ + path.resolve(prefix, 'lib'), + path.resolve(prefix, 'usr', 'lib'), + ].join(':') + } + }), + + }; +} + + export interface LLVMPackageOptions { src: string; installPrefix: string;