File: .common

package info (click to toggle)
modules 5.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 20,572 kB
  • sloc: exp: 46,525; sh: 5,261; tcl: 3,182; makefile: 1,355; ansic: 466; python: 251; csh: 201; perl: 47; ruby: 44
file content (78 lines) | stat: -rw-r--r-- 1,785 bytes parent folder | download | duplicates (4)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
proc getChosenBuildModule {kind args} {
    # default value for 'module show'
    set ret <select_$kind>

    foreach arg $args {
        if {[is-loaded $arg]} {
            set ret $arg
            break
        }
    }
    return $ret
}

proc availForBuildModule {kind args} {
    # define requirement
    eval prereq $args
    # return loaded build module
    return [eval getChosenBuildModule $kind $args]
}


proc getChosenFlavorModule {args} {
    foreach arg $args {
        if {[is-loaded $arg]} {
            lappend ret [file tail $arg]
        }
    }
    # default value for 'module show'
    if {![info exists ret]} {
        set ret <select_flavor>
    }
    return $ret
}

proc availForFlavorModule {args} {
    foreach arg $args {
        lappend flavorlist flavor/$::name/$arg
    }

    # define requirement
    eval prereq $flavorlist
    # return loaded flavor module
    return [eval getChosenFlavorModule $flavorlist]
}

proc isFlavorEnabled {name} {
    return [expr {[lsearch -exact $::flavorlist $name] != -1}]
}

proc getBuildToolchain {} {
    foreach buildvar [info vars ::build*] {
        if {[info exists toolchain]} {
            append toolchain __
        }
        append toolchain [string map [list / --] [set $buildvar]]
    }
    return [expr {[info exists toolchain] ? $toolchain : {}}]
}

proc getFlavorId {} {
    return [expr {[info exists ::flavorlist] ? [join $::flavorlist __] : {}}]
}

proc getInstallPrefix {} {
    set toolchain [getBuildToolchain]
    set flavor [getFlavorId]

    set prefix /apps/$::name-$::version
    if {$toolchain ne {}} {
        append prefix /$toolchain
    }
    if {$flavor ne {}} {
        append prefix /$flavor
    }
    return $prefix
}

# vim:set tabstop=4 shiftwidth=4 expandtab autoindent syntax=tcl: