aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2024-05-05 16:47:28 +0100
committerGitHub <noreply@github.com>2024-05-05 16:47:28 +0100
commit8ba36ca85cf63d3d83da31fbe52c7779e69a4a74 (patch)
treec939f0d041814f30d8e286bdd11a02770a14c4a8 /src/build_settings.cpp
parent17a01a81d812793ee494d46885e6316c7cdd447e (diff)
parent1165d65c94db7210d1fdb34fdaa44b68ca80c4c6 (diff)
Merge pull request #3535 from Feoramund/freebsd-arm64-minimal
Minimally support compiling Odin on FreeBSD arm64
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index 8509394ff..42a9a4258 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -549,6 +549,14 @@ gb_global TargetMetrics target_freebsd_amd64 = {
str_lit("e-m:w-i64:64-f80:128-n8:16:32:64-S128"),
};
+gb_global TargetMetrics target_freebsd_arm64 = {
+ TargetOs_freebsd,
+ TargetArch_arm64,
+ 8, 8, 16, 16,
+ str_lit("aarch64-unknown-freebsd-elf"),
+ str_lit("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"),
+};
+
gb_global TargetMetrics target_openbsd_amd64 = {
TargetOs_openbsd,
TargetArch_amd64,
@@ -670,6 +678,7 @@ gb_global NamedTargetMetrics named_targets[] = {
{ str_lit("freebsd_i386"), &target_freebsd_i386 },
{ str_lit("freebsd_amd64"), &target_freebsd_amd64 },
+ { str_lit("freebsd_arm64"), &target_freebsd_arm64 },
{ str_lit("openbsd_amd64"), &target_openbsd_amd64 },
{ str_lit("haiku_amd64"), &target_haiku_amd64 },
@@ -1424,7 +1433,11 @@ gb_internal void init_build_context(TargetMetrics *cross_target, Subtarget subta
metrics = &target_darwin_amd64;
#endif
#elif defined(GB_SYSTEM_FREEBSD)
- metrics = &target_freebsd_amd64;
+ #if defined(GB_CPU_ARM)
+ metrics = &target_freebsd_arm64;
+ #else
+ metrics = &target_freebsd_amd64;
+ #endif
#elif defined(GB_SYSTEM_OPENBSD)
metrics = &target_openbsd_amd64;
#elif defined(GB_SYSTEM_HAIKU)