diff -uNr tcc-0.9.26.orig/libtcc.c tcc-0.9.26-1setlibpathsooner/libtcc.c
--- tcc-0.9.26.orig/libtcc.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1setlibpathsooner/libtcc.c 2014-05-03 23:19:00.965640003 -0500
@@ -888,7 +888,7 @@
macro_ptr = NULL;
}
-LIBTCCAPI TCCState *tcc_new(void)
+LIBTCCAPI TCCState *tcc_new(const char *init_lib_path)
{
TCCState *s;
char buffer[100];
@@ -900,11 +900,15 @@
if (!s)
return NULL;
tcc_state = s;
+ if (init_lib_path == NULL) {
#ifdef _WIN32
- tcc_set_lib_path_w32(s);
+ tcc_set_lib_path_w32(s);
#else
- tcc_set_lib_path(s, CONFIG_TCCDIR);
+ tcc_set_lib_path(s, CONFIG_TCCDIR);
#endif
+ } else {
+ tcc_set_lib_path(s, init_lib_path);
+ }
s->output_type = TCC_OUTPUT_MEMORY;
preprocess_new();
s->include_stack_ptr = s->include_stack;
diff -uNr tcc-0.9.26.orig/libtcc.h tcc-0.9.26-1setlibpathsooner/libtcc.h
--- tcc-0.9.26.orig/libtcc.h 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1setlibpathsooner/libtcc.h 2014-05-03 23:20:14.785640003 -0500
@@ -14,7 +14,7 @@
typedef struct TCCState TCCState;
/* create a new TCC compilation context */
-LIBTCCAPI TCCState *tcc_new(void);
+LIBTCCAPI TCCState *tcc_new(const char *init_lib_path);
/* free a TCC compilation context */
LIBTCCAPI void tcc_delete(TCCState *s);