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
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();
	s = tcc_new(Tcl_GetString(objv[1]));
	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); */