OLD | NEW |
1 $! | 1 $! |
2 $! MAKEAPPS.COM | 2 $! MAKEENGINES.COM |
3 $! Written By: Richard Levitte | 3 $! Written By: Richard Levitte |
4 $! richard@levitte.org | 4 $! richard@levitte.org |
5 $! | 5 $! |
6 $! This command file compiles and creates the various engines in form | 6 $! This command file compiles and creates the various engines in form |
7 $! of shared images. They are placed in [.xxx.EXE.ENGINES], where "xxx" | 7 $! of shared images. They are placed in [.xxx.EXE.ENGINES], where "xxx" |
8 $! is ALPHA, IA64 or VAX, depending on your hardware. | 8 $! is ALPHA, IA64 or VAX, depending on your hardware. |
9 $! | 9 $! |
10 $! P1 if this is ENGINES or ALL, the engines will build, otherwise not. | 10 $! P1 if this is ENGINES or ALL, the engines will build, otherwise not. |
11 $! | 11 $! |
12 $! P2 DEBUG or NODEBUG to compile with or without debugger information. | 12 $! P2 DEBUG or NODEBUG to compile with or without debugger information. |
13 $! | 13 $! |
14 $! P3 VAXC for VAX C | 14 $! P3 VAXC for VAX C |
15 $! DECC for DEC C | 15 $! DECC for DEC C |
16 $! GNUC for GNU C (untested) | 16 $! GNUC for GNU C (untested) |
17 $! | 17 $! |
18 $! P4 if defined, sets the TCP/IP libraries to use. UCX or TCPIP is | 18 $! P4 if defined, sets the TCP/IP libraries to use. UCX or TCPIP is |
19 $! used by default since most other implementations come with a | 19 $! used by default since most other implementations come with a |
20 $! compatibility library. The value must be one of the following: | 20 $! compatibility library. The value must be one of the following: |
21 $! | 21 $! |
22 $! UCX for UCX | 22 $! UCX for UCX |
23 $! SOCKETSHR for SOCKETSHR+NETLIB | 23 $! SOCKETSHR for SOCKETSHR+NETLIB |
24 $! TCPIP for TCPIP (post UCX) | 24 $! TCPIP for TCPIP (post UCX) |
25 $! | 25 $! |
26 $! P5 if defined, tells the compiler not to use special threads. | 26 $! P5 if defined, tells the compiler not to use special threads. |
27 $! | 27 $! |
28 $! P6 if defined, denotes which engines to build. If not defined, | 28 $! P6 if defined, denotes which engines to build. If not defined, |
29 $! all available engines are built. | 29 $! all available engines are built. |
30 $! | 30 $! |
| 31 $! P7, if defined, specifies the C pointer size. Ignored on VAX. |
| 32 $! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.) |
| 33 $! Supported values are: |
| 34 $! |
| 35 $! "" Compile with default (/NOPOINTER_SIZE) |
| 36 $! 32 Compile with /POINTER_SIZE=32 (SHORT) |
| 37 $! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]) |
| 38 $! (Automatically select ARGV if compiler supports it.) |
| 39 $! 64= Compile with /POINTER_SIZE=64 (LONG). |
| 40 $! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV). |
| 41 $! |
| 42 $! P8, if defined, specifies a directory where ZLIB files (zlib.h, |
| 43 $! libz.olb) may be found. Optionally, a non-default object library |
| 44 $! name may be included ("dev:[dir]libz_64.olb", for example). |
| 45 $! |
31 $!----------------------------------------------------------------------------- | 46 $!----------------------------------------------------------------------------- |
32 $! | 47 $! |
33 $! Set the names of the engines we want to build | 48 $! Announce/identify. |
34 $! NOTE: Some might think this list ugly. However, it's made this way to | |
35 $! reflect the LIBNAMES variable in Makefile as closely as possible, | |
36 $! thereby making it fairly easy to verify that the lists are the same. | |
37 $! NOTE: gmp isn't built, as it's mostly a test engine and brings in another | |
38 $! library that isn't necessarely ported to VMS. | |
39 $! | 49 $! |
40 $ ENGINES = "," + P6 | 50 $ proc = f$environment( "procedure") |
41 $ IF ENGINES .EQS. "," THEN - | 51 $ write sys$output "@@@ "+ - |
42 » ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec,capi" | 52 f$parse( proc, , , "name")+ f$parse( proc, , , "type") |
| 53 $! |
| 54 $ on control_c then goto exit |
43 $! | 55 $! |
44 $! Set the default TCP/IP library to link against if needed | 56 $! Set the default TCP/IP library to link against if needed |
45 $! | 57 $! |
46 $ TCPIP_LIB = "" | 58 $ TCPIP_LIB = "" |
| 59 $ ZLIB_LIB = "" |
47 $! | 60 $! |
48 $! Check What Architecture We Are Using. | 61 $! Check What Architecture We Are Using. |
49 $! | 62 $! |
50 $ IF (F$GETSYI("CPU").LT.128) | 63 $ IF (F$GETSYI("CPU").LT.128) |
51 $ THEN | 64 $ THEN |
52 $! | 65 $! |
53 $! The Architecture Is VAX. | 66 $! The Architecture Is VAX. |
54 $! | 67 $! |
55 $ ARCH := VAX | 68 $ ARCH = "VAX" |
56 $! | 69 $! |
57 $! Else... | 70 $! Else... |
58 $! | 71 $! |
59 $ ELSE | 72 $ ELSE |
60 $! | 73 $! |
61 $! The Architecture Is Alpha, IA64 or whatever comes in the future. | 74 $! The Architecture Is Alpha, IA64 or whatever comes in the future. |
62 $! | 75 $! |
63 $ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") | 76 $ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") |
64 $ IF (ARCH .EQS. "") THEN ARCH = "UNK" | 77 $ IF (ARCH .EQS. "") THEN ARCH = "UNK" |
65 $! | 78 $! |
66 $! End The Architecture Check. | 79 $! End The Architecture Check. |
67 $! | 80 $! |
68 $ ENDIF | 81 $ ENDIF |
69 $! | 82 $! |
70 $! Set the goal directories, and creat them if necessary | 83 $ ARCHD = ARCH |
| 84 $ LIB32 = "32" |
| 85 $ OPT_FILE = "" |
| 86 $ POINTER_SIZE = "" |
71 $! | 87 $! |
72 $ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.ENGINES] | 88 $! Set the names of the engines we want to build |
73 $ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.ENGINES] | 89 $! NOTE: Some might think this list ugly. However, it's made this way to |
74 $ IF F$PARSE(OBJ_DIR) .EQS. "" THEN CREATE/DIRECTORY 'OBJ_DIR' | 90 $! reflect the LIBNAMES variable in Makefile as closely as possible, |
75 $ IF F$PARSE(EXE_DIR) .EQS. "" THEN CREATE/DIRECTORY 'EXE_DIR' | 91 $! thereby making it fairly easy to verify that the lists are the same. |
| 92 $! NOTE: gmp isn't built, as it's mostly a test engine and brings in another |
| 93 $! library that isn't necessarely ported to VMS. |
76 $! | 94 $! |
77 $! Set the goal files, and create them if necessary | 95 $ ENGINES = "," + P6 |
| 96 $ IF ENGINES .EQS. "," THEN - |
| 97 » ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec,padlock,
" |
78 $! | 98 $! |
79 $ CRYPTO_LIB :=SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB | 99 $! GOST requires a 64-bit integer type, unavailable on VAX. |
80 $ IF F$SEARCH(CRYPTO_LIB) .EQS. "" THEN LIBRARY/CREATE/OBJECT 'CRYPTO_LIB' | |
81 $! | 100 $! |
82 $! OK, time to check options and initialise | 101 $ IF (ARCH .NES. "VAX") THEN - |
| 102 ENGINES = ENGINES+ ",ccgost" |
| 103 $! |
| 104 $! Check options. |
83 $! | 105 $! |
84 $ OPT_PHASE = P1 | 106 $ OPT_PHASE = P1 |
85 $ ACCEPT_PHASE = "ALL,ENGINES" | 107 $ ACCEPT_PHASE = "ALL,ENGINES" |
86 $ OPT_DEBUG = P2 | 108 $ OPT_DEBUG = P2 |
87 $ OPT_COMPILER = P3 | 109 $ OPT_COMPILER = P3 |
88 $ OPT_TCPIP_LIB = P4 | 110 $ OPT_TCPIP_LIB = P4 |
89 $ OPT_SPECIAL_THREADS = P5 | 111 $ OPT_SPECIAL_THREADS = P5 |
| 112 $ OPT_POINTER_SIZE = P7 |
| 113 $ ZLIB = P8 |
90 $ | 114 $ |
91 $ GOSUB CHECK_OPTIONS | 115 $ GOSUB CHECK_OPTIONS |
| 116 $! |
| 117 $! Set the goal directories, and create them if necessary |
| 118 $! |
| 119 $ OBJ_DIR := SYS$DISK:[-.'ARCHD'.OBJ.ENGINES] |
| 120 $ EXE_DIR := SYS$DISK:[-.'ARCHD'.EXE.ENGINES] |
| 121 $ IF F$PARSE(OBJ_DIR) .EQS. "" THEN CREATE/DIRECTORY 'OBJ_DIR' |
| 122 $ IF F$PARSE(EXE_DIR) .EQS. "" THEN CREATE/DIRECTORY 'EXE_DIR' |
| 123 $! |
| 124 $! Set the goal files, and create them if necessary |
| 125 $! |
| 126 $ CRYPTO_LIB := SYS$DISK:[-.'ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO'LIB32'.OLB |
| 127 $ IF F$SEARCH(CRYPTO_LIB) .EQS. "" THEN LIBRARY/CREATE/OBJECT 'CRYPTO_LIB' |
| 128 $! |
| 129 $! Specify the destination directory in any /MAP option. |
| 130 $! |
| 131 $ if (LINKMAP .eqs. "MAP") |
| 132 $ then |
| 133 $ LINKMAP = LINKMAP+ "=''EXE_DIR'" |
| 134 $ endif |
| 135 $! |
| 136 $! Add the location prefix to the linker options file name. |
| 137 $! |
| 138 $ if (OPT_FILE .nes. "") |
| 139 $ then |
| 140 $ OPT_FILE = EXE_DIR+ OPT_FILE |
| 141 $ endif |
| 142 $! |
| 143 $! Initialise. |
| 144 $! |
92 $ GOSUB INITIALISE | 145 $ GOSUB INITIALISE |
93 $ GOSUB CHECK_OPT_FILE | 146 $ GOSUB CHECK_OPT_FILE |
94 $! | 147 $! |
95 $! Define what goes into each engine. VAX includes a transfer vector. | 148 $! Define what goes into each engine. VAX includes a transfer vector. |
96 $! | 149 $! |
97 $ ENGINE_ = "" | 150 $ ENGINE_ = "" |
98 $ TV_OBJ = "" | 151 $ TV_OBJ = "" |
99 $ IF ARCH .EQS. "VAX" | 152 $ IF ARCH .EQS. "VAX" |
100 $ THEN | 153 $ THEN |
101 $ ENGINE_ = "engine_vector.mar" | 154 $ ENGINE_ = "engine_vector.mar" |
102 $ TV_OBJ_NAME = OBJ_DIR + F$PARSE(ENGINE_,,,"NAME","SYNTAX_ONLY") + ".OBJ" | 155 $ TV_OBJ_NAME = OBJ_DIR + F$PARSE(ENGINE_,,,"NAME","SYNTAX_ONLY") + ".OBJ" |
103 $ TV_OBJ = ",''TV_OBJ_NAME'" | 156 $ TV_OBJ = ",''TV_OBJ_NAME'" |
104 $ ENDIF | 157 $ ENDIF |
105 $ ENGINE_4758CCA = "e_4758cca" | 158 $ ENGINE_4758CCA = "e_4758cca" |
106 $ ENGINE_aep = "e_aep" | 159 $ ENGINE_aep = "e_aep" |
107 $ ENGINE_atalla = "e_atalla" | 160 $ ENGINE_atalla = "e_atalla" |
108 $ ENGINE_cswift = "e_cswift" | 161 $ ENGINE_cswift = "e_cswift" |
109 $ ENGINE_chil = "e_chil" | 162 $ ENGINE_chil = "e_chil" |
110 $ ENGINE_nuron = "e_nuron" | 163 $ ENGINE_nuron = "e_nuron" |
111 $ ENGINE_sureware = "e_sureware" | 164 $ ENGINE_sureware = "e_sureware" |
112 $ ENGINE_ubsec = "e_ubsec" | 165 $ ENGINE_ubsec = "e_ubsec" |
113 $ ENGINE_capi = "e_capi" | 166 $ ENGINE_padlock = "e_padlock" |
| 167 $ |
| 168 $ ENGINE_ccgost_SUBDIR = "ccgost" |
| 169 $ ENGINE_ccgost = "e_gost_err,gost2001_keyx,gost2001,gost89,gost94_keyx,"+ - |
| 170 » » "gost_ameth,gost_asn1,gost_crypt,gost_ctl,gost_eng,"+ - |
| 171 » » "gosthash,gost_keywrap,gost_md,gost_params,gost_pmeth,"+ - |
| 172 » » "gost_sign" |
114 $! | 173 $! |
115 $! Define which programs need to be linked with a TCP/IP library | 174 $! Define which programs need to be linked with a TCP/IP library |
116 $! | 175 $! |
117 $ TCPIP_ENGINES = ",," | 176 $ TCPIP_ENGINES = ",," |
118 $ IF COMPILER .EQS. "VAXC" THEN - | 177 $ IF COMPILER .EQS. "VAXC" THEN - |
119 TCPIP_ENGINES = ",," | 178 TCPIP_ENGINES = ",," |
120 $! | 179 $! |
121 $! Set up two loops, one that keeps track of the engines, | 180 $! Set up two loops, one that keeps track of the engines, |
122 $! and one that keeps track of all the files going into | 181 $! and one that keeps track of all the files going into |
123 $! the current engine. | 182 $! the current engine. |
(...skipping 26 matching lines...) Expand all Loading... |
150 $! | 209 $! |
151 $! Talk to the user | 210 $! Talk to the user |
152 $! | 211 $! |
153 $ IF ENGINE_NAME .NES. "" | 212 $ IF ENGINE_NAME .NES. "" |
154 $ THEN | 213 $ THEN |
155 $ WRITE SYS$OUTPUT "Compiling The ",ENGINE_NAME," Library Files. (",BUILDALL,"
)" | 214 $ WRITE SYS$OUTPUT "Compiling The ",ENGINE_NAME," Library Files. (",BUILDALL,"
)" |
156 $ ELSE | 215 $ ELSE |
157 $ WRITE SYS$OUTPUT "Compiling Support Files. (",BUILDALL,")" | 216 $ WRITE SYS$OUTPUT "Compiling Support Files. (",BUILDALL,")" |
158 $ ENDIF | 217 $ ENDIF |
159 $! | 218 $! |
| 219 $! Create a .OPT file for the object files (for a real engine name). |
| 220 $! |
| 221 $ IF ENGINE_NAME .NES. "" |
| 222 $ THEN |
| 223 $ OPEN /WRITE OBJECTS 'EXE_DIR''ENGINE_NAME'.OPT |
| 224 $ ENDIF |
| 225 $! |
160 $! Here's the start of per-engine module loop. | 226 $! Here's the start of per-engine module loop. |
161 $! | 227 $! |
162 $ FILE_COUNTER = 0 | 228 $ FILE_COUNTER = 0 |
163 $ FILE_NEXT: | 229 $ FILE_NEXT: |
164 $! | 230 $! |
165 $! Extract the file name from the file list, and if we've reached the end, stop | 231 $! Extract the file name from the file list, and if we've reached the end, stop |
166 $! | 232 $! |
167 $ FILE_NAME = F$ELEMENT(FILE_COUNTER,",",'LIB_ENGINE') | 233 $ FILE_NAME = F$ELEMENT(FILE_COUNTER,",",'LIB_ENGINE') |
168 $ IF (FILE_NAME.EQS.",") THEN GOTO FILE_DONE | 234 $ IF (FILE_NAME.EQS.",") THEN GOTO FILE_DONE |
169 $! | 235 $! |
170 $ FILE_COUNTER = FILE_COUNTER + 1 | 236 $ FILE_COUNTER = FILE_COUNTER + 1 |
171 $! | 237 $! |
172 $ IF FILE_NAME .EQS. "" THEN GOTO FILE_NEXT | 238 $ IF FILE_NAME .EQS. "" THEN GOTO FILE_NEXT |
173 $! | 239 $! |
174 $! Set up the source and object reference | 240 $! Set up the source and object reference |
175 $! | 241 $! |
176 $ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[].C",,,"SYNTAX_ONLY") | 242 $ IF F$TYPE('LIB_ENGINE'_SUBDIR) .EQS. "" |
| 243 $ THEN |
| 244 $ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[].C",,,"SYNTAX_ONLY") |
| 245 $ ELSE |
| 246 $ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[."+'LIB_ENGINE'_SUBDIR+"].C",,,
"SYNTAX_ONLY") |
| 247 $ ENDIF |
177 $ OBJECT_FILE = OBJ_DIR + F$PARSE(FILE_NAME,,,"NAME","SYNTAX_ONLY") + ".OBJ" | 248 $ OBJECT_FILE = OBJ_DIR + F$PARSE(FILE_NAME,,,"NAME","SYNTAX_ONLY") + ".OBJ" |
178 $! | 249 $! |
179 $! If we get some problem, we just go on trying to build the next module. | 250 $! If we get some problem, we just go on trying to build the next module. |
180 $ ON WARNING THEN GOTO FILE_NEXT | 251 $ ON WARNING THEN GOTO FILE_NEXT |
181 $! | 252 $! |
182 $! Check if the module we want to compile is actually there. | 253 $! Check if the module we want to compile is actually there. |
183 $! | 254 $! |
184 $ IF F$SEARCH(SOURCE_FILE) .EQS. "" | 255 $ IF F$SEARCH(SOURCE_FILE) .EQS. "" |
185 $ THEN | 256 $ THEN |
186 $ WRITE SYS$OUTPUT "" | 257 $ WRITE SYS$OUTPUT "" |
187 $ WRITE SYS$OUTPUT "The File ",SOURCE_FILE," Doesn't Exist." | 258 $ WRITE SYS$OUTPUT "The File ",SOURCE_FILE," Doesn't Exist." |
188 $ WRITE SYS$OUTPUT "" | 259 $ WRITE SYS$OUTPUT "" |
189 $ GOTO EXIT | 260 $ GOTO EXIT |
190 $ ENDIF | 261 $ ENDIF |
191 $! | 262 $! |
192 $! Talk to the user. | 263 $! Talk to the user. |
193 $! | 264 $! |
194 $ WRITE SYS$OUTPUT " ",FILE_NAME,"" | 265 $ WRITE SYS$OUTPUT " ",FILE_NAME,"" |
195 $! | 266 $! |
196 $! Do the dirty work. | 267 $! Do the dirty work. |
197 $! | 268 $! |
198 $ ON ERROR THEN GOTO FILE_NEXT | 269 $ ON ERROR THEN GOTO FILE_NEXT |
199 $ IF F$EDIT(F$PARSE(SOURCE_FILE,,,"TYPE","SYNTAX_ONLY"),"UPCASE") .EQS. ".MAR" | 270 $ IF F$EDIT(F$PARSE(SOURCE_FILE,,,"TYPE","SYNTAX_ONLY"),"UPCASE") .EQS. ".MAR" |
200 $ THEN | 271 $ THEN |
201 $ MACRO/OBJECT='OBJECT_FILE' 'SOURCE_FILE' | 272 $ MACRO/OBJECT='OBJECT_FILE' 'SOURCE_FILE' |
202 $ ELSE | 273 $ ELSE |
203 $ CC/OBJECT='OBJECT_FILE' 'SOURCE_FILE' | 274 $ CC/OBJECT='OBJECT_FILE' 'SOURCE_FILE' |
204 $ ENDIF | 275 $ ENDIF |
205 $! | 276 $! |
| 277 $! Write the entry to the .OPT file (for a real engine name). |
| 278 $! |
| 279 $ IF ENGINE_NAME .NES. "" |
| 280 $ THEN |
| 281 $ WRITE OBJECTS OBJECT_FILE |
| 282 $ ENDIF |
| 283 $! |
| 284 $! Next file |
| 285 $! |
| 286 $ GOTO FILE_NEXT |
| 287 $! |
| 288 $ FILE_DONE: |
| 289 $! |
206 $! Do not link the support files. | 290 $! Do not link the support files. |
207 $! | 291 $! |
208 $ IF ENGINE_NAME .EQS. "" THEN GOTO ENGINE_NEXT | 292 $ IF ENGINE_NAME .EQS. "" THEN GOTO ENGINE_NEXT |
209 $! | 293 $! |
| 294 $! Close the linker options file (for a real engine name). |
| 295 $! |
| 296 $ CLOSE OBJECTS |
| 297 $! |
210 $! Now, there are two ways to handle this. We can either build | 298 $! Now, there are two ways to handle this. We can either build |
211 $! shareable images or stick the engine object file into libcrypto. | 299 $! shareable images or stick the engine object file into libcrypto. |
212 $! For now, the latter is NOT supported. | 300 $! For now, the latter is NOT supported. |
213 $! | 301 $! |
214 $!!!!! LIBRARY/REPLACE 'CRYPTO_LIB' 'OBJECT_FILE' | 302 $!!!!! LIBRARY/REPLACE 'CRYPTO_LIB' 'OBJECT_FILE' |
215 $! | 303 $! |
216 $! For shareable libraries, we need to do things a little differently | 304 $! For shareable libraries, we need to do things a little differently |
217 $! depending on if we link with a TCP/IP library or not. | 305 $! depending on if we link with a TCP/IP library or not. |
218 $! | 306 $! |
219 $ ENGINE_OPT := SYS$DISK:[]'ARCH'.OPT | 307 $ ENGINE_OPT := SYS$DISK:[]'ARCH'.OPT |
220 $ IF TCPIP_LIB .NES. "" | 308 $ LINK /'DEBUGGER' /'LINKMAP' /'TRACEBACK' /SHARE='EXE_DIR''ENGINE_NAME'.EXE - |
221 $ THEN | 309 'EXE_DIR''ENGINE_NAME'.OPT /OPTIONS - |
222 $ LINK/'DEBUGGER'/'TRACEBACK' /SHARE='EXE_DIR''ENGINE_NAME'.EXE - | 310 'TV_OBJ', - |
223 » 'OBJECT_FILE''TV_OBJ', - | 311 'CRYPTO_LIB' /LIBRARY, - |
224 » 'CRYPTO_LIB'/LIBRARY, - | 312 'ENGINE_OPT' /OPTIONS - |
225 » 'ENGINE_OPT'/OPTION,'TCPIP_LIB','OPT_FILE'/OPTION | 313 'TCPIP_LIB' - |
226 $ ELSE | 314 'ZLIB_LIB' - |
227 $ LINK/'DEBUGGER'/'TRACEBACK' /SHARE='EXE_DIR''ENGINE_NAME'.EXE - | 315 ,'OPT_FILE' /OPTIONS |
228 » 'OBJECT_FILE''TV_OBJ', - | |
229 'CRYPTO_LIB'/LIBRARY, - | |
230 » 'ENGINE_OPT'/OPTION,'OPT_FILE'/OPTION | |
231 $ ENDIF | |
232 $! | |
233 $! Clean up | |
234 $! | |
235 $ DELETE 'OBJECT_FILE';* | |
236 $! | |
237 $! Next file | |
238 $! | |
239 $ GOTO FILE_NEXT | |
240 $! | |
241 $ FILE_DONE: | |
242 $! | 316 $! |
243 $! Next engine | 317 $! Next engine |
244 $! | 318 $! |
245 $ GOTO ENGINE_NEXT | 319 $ GOTO ENGINE_NEXT |
246 $! | 320 $! |
247 $ ENGINE_DONE: | 321 $ ENGINE_DONE: |
248 $! | 322 $! |
249 $! Talk to the user | 323 $! Talk to the user |
250 $! | 324 $! |
251 $ WRITE SYS$OUTPUT "All Done..." | 325 $ WRITE SYS$OUTPUT "All Done..." |
(...skipping 13 matching lines...) Expand all Loading... |
265 $! Check To See If We Already Have A VAX C Linker Option File. | 339 $! Check To See If We Already Have A VAX C Linker Option File. |
266 $! | 340 $! |
267 $ IF (F$SEARCH(OPT_FILE).EQS."") | 341 $ IF (F$SEARCH(OPT_FILE).EQS."") |
268 $ THEN | 342 $ THEN |
269 $! | 343 $! |
270 $! We Need A VAX C Linker Option File. | 344 $! We Need A VAX C Linker Option File. |
271 $! | 345 $! |
272 $ CREATE 'OPT_FILE' | 346 $ CREATE 'OPT_FILE' |
273 $DECK | 347 $DECK |
274 ! | 348 ! |
275 ! Default System Options File To Link Agianst | 349 ! Default System Options File To Link Against |
276 ! The Sharable VAX C Runtime Library. | 350 ! The Sharable VAX C Runtime Library. |
277 ! | 351 ! |
278 SYS$SHARE:VAXCRTL.EXE/SHARE | 352 SYS$SHARE:VAXCRTL.EXE/SHARE |
279 $EOD | 353 $EOD |
280 $! | 354 $! |
281 $! End The Option File Check. | 355 $! End The Option File Check. |
282 $! | 356 $! |
283 $ ENDIF | 357 $ ENDIF |
284 $! | 358 $! |
285 $! End The VAXC Check. | 359 $! End The VAXC Check. |
286 $! | 360 $! |
287 $ ENDIF | 361 $ ENDIF |
288 $! | 362 $! |
289 $! Check To See If We Need A GNU C Option File. | 363 $! Check To See If We Need A GNU C Option File. |
290 $! | 364 $! |
291 $ IF (COMPILER.EQS."GNUC") | 365 $ IF (COMPILER.EQS."GNUC") |
292 $ THEN | 366 $ THEN |
293 $! | 367 $! |
294 $! Check To See If We Already Have A GNU C Linker Option File. | 368 $! Check To See If We Already Have A GNU C Linker Option File. |
295 $! | 369 $! |
296 $ IF (F$SEARCH(OPT_FILE).EQS."") | 370 $ IF (F$SEARCH(OPT_FILE).EQS."") |
297 $ THEN | 371 $ THEN |
298 $! | 372 $! |
299 $! We Need A GNU C Linker Option File. | 373 $! We Need A GNU C Linker Option File. |
300 $! | 374 $! |
301 $ CREATE 'OPT_FILE' | 375 $ CREATE 'OPT_FILE' |
302 $DECK | 376 $DECK |
303 ! | 377 ! |
304 ! Default System Options File To Link Agianst | 378 ! Default System Options File To Link Against |
305 ! The Sharable C Runtime Library. | 379 ! The Sharable C Runtime Library. |
306 ! | 380 ! |
307 GNU_CC:[000000]GCCLIB/LIBRARY | 381 GNU_CC:[000000]GCCLIB/LIBRARY |
308 SYS$SHARE:VAXCRTL/SHARE | 382 SYS$SHARE:VAXCRTL/SHARE |
309 $EOD | 383 $EOD |
310 $! | 384 $! |
311 $! End The Option File Check. | 385 $! End The Option File Check. |
312 $! | 386 $! |
313 $ ENDIF | 387 $ ENDIF |
314 $! | 388 $! |
(...skipping 14 matching lines...) Expand all Loading... |
329 $! Figure Out If We Need A non-VAX Or A VAX Linker Option File. | 403 $! Figure Out If We Need A non-VAX Or A VAX Linker Option File. |
330 $! | 404 $! |
331 $ IF ARCH .EQS. "VAX" | 405 $ IF ARCH .EQS. "VAX" |
332 $ THEN | 406 $ THEN |
333 $! | 407 $! |
334 $! We Need A DEC C Linker Option File For VAX. | 408 $! We Need A DEC C Linker Option File For VAX. |
335 $! | 409 $! |
336 $ CREATE 'OPT_FILE' | 410 $ CREATE 'OPT_FILE' |
337 $DECK | 411 $DECK |
338 ! | 412 ! |
339 ! Default System Options File To Link Agianst | 413 ! Default System Options File To Link Against |
340 ! The Sharable DEC C Runtime Library. | 414 ! The Sharable DEC C Runtime Library. |
341 ! | 415 ! |
342 SYS$SHARE:DECC$SHR.EXE/SHARE | 416 SYS$SHARE:DECC$SHR.EXE/SHARE |
343 $EOD | 417 $EOD |
344 $! | 418 $! |
345 $! Else... | 419 $! Else... |
346 $! | 420 $! |
347 $ ELSE | 421 $ ELSE |
348 $! | 422 $! |
349 $! Create The non-VAX Linker Option File. | 423 $! Create The non-VAX Linker Option File. |
350 $! | 424 $! |
351 $ CREATE 'OPT_FILE' | 425 $ CREATE 'OPT_FILE' |
352 $DECK | 426 $DECK |
353 ! | 427 ! |
354 ! Default System Options File For non-VAX To Link Agianst | 428 ! Default System Options File For non-VAX To Link Against |
355 ! The Sharable C Runtime Library. | 429 ! The Sharable C Runtime Library. |
356 ! | 430 ! |
357 SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE | 431 SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE |
358 SYS$SHARE:CMA$OPEN_RTL/SHARE | 432 SYS$SHARE:CMA$OPEN_RTL/SHARE |
359 $EOD | 433 $EOD |
360 $! | 434 $! |
361 $! End The DEC C Option File Check. | 435 $! End The DEC C Option File Check. |
362 $! | 436 $! |
363 $ ENDIF | 437 $ ENDIF |
364 $! | 438 $! |
(...skipping 23 matching lines...) Expand all Loading... |
388 $ THEN | 462 $ THEN |
389 $! | 463 $! |
390 $! OPT_PHASE Is Blank, So Build Everything. | 464 $! OPT_PHASE Is Blank, So Build Everything. |
391 $! | 465 $! |
392 $ BUILDALL = "ALL" | 466 $ BUILDALL = "ALL" |
393 $! | 467 $! |
394 $! Else... | 468 $! Else... |
395 $! | 469 $! |
396 $ ELSE | 470 $ ELSE |
397 $! | 471 $! |
398 $! Else, Check To See If OPT_PHASE Has A Valid Arguement. | 472 $! Else, Check To See If OPT_PHASE Has A Valid Argument. |
399 $! | 473 $! |
400 $ IF ("," + ACCEPT_PHASE + ",") - ("," + OPT_PHASE + ",") - | 474 $ IF ("," + ACCEPT_PHASE + ",") - ("," + OPT_PHASE + ",") - |
401 .NES. ("," + ACCEPT_PHASE + ",") | 475 .NES. ("," + ACCEPT_PHASE + ",") |
402 $ THEN | 476 $ THEN |
403 $! | 477 $! |
404 $! A Valid Arguement. | 478 $! A Valid Argument. |
405 $! | 479 $! |
406 $ BUILDALL = OPT_PHASE | 480 $ BUILDALL = OPT_PHASE |
407 $! | 481 $! |
408 $! Else... | 482 $! Else... |
409 $! | 483 $! |
410 $ ELSE | 484 $ ELSE |
411 $! | 485 $! |
412 $! Tell The User We Don't Know What They Want. | 486 $! Tell The User We Don't Know What They Want. |
413 $! | 487 $! |
414 $ WRITE SYS$OUTPUT "" | 488 $ WRITE SYS$OUTPUT "" |
415 $ WRITE SYS$OUTPUT "The option ",OPT_PHASE," is invalid. The valid options
are:" | 489 $ WRITE SYS$OUTPUT "The option ",OPT_PHASE," is invalid. The valid options
are:" |
416 $ WRITE SYS$OUTPUT "" | 490 $ WRITE SYS$OUTPUT "" |
417 $ IF ("," + ACCEPT_PHASE + ",") - ",ALL," - | 491 $ IF ("," + ACCEPT_PHASE + ",") - ",ALL," - |
418 .NES. ("," + ACCEPT_PHASE + ",") THEN - | 492 .NES. ("," + ACCEPT_PHASE + ",") THEN - |
419 WRITE SYS$OUTPUT " ALL : just build everything." | 493 WRITE SYS$OUTPUT " ALL : just build everything." |
420 $ IF ("," + ACCEPT_PHASE + ",") - ",ENGINES," - | 494 $ IF ("," + ACCEPT_PHASE + ",") - ",ENGINES," - |
421 .NES. ("," + ACCEPT_PHASE + ",") THEN - | 495 .NES. ("," + ACCEPT_PHASE + ",") THEN - |
422 WRITE SYS$OUTPUT " ENGINES : to compile just the [.xxx.EXE.ENGINES]
*.EXE hareable images." | 496 WRITE SYS$OUTPUT " ENGINES : to compile just the [.xxx.EXE.ENGINES]
*.EXE hareable images." |
423 $ WRITE SYS$OUTPUT "" | 497 $ WRITE SYS$OUTPUT "" |
424 $ WRITE SYS$OUTPUT " where 'xxx' stands for:" | 498 $ WRITE SYS$OUTPUT " where 'xxx' stands for:" |
425 $ WRITE SYS$OUTPUT "" | 499 $ WRITE SYS$OUTPUT "" |
426 $ WRITE SYS$OUTPUT " ALPHA : Alpha architecture." | 500 $ WRITE SYS$OUTPUT " ALPHA[64]: Alpha architecture." |
427 $ WRITE SYS$OUTPUT " IA64 : IA64 architecture." | 501 $ WRITE SYS$OUTPUT " IA64[64] : IA64 architecture." |
428 $ WRITE SYS$OUTPUT " VAX : VAX architecture." | 502 $ WRITE SYS$OUTPUT " VAX : VAX architecture." |
429 $ WRITE SYS$OUTPUT "" | 503 $ WRITE SYS$OUTPUT "" |
430 $! | 504 $! |
431 $! Time To EXIT. | 505 $! Time To EXIT. |
432 $! | 506 $! |
433 $ EXIT | 507 $ EXIT |
434 $! | 508 $! |
435 $! End The Valid Arguement Check. | 509 $! End The Valid Argument Check. |
436 $! | 510 $! |
437 $ ENDIF | 511 $ ENDIF |
438 $! | 512 $! |
439 $! End The OPT_PHASE Check. | 513 $! End The OPT_PHASE Check. |
440 $! | 514 $! |
441 $ ENDIF | 515 $ ENDIF |
442 $! | 516 $! |
443 $! Check To See If OPT_DEBUG Is Blank. | 517 $! Check To See If OPT_DEBUG Is Blank. |
444 $! | 518 $! |
445 $ IF (OPT_DEBUG.EQS."NODEBUG") | 519 $ IF (OPT_DEBUG.EQS."NODEBUG") |
446 $ THEN | 520 $ THEN |
447 $! | 521 $! |
448 $! OPT_DEBUG Is NODEBUG, So Compile Without The Debugger Information. | 522 $! OPT_DEBUG Is NODEBUG, So Compile Without The Debugger Information. |
449 $! | 523 $! |
450 $ DEBUGGER = "NODEBUG" | 524 $ DEBUGGER = "NODEBUG" |
451 $ TRACEBACK = "NOTRACEBACK" | 525 $ LINKMAP = "NOMAP" |
452 $ GCC_OPTIMIZE = "OPTIMIZE" | 526 $ TRACEBACK = "NOTRACEBACK" |
453 $ CC_OPTIMIZE = "OPTIMIZE" | 527 $ GCC_OPTIMIZE = "OPTIMIZE" |
454 $ MACRO_OPTIMIZE = "OPTIMIZE" | 528 $ CC_OPTIMIZE = "OPTIMIZE" |
455 $ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile." | 529 $ MACRO_OPTIMIZE = "OPTIMIZE" |
456 $ WRITE SYS$OUTPUT "Compiling With Compiler Optimization." | 530 $ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile." |
| 531 $ WRITE SYS$OUTPUT "Compiling With Compiler Optimization." |
457 $ ELSE | 532 $ ELSE |
458 $! | 533 $! |
459 $! Check To See If We Are To Compile With Debugger Information. | 534 $! Check To See If We Are To Compile With Debugger Information. |
460 $! | 535 $! |
461 $ IF (OPT_DEBUG.EQS."DEBUG") | 536 $ IF (OPT_DEBUG.EQS."DEBUG") |
462 $ THEN | 537 $ THEN |
463 $! | 538 $! |
464 $! Compile With Debugger Information. | 539 $! Compile With Debugger Information. |
465 $! | 540 $! |
466 $ DEBUGGER = "DEBUG" | 541 $ DEBUGGER = "DEBUG" |
| 542 $ LINKMAP = "MAP" |
467 $ TRACEBACK = "TRACEBACK" | 543 $ TRACEBACK = "TRACEBACK" |
468 $ GCC_OPTIMIZE = "NOOPTIMIZE" | 544 $ GCC_OPTIMIZE = "NOOPTIMIZE" |
469 $ CC_OPTIMIZE = "NOOPTIMIZE" | 545 $ CC_OPTIMIZE = "NOOPTIMIZE" |
470 $ MACRO_OPTIMIZE = "NOOPTIMIZE" | 546 $ MACRO_OPTIMIZE = "NOOPTIMIZE" |
471 $ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile." | 547 $ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile." |
472 $ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization." | 548 $ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization." |
473 $ ELSE | 549 $ ELSE |
474 $! | 550 $! |
475 $! They Entered An Invalid Option.. | 551 $! They Entered An Invalid Option. |
476 $! | 552 $! |
477 $ WRITE SYS$OUTPUT "" | 553 $ WRITE SYS$OUTPUT "" |
478 $ WRITE SYS$OUTPUT "The Option ",OPT_DEBUG," Is Invalid. The Valid Options
Are:" | 554 $ WRITE SYS$OUTPUT "The Option ",OPT_DEBUG," Is Invalid. The Valid Options
Are:" |
479 $ WRITE SYS$OUTPUT "" | 555 $ WRITE SYS$OUTPUT "" |
480 $ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information." | 556 $ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information." |
481 $ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information
." | 557 $ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information
." |
482 $ WRITE SYS$OUTPUT "" | 558 $ WRITE SYS$OUTPUT "" |
483 $! | 559 $! |
484 $! Time To EXIT. | 560 $! Time To EXIT. |
485 $! | 561 $! |
486 $ EXIT | 562 $ EXIT |
487 $! | 563 $! |
488 $! End The Valid Arguement Check. | 564 $! End The Valid Argument Check. |
489 $! | 565 $! |
490 $ ENDIF | 566 $ ENDIF |
491 $! | 567 $! |
492 $! End The OPT_DEBUG Check. | 568 $! End The OPT_DEBUG Check. |
493 $! | 569 $! |
494 $ ENDIF | 570 $ ENDIF |
495 $! | 571 $! |
496 $! Special Threads For OpenVMS v7.1 Or Later | 572 $! Special Threads For OpenVMS v7.1 Or Later |
497 $! | 573 $! |
498 $! Written By: Richard Levitte | 574 $! Written By: Richard Levitte |
(...skipping 21 matching lines...) Expand all Loading... |
520 $ ISSEVEN := ,PTHREAD_USE_D4 | 596 $ ISSEVEN := ,PTHREAD_USE_D4 |
521 $! | 597 $! |
522 $! End The VMS Version Check. | 598 $! End The VMS Version Check. |
523 $! | 599 $! |
524 $ ENDIF | 600 $ ENDIF |
525 $! | 601 $! |
526 $! End The OPT_SPECIAL_THREADS Check. | 602 $! End The OPT_SPECIAL_THREADS Check. |
527 $! | 603 $! |
528 $ ENDIF | 604 $ ENDIF |
529 $! | 605 $! |
| 606 $! Check OPT_POINTER_SIZE (P7). |
| 607 $! |
| 608 $ IF (OPT_POINTER_SIZE .NES. "") .AND. (ARCH .NES. "VAX") |
| 609 $ THEN |
| 610 $! |
| 611 $ IF (OPT_POINTER_SIZE .EQS. "32") |
| 612 $ THEN |
| 613 $ POINTER_SIZE = " /POINTER_SIZE=32" |
| 614 $ ELSE |
| 615 $ POINTER_SIZE = F$EDIT( OPT_POINTER_SIZE, "COLLAPSE, UPCASE") |
| 616 $ IF ((POINTER_SIZE .EQS. "64") .OR. - |
| 617 (POINTER_SIZE .EQS. "64=") .OR. - |
| 618 (POINTER_SIZE .EQS. "64=ARGV")) |
| 619 $ THEN |
| 620 $ ARCHD = ARCH+ "_64" |
| 621 $ LIB32 = "" |
| 622 $ POINTER_SIZE = " /POINTER_SIZE=64" |
| 623 $ ELSE |
| 624 $! |
| 625 $! Tell The User Entered An Invalid Option. |
| 626 $! |
| 627 $ WRITE SYS$OUTPUT "" |
| 628 $ WRITE SYS$OUTPUT "The Option ", OPT_POINTER_SIZE, - |
| 629 " Is Invalid. The Valid Options Are:" |
| 630 $ WRITE SYS$OUTPUT "" |
| 631 $ WRITE SYS$OUTPUT - |
| 632 " """" : Compile with default (short) pointers." |
| 633 $ WRITE SYS$OUTPUT - |
| 634 " 32 : Compile with 32-bit (short) pointers." |
| 635 $ WRITE SYS$OUTPUT - |
| 636 " 64 : Compile with 64-bit (long) pointers (auto ARGV)." |
| 637 $ WRITE SYS$OUTPUT - |
| 638 " 64= : Compile with 64-bit (long) pointers (no ARGV)." |
| 639 $ WRITE SYS$OUTPUT - |
| 640 " 64=ARGV : Compile with 64-bit (long) pointers (ARGV)." |
| 641 $ WRITE SYS$OUTPUT "" |
| 642 $! |
| 643 $! Time To EXIT. |
| 644 $! |
| 645 $ EXIT |
| 646 $! |
| 647 $ ENDIF |
| 648 $! |
| 649 $ ENDIF |
| 650 $! |
| 651 $! End The OPT_POINTER_SIZE Check. |
| 652 $! |
| 653 $ ENDIF |
| 654 $! |
| 655 $! Set basic C compiler /INCLUDE directories. |
| 656 $! |
| 657 $ CC_INCLUDES = "SYS$DISK:[],SYS$DISK:[.VENDOR_DEFNS]" |
| 658 $! |
530 $! Check To See If OPT_COMPILER Is Blank. | 659 $! Check To See If OPT_COMPILER Is Blank. |
531 $! | 660 $! |
532 $ IF (OPT_COMPILER.EQS."") | 661 $ IF (OPT_COMPILER.EQS."") |
533 $ THEN | 662 $ THEN |
534 $! | 663 $! |
535 $! O.K., The User Didn't Specify A Compiler, Let's Try To | 664 $! O.K., The User Didn't Specify A Compiler, Let's Try To |
536 $! Find Out Which One To Use. | 665 $! Find Out Which One To Use. |
537 $! | 666 $! |
538 $! Check To See If We Have GNU C. | 667 $! Check To See If We Have GNU C. |
539 $! | 668 $! |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 $ ENDIF | 749 $ ENDIF |
621 $ ENDIF | 750 $ ENDIF |
622 $ ENDIF | 751 $ ENDIF |
623 $! | 752 $! |
624 $! Set Up Initial CC Definitions, Possibly With User Ones | 753 $! Set Up Initial CC Definitions, Possibly With User Ones |
625 $! | 754 $! |
626 $ CCDEFS = "TCPIP_TYPE_''OPT_TCPIP_LIB',DSO_VMS" | 755 $ CCDEFS = "TCPIP_TYPE_''OPT_TCPIP_LIB',DSO_VMS" |
627 $ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS | 756 $ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS |
628 $ CCEXTRAFLAGS = "" | 757 $ CCEXTRAFLAGS = "" |
629 $ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS | 758 $ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS |
630 $ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX" | 759 $ CCDISABLEWARNINGS = "" !!! "LONGLONGTYPE,LONGLONGSUFX" |
631 $ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN - | 760 $ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN - |
632 CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS | 761 CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS |
633 $! | 762 $! |
634 $! Check To See If The User Entered A Valid Paramter. | 763 $! Check To See If We Have A ZLIB Option. |
| 764 $! |
| 765 $ IF (ZLIB .NES. "") |
| 766 $ THEN |
| 767 $! |
| 768 $! Check for expected ZLIB files. |
| 769 $! |
| 770 $ err = 0 |
| 771 $ file1 = f$parse( "zlib.h", ZLIB, , , "SYNTAX_ONLY") |
| 772 $ if (f$search( file1) .eqs. "") |
| 773 $ then |
| 774 $ WRITE SYS$OUTPUT "" |
| 775 $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." |
| 776 $ WRITE SYS$OUTPUT " Can't find header: ''file1'" |
| 777 $ err = 1 |
| 778 $ endif |
| 779 $ file1 = f$parse( "A.;", ZLIB)- "A.;" |
| 780 $! |
| 781 $ file2 = f$parse( ZLIB, "libz.olb", , , "SYNTAX_ONLY") |
| 782 $ if (f$search( file2) .eqs. "") |
| 783 $ then |
| 784 $ if (err .eq. 0) |
| 785 $ then |
| 786 $ WRITE SYS$OUTPUT "" |
| 787 $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." |
| 788 $ endif |
| 789 $ WRITE SYS$OUTPUT " Can't find library: ''file2'" |
| 790 $ WRITE SYS$OUTPUT "" |
| 791 $ err = err+ 2 |
| 792 $ endif |
| 793 $ if (err .eq. 1) |
| 794 $ then |
| 795 $ WRITE SYS$OUTPUT "" |
| 796 $ endif |
| 797 $! |
| 798 $ if (err .ne. 0) |
| 799 $ then |
| 800 $ EXIT |
| 801 $ endif |
| 802 $! |
| 803 $ CCDEFS = """ZLIB=1"", "+ CCDEFS |
| 804 $ CC_INCLUDES = CC_INCLUDES+ ", "+ file1 |
| 805 $ ZLIB_LIB = ", ''file2' /library" |
| 806 $! |
| 807 $! Print info |
| 808 $! |
| 809 $ WRITE SYS$OUTPUT "ZLIB library spec: ", file2 |
| 810 $! |
| 811 $! End The ZLIB Check. |
| 812 $! |
| 813 $ ENDIF |
| 814 $! |
| 815 $! Check To See If The User Entered A Valid Parameter. |
635 $! | 816 $! |
636 $ IF (OPT_COMPILER.EQS."VAXC").OR.(OPT_COMPILER.EQS."DECC").OR.(OPT_COMPILER.EQS
."GNUC") | 817 $ IF (OPT_COMPILER.EQS."VAXC").OR.(OPT_COMPILER.EQS."DECC").OR.(OPT_COMPILER.EQS
."GNUC") |
637 $ THEN | 818 $ THEN |
638 $! | 819 $! |
639 $! Check To See If The User Wanted DECC. | 820 $! Check To See If The User Wanted DECC. |
640 $! | 821 $! |
641 $ IF (OPT_COMPILER.EQS."DECC") | 822 $ IF (OPT_COMPILER.EQS."DECC") |
642 $ THEN | 823 $ THEN |
643 $! | 824 $! |
644 $! Looks Like DECC, Set To Use DECC. | 825 $! Looks Like DECC, Set To Use DECC. |
645 $! | 826 $! |
646 $ COMPILER = "DECC" | 827 $ COMPILER = "DECC" |
647 $! | 828 $! |
648 $! Tell The User We Are Using DECC. | 829 $! Tell The User We Are Using DECC. |
649 $! | 830 $! |
650 $ WRITE SYS$OUTPUT "Using DECC 'C' Compiler." | 831 $ WRITE SYS$OUTPUT "Using DECC 'C' Compiler." |
651 $! | 832 $! |
652 $! Use DECC... | 833 $! Use DECC... |
653 $! | 834 $! |
654 $ CC = "CC" | 835 $ CC = "CC" |
655 $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - | 836 $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - |
656 THEN CC = "CC/DECC" | 837 THEN CC = "CC/DECC" |
657 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - | 838 $ CC = CC + " /''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ - |
658 "/NOLIST/PREFIX=ALL" + - | 839 "''POINTER_SIZE' /NOLIST /PREFIX=ALL" + - |
659 » "/INCLUDE=(SYS$DISK:[],SYS$DISK:[.VENDOR_DEFNS])" + - | 840 " /INCLUDE=(''CC_INCLUDES') " + - |
660 » CCEXTRAFLAGS | 841 CCEXTRAFLAGS |
661 $! | 842 $! |
662 $! Define The Linker Options File Name. | 843 $! Define The Linker Options File Name. |
663 $! | 844 $! |
664 $ OPT_FILE = "''EXE_DIR'VAX_DECC_OPTIONS.OPT" | 845 $ OPT_FILE = "VAX_DECC_OPTIONS.OPT" |
665 $! | 846 $! |
666 $! End DECC Check. | 847 $! End DECC Check. |
667 $! | 848 $! |
668 $ ENDIF | 849 $ ENDIF |
669 $! | 850 $! |
670 $! Check To See If We Are To Use VAXC. | 851 $! Check To See If We Are To Use VAXC. |
671 $! | 852 $! |
672 $ IF (OPT_COMPILER.EQS."VAXC") | 853 $ IF (OPT_COMPILER.EQS."VAXC") |
673 $ THEN | 854 $ THEN |
674 $! | 855 $! |
675 $! Looks Like VAXC, Set To Use VAXC. | 856 $! Looks Like VAXC, Set To Use VAXC. |
676 $! | 857 $! |
677 $ COMPILER = "VAXC" | 858 $ COMPILER = "VAXC" |
678 $! | 859 $! |
679 $! Tell The User We Are Using VAX C. | 860 $! Tell The User We Are Using VAX C. |
680 $! | 861 $! |
681 $ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler." | 862 $ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler." |
682 $! | 863 $! |
683 $! Compile Using VAXC. | 864 $! Compile Using VAXC. |
684 $! | 865 $! |
685 $ CC = "CC" | 866 $ CC = "CC" |
686 $ IF ARCH.NES."VAX" | 867 $ IF ARCH.NES."VAX" |
687 $ THEN | 868 $ THEN |
688 $ WRITE SYS$OUTPUT "There is no VAX C on Alpha!" | 869 $ WRITE SYS$OUTPUT "There is no VAX C on Alpha!" |
689 $ EXIT | 870 $ EXIT |
690 $ ENDIF | 871 $ ENDIF |
691 $ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC" | 872 $ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC" |
692 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - | 873 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - |
693 » "/INCLUDE=(SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS])"
+ - | 874 » "/INCLUDE=(''CC_INCLUDES')" + - |
694 CCEXTRAFLAGS | 875 CCEXTRAFLAGS |
695 $ CCDEFS = """VAXC""," + CCDEFS | 876 $ CCDEFS = """VAXC""," + CCDEFS |
696 $! | 877 $! |
697 $! Define <sys> As SYS$COMMON:[SYSLIB] | 878 $! Define <sys> As SYS$COMMON:[SYSLIB] |
698 $! | 879 $! |
699 $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB] | 880 $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB] |
700 $! | 881 $! |
701 $! Define The Linker Options File Name. | 882 $! Define The Linker Options File Name. |
702 $! | 883 $! |
703 $ OPT_FILE = "''EXE_DIR'VAX_VAXC_OPTIONS.OPT" | 884 $ OPT_FILE = "VAX_VAXC_OPTIONS.OPT" |
704 $! | 885 $! |
705 $! End VAXC Check | 886 $! End VAXC Check |
706 $! | 887 $! |
707 $ ENDIF | 888 $ ENDIF |
708 $! | 889 $! |
709 $! Check To See If We Are To Use GNU C. | 890 $! Check To See If We Are To Use GNU C. |
710 $! | 891 $! |
711 $ IF (OPT_COMPILER.EQS."GNUC") | 892 $ IF (OPT_COMPILER.EQS."GNUC") |
712 $ THEN | 893 $ THEN |
713 $! | 894 $! |
714 $! Looks Like GNUC, Set To Use GNUC. | 895 $! Looks Like GNUC, Set To Use GNUC. |
715 $! | 896 $! |
716 $ COMPILER = "GNUC" | 897 $ COMPILER = "GNUC" |
717 $! | 898 $! |
718 $! Tell The User We Are Using GNUC. | 899 $! Tell The User We Are Using GNUC. |
719 $! | 900 $! |
720 $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler." | 901 $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler." |
721 $! | 902 $! |
722 $! Use GNU C... | 903 $! Use GNU C... |
723 $! | 904 $! |
724 $ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - | 905 $ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - |
725 » "/INCLUDE=(SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS])"
+ - | 906 » "/INCLUDE=(''CC_INCLUDES')" + - |
726 CCEXTRAFLAGS | 907 CCEXTRAFLAGS |
727 $! | 908 $! |
728 $! Define The Linker Options File Name. | 909 $! Define The Linker Options File Name. |
729 $! | 910 $! |
730 $ OPT_FILE = "''EXE_DIR'VAX_GNUC_OPTIONS.OPT" | 911 $ OPT_FILE = "VAX_GNUC_OPTIONS.OPT" |
731 $! | 912 $! |
732 $! End The GNU C Check. | 913 $! End The GNU C Check. |
733 $! | 914 $! |
734 $ ENDIF | 915 $ ENDIF |
735 $! | 916 $! |
736 $! Set up default defines | 917 $! Set up default defines |
737 $! | 918 $! |
738 $ CCDEFS = """FLAT_INC=1""," + CCDEFS | 919 $ CCDEFS = """FLAT_INC=1""," + CCDEFS |
739 $! | 920 $! |
740 $! Finish up the definition of CC. | 921 $! Finish up the definition of CC. |
741 $! | 922 $! |
742 $ IF COMPILER .EQS. "DECC" | 923 $ IF COMPILER .EQS. "DECC" |
743 $ THEN | 924 $ THEN |
744 $ IF CCDISABLEWARNINGS .NES. "" | 925 $ IF CCDISABLEWARNINGS .NES. "" |
745 $ THEN | 926 $ THEN |
746 $ CCDISABLEWARNINGS = "/WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))" | 927 $ CCDISABLEWARNINGS = " /WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))" |
747 $ ENDIF | 928 $ ENDIF |
748 $ ELSE | 929 $ ELSE |
749 $ CCDISABLEWARNINGS = "" | 930 $ CCDISABLEWARNINGS = "" |
750 $ ENDIF | 931 $ ENDIF |
751 $ CC = CC + "/DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS | 932 $ CC = CC + " /DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS |
752 $! | 933 $! |
753 $! Show user the result | 934 $! Show user the result |
754 $! | 935 $! |
755 $ WRITE/SYMBOL SYS$OUTPUT "Main C Compiling Command: ",CC | 936 $ WRITE/SYMBOL SYS$OUTPUT "Main C Compiling Command: ",CC |
756 $! | 937 $! |
757 $! Else The User Entered An Invalid Arguement. | 938 $! Else The User Entered An Invalid Argument. |
758 $! | 939 $! |
759 $ ELSE | 940 $ ELSE |
760 $! | 941 $! |
761 $! Tell The User We Don't Know What They Want. | 942 $! Tell The User We Don't Know What They Want. |
762 $! | 943 $! |
763 $ WRITE SYS$OUTPUT "" | 944 $ WRITE SYS$OUTPUT "" |
764 $ WRITE SYS$OUTPUT "The Option ",OPT_COMPILER," Is Invalid. The Valid Options
Are:" | 945 $ WRITE SYS$OUTPUT "The Option ",OPT_COMPILER," Is Invalid. The Valid Options
Are:" |
765 $ WRITE SYS$OUTPUT "" | 946 $ WRITE SYS$OUTPUT "" |
766 $ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C." | 947 $ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C." |
767 $ WRITE SYS$OUTPUT " DECC : To Compile With DEC C." | 948 $ WRITE SYS$OUTPUT " DECC : To Compile With DEC C." |
768 $ WRITE SYS$OUTPUT " GNUC : To Compile With GNU C." | 949 $ WRITE SYS$OUTPUT " GNUC : To Compile With GNU C." |
769 $ WRITE SYS$OUTPUT "" | 950 $ WRITE SYS$OUTPUT "" |
770 $! | 951 $! |
771 $! Time To EXIT. | 952 $! Time To EXIT. |
772 $! | 953 $! |
773 $ EXIT | 954 $ EXIT |
774 $! | 955 $! |
775 $! End The Valid Arguement Check. | 956 $! End The Valid Argument Check. |
776 $! | 957 $! |
777 $ ENDIF | 958 $ ENDIF |
778 $! | 959 $! |
779 $! Build a MACRO command for the architecture at hand | 960 $! Build a MACRO command for the architecture at hand |
780 $! | 961 $! |
781 $ IF ARCH .EQS. "VAX" THEN MACRO = "MACRO/''DEBUGGER'" | 962 $ IF ARCH .EQS. "VAX" |
782 $ IF ARCH .NES. "VAX" THEN MACRO = "MACRO/MIGRATION/''DEBUGGER'/''MACRO_OPTIMIZE
'" | 963 $ THEN |
| 964 $ MACRO = "MACRO/''DEBUGGER'" |
| 965 $ ELSE |
| 966 $ MACRO = "MACRO/MIGRATION/''DEBUGGER'/''MACRO_OPTIMIZE'" |
| 967 $ ENDIF |
783 $! | 968 $! |
784 $! Show user the result | 969 $! Show user the result |
785 $! | 970 $! |
786 $ WRITE/SYMBOL SYS$OUTPUT "Main MACRO Compiling Command: ",MACRO | 971 $ WRITE/SYMBOL SYS$OUTPUT "Main MACRO Compiling Command: ",MACRO |
787 $! | 972 $! |
788 $! Time to check the contents, and to make sure we get the correct library. | 973 $! Time to check the contents, and to make sure we get the correct library. |
789 $! | 974 $! |
790 $ IF OPT_TCPIP_LIB.EQS."SOCKETSHR" .OR. OPT_TCPIP_LIB.EQS."MULTINET" - | 975 $ IF OPT_TCPIP_LIB.EQS."SOCKETSHR" .OR. OPT_TCPIP_LIB.EQS."MULTINET" - |
791 .OR. OPT_TCPIP_LIB.EQS."UCX" .OR. OPT_TCPIP_LIB.EQS."TCPIP" - | 976 .OR. OPT_TCPIP_LIB.EQS."UCX" .OR. OPT_TCPIP_LIB.EQS."TCPIP" - |
792 .OR. OPT_TCPIP_LIB.EQS."NONE" | 977 .OR. OPT_TCPIP_LIB.EQS."NONE" |
793 $ THEN | 978 $ THEN |
794 $! | 979 $! |
795 $! Check to see if SOCKETSHR was chosen | 980 $! Check to see if SOCKETSHR was chosen |
796 $! | 981 $! |
797 $ IF OPT_TCPIP_LIB.EQS."SOCKETSHR" | 982 $ IF OPT_TCPIP_LIB.EQS."SOCKETSHR" |
798 $ THEN | 983 $ THEN |
799 $! | 984 $! |
800 $! Set the library to use SOCKETSHR | 985 $! Set the library to use SOCKETSHR |
801 $! | 986 $! |
802 $ TCPIP_LIB = "SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT/OPT" | 987 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT /OPTIONS" |
803 $! | 988 $! |
804 $! Done with SOCKETSHR | 989 $! Done with SOCKETSHR |
805 $! | 990 $! |
806 $ ENDIF | 991 $ ENDIF |
807 $! | 992 $! |
808 $! Check to see if MULTINET was chosen | 993 $! Check to see if MULTINET was chosen |
809 $! | 994 $! |
810 $ IF OPT_TCPIP_LIB.EQS."MULTINET" | 995 $ IF OPT_TCPIP_LIB.EQS."MULTINET" |
811 $ THEN | 996 $ THEN |
812 $! | 997 $! |
813 $! Set the library to use UCX emulation. | 998 $! Set the library to use UCX emulation. |
814 $! | 999 $! |
815 $ OPT_TCPIP_LIB = "UCX" | 1000 $ OPT_TCPIP_LIB = "UCX" |
816 $! | 1001 $! |
817 $! Done with MULTINET | 1002 $! Done with MULTINET |
818 $! | 1003 $! |
819 $ ENDIF | 1004 $ ENDIF |
820 $! | 1005 $! |
821 $! Check to see if UCX was chosen | 1006 $! Check to see if UCX was chosen |
822 $! | 1007 $! |
823 $ IF OPT_TCPIP_LIB.EQS."UCX" | 1008 $ IF OPT_TCPIP_LIB.EQS."UCX" |
824 $ THEN | 1009 $ THEN |
825 $! | 1010 $! |
826 $! Set the library to use UCX. | 1011 $! Set the library to use UCX. |
827 $! | 1012 $! |
828 $ TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT/OPT" | 1013 $ TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT /OPTIONS" |
829 $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" | 1014 $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" |
830 $ THEN | 1015 $ THEN |
831 $ TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT/OPT" | 1016 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT /OPTIONS" |
832 $ ELSE | 1017 $ ELSE |
833 $ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN - | 1018 $ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN - |
834 » TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT/OPT" | 1019 » TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT /OPTIONS" |
835 $ ENDIF | 1020 $ ENDIF |
836 $! | 1021 $! |
837 $! Done with UCX | 1022 $! Done with UCX |
838 $! | 1023 $! |
839 $ ENDIF | 1024 $ ENDIF |
840 $! | 1025 $! |
841 $! Check to see if TCPIP was chosen | 1026 $! Check to see if TCPIP was chosen |
842 $! | 1027 $! |
843 $ IF OPT_TCPIP_LIB.EQS."TCPIP" | 1028 $ IF OPT_TCPIP_LIB.EQS."TCPIP" |
844 $ THEN | 1029 $ THEN |
845 $! | 1030 $! |
846 $! Set the library to use TCPIP (post UCX). | 1031 $! Set the library to use TCPIP (post UCX). |
847 $! | 1032 $! |
848 $ TCPIP_LIB = "SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT/OPT" | 1033 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT /OPTIONS" |
849 $! | 1034 $! |
850 $! Done with TCPIP | 1035 $! Done with TCPIP |
851 $! | 1036 $! |
852 $ ENDIF | 1037 $ ENDIF |
853 $! | 1038 $! |
854 $! Check to see if NONE was chosen | 1039 $! Check to see if NONE was chosen |
855 $! | 1040 $! |
856 $ IF OPT_TCPIP_LIB.EQS."NONE" | 1041 $ IF OPT_TCPIP_LIB.EQS."NONE" |
857 $ THEN | 1042 $ THEN |
858 $! | 1043 $! |
859 $! Do not use a TCPIP library. | 1044 $! Do not use a TCPIP library. |
860 $! | 1045 $! |
861 $ TCPIP_LIB = "" | 1046 $ TCPIP_LIB = "" |
862 $! | 1047 $! |
863 $! Done with TCPIP | 1048 $! Done with TCPIP |
864 $! | 1049 $! |
865 $ ENDIF | 1050 $ ENDIF |
866 $! | 1051 $! |
867 $! Print info | 1052 $! Print info |
868 $! | 1053 $! |
869 $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB | 1054 $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB- "," |
870 $! | 1055 $! |
871 $! Else The User Entered An Invalid Arguement. | 1056 $! Else The User Entered An Invalid Argument. |
872 $! | 1057 $! |
873 $ ELSE | 1058 $ ELSE |
874 $! | 1059 $! |
875 $! Tell The User We Don't Know What They Want. | 1060 $! Tell The User We Don't Know What They Want. |
876 $! | 1061 $! |
877 $ WRITE SYS$OUTPUT "" | 1062 $ WRITE SYS$OUTPUT "" |
878 $ WRITE SYS$OUTPUT "The Option ",OPT_TCPIP_LIB," Is Invalid. The Valid Option
s Are:" | 1063 $ WRITE SYS$OUTPUT "The Option ",OPT_TCPIP_LIB," Is Invalid. The Valid Option
s Are:" |
879 $ WRITE SYS$OUTPUT "" | 1064 $ WRITE SYS$OUTPUT "" |
880 $ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library." | 1065 $ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library." |
881 $ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library." | 1066 $ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library." |
(...skipping 20 matching lines...) Expand all Loading... |
902 $! | 1087 $! |
903 $! Save directory information | 1088 $! Save directory information |
904 $! | 1089 $! |
905 $ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A
.;" | 1090 $ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A
.;" |
906 $ __HERE = F$EDIT(__HERE,"UPCASE") | 1091 $ __HERE = F$EDIT(__HERE,"UPCASE") |
907 $ __TOP = __HERE - "ENGINES]" | 1092 $ __TOP = __HERE - "ENGINES]" |
908 $ __INCLUDE = __TOP + "INCLUDE.OPENSSL]" | 1093 $ __INCLUDE = __TOP + "INCLUDE.OPENSSL]" |
909 $! | 1094 $! |
910 $! Set up the logical name OPENSSL to point at the include directory | 1095 $! Set up the logical name OPENSSL to point at the include directory |
911 $! | 1096 $! |
912 $ DEFINE OPENSSL/NOLOG '__INCLUDE' | 1097 $ DEFINE OPENSSL /NOLOG '__INCLUDE' |
913 $! | 1098 $! |
914 $! Done | 1099 $! Done |
915 $! | 1100 $! |
916 $ RETURN | 1101 $ RETURN |
917 $! | 1102 $! |
918 $ CLEANUP: | 1103 $ CLEANUP: |
919 $! | 1104 $! |
920 $! Restore the logical name OPENSSL if it had a value | 1105 $! Restore the saved logical name OPENSSL, if it had a value. |
921 $! | 1106 $! |
922 $ IF __SAVE_OPENSSL .EQS. "" | 1107 $ if (f$type( __SAVE_OPENSSL) .nes. "") |
923 $ THEN | 1108 $ then |
924 $ DEASSIGN OPENSSL | 1109 $ IF __SAVE_OPENSSL .EQS. "" |
925 $ ELSE | 1110 $ THEN |
926 $ DEFINE/NOLOG OPENSSL '__SAVE_OPENSSL' | 1111 $ DEASSIGN OPENSSL |
927 $ ENDIF | 1112 $ ELSE |
| 1113 $ DEFINE /NOLOG OPENSSL '__SAVE_OPENSSL' |
| 1114 $ ENDIF |
| 1115 $ endif |
| 1116 $! |
| 1117 $! Close any open files. |
| 1118 $! |
| 1119 $ if (f$trnlnm( "objects", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then - |
| 1120 close objects |
928 $! | 1121 $! |
929 $! Done | 1122 $! Done |
930 $! | 1123 $! |
931 $ RETURN | 1124 $ RETURN |
| 1125 $! |
OLD | NEW |