Check-in [4f8d078657]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com or submit via the online form
by Aug 20.

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

Overview
Comment:Fixes to the boot process for installed autosetup
Timelines: family | ancestors | descendants | both | autosetup
Files: files | file ages | folders
SHA1: 4f8d07865758962362bde01c0d8a6fe4a68721da
User & Date: hypnotoad 2015-03-18 15:11:05
Context
2015-03-18
16:16
Loosing the cmodules that have been sent over to odielib check-in: 2b421a41f8 user: hypnotoad tags: autosetup
15:11
Fixes to the boot process for installed autosetup check-in: 4f8d078657 user: hypnotoad tags: autosetup
14:55
Typo fixes check-in: 0646764e58 user: hypnotoad tags: autosetup
Changes
Unified Diff Ignore Whitespace Patch
Changes to autosetup/lib/install.tcl.
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
# Copyright (c) 2006-2010 WorkWare Systems http://www.workware.net.au/
# All rights reserved

# Module which can install autosetup

proc autosetup_install {dir} {
	if {[catch {
		cd $dir
		file mkdir autosetup

		set f [open autosetup/autosetup w]

		set publicmodules $::autosetup(libdir)/default.auto


		# First the main script, but only up until "CUT HERE"
		set in [open $::autosetup(dir)/autosetup]
		while {[gets $in buf] >= 0} {
			if {$buf ne "##-- CUT HERE --##"} {
				puts $f $buf
				continue
			}
                        
			# Insert the static modules here
			# i.e. those which don't contain @synopsis:
			puts $f "set autosetup(installed) 1"







			foreach file [lsort [glob $::autosetup(libdir)/*.tcl]] {

				set buf [readfile $file]
				if {[string match "*\n# @synopsis:*" $buf]} {
					lappend publicmodules $file
					continue
				}
				set modname [file rootname [file tail $file]]
				puts $f "# ----- module $modname -----"
				puts $f "\nset modsource($modname) \{"
				puts $f $buf
				puts $f "\}\n"
			}
		}
		close $in
		close $f
		exec chmod 755 autosetup/autosetup

		# Install public modules













>












>
>
>
>
>
>
>

>
|
|
|
|
|
|
|
|
|
|







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
# Copyright (c) 2006-2010 WorkWare Systems http://www.workware.net.au/
# All rights reserved

# Module which can install autosetup

proc autosetup_install {dir} {
	if {[catch {
		cd $dir
		file mkdir autosetup

		set f [open autosetup/autosetup w]

		set publicmodules $::autosetup(libdir)/default.auto
                

		# First the main script, but only up until "CUT HERE"
		set in [open $::autosetup(dir)/autosetup]
		while {[gets $in buf] >= 0} {
			if {$buf ne "##-- CUT HERE --##"} {
				puts $f $buf
				continue
			}
                        
			# Insert the static modules here
			# i.e. those which don't contain @synopsis:
			puts $f "set autosetup(installed) 1"
                        set buf [readfile $::autosetup(libdir)/core.tcl]
                        set modname core
                        puts $f $buf
                        puts $f "# ----- module $modname -----"
                        puts $f "\nset modsource($modname) \{"
                        puts $f "\}\n"
                        
			foreach file [lsort [glob $::autosetup(libdir)/*.tcl]] {
                          if {[file tail $file] eq "core.tcl"} continue
                          set buf [readfile $file]
                          if {[string match "*\n# @synopsis:*" $buf]} {
                                  lappend publicmodules $file
                                  continue
                          }
                          set modname [file rootname [file tail $file]]
                          puts $f "# ----- module $modname -----"
                          puts $f "\nset modsource($modname) \{"
                          puts $f $buf
                          puts $f "\}\n"
			}
		}
		close $in
		close $f
		exec chmod 755 autosetup/autosetup

		# Install public modules
Changes to scripts/make_sherpa.tcl.
32
33
34
35
36
37
38



39

40
41
###
# Build supporting libraries needed by Sherpa
##

# Rebuild sherpa
set SHERPA_SRCPATH $::odie(src_dir)/../sherpa
cd ${SHERPA_SRCPATH}



doexec [info nameofexecutable] autosetup/autosetup

doexec make clean
doexec make install







>
>
>
|
>


32
33
34
35
36
37
38
39
40
41
42
43
44
45
###
# Build supporting libraries needed by Sherpa
##

# Rebuild sherpa
set SHERPA_SRCPATH $::odie(src_dir)/../sherpa
cd ${SHERPA_SRCPATH}
if {$::odie(host) != $::odie(target) } {
  doexec [info nameofexecutable] autosetup/autosetup --prefix=$::odie(prefix) 
} else {
  doexec [info nameofexecutable] autosetup/autosetup --prefix=$::odie(prefix) --host=$::odie(target)
}
doexec make clean
doexec make install