diff options
| author | gingerBill <bill@gingerbill.org> | 2023-05-03 17:06:37 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-05-03 17:06:37 +0100 |
| commit | e82146bf17908dcc3619c8ec34bb0e902d7c213d (patch) | |
| tree | 4f1773056321fb981dcd39e78ecaa767a706e563 /src/build_settings.cpp | |
| parent | 685f7d0feae7b7bbfee5b24f6e6dc6751366d36e (diff) | |
| parent | 0c3522133d60870e123b7d0e2aacb15c38e377f8 (diff) | |
Merge branch 'master' into separate-int-word-sizes
Diffstat (limited to 'src/build_settings.cpp')
| -rw-r--r-- | src/build_settings.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp index af6c5a6d4..39fc34cf1 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -264,6 +264,7 @@ struct BuildContext { String microarch; BuildModeKind build_mode; bool generate_docs; + bool custom_optimization_level; i32 optimization_level; bool show_timings; TimingsExportFormat export_timings_format; @@ -1309,6 +1310,12 @@ gb_internal void init_build_context(TargetMetrics *cross_target) { gb_exit(1); } + if (bc->ODIN_DEBUG && !bc->custom_optimization_level) { + // NOTE(bill): when building with `-debug` but not specifying an optimization level + // default to `-o:none` to improve the debug symbol generation by default + bc->optimization_level = -1; // -o:none + } + bc->optimization_level = gb_clamp(bc->optimization_level, -1, 2); // ENFORCE DYNAMIC MAP CALLS @@ -1322,9 +1329,6 @@ gb_internal void init_build_context(TargetMetrics *cross_target) { break; } } - - #undef LINK_FLAG_X64 - #undef LINK_FLAG_386 } #if defined(GB_SYSTEM_WINDOWS) |