From e939c4072ceeb0bc4c8dca7603cfbb73648cb9d4 Mon Sep 17 00:00:00 2001 From: Joe Soroka Date: Tue, 1 Feb 2011 23:32:53 -0800 Subject: [PATCH] add -isystem cmdline option --- libtcc.c | 2 +- tcc.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libtcc.c b/libtcc.c index e5383211..64e55192 100644 --- a/libtcc.c +++ b/libtcc.c @@ -1274,7 +1274,7 @@ LIBTCCAPI int tcc_set_output_type(TCCState *s, int output_type) if (!s->nostdinc) { /* default include paths */ - /* XXX: reverse order needed if -isystem support */ + /* -isystem paths have already been handled */ #ifndef TCC_TARGET_PE tcc_add_sysinclude_path(s, CONFIG_SYSROOT "/usr/local/include"); tcc_add_sysinclude_path(s, CONFIG_SYSROOT "/usr/include"); diff --git a/tcc.c b/tcc.c index e0d6386a..549b0122 100644 --- a/tcc.c +++ b/tcc.c @@ -111,6 +111,7 @@ enum { TCC_OPTION_O, TCC_OPTION_m, TCC_OPTION_f, + TCC_OPTION_isystem, TCC_OPTION_nostdinc, TCC_OPTION_nostdlib, TCC_OPTION_print_search_dirs, @@ -161,6 +162,7 @@ static const TCCOption tcc_options[] = { { "O", TCC_OPTION_O, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, { "m", TCC_OPTION_m, TCC_OPTION_HAS_ARG }, { "f", TCC_OPTION_f, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, + { "isystem", TCC_OPTION_isystem, TCC_OPTION_HAS_ARG }, { "nostdinc", TCC_OPTION_nostdinc, 0 }, { "nostdlib", TCC_OPTION_nostdlib, 0 }, { "print-search-dirs", TCC_OPTION_print_search_dirs, 0 }, @@ -425,6 +427,9 @@ static int parse_args(TCCState *s, int argc, char **argv) reloc_output = 1; output_type = TCC_OUTPUT_OBJ; break; + case TCC_OPTION_isystem: + tcc_add_sysinclude_path(s, optarg); + break; case TCC_OPTION_nostdinc: s->nostdinc = 1; break;