-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathInstall-ACE
More file actions
132 lines (119 loc) · 3.44 KB
/
Install-ACE
File metadata and controls
132 lines (119 loc) · 3.44 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
; Install-ACE
; AmigaDOS installer script for ACE BASIC Compiler
;
; Run from Shell: execute Install-ACE
; Run from Workbench: double-click Install-ACE icon (requires .info with IconX)
;
; This script sets up ACE assigns, optionally copies files to an existing
; installation, and can add assigns to S:user-startup for persistence.
; Print banner
echo ""
echo "========================================="
echo " ACE BASIC Compiler - Installer"
echo "========================================="
echo ""
; Capture current directory path
cd >T:ace_instpath
SET acepath `type T:ace_instpath`
delete >NIL: T:ace_instpath
echo "ACE directory: $acepath"
echo ""
; Check if ACE: assign already exists
assign ACE: EXISTS >NIL:
IF NOT WARN
; ACE: assign exists - this is an upgrade scenario
echo "An existing ACE: installation was found."
echo ""
echo "Copy all files from this directory to ACE:,"
echo "overwriting existing files?"
ask "Copy files? (y/n) "
IF WARN
echo "Copying files to ACE: ..."
copy "$acepath" TO ACE: ALL CLONE QUIET
echo "Files copied."
ELSE
echo "Skipping file copy."
ENDIF
echo ""
ELSE
; No ACE: assign - fresh install
echo "No existing ACE: installation found."
echo ""
echo "This will create an ACE: assign pointing to:"
echo " $acepath"
echo ""
ask "Create ACE: assign? (y/n) "
IF NOT WARN
echo ""
echo "Installation aborted."
SKIP end
ENDIF
assign ACE: "$acepath"
echo "ACE: assigned to $acepath"
echo ""
ENDIF
; Create derived assigns
echo "Setting up assigns..."
assign ACElib: ACE:lib
assign ACEbmaps: ACE:bmaps
assign ACEinclude: ACE:include
assign ACEsubmods: ACE:submods
path ACE:bin add
echo " ACElib: -> ACE:lib"
echo " ACEbmaps: -> ACE:bmaps"
echo " ACEinclude: -> ACE:include"
echo " ACEsubmods: -> ACE:submods"
echo " Added ACE:bin to path"
echo ""
; Protect bas script
protect ACE:bin/bas +s >NIL:
protect ACE:bin/#? +e >NIL:
; Ask about user-startup persistence
echo "To make assigns persist across reboots, they"
echo "can be added to S:user-startup."
echo ""
ask "Add assigns to S:user-startup? (y/n) "
IF NOT WARN
echo ""
echo "Assigns are temporary and will be lost on reboot."
echo "To make them permanent, add the following to"
echo "S:user-startup manually:"
echo ""
echo " assign ACE: $acepath"
echo " assign ACElib: ACE:lib"
echo " assign ACEbmaps: ACE:bmaps"
echo " assign ACEinclude: ACE:include"
echo " assign ACEsubmods: ACE:submods"
echo " path ACE:bin add"
SKIP done
ENDIF
; Check if user-startup already has ACE assigns
search S:user-startup ";BEGIN ACE BASIC Compiler" >NIL:
IF NOT WARN
echo "S:user-startup already contains ACE assigns."
echo "Skipping modification."
SKIP done
ENDIF
; Append assigns to S:user-startup
echo "" >>S:user-startup
echo ";BEGIN ACE BASIC Compiler" >>S:user-startup
echo "assign ACE: $acepath" >>S:user-startup
echo "assign ACElib: ACE:lib" >>S:user-startup
echo "assign ACEbmaps: ACE:bmaps" >>S:user-startup
echo "assign ACEinclude: ACE:include" >>S:user-startup
echo "assign ACEsubmods: ACE:submods" >>S:user-startup
echo "path ACE:bin add" >>S:user-startup
echo ";END ACE BASIC Compiler" >>S:user-startup
echo "Assigns added to S:user-startup."
LAB done
echo ""
echo "========================================="
echo " Installation complete!"
echo "========================================="
echo ""
echo "See docs/ace.guide for documentation."
echo "Try: "
echo "cd examples"
echo "bas Hello"
echo ""
LAB end