Overview
Comment: | Added "cwrap" subcommand to handle wrapping and creating prototype |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2bc3ec252af7be0ec707601e7c47d864 |
User & Date: | rkeene on 2014-06-23 02:56:39 |
Other Links: | manifest | tags |
Context
2014-06-23
| ||
19:32 | Updated to work harder to load shared objects (that are not ELF) check-in: c32ff7df22 user: rkeene tags: trunk | |
02:56 | Added "cwrap" subcommand to handle wrapping and creating prototype check-in: 2bc3ec252a user: rkeene tags: trunk | |
02:49 | Updated to not perform some tests on Darwin check-in: 6d4569b9da user: rkeene tags: trunk | |
Changes
Modified tcc4tcl.tcl from [1d2b6c2d4b] to [72f0a051fa].
︙ | |||
77 78 79 80 81 82 83 84 85 86 87 88 89 90 | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | + + + + + + + + + + + + + + + | } proc _add_library {handle args} { upvar #0 $handle state lappend state(add_lib) {*}$args } proc _cwrap {handle name adefs rtype} { upvar #0 $handle state set wrap [uplevel 1 [list ::tcc4tcl::wrap $name $adefs $rtype "#" "" 1]] set wrapped [lindex $wrap 0] set wrapper [lindex $wrap 1] set tclname [lindex $wrap 2] append state(code) $wrapped "\n" append state(code) $wrapper "\n" lappend state(procs) $name $tclname } proc _cproc {handle name adefs rtype {body "#"}} { upvar #0 $handle state set wrap [uplevel 1 [list ::tcc4tcl::wrap $name $adefs $rtype $body]] set wrapped [lindex $wrap 0] |
︙ | |||
269 270 271 272 273 274 275 | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | - + | proc ::tcc4tcl::cproc {name adefs rtype {body "#"}} { set handle [::tcc4tcl::new] $handle cproc $name $adefs $rtype $body return [$handle go] } |
︙ | |||
324 325 326 327 328 329 330 | 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | - - - - - - + + + + + + + + + + + | } default { set rtype2 $rtype } } # Create wrapped function |
︙ |
Modified test.tcl from [6030390766] to [48b0848394].
︙ | |||
77 78 79 80 81 82 83 | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | - - + | ## Delete without performing set handle [tcc4tcl::new] $handle delete # External functions (requires .so or .a (ELF) files which do not exist on Darwin) if {[info exists ::env(TCC4TCL_TEST_RUN_NATIVE)] && $::tcl_platform(os) != "Darwin"} { set handle [tcc4tcl::new] |
︙ |