Check-in [273c2a2e9a]
Tcl 2014 Conference, Portland/OR, US, Nov 10-14
Send your abstracts to tclconference@googlegroups.com by Sep 8.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updated to use actual call to Tcl_InitStubs()
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:273c2a2e9a9c5c3f57b7a9f313dedab93720dbb4
User & Date: rkeene 2014-06-21 18:06:47
Context
2014-06-21
18:10
Updated to remove warnings from cdefs.h (Mac OS X) check-in: f9d0cb87bf user: rkeene tags: trunk
18:06
Updated to use actual call to Tcl_InitStubs() check-in: 273c2a2e9a user: rkeene tags: trunk
17:38
Updated to use correct Tcl version when initializing stubs check-in: 0ca36ca558 user: rkeene tags: trunk
Changes

Changes to Makefile.in.

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
PACKAGE_INSTALL_DIR = $(tcllibdir)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
TCC_CONFIGURE_OPTS = --cc='$(CC)' --extra-cflags='$(CPPFLAGS) $(CFLAGS) @TCC_EXTRA_CFLAGS@' --with-tcl=$(TCLCONFIGPATH) --sysincludepaths='{B}/include@HOST_PATH_SEPARATOR@{B}/include/1@HOST_PATH_SEPARATOR@{B}/include/2@HOST_PATH_SEPARATOR@{B}/include/3@HOST_PATH_SEPARATOR@{B}/include/4@HOST_PATH_SEPARATOR@{B}/include/5@HOST_PATH_SEPARATOR@{B}/include/6@HOST_PATH_SEPARATOR@{B}/include/7@HOST_PATH_SEPARATOR@{B}/include/8@HOST_PATH_SEPARATOR@{B}/include/9' --libpaths='{B}/lib' @TCC_CONFIGURE_OPTS@
INSTALL_HEADERS = tcl.h assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h time.h wctype.h
srcdir = @srcdir@
host_os = @host_os@
@SET_MAKE@

all: $(TARGET)

tcc/config.h:
	if [ "$(srcdir)" = "." ]; then \
		cd tcc && ./configure $(TCC_CONFIGURE_OPTS); \
	else \
		mkdir tcc >/dev/null 2>/dev/null; \
		cd tcc && $(shell cd $(srcdir) && pwd)/tcc/configure $(TCC_CONFIGURE_OPTS); \
	fi

tcc/libtcc.a: tcc/config.h
	$(MAKE) -C tcc libtcc.a

tcc/libtcc1.a: tcc/config.h
	-$(MAKE) -C tcc tcc
	$(MAKE) -C tcc libtcc1.a

tcc4tcl.o: $(srcdir)/tcc4tcl.c $(srcdir)/tcc/tcc.h $(srcdir)/tcc/libtcc.h tcc/config.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tcc4tcl.o -c $(srcdir)/tcc4tcl.c

tcc4tcl.@SHOBJEXT@: tcc4tcl.o tcc/libtcc.a
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o tcc4tcl.@SHOBJEXT@ tcc4tcl.o tcc/libtcc.a $(LIBS)







|













|







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
PACKAGE_INSTALL_DIR = $(tcllibdir)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
TCC_CONFIGURE_OPTS = --cc='$(CC)' --extra-cflags='$(CPPFLAGS) $(CFLAGS) @TCC_EXTRA_CFLAGS@' --with-tcl=$(TCLCONFIGPATH) --sysincludepaths='{B}/include@HOST_PATH_SEPARATOR@{B}/include/1@HOST_PATH_SEPARATOR@{B}/include/2@HOST_PATH_SEPARATOR@{B}/include/3@HOST_PATH_SEPARATOR@{B}/include/4@HOST_PATH_SEPARATOR@{B}/include/5@HOST_PATH_SEPARATOR@{B}/include/6@HOST_PATH_SEPARATOR@{B}/include/7@HOST_PATH_SEPARATOR@{B}/include/8@HOST_PATH_SEPARATOR@{B}/include/9' --libpaths='{B}/lib' @TCC_CONFIGURE_OPTS@
INSTALL_HEADERS = tcl.h assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h time.h wctype.h
srcdir = @srcdir@
host_os = @host_os@
@SET_MAKE@

