Jim Tcl
Check-in [e6deea1782]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:configure: --with-mod and --with-ext allow commas

Makes it a bit easier to type on the command line. e.g.

--with-mod=binary,zlib --with-ext=sqlite3

Spaces are still accepted, as are multiple instances of --with-mod, --with-ext and --without-ext

Signed-off-by: Steve Bennett <steveb@workware.net.au>

Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:e6deea1782c143c18bb787f0558b33459090894e
User & Date: steveb@workware.net.au 2017-09-21 06:34:08
Context
2017-09-21
06:40
configure: Remove reference to ensemble extension

It is not pushed to mainline yet.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: 4d2900cfd6 user: steveb@workware.net.au tags: trunk

06:34
configure: --with-mod and --with-ext allow commas

Makes it a bit easier to type on the command line. e.g.

--with-mod=binary,zlib --with-ext=sqlite3

Spaces are still accepted, as are multiple instances of --with-mod, --with-ext and --without-ext

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: e6deea1782 user: steveb@workware.net.au tags: trunk

06:32
configure: Improve module selection

Modules/extensions are now explicitly marked as optional (and enabled with --full), or off (must be explicitly enabled with --with-mod/--with-ext)

This means that now binary and tclprefix are correctly not enabled by default, and zlib is enabled with --full.

Signed-off-by: Steve Bennett <steveb@workware.net.au> check-in: ef80bdd56d user: steveb@workware.net.au tags: trunk

Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to auto.def.

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
..
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
...
374
375
376
377
378
379
380











381
382
383
384
385
386
387
388
389
390
391
392
393
    maintainer      => {enable the [debug] command and JimPanic}
    full            => "Enable some optional features: ipv6, ssl, math, utf8, binary, oo, tree"
    with-jim-shared shared => "build a shared library instead of a static library"
    jim-regexp=1    => "prefer POSIX regex if over the the built-in (Tcl-compatible) regex"
    docs=1          => "don't build or install the documentation"
    docdir:path     => "path to install docs (if built)"
    random-hash	    => "randomise hash tables. more secure but hash table results are not predicable"
    with-jim-ext: {with-ext:"ext1 ext2 ..."} => {
        Specify additional jim extensions to include.
        These are enabled by default:

        aio       - ANSI I/O, including open and socket
        eventloop - after, vwait, update
        array     - Tcl-compatible array command
        clock     - Tcl-compatible clock command
................................................................................

        readline  - Interface to libreadline
        rlprompt  - Tcl wrapper around the readline extension
        mk        - Interface to Metakit
        sqlite3   - Interface to sqlite3
        win32     - Interface to win32
    }
    with-out-jim-ext: {without-ext:"default|ext1 ext2 ..."} => {
        Specify jim extensions to exclude.
        If 'default' is given, the default extensions will not be added.
    }
    with-jim-extmod: {with-mod:"ext1 ext2 ..."} => {
        Specify jim extensions to build as separate modules (either C or Tcl).
        Note that not all extensions can be built as loadable modules.
    }
    # To help out openocd with automake
    install-jim=1
}

................................................................................
            incr found
        } else {
            msg-result "not found"
        }
    }
    return $found
}












# Set up the withinfo array based on what the user selected
global withinfo
set withinfo(without) [join [opt-val {without-ext with-out-jim-ext}]]
set withinfo(ext) [join [opt-val {with-ext with-jim-ext}]]
set withinfo(mod) [join [opt-val {with-mod with-jim-extmod}]]
set withinfo(nodefault) 0
set withinfo(optional) [opt-bool full]
if {$withinfo(without) eq "default"} {
    set withinfo(without) {}
    set withinfo(nodefault) 1
}








|







 







|



|







 







>
>
>
>
>
>
>
>
>
>
>



|
|
|







17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
..
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
...
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
    maintainer      => {enable the [debug] command and JimPanic}
    full            => "Enable some optional features: ipv6, ssl, math, utf8, binary, oo, tree"
    with-jim-shared shared => "build a shared library instead of a static library"
    jim-regexp=1    => "prefer POSIX regex if over the the built-in (Tcl-compatible) regex"
    docs=1          => "don't build or install the documentation"
    docdir:path     => "path to install docs (if built)"
    random-hash	    => "randomise hash tables. more secure but hash table results are not predicable"
    with-jim-ext: {with-ext:"ext1,ext2,..."} => {
        Specify additional jim extensions to include.
        These are enabled by default:

        aio       - ANSI I/O, including open and socket
        eventloop - after, vwait, update
        array     - Tcl-compatible array command
        clock     - Tcl-compatible clock command
................................................................................

        readline  - Interface to libreadline
        rlprompt  - Tcl wrapper around the readline extension
        mk        - Interface to Metakit
        sqlite3   - Interface to sqlite3
        win32     - Interface to win32
    }
    with-out-jim-ext: {without-ext:"default|ext1,ext2,..."} => {
        Specify jim extensions to exclude.
        If 'default' is given, the default extensions will not be added.
    }
    with-jim-extmod: {with-mod:"ext1,ext2,..."} => {
        Specify jim extensions to build as separate modules (either C or Tcl).
        Note that not all extensions can be built as loadable modules.
    }
    # To help out openocd with automake
    install-jim=1
}

................................................................................
            incr found
        } else {
            msg-result "not found"
        }
    }
    return $found
}

# Takes a list of module names, separated by spaces or commas
# and returns them as a single list
proc join-ext-names {list} {
    set result {}
    # Replace comma with space in each list then concatenate the result
    foreach l $list {
        lappend result {*}[string map {, " "} $l]
    }
    return $result
}

# Set up the withinfo array based on what the user selected
global withinfo
set withinfo(without) [join-ext-names [opt-val {without-ext with-out-jim-ext}]]
set withinfo(ext) [join-ext-names [opt-val {with-ext with-jim-ext}]]
set withinfo(mod) [join-ext-names [opt-val {with-mod with-jim-extmod}]]
set withinfo(nodefault) 0
set withinfo(optional) [opt-bool full]
if {$withinfo(without) eq "default"} {
    set withinfo(without) {}
    set withinfo(nodefault) 1
}