From 307c58d9086ddfa2db9b18bfb8bb76f11b8dbc8c Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 17 Oct 2018 15:27:36 +0100 Subject: Fix compilation error #272 --- src/build_settings.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/build_settings.cpp') diff --git a/src/build_settings.cpp b/src/build_settings.cpp index cbf6fb689..90a80c158 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -18,6 +18,15 @@ enum TargetArchKind { TargetArch_COUNT, }; +enum TargetEndianKind { + TargetEndian_Invalid, + + TargetEndian_Little, + TargetEndian_Big, + + TargetEndian_COUNT, +}; + String target_os_names[TargetOs_COUNT] = { str_lit(""), str_lit("windows"), @@ -32,13 +41,20 @@ String target_arch_names[TargetArch_COUNT] = { str_lit("386"), }; -String target_arch_endian[TargetArch_COUNT] = { +String target_endian_names[TargetEndian_COUNT] = { str_lit(""), str_lit("little"), - str_lit("little"), + str_lit("big"), +}; + +TargetEndianKind target_endians[TargetArch_COUNT] = { + TargetEndian_Invalid, + TargetEndian_Little, + TargetEndian_Little, }; + String const ODIN_VERSION = str_lit("0.9.0"); String cross_compile_target = str_lit(""); String cross_compile_lib_dir = str_lit(""); @@ -521,7 +537,7 @@ void init_build_context(void) { bc->metrics = metrics; bc->ODIN_OS = target_os_names[metrics.os]; bc->ODIN_ARCH = target_arch_names[metrics.arch]; - bc->ODIN_ENDIAN = target_arch_endian[metrics.arch]; + bc->ODIN_ENDIAN = target_endian_names[target_endians[metrics.arch]]; bc->word_size = metrics.word_size; bc->max_align = metrics.max_align; bc->link_flags = str_lit(" "); -- cgit v1.2.3