#ifndef __SCC_CONFIG_H__ #define __SCC_CONFIG_H__ #include typedef enum scc_emit_stage { SCC_EMIT_STAGE_LEX, SCC_EMIT_STAGE_PP, SCC_EMIT_STAGE_AST, SCC_EMIT_STAGE_HIR, SCC_EMIT_STAGE_LIR, SCC_EMIT_STAGE_MIR, SCC_EMIT_STAGE_MIR_PASS_REG_ALLOC, SCC_EMIT_STAGE_MIR_PASS_FLAME_LAYOUT, SCC_EMIT_STAGE_MIR_PASS_PROLOG_EPILOG, SCC_EMIT_STAGE_FLATBIN, SCC_EMIT_STAGE_SCCF, SCC_EMIT_STAGE_TARGET, SCC_EMIT_STAGE_DEFAULT, } scc_emit_stage_t; typedef struct { const char *input_file; const char *output_file; const char *target_description; int verbose; scc_argparse_list_t include_paths; scc_argparse_list_t define_macros; const char *entry_point_symbol; scc_emit_stage_t emit_stage; } scc_config_t; void setup_argparse(scc_argparse_t *argparse, scc_config_t *config, scc_argparse_lang_t lang); #endif /* __SCC_CONFIG_H___ */