113 lines
3.1 KiB
Plaintext
113 lines
3.1 KiB
Plaintext
if (target_arch == "x86") {
|
|
gnu_ar = "i686-elf-ar"
|
|
gnu_cc = "i686-elf-gcc"
|
|
gnu_cxx = "i686-elf-g++"
|
|
gnu_ld = "i686-elf-ld"
|
|
gnu_asm = "nasm"
|
|
gnu_target = "i686"
|
|
}
|
|
if (target_arch == "x86_64") {
|
|
gnu_ar = "x86_64-elf-ar"
|
|
gnu_cc = "x86_64-elf-gcc"
|
|
gnu_cxx = "x86_64-elf-g++"
|
|
gnu_ld = "x86_64-elf-ld"
|
|
gnu_asm = "nasm"
|
|
gnu_target = "x86_64"
|
|
}
|
|
|
|
if (target_arch == "arm32") {
|
|
gnu_ar = "arm-none-eabi-ar"
|
|
gnu_cc = "arm-none-eabi-gcc"
|
|
gnu_cxx = "arm-none-eabi-g++"
|
|
gnu_ld = "arm-none-eabi-gcc"
|
|
gnu_asm = "arm-none-eabi-as"
|
|
gnu_target = "arm-none-eabi"
|
|
}
|
|
if (target_arch == "arm64") {
|
|
gnu_ar = "aarch64-elf-ar"
|
|
gnu_cc = "aarch64-elf-gcc"
|
|
gnu_cxx = "aarch64-elf-g++"
|
|
gnu_ld = "aarch64-elf-gcc"
|
|
gnu_asm = "aarch64-elf-gcc -c"
|
|
gnu_target = "aarch64-elf"
|
|
}
|
|
|
|
if (target_arch == "riscv64") {
|
|
gnu_ar = "riscv64-unknown-elf-ar"
|
|
gnu_cc = "riscv64-unknown-elf-gcc"
|
|
gnu_cxx = "riscv64-unknown-elf-g++"
|
|
gnu_ld = "riscv64-unknown-elf-gcc"
|
|
gnu_asm = "riscv64-unknown-elf-gcc -c"
|
|
gnu_target = "riscv64-unknown-elf"
|
|
}
|
|
|
|
if (target_arch == "x86") {
|
|
llvm_ar = "$llvm_bin_path/llvm-ar"
|
|
llvm_cc = "$llvm_bin_path/clang"
|
|
llvm_cxx = "$llvm_bin_path/clang++"
|
|
llvm_ld = "$llvm_bin_path/ld.lld"
|
|
llvm_asm = "nasm"
|
|
llvm_target = "i686-pc-none-elf"
|
|
llvm_ccpp_target_flag = "-target $llvm_target"
|
|
llvm_asm_target_flag = "" # No additinal flags are provided for nasm
|
|
}
|
|
if (target_arch == "x86_64") {
|
|
llvm_ar = "$llvm_bin_path/llvm-ar"
|
|
llvm_cc = "$llvm_bin_path/clang"
|
|
llvm_cxx = "$llvm_bin_path/clang++"
|
|
llvm_ld = "$llvm_bin_path/ld.lld"
|
|
llvm_asm = "nasm"
|
|
llvm_target = "x86_64--linux"
|
|
llvm_ccpp_target_flag = "-target $llvm_target"
|
|
llvm_asm_target_flag = "" # No additinal flags are provided for nasm
|
|
}
|
|
|
|
if (target_arch == "arm32") {
|
|
llvm_ar = "$llvm_bin_path/llvm-ar"
|
|
llvm_cc = "$llvm_bin_path/clang"
|
|
llvm_cxx = "$llvm_bin_path/clang++"
|
|
llvm_ld = "$llvm_bin_path/ld.lld"
|
|
llvm_asm = "$llvm_bin_path/clang"
|
|
llvm_target = "armv7a-pc-none-elf"
|
|
llvm_ccpp_target_flag = "-target $llvm_target"
|
|
llvm_asm_target_flag = "-target $llvm_target -c"
|
|
}
|
|
if (target_arch == "arm64") {
|
|
llvm_ar = "$llvm_bin_path/llvm-ar"
|
|
llvm_cc = "$llvm_bin_path/clang"
|
|
llvm_cxx = "$llvm_bin_path/clang++"
|
|
llvm_ld = "$llvm_bin_path/ld.lld"
|
|
llvm_asm = "$llvm_bin_path/clang"
|
|
llvm_target = "aarch64--linux"
|
|
llvm_ccpp_target_flag = "-target $llvm_target"
|
|
llvm_asm_target_flag = "-target $llvm_target -c"
|
|
}
|
|
if (target_arch == "riscv64") {
|
|
llvm_ar = "$llvm_bin_path/llvm-ar"
|
|
llvm_cc = "$llvm_bin_path/clang"
|
|
llvm_cxx = "$llvm_bin_path/clang++"
|
|
llvm_ld = "$llvm_bin_path/ld.lld"
|
|
llvm_asm = "$llvm_bin_path/clang"
|
|
llvm_target = "riscv64--linux"
|
|
llvm_ccpp_target_flag = "-target $llvm_target"
|
|
llvm_asm_target_flag = "-target $llvm_target -c"
|
|
}
|
|
|
|
if (host == "gnu") {
|
|
toolchain_ar = gnu_ar
|
|
toolchain_cc = gnu_cc
|
|
toolchain_cxx = gnu_cxx
|
|
toolchain_ld = gnu_ld
|
|
toolchain_asm = gnu_asm
|
|
toolchain_target = gnu_target
|
|
}
|
|
|
|
if (host == "llvm") {
|
|
toolchain_ar = llvm_ar
|
|
toolchain_cc = llvm_cc
|
|
toolchain_cxx = llvm_cxx
|
|
toolchain_ld = llvm_ld
|
|
toolchain_asm = llvm_asm
|
|
toolchain_target = llvm_target
|
|
}
|