2025-02-08 14:45:16 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
#include <tcc/option.h>
|
|
|
|
#include "utils/cstr.h"
|
|
|
|
|
|
|
|
enum {
|
|
|
|
OPTION_ignored = 0,
|
|
|
|
OPTION_I,
|
|
|
|
OPTION_D,
|
|
|
|
OPTION_U,
|
|
|
|
OPTION_P,
|
|
|
|
OPTION_L,
|
|
|
|
OPTION_B,
|
|
|
|
OPTION_l,
|
|
|
|
OPTION_bench,
|
|
|
|
OPTION_c,
|
|
|
|
OPTION_dumpmachine,
|
|
|
|
OPTION_dumpversion,
|
|
|
|
OPTION_d,
|
|
|
|
OPTION_std,
|
|
|
|
OPTION_o,
|
|
|
|
OPTION_pthread,
|
|
|
|
OPTION_r,
|
|
|
|
OPTION_Wl,
|
|
|
|
OPTION_Wp,
|
|
|
|
OPTION_W,
|
|
|
|
OPTION_O,
|
|
|
|
OPTION_m,
|
|
|
|
OPTION_f,
|
|
|
|
OPTION_isystem,
|
|
|
|
OPTION_include,
|
|
|
|
OPTION_nostdinc,
|
|
|
|
OPTION_nostdlib,
|
|
|
|
OPTION_print_search_dirs,
|
|
|
|
OPTION_w,
|
|
|
|
OPTION_E,
|
|
|
|
OPTION_M,
|
|
|
|
OPTION_MF,
|
|
|
|
OPTION_MD,
|
|
|
|
OPTION_MM,
|
|
|
|
OPTION_MMD,
|
|
|
|
OPTION_MP,
|
|
|
|
OPTION_x,
|
|
|
|
};
|
|
|
|
|
|
|
|
static const TCCOption options[] = {
|
|
|
|
{"I", OPTION_I, TCC_OPTION_HAS_ARG},
|
|
|
|
{"D", OPTION_D, TCC_OPTION_HAS_ARG},
|
|
|
|
{"U", OPTION_U, TCC_OPTION_HAS_ARG},
|
|
|
|
{"P", OPTION_P, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"L", OPTION_L, TCC_OPTION_HAS_ARG},
|
|
|
|
{"B", OPTION_B, TCC_OPTION_HAS_ARG},
|
|
|
|
{"l", OPTION_l, TCC_OPTION_HAS_ARG},
|
|
|
|
{"bench", OPTION_bench, 0},
|
|
|
|
{"c", OPTION_c, 0},
|
|
|
|
{"dumpmachine", OPTION_dumpmachine, 0},
|
|
|
|
{"dumpversion", OPTION_dumpversion, 0},
|
|
|
|
{"d", OPTION_d, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"std", OPTION_std, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"o", OPTION_o, TCC_OPTION_HAS_ARG},
|
|
|
|
{"pthread", OPTION_pthread, 0},
|
|
|
|
{"r", OPTION_r, 0},
|
|
|
|
{"Wl", OPTION_Wl, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"Wp", OPTION_Wp, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"W", OPTION_W, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"O", OPTION_O, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"m", OPTION_m, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"f", OPTION_f, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"isystem", OPTION_isystem, TCC_OPTION_HAS_ARG},
|
|
|
|
{"include", OPTION_include, TCC_OPTION_HAS_ARG},
|
|
|
|
{"nostdinc", OPTION_nostdinc, 0},
|
|
|
|
{"nostdlib", OPTION_nostdlib, 0},
|
|
|
|
{"print-search-dirs", OPTION_print_search_dirs, 0},
|
|
|
|
{"w", OPTION_w, 0},
|
|
|
|
{"E", OPTION_E, 0},
|
|
|
|
{"M", OPTION_M, 0},
|
|
|
|
{"MD", OPTION_MD, 0},
|
|
|
|
{"MF", OPTION_MF, TCC_OPTION_HAS_ARG},
|
|
|
|
{"MM", OPTION_MM, 0},
|
|
|
|
{"MMD", OPTION_MMD, 0},
|
|
|
|
{"MP", OPTION_MP, 0},
|
|
|
|
{"x", OPTION_x, 0},
|
|
|
|
|
|
|
|
/* ignored (silently, except after -Wunsupported) */
|
|
|
|
{"arch", 0, TCC_OPTION_HAS_ARG},
|
|
|
|
{"g", 0, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP},
|
|
|
|
{"C", 0, 0},
|
|
|
|
{"-param", 0, 0},
|
|
|
|
{"pedantic", 0, 0},
|
|
|
|
{"pipe", 0, 0},
|
|
|
|
{"s", 0, 0},
|
|
|
|
{"traditional", 0, 0},
|
|
|
|
{"shared", 0, 0},
|
|
|
|
|
|
|
|
{NULL, 0, 0}
|
|
|
|
};
|
|
|
|
|
|
|
|
static TCCOption *options_ext = NULL;
|
|
|
|
|
|
|
|
static const char dumpmachine_str[] = "i386-pc-stupidos";
|
|
|
|
|
|
|
|
void
|
|
|
|
tcc_add_options(TCCOption *opt)
|
|
|
|
{
|
|
|
|
options_ext = opt;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
tcc_parse_args(TCCState *s, int *pargc, char ***pargv, int optind)
|
|
|
|
{
|
|
|
|
return (0);
|
|
|
|
}
|
2025-02-07 16:17:17 +00:00
|
|
|
|