diff options
Diffstat (limited to 'src/lib/libssl/test/maketests.com')
-rw-r--r-- | src/lib/libssl/test/maketests.com | 1087 |
1 files changed, 0 insertions, 1087 deletions
diff --git a/src/lib/libssl/test/maketests.com b/src/lib/libssl/test/maketests.com deleted file mode 100644 index 9b64cba234..0000000000 --- a/src/lib/libssl/test/maketests.com +++ /dev/null | |||
@@ -1,1087 +0,0 @@ | |||
1 | $! | ||
2 | $! MAKETESTS.COM | ||
3 | $! Written By: Robert Byer | ||
4 | $! Vice-President | ||
5 | $! A-Com Computing, Inc. | ||
6 | $! byer@mail.all-net.net | ||
7 | $! | ||
8 | $! Changes by Richard Levitte <richard@levitte.org> | ||
9 | $! | ||
10 | $! This command files compiles and creates all the various different | ||
11 | $! "test" programs for the different types of encryption for OpenSSL. | ||
12 | $! It was written so it would try to determine what "C" compiler to | ||
13 | $! use or you can specify which "C" compiler to use. | ||
14 | $! | ||
15 | $! The test "executables" will be placed in a directory called | ||
16 | $! [.xxx.EXE.TEST] where "xxx" denotes ALPHA, IA64, or VAX, depending | ||
17 | $! on your machine architecture. | ||
18 | $! | ||
19 | $! Specify DEBUG or NODEBUG P1 to compile with or without debugger | ||
20 | $! information. | ||
21 | $! | ||
22 | $! Specify which compiler at P2 to try to compile under. | ||
23 | $! | ||
24 | $! VAXC For VAX C. | ||
25 | $! DECC For DEC C. | ||
26 | $! GNUC For GNU C. | ||
27 | $! | ||
28 | $! If you don't specify a compiler, it will try to determine which | ||
29 | $! "C" compiler to use. | ||
30 | $! | ||
31 | $! P3, if defined, sets a TCP/IP library to use, through one of the following | ||
32 | $! keywords: | ||
33 | $! | ||
34 | $! UCX for UCX | ||
35 | $! SOCKETSHR for SOCKETSHR+NETLIB | ||
36 | $! | ||
37 | $! P4, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) | ||
38 | $! | ||
39 | $! | ||
40 | $! P5, if defined, specifies the C pointer size. Ignored on VAX. | ||
41 | $! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.) | ||
42 | $! Supported values are: | ||
43 | $! | ||
44 | $! "" Compile with default (/NOPOINTER_SIZE) | ||
45 | $! 32 Compile with /POINTER_SIZE=32 (SHORT) | ||
46 | $! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]) | ||
47 | $! (Automatically select ARGV if compiler supports it.) | ||
48 | $! 64= Compile with /POINTER_SIZE=64 (LONG). | ||
49 | $! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV). | ||
50 | $! | ||
51 | $! P6, if defined, specifies a directory where ZLIB files (zlib.h, | ||
52 | $! libz.olb) may be found. Optionally, a non-default object library | ||
53 | $! name may be included ("dev:[dir]libz_64.olb", for example). | ||
54 | $! | ||
55 | $! | ||
56 | $! Announce/identify. | ||
57 | $! | ||
58 | $ proc = f$environment( "procedure") | ||
59 | $ write sys$output "@@@ "+ - | ||
60 | f$parse( proc, , , "name")+ f$parse( proc, , , "type") | ||
61 | $! | ||
62 | $! Define A TCP/IP Library That We Will Need To Link To. | ||
63 | $! (That is, If We Need To Link To One.) | ||
64 | $! | ||
65 | $ TCPIP_LIB = "" | ||
66 | $ ZLIB_LIB = "" | ||
67 | $! | ||
68 | $! Check Which Architecture We Are Using. | ||
69 | $! | ||
70 | $ if (f$getsyi( "cpu") .lt. 128) | ||
71 | $ then | ||
72 | $ ARCH = "VAX" | ||
73 | $ else | ||
74 | $ ARCH = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE") | ||
75 | $ if (ARCH .eqs. "") then ARCH = "UNK" | ||
76 | $ endif | ||
77 | $! | ||
78 | $ ARCHD = ARCH | ||
79 | $ LIB32 = "32" | ||
80 | $ OPT_FILE = "" | ||
81 | $ POINTER_SIZE = "" | ||
82 | $! | ||
83 | $! Check To Make Sure We Have Valid Command Line Parameters. | ||
84 | $! | ||
85 | $ GOSUB CHECK_OPTIONS | ||
86 | $! | ||
87 | $! Define The OBJ and EXE Directories. | ||
88 | $! | ||
89 | $ OBJ_DIR := SYS$DISK:[-.'ARCHD'.OBJ.TEST] | ||
90 | $ EXE_DIR := SYS$DISK:[-.'ARCHD'.EXE.TEST] | ||
91 | $! | ||
92 | $! Specify the destination directory in any /MAP option. | ||
93 | $! | ||
94 | $ if (LINKMAP .eqs. "MAP") | ||
95 | $ then | ||
96 | $ LINKMAP = LINKMAP+ "=''EXE_DIR'" | ||
97 | $ endif | ||
98 | $! | ||
99 | $! Add the location prefix to the linker options file name. | ||
100 | $! | ||
101 | $ if (OPT_FILE .nes. "") | ||
102 | $ then | ||
103 | $ OPT_FILE = EXE_DIR+ OPT_FILE | ||
104 | $ endif | ||
105 | $! | ||
106 | $! Initialise logical names and such | ||
107 | $! | ||
108 | $ GOSUB INITIALISE | ||
109 | $! | ||
110 | $! Tell The User What Kind of Machine We Run On. | ||
111 | $! | ||
112 | $ WRITE SYS$OUTPUT "Host system architecture: ''ARCHD'" | ||
113 | $! | ||
114 | $! Define The CRYPTO-LIB We Are To Use. | ||
115 | $! | ||
116 | $ CRYPTO_LIB := SYS$DISK:[-.'ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO'LIB32'.OLB | ||
117 | $! | ||
118 | $! Define The SSL We Are To Use. | ||
119 | $! | ||
120 | $ SSL_LIB := SYS$DISK:[-.'ARCHD'.EXE.SSL]SSL_LIBSSL'LIB32'.OLB | ||
121 | $! | ||
122 | $! Create the OBJ and EXE Directories, if needed. | ||
123 | $! | ||
124 | $ IF (F$PARSE(OBJ_DIR).EQS."") THEN - | ||
125 | CREATE /DIRECTORY 'OBJ_DIR' | ||
126 | $ IF (F$PARSE(EXE_DIR).EQS."") THEN - | ||
127 | CREATE /DIRECTORY 'EXE_DIR' | ||
128 | $! | ||
129 | $! Check To See If We Have The Proper Libraries. | ||
130 | $! | ||
131 | $ GOSUB LIB_CHECK | ||
132 | $! | ||
133 | $! Check To See If We Have A Linker Option File. | ||
134 | $! | ||
135 | $ GOSUB CHECK_OPT_FILE | ||
136 | $! | ||
137 | $! Define The TEST Files. | ||
138 | $! NOTE: Some might think this list ugly. However, it's made this way to | ||
139 | $! reflect the EXE variable in Makefile as closely as possible, | ||
140 | $! thereby making it fairly easy to verify that the lists are the same. | ||
141 | $! | ||
142 | $ TEST_FILES = "BNTEST,ECTEST,ECDSATEST,ECDHTEST,IDEATEST,"+ - | ||
143 | "MD2TEST,MD4TEST,MD5TEST,HMACTEST,WP_TEST,"+ - | ||
144 | "RC2TEST,RC4TEST,RC5TEST,"+ - | ||
145 | "DESTEST,SHATEST,SHA1TEST,SHA256T,SHA512T,"+ - | ||
146 | "MDC2TEST,RMDTEST,"+ - | ||
147 | "RANDTEST,DHTEST,ENGINETEST,"+ - | ||
148 | "BFTEST,CASTTEST,SSLTEST,EXPTEST,DSATEST,RSA_TEST,"+ - | ||
149 | "EVP_TEST,IGETEST,JPAKETEST,SRPTEST,"+ - | ||
150 | "ASN1TEST" | ||
151 | $! Should we add MTTEST,PQ_TEST,LH_TEST,DIVTEST,TABTEST as well? | ||
152 | $! | ||
153 | $! Additional directory information. | ||
154 | $ T_D_BNTEST := [-.crypto.bn] | ||
155 | $ T_D_ECTEST := [-.crypto.ec] | ||
156 | $ T_D_ECDSATEST := [-.crypto.ecdsa] | ||
157 | $ T_D_ECDHTEST := [-.crypto.ecdh] | ||
158 | $ T_D_IDEATEST := [-.crypto.idea] | ||
159 | $ T_D_MD2TEST := [-.crypto.md2] | ||
160 | $ T_D_MD4TEST := [-.crypto.md4] | ||
161 | $ T_D_MD5TEST := [-.crypto.md5] | ||
162 | $ T_D_HMACTEST := [-.crypto.hmac] | ||
163 | $ T_D_WP_TEST := [-.crypto.whrlpool] | ||
164 | $ T_D_RC2TEST := [-.crypto.rc2] | ||
165 | $ T_D_RC4TEST := [-.crypto.rc4] | ||
166 | $ T_D_RC5TEST := [-.crypto.rc5] | ||
167 | $ T_D_DESTEST := [-.crypto.des] | ||
168 | $ T_D_SHATEST := [-.crypto.sha] | ||
169 | $ T_D_SHA1TEST := [-.crypto.sha] | ||
170 | $ T_D_SHA256T := [-.crypto.sha] | ||
171 | $ T_D_SHA512T := [-.crypto.sha] | ||
172 | $ T_D_MDC2TEST := [-.crypto.mdc2] | ||
173 | $ T_D_RMDTEST := [-.crypto.ripemd] | ||
174 | $ T_D_RANDTEST := [-.crypto.rand] | ||
175 | $ T_D_DHTEST := [-.crypto.dh] | ||
176 | $ T_D_ENGINETEST := [-.crypto.engine] | ||
177 | $ T_D_BFTEST := [-.crypto.bf] | ||
178 | $ T_D_CASTTEST := [-.crypto.cast] | ||
179 | $ T_D_SSLTEST := [-.ssl] | ||
180 | $ T_D_EXPTEST := [-.crypto.bn] | ||
181 | $ T_D_DSATEST := [-.crypto.dsa] | ||
182 | $ T_D_RSA_TEST := [-.crypto.rsa] | ||
183 | $ T_D_EVP_TEST := [-.crypto.evp] | ||
184 | $ T_D_IGETEST := [-.test] | ||
185 | $ T_D_JPAKETEST := [-.crypto.jpake] | ||
186 | $ T_D_SRPTEST := [-.crypto.srp] | ||
187 | $ T_D_ASN1TEST := [-.test] | ||
188 | $! | ||
189 | $ TCPIP_PROGRAMS = ",," | ||
190 | $ IF COMPILER .EQS. "VAXC" THEN - | ||
191 | TCPIP_PROGRAMS = ",SSLTEST," | ||
192 | $! | ||
193 | $! Define A File Counter And Set It To "0". | ||
194 | $! | ||
195 | $ FILE_COUNTER = 0 | ||
196 | $! | ||
197 | $! Top Of The File Loop. | ||
198 | $! | ||
199 | $ NEXT_FILE: | ||
200 | $! | ||
201 | $! O.K, Extract The File Name From The File List. | ||
202 | $! | ||
203 | $ FILE_NAME = F$ELEMENT(FILE_COUNTER,",",TEST_FILES) | ||
204 | $! | ||
205 | $! Check To See If We Are At The End Of The File List. | ||
206 | $! | ||
207 | $ IF (FILE_NAME.EQS.",") THEN GOTO FILE_DONE | ||
208 | $! | ||
209 | $! Increment The Counter. | ||
210 | $! | ||
211 | $ FILE_COUNTER = FILE_COUNTER + 1 | ||
212 | $! | ||
213 | $! Create The Source File Name. | ||
214 | $! | ||
215 | $ SOURCE_FILE = "SYS$DISK:" + T_D_'FILE_NAME' + FILE_NAME + ".C" | ||
216 | $! | ||
217 | $! Create The Object File Name. | ||
218 | $! | ||
219 | $ OBJECT_FILE = OBJ_DIR + FILE_NAME + ".OBJ" | ||
220 | $! | ||
221 | $! Create The Executable File Name. | ||
222 | $! | ||
223 | $ EXE_FILE = EXE_DIR + FILE_NAME + ".EXE" | ||
224 | $ ON WARNING THEN GOTO NEXT_FILE | ||
225 | $! | ||
226 | $! Check To See If The File We Want To Compile Actually Exists. | ||
227 | $! | ||
228 | $ IF (F$SEARCH(SOURCE_FILE).EQS."") | ||
229 | $ THEN | ||
230 | $! | ||
231 | $! Tell The User That The File Dosen't Exist. | ||
232 | $! | ||
233 | $ WRITE SYS$OUTPUT "" | ||
234 | $ WRITE SYS$OUTPUT "The File ",SOURCE_FILE," Dosen't Exist." | ||
235 | $ WRITE SYS$OUTPUT "" | ||
236 | $! | ||
237 | $! Exit The Build. | ||
238 | $! | ||
239 | $ GOTO EXIT | ||
240 | $ ENDIF | ||
241 | $! | ||
242 | $! Tell The User What We Are Building. | ||
243 | $! | ||
244 | $ WRITE SYS$OUTPUT "Building The ",FILE_NAME," Test Program." | ||
245 | $! | ||
246 | $! Compile The File. | ||
247 | $! | ||
248 | $ ON ERROR THEN GOTO NEXT_FILE | ||
249 | $ CC /OBJECT='OBJECT_FILE' 'SOURCE_FILE' | ||
250 | $ ON WARNING THEN GOTO NEXT_FILE | ||
251 | $! | ||
252 | $! Check If What We Are About To Compile Works Without A TCP/IP Library. | ||
253 | $! | ||
254 | $ IF ((TCPIP_LIB.EQS."").AND.((TCPIP_PROGRAMS-FILE_NAME).NES.TCPIP_PROGRAMS)) | ||
255 | $ THEN | ||
256 | $! | ||
257 | $! Inform The User That A TCP/IP Library Is Needed To Compile This Program. | ||
258 | $! | ||
259 | $ WRITE SYS$OUTPUT - | ||
260 | FILE_NAME," Needs A TCP/IP Library. Can't Link. Skipping..." | ||
261 | $ GOTO NEXT_FILE | ||
262 | $! | ||
263 | $! End The TCP/IP Library Check. | ||
264 | $! | ||
265 | $ ENDIF | ||
266 | $! | ||
267 | $! Link The Program, Check To See If We Need To Link With RSAREF Or Not. | ||
268 | $! Check To See If We Are To Link With A Specific TCP/IP Library. | ||
269 | $! | ||
270 | $! Don't Link With The RSAREF Routines And TCP/IP Library. | ||
271 | $! | ||
272 | $ LINK /'DEBUGGER' /'LINKMAP' /'TRACEBACK' /EXECTABLE = 'EXE_FILE' - | ||
273 | 'OBJECT_FILE', - | ||
274 | 'SSL_LIB' /LIBRARY, - | ||
275 | 'CRYPTO_LIB' /LIBRARY - | ||
276 | 'TCPIP_LIB' - | ||
277 | 'ZLIB_LIB' - | ||
278 | ,'OPT_FILE' /OPTIONS | ||
279 | $! | ||
280 | $! Go Back And Do It Again. | ||
281 | $! | ||
282 | $ GOTO NEXT_FILE | ||
283 | $! | ||
284 | $! All Done With This Library Part. | ||
285 | $! | ||
286 | $ FILE_DONE: | ||
287 | $! | ||
288 | $! All Done, Time To Exit. | ||
289 | $! | ||
290 | $ EXIT: | ||
291 | $ GOSUB CLEANUP | ||
292 | $ EXIT | ||
293 | $! | ||
294 | $! Check For The Link Option FIle. | ||
295 | $! | ||
296 | $ CHECK_OPT_FILE: | ||
297 | $! | ||
298 | $! Check To See If We Need To Make A VAX C Option File. | ||
299 | $! | ||
300 | $ IF (COMPILER.EQS."VAXC") | ||
301 | $ THEN | ||
302 | $! | ||
303 | $! Check To See If We Already Have A VAX C Linker Option File. | ||
304 | $! | ||
305 | $ IF (F$SEARCH(OPT_FILE).EQS."") | ||
306 | $ THEN | ||
307 | $! | ||
308 | $! We Need A VAX C Linker Option File. | ||
309 | $! | ||
310 | $ CREATE 'OPT_FILE' | ||
311 | $DECK | ||
312 | ! | ||
313 | ! Default System Options File To Link Against | ||
314 | ! The Sharable VAX C Runtime Library. | ||
315 | ! | ||
316 | SYS$SHARE:VAXCRTL.EXE /SHAREABLE | ||
317 | $EOD | ||
318 | $! | ||
319 | $! End The Option File Check. | ||
320 | $! | ||
321 | $ ENDIF | ||
322 | $! | ||
323 | $! End The VAXC Check. | ||
324 | $! | ||
325 | $ ENDIF | ||
326 | $! | ||
327 | $! Check To See If We Need A GNU C Option File. | ||
328 | $! | ||
329 | $ IF (COMPILER.EQS."GNUC") | ||
330 | $ THEN | ||
331 | $! | ||
332 | $! Check To See If We Already Have A GNU C Linker Option File. | ||
333 | $! | ||
334 | $ IF (F$SEARCH(OPT_FILE).EQS."") | ||
335 | $ THEN | ||
336 | $! | ||
337 | $! We Need A GNU C Linker Option File. | ||
338 | $! | ||
339 | $ CREATE 'OPT_FILE' | ||
340 | $DECK | ||
341 | ! | ||
342 | ! Default System Options File To Link Against | ||
343 | ! The Sharable C Runtime Library. | ||
344 | ! | ||
345 | GNU_CC:[000000]GCCLIB.OLB /LIBRARY | ||
346 | SYS$SHARE:VAXCRTL.EXE /SHAREABLE | ||
347 | $EOD | ||
348 | $! | ||
349 | $! End The Option File Check. | ||
350 | $! | ||
351 | $ ENDIF | ||
352 | $! | ||
353 | $! End The GNU C Check. | ||
354 | $! | ||
355 | $ ENDIF | ||
356 | $! | ||
357 | $! Check To See If We Need A DEC C Option File. | ||
358 | $! | ||
359 | $ IF (COMPILER.EQS."DECC") | ||
360 | $ THEN | ||
361 | $! | ||
362 | $! Check To See If We Already Have A DEC C Linker Option File. | ||
363 | $! | ||
364 | $ IF (F$SEARCH(OPT_FILE).EQS."") | ||
365 | $ THEN | ||
366 | $! | ||
367 | $! Figure Out If We Need A non-VAX Or A VAX Linker Option File. | ||
368 | $! | ||
369 | $ IF (ARCH.EQS."VAX") | ||
370 | $ THEN | ||
371 | $! | ||
372 | $! We Need A DEC C Linker Option File For VAX. | ||
373 | $! | ||
374 | $ CREATE 'OPT_FILE' | ||
375 | $DECK | ||
376 | ! | ||
377 | ! Default System Options File To Link Against | ||
378 | ! The Sharable DEC C Runtime Library. | ||
379 | ! | ||
380 | SYS$SHARE:DECC$SHR.EXE /SHAREABLE | ||
381 | $EOD | ||
382 | $! | ||
383 | $! Else... | ||
384 | $! | ||
385 | $ ELSE | ||
386 | $! | ||
387 | $! Create The non-VAX Linker Option File. | ||
388 | $! | ||
389 | $ CREATE 'OPT_FILE' | ||
390 | $DECK | ||
391 | ! | ||
392 | ! Default System Options File For non-VAX To Link Against | ||
393 | ! The Sharable C Runtime Library. | ||
394 | ! | ||
395 | SYS$SHARE:CMA$OPEN_LIB_SHR.EXE /SHAREABLE | ||
396 | SYS$SHARE:CMA$OPEN_RTL.EXE /SHAREABLE | ||
397 | $EOD | ||
398 | $! | ||
399 | $! End The DEC C Option File Check. | ||
400 | $! | ||
401 | $ ENDIF | ||
402 | $! | ||
403 | $! End The Option File Search. | ||
404 | $! | ||
405 | $ ENDIF | ||
406 | $! | ||
407 | $! End The DEC C Check. | ||
408 | $! | ||
409 | $ ENDIF | ||
410 | $! | ||
411 | $! Tell The User What Linker Option File We Are Using. | ||
412 | $! | ||
413 | $ WRITE SYS$OUTPUT "Using Linker Option File ",OPT_FILE,"." | ||
414 | $! | ||
415 | $! Time To RETURN. | ||
416 | $! | ||
417 | $ RETURN | ||
418 | $! | ||
419 | $! Check To See If We Have The Appropiate Libraries. | ||
420 | $! | ||
421 | $ LIB_CHECK: | ||
422 | $! | ||
423 | $! Look For The Library LIBCRYPTO.OLB. | ||
424 | $! | ||
425 | $ IF (F$SEARCH(CRYPTO_LIB).EQS."") | ||
426 | $ THEN | ||
427 | $! | ||
428 | $! Tell The User We Can't Find The LIBCRYPTO.OLB Library. | ||
429 | $! | ||
430 | $ WRITE SYS$OUTPUT "" | ||
431 | $ WRITE SYS$OUTPUT "Can't Find The Library ",CRYPTO_LIB,"." | ||
432 | $ WRITE SYS$OUTPUT "We Can't Link Without It." | ||
433 | $ WRITE SYS$OUTPUT "" | ||
434 | $! | ||
435 | $! Since We Can't Link Without It, Exit. | ||
436 | $! | ||
437 | $ EXIT | ||
438 | $! | ||
439 | $! End The Crypto Library Check. | ||
440 | $! | ||
441 | $ ENDIF | ||
442 | $! | ||
443 | $! Look For The Library LIBSSL.OLB. | ||
444 | $! | ||
445 | $ IF (F$SEARCH(SSL_LIB).EQS."") | ||
446 | $ THEN | ||
447 | $! | ||
448 | $! Tell The User We Can't Find The LIBSSL.OLB Library. | ||
449 | $! | ||
450 | $ WRITE SYS$OUTPUT "" | ||
451 | $ WRITE SYS$OUTPUT "Can't Find The Library ",SSL_LIB,"." | ||
452 | $ WRITE SYS$OUTPUT "Some Of The Test Programs Need To Link To It." | ||
453 | $ WRITE SYS$OUTPUT "" | ||
454 | $! | ||
455 | $! Since We Can't Link Without It, Exit. | ||
456 | $! | ||
457 | $ EXIT | ||
458 | $! | ||
459 | $! End The SSL Library Check. | ||
460 | $! | ||
461 | $ ENDIF | ||
462 | $! | ||
463 | $! Time To Return. | ||
464 | $! | ||
465 | $ RETURN | ||
466 | $! | ||
467 | $! Check The User's Options. | ||
468 | $! | ||
469 | $ CHECK_OPTIONS: | ||
470 | $! | ||
471 | $! Set basic C compiler /INCLUDE directories. | ||
472 | $! | ||
473 | $ CC_INCLUDES = "SYS$DISK:[-],SYS$DISK:[-.CRYPTO]" | ||
474 | $! | ||
475 | $! Check To See If P1 Is Blank. | ||
476 | $! | ||
477 | $ IF (P1.EQS."NODEBUG") | ||
478 | $ THEN | ||
479 | $! | ||
480 | $! P1 Is NODEBUG, So Compile Without Debugger Information. | ||
481 | $! | ||
482 | $ DEBUGGER = "NODEBUG" | ||
483 | $ LINKMAP = "NOMAP" | ||
484 | $ TRACEBACK = "NOTRACEBACK" | ||
485 | $ GCC_OPTIMIZE = "OPTIMIZE" | ||
486 | $ CC_OPTIMIZE = "OPTIMIZE" | ||
487 | $ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile." | ||
488 | $ WRITE SYS$OUTPUT "Compiling With Compiler Optimization." | ||
489 | $! | ||
490 | $! Else... | ||
491 | $! | ||
492 | $ ELSE | ||
493 | $! | ||
494 | $! Check To See If We Are To Compile With Debugger Information. | ||
495 | $! | ||
496 | $ IF (P1.EQS."DEBUG") | ||
497 | $ THEN | ||
498 | $! | ||
499 | $! Compile With Debugger Information. | ||
500 | $! | ||
501 | $ DEBUGGER = "DEBUG" | ||
502 | $ LINKMAP = "MAP" | ||
503 | $ TRACEBACK = "TRACEBACK" | ||
504 | $ GCC_OPTIMIZE = "NOOPTIMIZE" | ||
505 | $ CC_OPTIMIZE = "NOOPTIMIZE" | ||
506 | $ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile." | ||
507 | $ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization." | ||
508 | $! | ||
509 | $! Else... | ||
510 | $! | ||
511 | $ ELSE | ||
512 | $! | ||
513 | $! Tell The User Entered An Invalid Option. | ||
514 | $! | ||
515 | $ WRITE SYS$OUTPUT "" | ||
516 | $ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:" | ||
517 | $ WRITE SYS$OUTPUT "" | ||
518 | $ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information." | ||
519 | $ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information." | ||
520 | $ WRITE SYS$OUTPUT "" | ||
521 | $! | ||
522 | $! Time To EXIT. | ||
523 | $! | ||
524 | $ EXIT | ||
525 | $! | ||
526 | $! End The Valid Argument Check. | ||
527 | $! | ||
528 | $ ENDIF | ||
529 | $! | ||
530 | $! End The P1 Check. | ||
531 | $! | ||
532 | $ ENDIF | ||
533 | $! | ||
534 | $! Check P5 (POINTER_SIZE). | ||
535 | $! | ||
536 | $ IF (P5 .NES. "") .AND. (ARCH .NES. "VAX") | ||
537 | $ THEN | ||
538 | $! | ||
539 | $ IF (P5 .EQS. "32") | ||
540 | $ THEN | ||
541 | $ POINTER_SIZE = " /POINTER_SIZE=32" | ||
542 | $ ELSE | ||
543 | $ POINTER_SIZE = F$EDIT( P5, "COLLAPSE, UPCASE") | ||
544 | $ IF ((POINTER_SIZE .EQS. "64") .OR. - | ||
545 | (POINTER_SIZE .EQS. "64=") .OR. - | ||
546 | (POINTER_SIZE .EQS. "64=ARGV")) | ||
547 | $ THEN | ||
548 | $ ARCHD = ARCH+ "_64" | ||
549 | $ LIB32 = "" | ||
550 | $ IF (F$EXTRACT( 2, 1, POINTER_SIZE) .EQS. "=") | ||
551 | $ THEN | ||
552 | $! Explicit user choice: "64" or "64=ARGV". | ||
553 | $ IF (POINTER_SIZE .EQS. "64=") THEN POINTER_SIZE = "64" | ||
554 | $ ELSE | ||
555 | $ SET NOON | ||
556 | $ DEFINE /USER_MODE SYS$OUTPUT NL: | ||
557 | $ DEFINE /USER_MODE SYS$ERROR NL: | ||
558 | $ CC /NOLIST /NOOBJECT /POINTER_SIZE=64=ARGV NL: | ||
559 | $ IF ($STATUS .AND. %X0FFF0000) .EQ. %X00030000 | ||
560 | $ THEN | ||
561 | $ ! If we got here, it means DCL complained like this: | ||
562 | $ ! %DCL-W-NOVALU, value not allowed - remove value specification | ||
563 | $ ! \64=\ | ||
564 | $ ! | ||
565 | $ ! If the compiler was run, logicals defined in /USER would | ||
566 | $ ! have been deassigned automatically. However, when DCL | ||
567 | $ ! complains, they aren't, so we do it here (it might be | ||
568 | $ ! unnecessary, but just in case there will be another error | ||
569 | $ ! message further on that we don't want to miss) | ||
570 | $ DEASSIGN /USER_MODE SYS$ERROR | ||
571 | $ DEASSIGN /USER_MODE SYS$OUTPUT | ||
572 | $ ELSE | ||
573 | $ POINTER_SIZE = POINTER_SIZE + "=ARGV" | ||
574 | $ ENDIF | ||
575 | $ SET ON | ||
576 | $ ENDIF | ||
577 | $ POINTER_SIZE = " /POINTER_SIZE=''POINTER_SIZE'" | ||
578 | $ ELSE | ||
579 | $! | ||
580 | $! Tell The User Entered An Invalid Option. | ||
581 | $! | ||
582 | $ WRITE SYS$OUTPUT "" | ||
583 | $ WRITE SYS$OUTPUT "The Option ", P5, - | ||
584 | " Is Invalid. The Valid Options Are:" | ||
585 | $ WRITE SYS$OUTPUT "" | ||
586 | $ WRITE SYS$OUTPUT - | ||
587 | " """" : Compile with default (short) pointers." | ||
588 | $ WRITE SYS$OUTPUT - | ||
589 | " 32 : Compile with 32-bit (short) pointers." | ||
590 | $ WRITE SYS$OUTPUT - | ||
591 | " 64 : Compile with 64-bit (long) pointers (auto ARGV)." | ||
592 | $ WRITE SYS$OUTPUT - | ||
593 | " 64= : Compile with 64-bit (long) pointers (no ARGV)." | ||
594 | $ WRITE SYS$OUTPUT - | ||
595 | " 64=ARGV : Compile with 64-bit (long) pointers (ARGV)." | ||
596 | $ WRITE SYS$OUTPUT "" | ||
597 | $! | ||
598 | $! Time To EXIT. | ||
599 | $! | ||
600 | $ EXIT | ||
601 | $! | ||
602 | $ ENDIF | ||
603 | $! | ||
604 | $ ENDIF | ||
605 | $! | ||
606 | $! End The P5 (POINTER_SIZE) Check. | ||
607 | $! | ||
608 | $ ENDIF | ||
609 | $! | ||
610 | $! Check To See If P2 Is Blank. | ||
611 | $! | ||
612 | $ IF (P2.EQS."") | ||
613 | $ THEN | ||
614 | $! | ||
615 | $! O.K., The User Didn't Specify A Compiler, Let's Try To | ||
616 | $! Find Out Which One To Use. | ||
617 | $! | ||
618 | $! Check To See If We Have GNU C. | ||
619 | $! | ||
620 | $ IF (F$TRNLNM("GNU_CC").NES."") | ||
621 | $ THEN | ||
622 | $! | ||
623 | $! Looks Like GNUC, Set To Use GNUC. | ||
624 | $! | ||
625 | $ P2 = "GNUC" | ||
626 | $! | ||
627 | $! End The GNU C Compiler Check. | ||
628 | $! | ||
629 | $ ELSE | ||
630 | $! | ||
631 | $! Check To See If We Have VAXC Or DECC. | ||
632 | $! | ||
633 | $ IF (ARCH.NES."VAX").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."") | ||
634 | $ THEN | ||
635 | $! | ||
636 | $! Looks Like DECC, Set To Use DECC. | ||
637 | $! | ||
638 | $ P2 = "DECC" | ||
639 | $! | ||
640 | $! Else... | ||
641 | $! | ||
642 | $ ELSE | ||
643 | $! | ||
644 | $! Looks Like VAXC, Set To Use VAXC. | ||
645 | $! | ||
646 | $ P2 = "VAXC" | ||
647 | $! | ||
648 | $! End The VAXC Compiler Check. | ||
649 | $! | ||
650 | $ ENDIF | ||
651 | $! | ||
652 | $! End The DECC & VAXC Compiler Check. | ||
653 | $! | ||
654 | $ ENDIF | ||
655 | $! | ||
656 | $! End The Compiler Check. | ||
657 | $! | ||
658 | $ ENDIF | ||
659 | $! | ||
660 | $! Check To See If We Have A Option For P3. | ||
661 | $! | ||
662 | $ IF (P3.EQS."") | ||
663 | $ THEN | ||
664 | $! | ||
665 | $! Find out what socket library we have available | ||
666 | $! | ||
667 | $ IF F$PARSE("SOCKETSHR:") .NES. "" | ||
668 | $ THEN | ||
669 | $! | ||
670 | $! We have SOCKETSHR, and it is my opinion that it's the best to use. | ||
671 | $! | ||
672 | $ P3 = "SOCKETSHR" | ||
673 | $! | ||
674 | $! Tell the user | ||
675 | $! | ||
676 | $ WRITE SYS$OUTPUT "Using SOCKETSHR for TCP/IP" | ||
677 | $! | ||
678 | $! Else, let's look for something else | ||
679 | $! | ||
680 | $ ELSE | ||
681 | $! | ||
682 | $! Like UCX (the reason to do this before Multinet is that the UCX | ||
683 | $! emulation is easier to use...) | ||
684 | $! | ||
685 | $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" - | ||
686 | .OR. F$PARSE("SYS$SHARE:UCX$IPC_SHR.EXE") .NES. "" - | ||
687 | .OR. F$PARSE("SYS$LIBRARY:UCX$IPC.OLB") .NES. "" | ||
688 | $ THEN | ||
689 | $! | ||
690 | $! Last resort: a UCX or UCX-compatible library | ||
691 | $! | ||
692 | $ P3 = "UCX" | ||
693 | $! | ||
694 | $! Tell the user | ||
695 | $! | ||
696 | $ WRITE SYS$OUTPUT "Using UCX or an emulation thereof for TCP/IP" | ||
697 | $! | ||
698 | $! That was all... | ||
699 | $! | ||
700 | $ ENDIF | ||
701 | $ ENDIF | ||
702 | $ ENDIF | ||
703 | $! | ||
704 | $! Set Up Initial CC Definitions, Possibly With User Ones | ||
705 | $! | ||
706 | $ CCDEFS = "TCPIP_TYPE_''P3'" | ||
707 | $ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS | ||
708 | $ CCEXTRAFLAGS = "" | ||
709 | $ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS | ||
710 | $ CCDISABLEWARNINGS = "" !!! "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR" | ||
711 | $ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN - | ||
712 | CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS | ||
713 | $! | ||
714 | $! Check To See If We Have A ZLIB Option. | ||
715 | $! | ||
716 | $ ZLIB = P6 | ||
717 | $ IF (ZLIB .NES. "") | ||
718 | $ THEN | ||
719 | $! | ||
720 | $! Check for expected ZLIB files. | ||
721 | $! | ||
722 | $ err = 0 | ||
723 | $ file1 = f$parse( "zlib.h", ZLIB, , , "SYNTAX_ONLY") | ||
724 | $ if (f$search( file1) .eqs. "") | ||
725 | $ then | ||
726 | $ WRITE SYS$OUTPUT "" | ||
727 | $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." | ||
728 | $ WRITE SYS$OUTPUT " Can't find header: ''file1'" | ||
729 | $ err = 1 | ||
730 | $ endif | ||
731 | $ file1 = f$parse( "A.;", ZLIB)- "A.;" | ||
732 | $! | ||
733 | $ file2 = f$parse( ZLIB, "libz.olb", , , "SYNTAX_ONLY") | ||
734 | $ if (f$search( file2) .eqs. "") | ||
735 | $ then | ||
736 | $ if (err .eq. 0) | ||
737 | $ then | ||
738 | $ WRITE SYS$OUTPUT "" | ||
739 | $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." | ||
740 | $ endif | ||
741 | $ WRITE SYS$OUTPUT " Can't find library: ''file2'" | ||
742 | $ WRITE SYS$OUTPUT "" | ||
743 | $ err = err+ 2 | ||
744 | $ endif | ||
745 | $ if (err .eq. 1) | ||
746 | $ then | ||
747 | $ WRITE SYS$OUTPUT "" | ||
748 | $ endif | ||
749 | $! | ||
750 | $ if (err .ne. 0) | ||
751 | $ then | ||
752 | $ GOTO EXIT | ||
753 | $ endif | ||
754 | $! | ||
755 | $ CCDEFS = """ZLIB=1"", "+ CCDEFS | ||
756 | $ CC_INCLUDES = CC_INCLUDES+ ", "+ file1 | ||
757 | $ ZLIB_LIB = ", ''file2' /library" | ||
758 | $! | ||
759 | $! Print info | ||
760 | $! | ||
761 | $ WRITE SYS$OUTPUT "ZLIB library spec: ", file2 | ||
762 | $! | ||
763 | $! End The P8 Check. | ||
764 | $! | ||
765 | $ ENDIF | ||
766 | $! | ||
767 | $! Check To See If The User Entered A Valid Parameter. | ||
768 | $! | ||
769 | $ IF (P2.EQS."VAXC").OR.(P2.EQS."DECC").OR.(P2.EQS."GNUC") | ||
770 | $ THEN | ||
771 | $! | ||
772 | $! Check To See If The User Wanted DECC. | ||
773 | $! | ||
774 | $ IF (P2.EQS."DECC") | ||
775 | $ THEN | ||
776 | $! | ||
777 | $! Looks Like DECC, Set To Use DECC. | ||
778 | $! | ||
779 | $ COMPILER = "DECC" | ||
780 | $! | ||
781 | $! Tell The User We Are Using DECC. | ||
782 | $! | ||
783 | $ WRITE SYS$OUTPUT "Using DECC 'C' Compiler." | ||
784 | $! | ||
785 | $! Use DECC... | ||
786 | $! | ||
787 | $ CC = "CC" | ||
788 | $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - | ||
789 | THEN CC = "CC /DECC" | ||
790 | $ CC = CC + " /''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ - | ||
791 | "''POINTER_SIZE' /NOLIST /PREFIX=ALL" + - | ||
792 | " /INCLUDE=(''CC_INCLUDES') " + CCEXTRAFLAGS | ||
793 | $! | ||
794 | $! Define The Linker Options File Name. | ||
795 | $! | ||
796 | $ OPT_FILE = "VAX_DECC_OPTIONS.OPT" | ||
797 | $! | ||
798 | $! End DECC Check. | ||
799 | $! | ||
800 | $ ENDIF | ||
801 | $! | ||
802 | $! Check To See If We Are To Use VAXC. | ||
803 | $! | ||
804 | $ IF (P2.EQS."VAXC") | ||
805 | $ THEN | ||
806 | $! | ||
807 | $! Looks Like VAXC, Set To Use VAXC. | ||
808 | $! | ||
809 | $ COMPILER = "VAXC" | ||
810 | $! | ||
811 | $! Tell The User We Are Using VAX C. | ||
812 | $! | ||
813 | $ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler." | ||
814 | $! | ||
815 | $! Compile Using VAXC. | ||
816 | $! | ||
817 | $ CC = "CC" | ||
818 | $ IF ARCH.NES."VAX" | ||
819 | $ THEN | ||
820 | $ WRITE SYS$OUTPUT "There is no VAX C on ''ARCH'!" | ||
821 | $ EXIT | ||
822 | $ ENDIF | ||
823 | $ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC /VAXC" | ||
824 | $ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /NOLIST" + - | ||
825 | "/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS | ||
826 | $ CCDEFS = CCDEFS + ",""VAXC""" | ||
827 | $! | ||
828 | $! Define <sys> As SYS$COMMON:[SYSLIB] | ||
829 | $! | ||
830 | $ DEFINE /NOLOG SYS SYS$COMMON:[SYSLIB] | ||
831 | $! | ||
832 | $! Define The Linker Options File Name. | ||
833 | $! | ||
834 | $ OPT_FILE = "VAX_VAXC_OPTIONS.OPT" | ||
835 | $! | ||
836 | $! End VAXC Check | ||
837 | $! | ||
838 | $ ENDIF | ||
839 | $! | ||
840 | $! Check To See If We Are To Use GNU C. | ||
841 | $! | ||
842 | $ IF (P2.EQS."GNUC") | ||
843 | $ THEN | ||
844 | $! | ||
845 | $! Looks Like GNUC, Set To Use GNUC. | ||
846 | $! | ||
847 | $ COMPILER = "GNUC" | ||
848 | $! | ||
849 | $! Tell The User We Are Using GNUC. | ||
850 | $! | ||
851 | $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler." | ||
852 | $! | ||
853 | $! Use GNU C... | ||
854 | $! | ||
855 | $ CC = "GCC /NOCASE_HACK /''GCC_OPTIMIZE' /''DEBUGGER' /NOLIST" + - | ||
856 | "/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS | ||
857 | $! | ||
858 | $! Define The Linker Options File Name. | ||
859 | $! | ||
860 | $ OPT_FILE = "VAX_GNUC_OPTIONS.OPT" | ||
861 | $! | ||
862 | $! End The GNU C Check. | ||
863 | $! | ||
864 | $ ENDIF | ||
865 | $! | ||
866 | $! Set up default defines | ||
867 | $! | ||
868 | $ CCDEFS = """FLAT_INC=1""," + CCDEFS | ||
869 | $! | ||
870 | $! Finish up the definition of CC. | ||
871 | $! | ||
872 | $ IF COMPILER .EQS. "DECC" | ||
873 | $ THEN | ||
874 | $ IF CCDISABLEWARNINGS .EQS. "" | ||
875 | $ THEN | ||
876 | $ CC4DISABLEWARNINGS = "DOLLARID" | ||
877 | $ ELSE | ||
878 | $ CC4DISABLEWARNINGS = CCDISABLEWARNINGS + ",DOLLARID" | ||
879 | $ CCDISABLEWARNINGS = " /WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))" | ||
880 | $ ENDIF | ||
881 | $ CC4DISABLEWARNINGS = " /WARNING=(DISABLE=(" + CC4DISABLEWARNINGS + "))" | ||
882 | $ ELSE | ||
883 | $ CCDISABLEWARNINGS = "" | ||
884 | $ CC4DISABLEWARNINGS = "" | ||
885 | $ ENDIF | ||
886 | $ CC = CC + " /DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS | ||
887 | $! | ||
888 | $! Show user the result | ||
889 | $! | ||
890 | $ WRITE /SYMBOL SYS$OUTPUT "Main Compiling Command: ", CC | ||
891 | $! | ||
892 | $! Else The User Entered An Invalid Argument. | ||
893 | $! | ||
894 | $ ELSE | ||
895 | $! | ||
896 | $! Tell The User We Don't Know What They Want. | ||
897 | $! | ||
898 | $ WRITE SYS$OUTPUT "" | ||
899 | $ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:" | ||
900 | $ WRITE SYS$OUTPUT "" | ||
901 | $ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C." | ||
902 | $ WRITE SYS$OUTPUT " DECC : To Compile With DEC C." | ||
903 | $ WRITE SYS$OUTPUT " GNUC : To Compile With GNU C." | ||
904 | $ WRITE SYS$OUTPUT "" | ||
905 | $! | ||
906 | $! Time To EXIT. | ||
907 | $! | ||
908 | $ EXIT | ||
909 | $ ENDIF | ||
910 | $! | ||
911 | $! Time to check the contents, and to make sure we get the correct library. | ||
912 | $! | ||
913 | $ IF P3.EQS."SOCKETSHR" .OR. P3.EQS."MULTINET" .OR. P3.EQS."UCX" - | ||
914 | .OR. P3.EQS."TCPIP" .OR. P3.EQS."NONE" | ||
915 | $ THEN | ||
916 | $! | ||
917 | $! Check to see if SOCKETSHR was chosen | ||
918 | $! | ||
919 | $ IF P3.EQS."SOCKETSHR" | ||
920 | $ THEN | ||
921 | $! | ||
922 | $! Set the library to use SOCKETSHR | ||
923 | $! | ||
924 | $ TCPIP_LIB = ",SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT /OPTIONS" | ||
925 | $! | ||
926 | $! Done with SOCKETSHR | ||
927 | $! | ||
928 | $ ENDIF | ||
929 | $! | ||
930 | $! Check to see if MULTINET was chosen | ||
931 | $! | ||
932 | $ IF P3.EQS."MULTINET" | ||
933 | $ THEN | ||
934 | $! | ||
935 | $! Set the library to use UCX emulation. | ||
936 | $! | ||
937 | $ P3 = "UCX" | ||
938 | $! | ||
939 | $! Done with MULTINET | ||
940 | $! | ||
941 | $ ENDIF | ||
942 | $! | ||
943 | $! Check to see if UCX was chosen | ||
944 | $! | ||
945 | $ IF P3.EQS."UCX" | ||
946 | $ THEN | ||
947 | $! | ||
948 | $! Set the library to use UCX. | ||
949 | $! | ||
950 | $ TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT /OPTIONS" | ||
951 | $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" | ||
952 | $ THEN | ||
953 | $ TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT /OPTIONS" | ||
954 | $ ELSE | ||
955 | $ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN - | ||
956 | TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT /OPTIONS" | ||
957 | $ ENDIF | ||
958 | $! | ||
959 | $! Done with UCX | ||
960 | $! | ||
961 | $ ENDIF | ||
962 | $! | ||
963 | $! Check to see if TCPIP was chosen | ||
964 | $! | ||
965 | $ IF P3.EQS."TCPIP" | ||
966 | $ THEN | ||
967 | $! | ||
968 | $! Set the library to use TCPIP (post UCX). | ||
969 | $! | ||
970 | $ TCPIP_LIB = ",SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT /OPTIONS" | ||
971 | $! | ||
972 | $! Done with TCPIP | ||
973 | $! | ||
974 | $ ENDIF | ||
975 | $! | ||
976 | $! Check to see if NONE was chosen | ||
977 | $! | ||
978 | $ IF P3.EQS."NONE" | ||
979 | $ THEN | ||
980 | $! | ||
981 | $! Do not use a TCPIP library. | ||
982 | $! | ||
983 | $ TCPIP_LIB = "" | ||
984 | $! | ||
985 | $! Done with NONE | ||
986 | $! | ||
987 | $ ENDIF | ||
988 | $! | ||
989 | $! Print info | ||
990 | $! | ||
991 | $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB- "," | ||
992 | $! | ||
993 | $! Else The User Entered An Invalid Argument. | ||
994 | $! | ||
995 | $ ELSE | ||
996 | $! | ||
997 | $! Tell The User We Don't Know What They Want. | ||
998 | $! | ||
999 | $ WRITE SYS$OUTPUT "" | ||
1000 | $ WRITE SYS$OUTPUT "The Option ",P3," Is Invalid. The Valid Options Are:" | ||
1001 | $ WRITE SYS$OUTPUT "" | ||
1002 | $ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library." | ||
1003 | $ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library." | ||
1004 | $ WRITE SYS$OUTPUT " TCPIP : To link with TCPIP (post UCX) TCP/IP library." | ||
1005 | $ WRITE SYS$OUTPUT "" | ||
1006 | $! | ||
1007 | $! Time To EXIT. | ||
1008 | $! | ||
1009 | $ EXIT | ||
1010 | $! | ||
1011 | $! Done with TCP/IP libraries | ||
1012 | $! | ||
1013 | $ ENDIF | ||
1014 | $! | ||
1015 | $! Special Threads For OpenVMS v7.1 Or Later | ||
1016 | $! | ||
1017 | $! Written By: Richard Levitte | ||
1018 | $! richard@levitte.org | ||
1019 | $! | ||
1020 | $! | ||
1021 | $! Check To See If We Have A Option For P4. | ||
1022 | $! | ||
1023 | $ IF (P4.EQS."") | ||
1024 | $ THEN | ||
1025 | $! | ||
1026 | $! Get The Version Of VMS We Are Using. | ||
1027 | $! | ||
1028 | $ ISSEVEN := | ||
1029 | $ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,F$GETSYI("VERSION"))) | ||
1030 | $ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP)) | ||
1031 | $! | ||
1032 | $! Check To See If The VMS Version Is v7.1 Or Later. | ||
1033 | $! | ||
1034 | $ IF (TMP.GE.71) | ||
1035 | $ THEN | ||
1036 | $! | ||
1037 | $! We Have OpenVMS v7.1 Or Later, So Use The Special Threads. | ||
1038 | $! | ||
1039 | $ ISSEVEN := ,PTHREAD_USE_D4 | ||
1040 | $! | ||
1041 | $! End The VMS Version Check. | ||
1042 | $! | ||
1043 | $ ENDIF | ||
1044 | $! | ||
1045 | $! End The P4 Check. | ||
1046 | $! | ||
1047 | $ ENDIF | ||
1048 | $! | ||
1049 | $! Time To RETURN... | ||
1050 | $! | ||
1051 | $ RETURN | ||
1052 | $! | ||
1053 | $ INITIALISE: | ||
1054 | $! | ||
1055 | $! Save old value of the logical name OPENSSL | ||
1056 | $! | ||
1057 | $ __SAVE_OPENSSL = F$TRNLNM("OPENSSL","LNM$PROCESS_TABLE") | ||
1058 | $! | ||
1059 | $! Save directory information | ||
1060 | $! | ||
1061 | $ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A.;" | ||
1062 | $ __HERE = F$EDIT(__HERE,"UPCASE") | ||
1063 | $ __TOP = __HERE - "TEST]" | ||
1064 | $ __INCLUDE = __TOP + "INCLUDE.OPENSSL]" | ||
1065 | $! | ||
1066 | $! Set up the logical name OPENSSL to point at the include directory | ||
1067 | $! | ||
1068 | $ DEFINE OPENSSL /NOLOG '__INCLUDE' | ||
1069 | $! | ||
1070 | $! Done | ||
1071 | $! | ||
1072 | $ RETURN | ||
1073 | $! | ||
1074 | $ CLEANUP: | ||
1075 | $! | ||
1076 | $! Restore the logical name OPENSSL if it had a value | ||
1077 | $! | ||
1078 | $ IF __SAVE_OPENSSL .EQS. "" | ||
1079 | $ THEN | ||
1080 | $ DEASSIGN OPENSSL | ||
1081 | $ ELSE | ||
1082 | $ DEFINE /NOLOG OPENSSL '__SAVE_OPENSSL' | ||
1083 | $ ENDIF | ||
1084 | $! | ||
1085 | $! Done | ||
1086 | $! | ||
1087 | $ RETURN | ||