aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-06-03 16:09:24 +0100
committergingerBill <bill@gingerbill.org>2018-06-03 16:09:24 +0100
commit106302189c3a49282a513d47f84d05ce6285af75 (patch)
tree657d2957575aa6e65284c1aefac22fdf552785fc /src/build_settings.cpp
parent05c5f98e8eb3d7d17130e8baa2395a1eb4e473a0 (diff)
Use gbString for opt_flags
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index 2519d7d2c..09365c5b7 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -33,6 +33,11 @@ String target_arch_names[TargetArch_COUNT] = {
};
+String const ODIN_VERSION = str_lit("0.9.0");
+String cross_compile_target = str_lit("");
+String cross_compile_lib_dir = str_lit("");
+
+
// This stores the information for the specify architecture of this build
struct BuildContext {
// Constants
@@ -417,9 +422,6 @@ String get_fullpath_core(gbAllocator a, String path) {
}
-String const ODIN_VERSION = str_lit("0.9.0");
-String cross_compile_target = str_lit("");
-String cross_compile_lib_dir = str_lit("");
void init_build_context(void) {
BuildContext *bc = &build_context;
@@ -491,6 +493,7 @@ void init_build_context(void) {
#endif
gbString llc_flags = gb_string_make_reserve(heap_allocator(), 64);
+ gbString link_flags = gb_string_make_reserve(heap_allocator(), 64);
if (bc->ODIN_DEBUG) {
llc_flags = gb_string_appendc(llc_flags, "-debug-compile ");
}
@@ -518,20 +521,13 @@ void init_build_context(void) {
bc->llc_flags = make_string_c(llc_flags);
-
- isize opt_max = 1023;
- char *opt_flags_string = gb_alloc_array(heap_allocator(), char, opt_max+1);
- isize opt_len = 0;
bc->optimization_level = gb_clamp(bc->optimization_level, 0, 3);
+
+ gbString opt_flags = gb_string_make_reserve(heap_allocator(), 16);
if (bc->optimization_level != 0) {
- opt_len = gb_snprintf(opt_flags_string, opt_max, "-O%d", bc->optimization_level);
- } else {
- opt_len = gb_snprintf(opt_flags_string, opt_max, "");
- }
- if (opt_len > 0) {
- opt_len--;
+ opt_flags = gb_string_append_fmt(opt_flags, "-O%d", bc->optimization_level);
}
- bc->opt_flags = make_string(cast(u8 *)opt_flags_string, opt_len);
+ bc->opt_flags = make_string_c(opt_flags);
#undef LINK_FLAG_X64