#!/bin/bash

# Not meant to be used standalone

# Odin Compiler Flags

# For a breakdown of any flag, type <odin_compiler> <command> -help
command_build='build'
command_check='check'
command_query='query'
command_report='report'
command_run='run'

flag_build_mode='-build-mode:'
flag_build_mode_dll='-build-mode:dll'
flag_collection='-collection:'
flag_debug='-debug'
flag_define='-define:'
flag_default_allocator_nil='-default-to-nil-allocator'
flag_disable_assert='-disable-assert'
flag_dynamic_map_calls='-dynamic-map-calls'
flag_extra_assembler_flags='-extra_assembler-flags:'
flag_extra_linker_flags='-extra-linker-flags:'
flag_ignore_unknown_attributes='-ignore-unknown-attributes'
flag_keep_temp_files='-keep-temp-files'
flag_max_error_count='-max-error-count:'
flag_micro_architecture_native='-microarch:native'
flag_no_bounds_check='-no-bounds-check'
flag_no_crt='-no-crt'
flag_no_entrypoint='-no-entry-point'
flag_no_thread_local='-no-thread-local'
flag_no_thread_checker='-no-threaded-checker'
flag_output_path='-out='
flag_optimization_level='-opt:'
flag_optimize_none='-o:none'
flag_optimize_minimal='-o:minimal'
flag_optimize_size='-o:size'
flag_optimize_speed='-o:speed'
flag_optimize_aggressive='-o:aggressive'
flag_pdb_name='-pdb-name:'
flag_sanitize_address='-sanitize:address'
flag_sanitize_memory='-sanitize:memory'
flag_sanitize_thread='-sanitize:thread'
flag_subsystem='-subsystem:'
flag_show_timings='-show-timings'
flag_show_more_timings='-show-more-timings'
flag_show_system_calls='-show-system-calls'
flag_target='-target:'
flag_thread_count='-thread-count:'
flag_use_lld='-lld'
flag_use_separate_modules='-use-separate-modules'
flag_vet_all='-vet'
flag_vet_unused_entities='-vet-unused'
flag_vet_semicolon='-vet-semicolon'
flag_vet_shadow_vars='-vet-shadowing'
flag_vet_using_stmt='-vet-using-stmt'

# flag_msvc_link_disable_dynamic_base='/DYNAMICBASE:NO'
# flag_msvc_link_base_address='/BASE:'
# flag_msvc_link_fixed_base_address='/FIXED'
# flag_msvc_link_stack_size='/STACK'
# flag_msvc_link_debug='/DEBUG'

# Assuming to be in default path, change if otherwise
odin_compiler='odin'
# odin_compiler='/mnt/c/projects/SectrPrototype/toolchain/Odin/odin'
