File: make-load-static-exts.tcl

package info (click to toggle)
jimtcl 0.81%2Bdfsg0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 15,416 kB
  • sloc: ansic: 175,569; tcl: 5,456; sh: 4,814; cpp: 1,671; makefile: 269
file content (48 lines) | stat: -rw-r--r-- 900 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env tclsh

# Usage: make-load-static-exts extname ... >load-static-exts.c

# Creates load-static-exts.c based on the configured static extensions

# There are some dependencies on static extensions which require
# a certain load order. Do this by setting priorities and sorting.

array set pri {
    stdlib 0
    readdir 1
    glob 2
    oo 1
    tree 2
    pack 1
    binary 2
}

foreach i $argv {
    set p 1
    if {[info exists pri($i)]} {
        set p $pri($i)
    }
    lappend exts [list $p $i]
}
set exts [lsort $exts]

puts {
/* autogenerated - do not edit */
#include "jim.h"
#include "jimautoconf.h"
int Jim_InitStaticExtensions(Jim_Interp *interp)
}
puts \{

foreach e $exts {
    set ext [lindex $e 1]
    puts "\textern int Jim_${ext}Init(Jim_Interp *);"
}
foreach e $exts {
    set ext [lindex $e 1]
    puts "\tJim_${ext}Init(interp);"
}

puts "\treturn JIM_OK;"

puts \}