all: $(TARGET) tcc/libtcc1.a

tcc/config.h:
	if [ "$(srcdir)" = "." ]; then \
		cd tcc && ./configure $(TCC_CONFIGURE_OPTS); \
	else \
		mkdir tcc >/dev/null 2>/dev/null; \
		cd tcc && $(shell cd $(srcdir) && pwd)/tcc/configure $(TCC_CONFIGURE_OPTS); \
	fi

tcc/libtcc.a: tcc/config.h
	$(MAKE) -C tcc libtcc.a

tcc/libtcc1.a: tcc/config.h
	-if [ '@build@' = '@host@' ]; then $(MAKE) -C tcc tcc; fi
	$(MAKE) -C tcc libtcc1.a

tcc4tcl.o: $(srcdir)/tcc4tcl.c $(srcdir)/tcc/tcc.h $(srcdir)/tcc/libtcc.h tcc/config.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tcc4tcl.o -c $(srcdir)/tcc4tcl.c

tcc4tcl.@SHOBJEXT@: tcc4tcl.o tcc/libtcc.a
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o tcc4tcl.@SHOBJEXT@ tcc4tcl.o tcc/libtcc.a $(LIBS)

Changes to build/tcc-patches/0.9.26/tcc-0.9.26-tclio.diff.

93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117


118
119
120
121
122
123
124
+    size = Tcl_Read(fd, (char *)&ehdr, sizeof(ehdr));
+    Tcl_Seek(fd, 0, SEEK_SET);
     if (size <= 0) {
         tcc_error_noabort("could not read header");
         goto the_end;
diff -uNr tcc-0.9.26.orig/tcc.c tcc-0.9.26-1tclio/tcc.c
--- tcc-0.9.26.orig/tcc.c	2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tcc.c	2014-06-21 12:37:45.060011999 -0500
@@ -18,6 +18,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#ifdef USE_TCL_STUBS
+#define LIBTCC_USE_TCL_STUBS
+#undef USE_TCL_STUBS
+#endif
 #ifdef ONE_SOURCE
 #include "libtcc.c"
 #else
@@ -248,7 +252,16 @@
     int64_t start_time = 0;
     const char *first_file = NULL;
 
-    s = tcc_new();
+#ifdef LIBTCC_USE_TCL_STUBS


+    Tcl_Interp *interp;
+
+    interp = Tcl_CreateInterp();
+    if (interp != NULL) {
+        Tcl_InitStubs(interp, TCL_VERSION, 0);
+    }
+#endif







|
|



<
<
<




|




|
>
>







93
94
95
96
97
98
99
100
101
102
103
104



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
+    size = Tcl_Read(fd, (char *)&ehdr, sizeof(ehdr));
+    Tcl_Seek(fd, 0, SEEK_SET);
     if (size <= 0) {
         tcc_error_noabort("could not read header");
         goto the_end;
diff -uNr tcc-0.9.26.orig/tcc.c tcc-0.9.26-1tclio/tcc.c
--- tcc-0.9.26.orig/tcc.c	2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tcc.c	2014-06-21 13:05:54.330011999 -0500
@@ -18,6 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 



+#endif
 #ifdef ONE_SOURCE
 #include "libtcc.c"
 #else
@@ -248,7 +249,18 @@
     int64_t start_time = 0;
     const char *first_file = NULL;
 
-    s = tcc_new();
+#ifdef USE_TCL_STUBS
+#undef Tcl_CreateInterp
+#undef Tcl_InitStubs
+    Tcl_Interp *interp;
+
+    interp = Tcl_CreateInterp();
+    if (interp != NULL) {
+        Tcl_InitStubs(interp, TCL_VERSION, 0);
+    }
+#endif