mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-29 02:40:05 +00:00
Add ODIN_BUILD_MODE
This commit is contained in:
@@ -166,6 +166,7 @@ struct BuildContext {
|
||||
String ODIN_VENDOR; // compiler vendor
|
||||
String ODIN_VERSION; // compiler version
|
||||
String ODIN_ROOT; // Odin ROOT
|
||||
String ODIN_BUILD_MODE;
|
||||
bool ODIN_DEBUG; // Odin in debug mode
|
||||
bool ODIN_DISABLE_ASSERT; // Whether the default 'assert' et al is disabled in code or not
|
||||
bool ODIN_DEFAULT_TO_NIL_ALLOCATOR; // Whether the default allocator is a "nil" allocator or not (i.e. it does nothing)
|
||||
@@ -815,6 +816,24 @@ void init_build_context(TargetMetrics *cross_target) {
|
||||
bc->ODIN_VENDOR = str_lit("odin");
|
||||
bc->ODIN_VERSION = ODIN_VERSION;
|
||||
bc->ODIN_ROOT = odin_root_dir();
|
||||
switch (bc->build_mode) {
|
||||
default:
|
||||
case BuildMode_Executable:
|
||||
bc->ODIN_BUILD_MODE = str_lit("executable");
|
||||
break;
|
||||
case BuildMode_DynamicLibrary:
|
||||
bc->ODIN_BUILD_MODE = str_lit("dynamic");
|
||||
break;
|
||||
case BuildMode_Object:
|
||||
bc->ODIN_BUILD_MODE = str_lit("object");
|
||||
break;
|
||||
case BuildMode_Assembly:
|
||||
bc->ODIN_BUILD_MODE = str_lit("assembly");
|
||||
break;
|
||||
case BuildMode_LLVM_IR:
|
||||
bc->ODIN_BUILD_MODE = str_lit("llvm-ir");
|
||||
break;
|
||||
}
|
||||
|
||||
bc->copy_file_contents = true;
|
||||
|
||||
|
||||
@@ -778,6 +778,8 @@ void init_universal(void) {
|
||||
add_global_string_constant("ODIN_VENDOR", bc->ODIN_VENDOR);
|
||||
add_global_string_constant("ODIN_VERSION", bc->ODIN_VERSION);
|
||||
add_global_string_constant("ODIN_ROOT", bc->ODIN_ROOT);
|
||||
|
||||
add_global_string_constant("ODIN_BUILD_MODE", bc->ODIN_BUILD_MODE);
|
||||
add_global_bool_constant("ODIN_DEBUG", bc->ODIN_DEBUG);
|
||||
add_global_bool_constant("ODIN_DISABLE_ASSERT", bc->ODIN_DISABLE_ASSERT);
|
||||
add_global_bool_constant("ODIN_DEFAULT_TO_NIL_ALLOCATOR", bc->ODIN_DEFAULT_TO_NIL_ALLOCATOR);
|
||||
|
||||
+1
-1
@@ -1185,7 +1185,7 @@ bool parse_build_flags(Array<String> args) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (str == "dll" || str == "shared") {
|
||||
if (str == "dll" || str == "shared" || str == "dynamic") {
|
||||
build_context.build_mode = BuildMode_DynamicLibrary;
|
||||
} else if (str == "obj" || str == "object") {
|
||||
build_context.build_mode = BuildMode_Object;
|
||||
|
||||
Reference in New Issue
Block a user