OperatingSystem :: enum { macos; linux; windows; wasm; ios; android; unknown; }
Architecture :: enum { aarch64; x86_64; wasm32; wasm64; unknown; }

OS : OperatingSystem = .unknown;
ARCH : Architecture = .unknown;
POINTER_SIZE : s64 = 8;

BuildOptions :: struct {
    add_link_flag :: (self: BuildOptions, flag: [:0]u8) #compiler;
    add_framework :: (self: BuildOptions, name: [:0]u8) #compiler;
    set_output_path :: (self: BuildOptions, path: [:0]u8) #compiler;
    set_wasm_shell :: (self: BuildOptions, path: [:0]u8) #compiler;
}

build_options :: () -> BuildOptions #compiler;
