aboutsummaryrefslogtreecommitdiff
path: root/src/linker.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-04-06 09:28:13 +0100
committerGitHub <noreply@github.com>2025-04-06 09:28:13 +0100
commiteecc6c1f18a71bc7de79df2fe73638cfb49914d9 (patch)
treed741ada6f9c25a5b5ba825fbabba1da01a81c8a9 /src/linker.cpp
parentdbefee8905fed5ba5b6b7fb31c656c335a2d857c (diff)
parent106427b127c8abbf1f9fcb7fffb0fe47908c1fb9 (diff)
Merge pull request #5003 from IllusionMan1212/more-android-fixes
Android bundling improvements
Diffstat (limited to 'src/linker.cpp')
-rw-r--r--src/linker.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/linker.cpp b/src/linker.cpp
index 5c0fe446f..3ed924ac3 100644
--- a/src/linker.cpp
+++ b/src/linker.cpp
@@ -143,7 +143,7 @@ gb_internal i32 linker_stage(LinkerData *gen) {
LIT(target_arch_names[build_context.metrics.arch])
);
#endif
- } else if (build_context.cross_compiling && build_context.different_os) {
+ } else if (build_context.cross_compiling && (build_context.different_os || selected_subtarget != Subtarget_Default)) {
switch (selected_subtarget) {
case Subtarget_Android:
is_cross_linking = true;
@@ -655,6 +655,11 @@ try_cross_linking:;
glue = gb_string_append_length(glue, android_glue_object.text, android_glue_object.len);
glue = gb_string_appendc(glue, "\" ");
+ glue = gb_string_appendc(glue, "--sysroot \"");
+ glue = gb_string_append_length(glue, ODIN_ANDROID_NDK_TOOLCHAIN.text, ODIN_ANDROID_NDK_TOOLCHAIN.len);
+ glue = gb_string_appendc(glue, "sysroot");
+ glue = gb_string_appendc(glue, "\" ");
+
glue = gb_string_appendc(glue, "\"-I");
glue = gb_string_append_length(glue, ODIN_ANDROID_NDK_TOOLCHAIN.text, ODIN_ANDROID_NDK_TOOLCHAIN.len);
glue = gb_string_appendc(glue, "sysroot/usr/include/");
@@ -840,6 +845,7 @@ try_cross_linking:;
if (is_android) {
link_command_line = gb_string_append_fmt(link_command_line, " --target=aarch64-linux-android%d ", ODIN_ANDROID_API_LEVEL);
+ link_command_line = gb_string_appendc(link_command_line, " -nodefaultlibs");
}
link_command_line = gb_string_appendc(link_command_line, " -Wno-unused-command-line-argument ");
link_command_line = gb_string_appendc(link_command_line, object_files);