author | Claus Gittinger <cg@exept.de> |
Mon, 17 Sep 2018 16:09:24 +0200 | |
changeset 1573 | 1ca3df2d6317 |
parent 1523 | 07a68963b4cc |
permissions | -rw-r--r-- |
0 | 1 |
"* |
609 | 2 |
* Encoding: iso8859-1 |
3 |
* |
|
0 | 4 |
* $Header$ |
5 | 5 |
* |
209 | 6 |
* ST/X startup configuration file: |
7 |
* |
|
1366 | 8 |
* DON'T add site specific things here - use your own h_xxx.rc file instead |
8 | 9 |
* where xxx stands for your hostname(s) |
5 | 10 |
* |
0 | 11 |
* startup configuration for host specific stuff - |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
12 |
* looks for a system specific h_sysType.rc init file and loads it. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
13 |
* looks for a host specific h_hostName.rc init file and loads it. |
0 | 14 |
*" |
1243
1fc6b3f01e48
End chung after initial comment / encoding spec
Stefan Vogel <sv@exept.de>
parents:
1126
diff
changeset
|
15 |
! |
1308 | 16 |
|sysType host domain s conf includes incDir| |
177
eec6bac738ba
stupid SYSV3: renamed rsh to remsh
Claus Gittinger <cg@exept.de>
parents:
169
diff
changeset
|
17 |
|
eec6bac738ba
stupid SYSV3: renamed rsh to remsh
Claus Gittinger <cg@exept.de>
parents:
169
diff
changeset
|
18 |
sysType := OperatingSystem getSystemType. |
eec6bac738ba
stupid SYSV3: renamed rsh to remsh
Claus Gittinger <cg@exept.de>
parents:
169
diff
changeset
|
19 |
|
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
20 |
"------------------------------------------------------------------------" |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
21 |
"/ printer setup |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
22 |
"/ Notice that this setup may be changed by an OS-specific h_xxx file |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
23 |
"/ |
239
610af02f6b7e
only reset printer settings, if started on another host.
Claus Gittinger <cg@exept.de>
parents:
216
diff
changeset
|
24 |
"/ only reset the printer setting, if restarted |
610af02f6b7e
only reset printer settings, if started on another host.
Claus Gittinger <cg@exept.de>
parents:
216
diff
changeset
|
25 |
"/ on another host. |
610af02f6b7e
only reset printer settings, if started on another host.
Claus Gittinger <cg@exept.de>
parents:
216
diff
changeset
|
26 |
|
610af02f6b7e
only reset printer settings, if started on another host.
Claus Gittinger <cg@exept.de>
parents:
216
diff
changeset
|
27 |
host := OperatingSystem getHostName. |
610af02f6b7e
only reset printer settings, if started on another host.
Claus Gittinger <cg@exept.de>
parents:
216
diff
changeset
|
28 |
(Smalltalk at:#'_ImageHostName') ~= host ifTrue:[ |
952
435154ba084b
default printer setup for win32
Claus Gittinger <cg@exept.de>
parents:
932
diff
changeset
|
29 |
sysType = 'win32' ifTrue:[ |
1306 | 30 |
Printer := Smalltalk at:#WinPrinterStream. |
952
435154ba084b
default printer setup for win32
Claus Gittinger <cg@exept.de>
parents:
932
diff
changeset
|
31 |
] ifFalse:[ |
1306 | 32 |
Printer := Smalltalk at:#PostscriptPrinterStream. |
177
eec6bac738ba
stupid SYSV3: renamed rsh to remsh
Claus Gittinger <cg@exept.de>
parents:
169
diff
changeset
|
33 |
]. |
932
910313a689a6
printer setup: default for win32
Claus Gittinger <cg@exept.de>
parents:
678
diff
changeset
|
34 |
]. |
103
9f5c03497b38
example - checking for the domain
Claus Gittinger <cg@exept.de>
parents:
8
diff
changeset
|
35 |
|
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
36 |
"------------------------------------------------------------------------" |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
37 |
"/ default compiler setup; |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
38 |
"/ can be rechanged in a h_xxx file. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
39 |
"/ |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
40 |
|
1308 | 41 |
(Smalltalk wasStartedFromImage not and:[ Smalltalk isPlugin not ]) |
678 | 42 |
ifTrue:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
43 |
ParserFlags stcCompilation:#default. |
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
44 |
ParserFlags stcCompilationOptions:'+optinline +inlineNew'. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
45 |
|
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
46 |
"/ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
47 |
"/ setup for gcc (which is OK for most systems); |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
48 |
"/ Notice that this setup may be changed by an OS-specific h_xxx file |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
49 |
"/ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
50 |
conf := Smalltalk configuration. |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
51 |
(conf includesString:'gcc') ifTrue:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
52 |
ParserFlags ccPath:'gcc' |
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
53 |
] ifFalse:[ |
1493 | 54 |
(conf includesString:'clang') ifTrue:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
55 |
ParserFlags ccPath:'clang' |
1493 | 56 |
] ifFalse:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
57 |
ParserFlags ccPath:'cc' |
1493 | 58 |
]. |
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
59 |
]. |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
60 |
ParserFlags ccCompilationOptions:'-O'. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
61 |
|
1126 | 62 |
(conf includesString:'amd64_mode32') ifTrue:[ |
1363
97d15780a26b
Fix in stc setup - care for ParserFlags linkArgs returning nil!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1321
diff
changeset
|
63 |
((ObjectFileLoader linkArgs ? '') includesString:'-m32') ifFalse:[ |
97d15780a26b
Fix in stc setup - care for ParserFlags linkArgs returning nil!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1321
diff
changeset
|
64 |
ObjectFileLoader linkArgs:((ObjectFileLoader linkArgs ? '') , ' -m32 -m elf_i386'). |
1126 | 65 |
]. |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
66 |
(ParserFlags ccCompilationOptions includesString:'-m32') ifFalse:[ |
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
67 |
ParserFlags ccCompilationOptions:(ParserFlags ccCompilationOptions , ' -m32'). |
1126 | 68 |
]. |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
69 |
((ParserFlags stcCompilationDefines ? '') includesString:'-D__amd64_mode32__') ifFalse:[ |
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
70 |
ParserFlags stcCompilationDefines:((ParserFlags stcCompilationDefines ? ''), ' -D__amd64_mode32__'). |
1126 | 71 |
]. |
72 |
]. |
|
73 |
||
1363
97d15780a26b
Fix in stc setup - care for ParserFlags linkArgs returning nil!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1321
diff
changeset
|
74 |
|
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
75 |
includes := ''. |
1311 | 76 |
incDir := Smalltalk getSystemFileName:'include/stc.h'. |
77 |
incDir notNil ifTrue:[ incDir := incDir asFilename directoryName ]. |
|
78 |
||
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
79 |
incDir notNil ifTrue:[ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
80 |
includes := includes , '-I' , incDir asFilename pathName , ' ' |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
81 |
] ifFalse:[ |
677 | 82 |
('../../../stx/include' asFilename exists) ifTrue:[ |
1311 | 83 |
"/ running in a development environment... |
677 | 84 |
includes := includes , '-I../../../stx/include '. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
85 |
] ifFalse:[ |
1313 | 86 |
('../../include' asFilename exists) ifTrue:[ |
87 |
"/ running in a development environment... |
|
88 |
includes := includes , '-I../../include '. |
|
89 |
] ifFalse:[ |
|
90 |
"/ if this is a production program, dont care for a warning |
|
91 |
(Smalltalk isStandAloneApp or:[Smalltalk isHeadless]) |
|
92 |
ifFalse:[ |
|
93 |
'host.rc [warning]: no >>include<< directory found along your path.' infoPrintCR. |
|
94 |
'host.rc [warning]: this might affect stc-compilation from within the browser.' infoPrintCR. |
|
95 |
] |
|
405 | 96 |
] |
677 | 97 |
] |
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
98 |
]. |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
99 |
|
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
100 |
ParserFlags stcCompilationIncludes:includes. |
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
101 |
|
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
102 |
"/ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
103 |
"/ for myself: preset flags, so that we can accept GLXWorkstation code |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
104 |
"/ You probably will never do this. |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
105 |
"/ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
106 |
(Display notNil and:[Display supportsGLDrawing]) ifTrue:[ |
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
107 |
sysType = 'irix' ifTrue:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
108 |
ParserFlags stcCompilationDefines:'-DGLX'. |
577
d574370a1da5
only change compiler settings in host.rc, if not started from an image.
Claus Gittinger <cg@exept.de>
parents:
498
diff
changeset
|
109 |
] ifFalse:[ |
1523
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
110 |
ParserFlags stcCompilationIncludes:'-I../../include -I../../support/VGL/vogl/src'. |
07a68963b4cc
Do not use obsolete methods (Compiler vs. ParserFlags)
Stefan Vogel <sv@exept.de>
parents:
1493
diff
changeset
|
111 |
ParserFlags stcCompilationDefines:'-DVGL'. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
112 |
] |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
113 |
]. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
114 |
]. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
115 |
|
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
116 |
"/ |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
117 |
"/ try systemType-specific setup |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
118 |
"/ h_<osType>.rc |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
119 |
"/ |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
120 |
(Smalltalk at:#'_ImageOSTypeName') ~= sysType ifTrue:[ |
333 | 121 |
('host.rc [info]: ') infoPrint. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
122 |
|
1295 | 123 |
"/ ('trying host setup h_' , sysType , '.rc...') infoPrintCR. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
124 |
s := Smalltalk systemFileStreamFor:('h_' , sysType , '.rc'). |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
125 |
s notNil ifTrue:[ |
1295 | 126 |
('reading host setup h_' , sysType , '.rc...') infoPrintCR. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
127 |
s fileIn. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
128 |
s close. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
129 |
]. |
1321 | 130 |
Smalltalk at:#'_ImageOSTypeName' put:sysType. |
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
131 |
]. |
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
132 |
|
165 | 133 |
"/ |
134 |
"/ try host-specific setup |
|
331
a0be330a1f43
moved compiler setup into host-specific file.
Claus Gittinger <cg@exept.de>
parents:
270
diff
changeset
|
135 |
"/ h_<hostname>.rc |
165 | 136 |
"/ |
2 | 137 |
host isNil ifTrue:[ |
195 | 138 |
'host.rc [warning]: cannot determine host I am running on' errorPrintCR. |
2 | 139 |
] ifFalse:[ |
0 | 140 |
"if there is a corresponding file ..." |
103
9f5c03497b38
example - checking for the domain
Claus Gittinger <cg@exept.de>
parents:
8
diff
changeset
|
141 |
|
5 | 142 |
(Smalltalk at:#'_ImageHostName') ~= host ifTrue:[ |
1295 | 143 |
"/ ('host.rc [info]: trying host setup h_' , host , '.rc...') infoPrintCR. |
5 | 144 |
|
8 | 145 |
s := Smalltalk systemFileStreamFor:('h_' , host , '.rc'). |
146 |
s notNil ifTrue:[ |
|
1295 | 147 |
('host.rc [info]: reading host setup h_' , host , '.rc...') infoPrintCR. |
8 | 148 |
s fileIn. |
149 |
s close. |
|
150 |
]. |
|
151 |
Smalltalk at:#'_ImageHostName' put:host. |
|
0 | 152 |
] |
153 |
]. |
|
154 |
! |