fix: multiple definition of triple elements
This commit is contained in:
parent
6b5f80799e
commit
caeda1224c
|
@ -15,10 +15,40 @@ static GHashTable* args = NULL;
|
||||||
|
|
||||||
static Dependency *new_dependency();
|
static Dependency *new_dependency();
|
||||||
|
|
||||||
|
const char* ARCH_X86_64 = "x86_64";
|
||||||
|
const char* ARCH_I386 = "i386";
|
||||||
|
const char* ARCH_ARM = "arm";
|
||||||
|
const char* ARCH_THUMB = "thumb";
|
||||||
|
const char* ARCH_MIPS = "mips";
|
||||||
|
|
||||||
|
const char* SUB_V5 = "v5";
|
||||||
|
const char* SUB_V6M = "v6m";
|
||||||
|
const char* SUB_V7A = "v7a";
|
||||||
|
const char* SUB_V7M = "v7m";
|
||||||
|
|
||||||
|
const char* VENDOR_PC = "pc";
|
||||||
|
const char* VENDOR_APPLE = "apple";
|
||||||
|
const char* VENDOR_NVIDIA = "nvidia";
|
||||||
|
const char* VENDOR_IBM = "ibm";
|
||||||
|
|
||||||
|
const char* SYS_NONE = "none";
|
||||||
|
const char* SYS_LINUX = "linux";
|
||||||
|
const char* SYS_WIN32 = "win32";
|
||||||
|
const char* SYS_DARWIN = "darwin";
|
||||||
|
const char* SYS_CUDA = "cuda";
|
||||||
|
|
||||||
|
const char* ENV_EABI = "eabi";
|
||||||
|
const char* ENV_GNU = "gnu";
|
||||||
|
const char* ENV_ANDROID = "android";
|
||||||
|
const char* ENV_MACHO = "macho";
|
||||||
|
const char* ENV_ELF = "elf";
|
||||||
|
|
||||||
const char* find_string(const char* haystack, const char** options, size_t size)
|
const char* find_string(const char* haystack, const char** options, size_t size)
|
||||||
{
|
{
|
||||||
const static char* found = NULL;
|
const static char* found = NULL;
|
||||||
|
|
||||||
|
if (haystack != NULL)
|
||||||
|
{
|
||||||
for (size_t i = 0; i < size/sizeof(const char*); i++)
|
for (size_t i = 0; i < size/sizeof(const char*); i++)
|
||||||
{
|
{
|
||||||
if (strstr(haystack, options[i]))
|
if (strstr(haystack, options[i]))
|
||||||
|
@ -27,6 +57,7 @@ const char* find_string(const char* haystack, const char** options, size_t size)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
@ -191,6 +222,7 @@ TargetConfig* default_target_config() {
|
||||||
config->lld_fatal_warnings = FALSE;
|
config->lld_fatal_warnings = FALSE;
|
||||||
config->gsc_fatal_warnings = FALSE;
|
config->gsc_fatal_warnings = FALSE;
|
||||||
config->import_paths = mem_new_g_array(MemoryNamespaceOpt, sizeof(char*));
|
config->import_paths = mem_new_g_array(MemoryNamespaceOpt, sizeof(char*));
|
||||||
|
config->triple = NULL;
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,10 @@ typedef struct TargetConfig_t {
|
||||||
char *archive_directory;
|
char *archive_directory;
|
||||||
// binary driver for executable generation
|
// binary driver for executable generation
|
||||||
char *driver;
|
char *driver;
|
||||||
|
// system to compile code for
|
||||||
|
// LLVM triple, see: https://clang.llvm.org/docs/CrossCompilation.html#target-triple
|
||||||
|
// in case this is empty this will be the native platform
|
||||||
|
char* triple;
|
||||||
// mode of compilation
|
// mode of compilation
|
||||||
TargetCompilationMode mode;
|
TargetCompilationMode mode;
|
||||||
// number between 1 and 3
|
// number between 1 and 3
|
||||||
|
@ -126,33 +130,33 @@ typedef struct Option_t {
|
||||||
bool is_opt;
|
bool is_opt;
|
||||||
} Option;
|
} Option;
|
||||||
|
|
||||||
const char* ARCH_X86_64 = "x86_64";
|
extern const char* ARCH_X86_64;
|
||||||
const char* ARCH_I386 = "i386";
|
extern const char* ARCH_I386;
|
||||||
const char* ARCH_ARM = "arm";
|
extern const char* ARCH_ARM;
|
||||||
const char* ARCH_THUMB = "thumb";
|
extern const char* ARCH_THUMB;
|
||||||
const char* ARCH_MIPS = "mips";
|
extern const char* ARCH_MIPS;
|
||||||
|
|
||||||
const char* SUB_V5 = "v5";
|
extern const char* SUB_V5;
|
||||||
const char* SUB_V6M = "v6m";
|
extern const char* SUB_V6M;
|
||||||
const char* SUB_V7A = "v7a";
|
extern const char* SUB_V7A;
|
||||||
const char* SUB_V7M = "v7m";
|
extern const char* SUB_V7M;
|
||||||
|
|
||||||
const char* VENDOR_PC = "pc";
|
extern const char* VENDOR_PC;
|
||||||
const char* VENDOR_APPLE = "apple";
|
extern const char* VENDOR_APPLE;
|
||||||
const char* VENDOR_NVIDIA = "nvidia";
|
extern const char* VENDOR_NVIDIA;
|
||||||
const char* VENDOR_IBM = "ibm";
|
extern const char* VENDOR_IBM;
|
||||||
|
|
||||||
const char* SYS_NONE = "none";
|
extern const char* SYS_NONE;
|
||||||
const char* SYS_LINUX = "linux";
|
extern const char* SYS_LINUX;
|
||||||
const char* SYS_WIN32 = "win32";
|
extern const char* SYS_WIN32;
|
||||||
const char* SYS_DARWIN = "darwin";
|
extern const char* SYS_DARWIN;
|
||||||
const char* SYS_CUDA = "cuda";
|
extern const char* SYS_CUDA;
|
||||||
|
|
||||||
const char* ENV_EABI = "eabi";
|
extern const char* ENV_EABI;
|
||||||
const char* ENV_GNU = "gnu";
|
extern const char* ENV_GNU;
|
||||||
const char* ENV_ANDROID = "android";
|
extern const char* ENV_ANDROID;
|
||||||
const char* ENV_MACHO = "macho";
|
extern const char* ENV_MACHO;
|
||||||
const char* ENV_ELF = "elf";
|
extern const char* ENV_ELF;
|
||||||
|
|
||||||
const char* extract_arch_from_triple(const char* triple);
|
const char* extract_arch_from_triple(const char* triple);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue