aboutsummaryrefslogtreecommitdiff
path: root/make-c-ext.tcl
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2011-07-13 11:08:43 +1000
committerSteve Bennett <steveb@workware.net.au>2011-07-13 11:30:28 +1000
commit539f52a07c94d769e51d046d71903e4a2505edd7 (patch)
tree644e52f6743b1f143eee9539455db95ed1e394d3 /make-c-ext.tcl
parent4f9f399b9a5be5b13324a7cc08d51457b9244796 (diff)
downloadjimtcl-539f52a07c94d769e51d046d71903e4a2505edd7.zip
jimtcl-539f52a07c94d769e51d046d71903e4a2505edd7.tar.gz
jimtcl-539f52a07c94d769e51d046d71903e4a2505edd7.tar.bz2
Generate static Tcl extensions slightly differently
Revert to using inline strings rather than static const char[] to avoid confusing bloat-check Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'make-c-ext.tcl')
-rw-r--r--make-c-ext.tcl20
1 files changed, 8 insertions, 12 deletions
diff --git a/make-c-ext.tcl b/make-c-ext.tcl
index 29f1107..7e506ee 100644
--- a/make-c-ext.tcl
+++ b/make-c-ext.tcl
@@ -26,17 +26,13 @@ close $f
lappend lines {/* autogenerated - do not edit */}
lappend lines {#include <jim.h>}
-lappend lines "static const char basename\[\] = \"[file tail $source]\";"
-lappend lines "static const char pkgname\[\] = \"[file rootname [file tail $source]]\";"
-
-lappend lines {static const char source[] = }
-lappend lines {*}$sourcelines \;
-
-lappend lines "int Jim_[file rootname [file tail $source]]Init(Jim_Interp *interp)"
-lappend lines \
-{{
- if (Jim_PackageProvide(interp, pkgname, "1.0", JIM_ERRMSG)) return JIM_ERR;
- return Jim_Eval_Named(interp, source, basename, 1);
-}}
+set basename [file tail $source]
+set pkgname [file rootname $basename]
+
+lappend lines "int Jim_${pkgname}Init(Jim_Interp *interp)"
+lappend lines "\{"
+lappend lines "\tif (Jim_PackageProvide(interp, \"$pkgname\", \"1.0\", JIM_ERRMSG)) return JIM_ERR;"
+lappend lines "\treturn Jim_Eval_Named(interp, [join $sourcelines \n], \"$basename\", 1);"
+lappend lines "\}"
puts [join $lines \n]