Check-in [68ce1fca09]
Overview
Comment:Fixed issue when using package versions
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 68ce1fca092ce7b76b6a2054b3ceeeb6bb876674
User & Date: rkeene on 2014-06-18 17:32:38
Other Links: manifest | tags
Context
2014-06-18
18:05
Updated to allow for the possibility of creating a DLL that is not a Tcl package check-in: 24cc34d5f9 user: rkeene tags: trunk
17:32
Fixed issue when using package versions check-in: 68ce1fca09 user: rkeene tags: trunk
17:31
Updated to provide package version numbers check-in: 6ef06b043d user: rkeene tags: trunk
Changes

Modified tcc4tcl.tcl from [127f1d0e84] to [16583ee9af].

91
92
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
91
92
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







+
+
+
+
+
+
-
+












-
-
-
-
-
-







						append state(code) "  Tcl_CreateObjCommand(interp, \"$procname\", $cname, NULL, NULL);"
					}

					append state(code) "\}"
				}
			}
			"dll" {
				set packageName [lindex $state(package) 0]
				set packageVersion [lindex $state(package) 1]
				if {$packageVersion == ""} {
					set packageVersion "0"
				}

				append state(code) "int [string totitle $state(package)]_Init(Tcl_Interp *interp) \{\n"
				append state(code) "int [string totitle $packageName]_Init(Tcl_Interp *interp) \{\n"
				append state(code) "#ifdef USE_TCL_STUBS\n"
				append state(code) "  if (Tcl_InitStubs(interp, \"8.4\" , 0) == 0L) \{\n"
				append state(code) "    return TCL_ERROR;\n"
				append state(code) "  \}\n"
				append state(code) "#endif\n"

				if {[info exists state(procs)] && [llength $state(procs)] > 0} {
					foreach {procname cname} $state(procs) {
						append state(code) "  Tcl_CreateObjCommand(interp, \"$procname\", $cname, NULL, NULL);"
					}
				}

				set packageName [lindex $state(package) 0]
				set packageVersion [lindex $state(package) 1]
				if {$packageVersion == ""} {
					set packageVersion "0"
				}

				append state(code) "Tcl_PkgProvide(interp, \"$packageName\", \"$packageVersion\");\n"
				append state(code) "  return(TCL_OK);\n"
				append state(code) "\}"
			}
		}

		# Generate output code