1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:57:35 +00:00

Meta: Add serenity toolchain to gn build

This commit is contained in:
Andrew Kaster 2023-07-26 07:14:22 -06:00 committed by Andrew Kaster
parent f8e1544f41
commit f4e37c8ad4
5 changed files with 77 additions and 11 deletions

View file

@ -0,0 +1,31 @@
declare_args() {
# Serenity architecture to build for
serenity_arch = "x86_64"
# Serenity compiler to use, Clang or GNU
serenity_toolchain = "GNU"
}
if (serenity_toolchain == "GNU") {
toolchain_root =
rebase_path("//Toolchain/Local/$serenity_arch/", root_build_dir)
toolchain_bin = toolchain_root + "bin/"
serenity_cc = toolchain_bin + serenity_arch + "-pc-serenity-gcc"
serenity_cxx = toolchain_bin + serenity_arch + "-pc-serenity-g++"
serenity_ld = serenity_cxx
serenity_nm = toolchain_bin + serenity_arch + "-pc-serenity-nm"
serenity_objcopy = toolchain_bin + serenity_arch + "-pc-serenity-objcopy"
serenity_compiler_version = "13.1.0"
} else {
assert(serenity_toolchain == "Clang",
"Expected GNU or Clang for serenity_toolchain")
toolchain_root = rebase_path("//Toolchain/Local/clang/", root_build_dir)
toolchain_bin = toolchain_root + "bin/"
serenity_cc = toolchain_bin + serenity_arch + "-pc-serenity-clang"
serenity_cxx = toolchain_bin + serenity_arch + "-pc-serenity-clang++"
serenity_ld = serenity_cxx
serenity_nm = toolchain_bin + "llvm-nm"
serenity_objcopy = toolchain_bin + "llvm-objcopy"
serenity_compiler_version = "16"
}