Check-in [9e75cf906d]
Overview
Comment:Updated to set tcc_lib_path sooner, needed for setting library_paths correctly
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9e75cf906d9f54b511f72b9bedfccecafb1e1467
User & Date: rkeene on 2014-05-04 04:26:45
Other Links: manifest | tags
Context
2014-05-04
04:27
Updated to search library_paths for libtcc1.a for ELF as is done for PE check-in: 84c0812a1d user: rkeene tags: trunk
04:26
Updated to set tcc_lib_path sooner, needed for setting library_paths correctly check-in: 9e75cf906d user: rkeene tags: trunk
04:25
Updated to clean temporary test directory more frequently check-in: 59936cb094 user: rkeene tags: trunk
Changes

Added build/tcc-patches/0.9.26/tcc-0.9.26-setlibpathsooner.diff version [cf9c3b4d2d].





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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);

Modified tcc4tcl.c from [fc16e20c80] to [aa505b066c].

248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
		index = TCC_OUTPUT_MEMORY;
	} else {
		if (Tcl_GetIndexFromObj(interp, objv[2], types, "type", 0, &index) != TCL_OK) {
			return TCL_ERROR;
		}
	}

	s = tcc_new();
	if (s == NULL) {
		return(TCL_ERROR);
	}

	s->tcc_lib_path = tcc_strdup(Tcl_GetString(objv[1]));

	tcc_set_error_func(s, interp, (void *)&Tcc4tclErrorFunc);

	ts = (void *) ckalloc(sizeof(*ts));
	ts->s = s;
    	ts->relocated = 0;

	/*printf("type: %d\n", index); */







|




<
<







248
249
250
251
252
253
254
255
256
257
258
259


260
261
262
263
264
265
266
		index = TCC_OUTPUT_MEMORY;
	} else {
		if (Tcl_GetIndexFromObj(interp, objv[2], types, "type", 0, &index) != TCL_OK) {
			return TCL_ERROR;
		}
	}

	s = tcc_new(Tcl_GetString(objv[1]));
	if (s == NULL) {
		return(TCL_ERROR);
	}



	tcc_set_error_func(s, interp, (void *)&Tcc4tclErrorFunc);

	ts = (void *) ckalloc(sizeof(*ts));
	ts->s = s;
    	ts->relocated = 0;

	/*printf("type: %d\n", index); */