diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2018-06-21 08:39:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-21 08:39:07 +0100 |
| commit | 4742690dec0bef8a720131397ad44c919878d3b5 (patch) | |
| tree | c1dfc0d2e41153a5f14286e8ee66068b487e8188 /src/build_settings.cpp | |
| parent | 3a16f1e854d60059ab93efbf946c582138e95a66 (diff) | |
Fix `is_excluded_target_filename`
Diffstat (limited to 'src/build_settings.cpp')
| -rw-r--r-- | src/build_settings.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 5b3d846cb..ee4466698 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -150,8 +150,10 @@ TargetArchKind get_target_arch_from_string(String str) { return TargetArch_Invalid; } + bool is_excluded_target_filename(String name) { String const ext = str_lit(".odin"); + String original_name = name; GB_ASSERT(string_ends_with(name, ext)); name = substring(name, 0, name.len-ext.len); @@ -166,7 +168,7 @@ bool is_excluded_target_filename(String name) { } str1 = substring(str1, n, str1.len); - str2 = str1; + str2 = substring(name, 0, gb_max(n-1, 0)); n = str2.len; for (isize i = str2.len-1; i >= 0 && str2[i] != '_'; i--) { n -= 1; @@ -177,29 +179,25 @@ bool is_excluded_target_filename(String name) { return false; } - - TargetOsKind os1 = get_target_os_from_string(str1); TargetArchKind arch1 = get_target_arch_from_string(str1); TargetOsKind os2 = get_target_os_from_string(str2); TargetArchKind arch2 = get_target_arch_from_string(str2); - if (arch1 != TargetArch_Invalid && os2 != TargetOs_Invalid) { + if (os1 != TargetOs_Invalid && arch2 != TargetArch_Invalid) { + return os1 != build_context.metrics.os || arch2 != build_context.metrics.arch; + } else if (arch1 != TargetArch_Invalid && os2 != TargetOs_Invalid) { return arch1 != build_context.metrics.arch || os2 != build_context.metrics.os; - } else if (arch1 != TargetArch_Invalid && os1 != TargetOs_Invalid) { - return arch2 != build_context.metrics.arch || os1 != build_context.metrics.os; } else if (os1 != TargetOs_Invalid) { return os1 != build_context.metrics.os; } else if (arch1 != TargetArch_Invalid) { return arch1 != build_context.metrics.arch; } - return false; } - struct LibraryCollections { String name; String path; |