From 316ff618bb042168b3dff6fa14ed91c710d1595a Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Thu, 17 Nov 2022 19:37:12 -0500 Subject: Add loadlib to c.tcl --- lib/c.tcl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/c.tcl b/lib/c.tcl index 8469b84e..f8f8d03b 100644 --- a/lib/c.tcl +++ b/lib/c.tcl @@ -161,7 +161,20 @@ namespace eval c { }] return $handle } - namespace export create + + set loader [create] + $loader include + $loader proc loadlibImpl {char* filename} void* { + return dlopen(filename, RTLD_NOW); + } + $loader compile + proc loadlib {filename} { + if {[loadlibImpl $filename] == "(void*) 0x0"} { + error "Failed to dlopen $filename" + } + } + + namespace export * namespace ensemble create } -- cgit v1.2.3