aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/libtcc.c b/libtcc.c
index d0e6e77..f060476 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -1328,8 +1328,23 @@ LIBTCCAPI int tcc_set_output_type(TCCState *s, int output_type)
/* default include paths */
/* -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");
+ {
+ int i, nb_extra_incdirs, nb_prefixs;
+ char **extra_incdirs;
+ const char incdir_prefix1[] = CONFIG_SYSROOT "/usr/local/include";
+ const char incdir_prefix2[] = CONFIG_SYSROOT "/usr/include";
+ const char * const incdir_prefixs[] = {incdir_prefix1,
+ incdir_prefix2};
+
+ nb_prefixs = sizeof incdir_prefixs / sizeof *incdir_prefixs;
+ nb_extra_incdirs = tcc_split_path_components(CONFIG_TCC_INCSUBDIR,
+ incdir_prefixs,
+ nb_prefixs,
+ &extra_incdirs);
+ for (i = 0; i < nb_extra_incdirs; i++)
+ tcc_add_sysinclude_path(s, extra_incdirs[i]);
+ dynarray_reset(&extra_incdirs, &nb_extra_incdirs);
+ }
#endif
snprintf(buf, sizeof(buf), "%s/include", s->tcc_lib_path);
tcc_add_sysinclude_path(s, buf);