2024-10-22 19:18:53 -06:00

38 lines
626 B
C

#pragma once
#include <std/base.h>
typedef enum CompilerBackend : u8
{
COMPILER_BACKEND_NEST = 'm',
// COMPILER_BACKEND_LLVM,
COMPILER_BACKEND_COUNT,
} CompilerBackend;
typedef enum CpuArchitecture : u8
{
CPU_ARCH_X86_64,
CPU_ARCH_AARCH64,
} CpuArchitecture;
typedef enum OperatingSystem : u8
{
OPERATING_SYSTEM_LINUX,
OPERATING_SYSTEM_MAC,
OPERATING_SYSTEM_WINDOWS,
} OperatingSystem;
STRUCT(Target)
{
CpuArchitecture cpu;
OperatingSystem os;
};
STRUCT(CodegenOptions)
{
String test_name;
Target target;
CompilerBackend backend;
u8 generate_debug_information;
};