Index: tcc4tcl.tcl ================================================================== --- tcc4tcl.tcl +++ tcc4tcl.tcl @@ -44,11 +44,11 @@ } else { set type "package" } } - array set $handle [list code "" type $type filename $output package $pkgName add_inc_path "" add_lib_path "" add_lib "" add_macros ""] + array set $handle [list code "" type $type filename $output package $pkgName add_inc_path "" add_lib_path "" add_lib "" add_macros "" add_files ""] proc $handle {cmd args} [string map [list @@HANDLE@@ $handle] { set handle {@@HANDLE@@} if {$cmd == "go"} { @@ -114,10 +114,16 @@ proc _add_library {handle args} { upvar #0 $handle state lappend state(add_lib) {*}$args } + + proc _add_file {handle args} { + upvar #0 $handle state + + lappend state(add_files) {*}$args + } proc _cwrap {handle name adefs rtype} { upvar #0 $handle state set wrap [uplevel 1 [list ::tcc4tcl::wrap $name $adefs $rtype "#" "" 1]] @@ -579,10 +585,14 @@ } foreach lib $state(add_lib) { tcc add_library $lib } + + foreach addFile $state(add_files) { + tcc add_file $addFile + } switch -- $state(type) { "memory" { tcc compile $code