aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorPlatin21 <armin.hamar@icloud.com>2020-10-31 22:12:50 +0100
committerPlatin21 <armin.hamar@icloud.com>2020-10-31 22:12:50 +0100
commitf3108493fbfc89a80643dba969828b7a01acac4e (patch)
tree792149562d1dbab2b1b57d435bf9a1b53e90d324 /src/main.cpp
parent7694a89d381c14bbefb54ce2589d7e291b79dfe4 (diff)
Combines all link-able types to a single if and adds .o for linking
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 154be362f..7e043b8d4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -341,12 +341,15 @@ i32 linker_stage(lbGenerator *gen) {
String lib_name = lib;
lib_name = remove_extension_from_path(lib_name);
lib_str = gb_string_append_fmt(lib_str, " -framework %.*s ", LIT(lib_name));
- } else if (string_ends_with(lib, str_lit(".a"))) {
+ } else if (string_ends_with(lib, str_lit(".a")) ||
+ string_ends_with(lib, str_lit(".o")) ||
+ string_ends_with(lib, str_lit(".dylib")))
+ {
+ // For:
+ // object
+ // dynamic lib
// static libs, absolute full path relative to the file in which the lib was imported from
lib_str = gb_string_append_fmt(lib_str, " %.*s ", LIT(lib));
- } else if (string_ends_with(lib, str_lit(".dylib"))) {
- // dynamic lib
- lib_str = gb_string_append_fmt(lib_str, " %.*s ", LIT(lib));
} else {
// dynamic or static system lib, just link regularly searching system library paths
lib_str = gb_string_append_fmt(lib_str, " -l%.*s ", LIT(lib));
@@ -2136,13 +2139,16 @@ int main(int arg_count, char const **arg_ptr) {
String lib_name = lib;
lib_name = remove_extension_from_path(lib_name);
lib_str = gb_string_append_fmt(lib_str, " -framework %.*s ", LIT(lib_name));
- } else if (string_ends_with(lib, str_lit(".a"))) {
- // static libs, absolute full path relative to the file in which the lib was imported from
- lib_str = gb_string_append_fmt(lib_str, " %.*s ", LIT(lib));
- } else if (string_ends_with(lib, str_lit(".dylib"))) {
- // dynamic lib
- lib_str = gb_string_append_fmt(lib_str, " %.*s ", LIT(lib));
- } else {
+ } else if (string_ends_with(lib, str_lit(".a")) ||
+ string_ends_with(lib, str_lit(".o")) ||
+ string_ends_with(lib, str_lit(".dylib")))
+ {
+ // For:
+ // object
+ // dynamic lib
+ // static libs, absolute full path relative to the file in which the lib was imported from
+ lib_str = gb_string_append_fmt(lib_str, " %.*s ", LIT(lib));
+ } else {
// dynamic or static system lib, just link regularly searching system library paths
lib_str = gb_string_append_fmt(lib_str, " -l%.*s ", LIT(lib));
}