Index: tcc.tcl ================================================================== --- tcc.tcl +++ tcc.tcl @@ -93,11 +93,11 @@ } proc ::tcc4tcl::cc {code} { variable tcc if {![info exists tcc(cc)]} { set tcc(cc) tcc1 - tcc4tcl $tcc4tcl::dir $tcc(cc) + tcc4tcl [file join $::tcc4tcl::dir lib] $tcc(cc) $tcc(cc) add_library tcl8.5 $tcc(cc) add_include_path [file join $::tcc4tcl::dir include] } Log code:$code $tcc(cc) compile $code Index: tcltcc.c ================================================================== --- tcltcc.c +++ tcltcc.c @@ -259,11 +259,11 @@ s = tcc_new(); if (s == NULL) { return(TCL_ERROR); } - s->tcc_lib_path = Tcl_GetString(objv[1]); + s->tcc_lib_path = tcc_strdup(Tcl_GetString(objv[1])); tcc_set_error_func(s, interp, (void *)&TccErrorFunc); ts = (void *) ckalloc(sizeof(*ts)); ts->s = s;