aboutsummaryrefslogtreecommitdiff
path: root/win/package.tcl
blob: 2351f0bd59332197d7a883a118082f8d84e06401 (plain)
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
#
# This script is intended to be run in the win sub-directory
# with: tclsh84 package.tcl
#
set packager {C:\Program Files\Caphyon\Advanced Installer\AdvancedInstaller.exe}

#
# Make the Tcl library
#
catch {exec nmake -f makefile.vc} result
puts $result

#
# Make the Perl library, use for this the
# buildperl script.
#
set wd [pwd]
cd ..
catch {exec tclsh buildperl.tcl} result
puts $result
cd $wd

#
# Build a merged pkgIndex.tcl
#
set fout [open pkgIndex.tcl w]
set fin [open [file join .. pkgIndex.tcl]]
puts -nonewline $fout [read $fin]
close $fin
set fin [open [file join .. library pkgIndex.tcl]]
foreach line [split [read $fin] \n] {
    if {![regexp {^\s*$|^#} $line]} {
	puts $fout $line
    }
}
close $fin
close $fout

#
# Build a .bat script for the Perl demos.
#
set fout [open zinc-demos.bat w]
set fin [open [file join .. Perl demos zinc-demos]]
puts $fout {@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';}
puts $fout [read $fin]
puts $fout {__END__
:endofperl}
close $fin
close $fout

#
# Create a demo script ending in .tcl
#
file copy -force [file join .. demos zinc-widget] zinc-widget.tcl

#
# Wrap up the msi packages
#
exec $packager /build Tkzinc.aip
exec $packager /build Tkzincperl.aip

#
# Clean up after messing around
#
#file delete -force pkgIndex.tcl zinc-widget.tcl zinc-demos.bat