summaryrefslogtreecommitdiff
path: root/src/lib/libssl/test/maketests.com
diff options
context:
space:
mode:
authorbeck <>1999-09-29 04:37:45 +0000
committerbeck <>1999-09-29 04:37:45 +0000
commitde8f24ea083384bb66b32ec105dc4743c5663cdf (patch)
tree1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libssl/test/maketests.com
parentcb929d29896bcb87c2a97417fbd03e50078fc178 (diff)
downloadopenbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libssl/test/maketests.com')
-rw-r--r--src/lib/libssl/test/maketests.com1053
1 files changed, 1053 insertions, 0 deletions
diff --git a/src/lib/libssl/test/maketests.com b/src/lib/libssl/test/maketests.com
new file mode 100644
index 0000000000..e4b052e688
--- /dev/null
+++ b/src/lib/libssl/test/maketests.com
@@ -0,0 +1,1053 @@
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 "executeables" will be placed in a directory called
16$! [.xxx.EXE.TEST] where "xxx" denotes AXP or VAX depending on your machines
17$! architecture.
18$!
19$! Specify RSAREF as P1 to compile with the RSAREF library instead of
20$! the regular one. If you specify NORSAREF it will compile with the
21$! regular RSAREF routines. (Note: If you are in the United States
22$! you MUST compile with RSAREF unless you have a license from RSA).
23$!
24$! Note: The RSAREF libraries are NOT INCLUDED and you have to
25$! download it from "ftp://ftp.rsa.com/rsaref". You have to
26$! get the ".tar-Z" file as the ".zip" file dosen't have the
27$! directory structure stored. You have to extract the file
28$! into the [.RSAREF] directory under the root directory as that
29$! is where the scripts will look for the files.
30$!
31$! Specify DEBUG or NODEBUG P2 to compile with or without debugger
32$! information.
33$!
34$! Specify which compiler at P3 to try to compile under.
35$!
36$! VAXC For VAX C.
37$! DECC For DEC C.
38$! GNUC For GNU C.
39$!
40$! If you don't speficy a compiler, it will try to determine which
41$! "C" compiler to use.
42$!
43$! P4, if defined, sets a TCP/IP library to use, through one of the following
44$! keywords:
45$!
46$! UCX for UCX
47$! SOCKETSHR for SOCKETSHR+NETLIB
48$!
49$! P5, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up)
50$!
51$!
52$! Define A TCP/IP Library That We Will Need To Link To.
53$! (That is, If Wee Need To Link To One.)
54$!
55$ TCPIP_LIB = ""
56$!
57$! Check Which Architecture We Are Using.
58$!
59$ IF (F$GETSYI("CPU").GE.128)
60$ THEN
61$!
62$! The Architecture Is AXP.
63$!
64$ ARCH := AXP
65$!
66$! Else...
67$!
68$ ELSE
69$!
70$! The Architecture Is VAX.
71$!
72$ ARCH := VAX
73$!
74$! End The Architecture Check.
75$!
76$ ENDIF
77$!
78$! Check To Make Sure We Have Valid Command Line Parameters.
79$!
80$ GOSUB CHECK_OPTIONS
81$!
82$! Initialise logical names and such
83$!
84$ GOSUB INITIALISE
85$!
86$! Tell The User What Kind of Machine We Run On.
87$!
88$ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine."
89$!
90$! Define The CRYPTO-LIB We Are To Use.
91$!
92$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB
93$!
94$! Define The RSAREF-LIB We Are To Use.
95$!
96$ RSAREF_LIB := SYS$DISK:[-.'ARCH'.EXE.RSAREF]LIBRSAGLUE.OLB
97$!
98$! Define The SSL We Are To Use.
99$!
100$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB
101$!
102$! Define The OBJ Directory.
103$!
104$ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.TEST]
105$!
106$! Check To See If The Architecture Specific OBJ Directory Exists.
107$!
108$ IF (F$PARSE(OBJ_DIR).EQS."")
109$ THEN
110$!
111$! The EXE Directory Dosen't Exist, So Create It.
112$!
113$ CREATE/DIRECTORY 'OBJ_DIR'
114$!
115$! End The Architecture Specific OBJ Directory Check.
116$!
117$ ENDIF
118$!
119$! Define The EXE Directory.
120$!
121$ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.TEST]
122$!
123$! Check To See If The Architecture Specific EXE Directory Exists.
124$!
125$ IF (F$PARSE(EXE_DIR).EQS."")
126$ THEN
127$!
128$! The EXE Directory Dosen't Exist, So Create It.
129$!
130$ CREATE/DIRECTORY 'EXE_DIR'
131$!
132$! End The Architecture Specific EXE Directory Check.
133$!
134$ ENDIF
135$!
136$! Check To See If We Have The Proper Libraries.
137$!
138$ GOSUB LIB_CHECK
139$!
140$! Check To See If We Have A Linker Option File.
141$!
142$ GOSUB CHECK_OPT_FILE
143$!
144$! Define The TEST Files.
145$!
146$ TEST_FILES = "BNTEST,IDEATEST,MD2TEST,MD5TEST,HMACTEST,"+ -
147 "RC2TEST,RC4TEST,RC5TEST,"+ -
148 "DESTEST,SHATEST,SHA1TEST,MDC2TEST,RMDTEST,"+ -
149 "RANDTEST,DHTEST,"+ -
150 "BFTEST,CASTTEST,SSLTEST,EXPTEST,DSATEST,RSA_OAEP_TEST"
151$ TCPIP_PROGRAMS = ",,"
152$ IF COMPILER .EQS. "VAXC" THEN -
153 TCPIP_PROGRAMS = ",SSLTEST,"
154$!
155$! Define A File Counter And Set It To "0".
156$!
157$ FILE_COUNTER = 0
158$!
159$! Top Of The File Loop.
160$!
161$ NEXT_FILE:
162$!
163$! O.K, Extract The File Name From The File List.
164$!
165$ FILE_NAME = F$ELEMENT(FILE_COUNTER,",",TEST_FILES)
166$!
167$! Check To See If We Are At The End Of The File List.
168$!
169$ IF (FILE_NAME.EQS.",") THEN GOTO FILE_DONE
170$!
171$! Increment The Counter.
172$!
173$ FILE_COUNTER = FILE_COUNTER + 1
174$!
175$! Create The Source File Name.
176$!
177$ SOURCE_FILE = "SYS$DISK:[]" + FILE_NAME + ".C"
178$!
179$! Create The Object File Name.
180$!
181$ OBJECT_FILE = OBJ_DIR + FILE_NAME + ".OBJ"
182$!
183$! Create The Executable File Name.
184$!
185$ EXE_FILE = EXE_DIR + FILE_NAME + ".EXE"
186$ ON WARNING THEN GOTO NEXT_FILE
187$!
188$! Check To See If The File We Want To Compile Actually Exists.
189$!
190$ IF (F$SEARCH(SOURCE_FILE).EQS."")
191$ THEN
192$!
193$! Tell The User That The File Dosen't Exist.
194$!
195$ WRITE SYS$OUTPUT ""
196$ WRITE SYS$OUTPUT "The File ",SOURCE_FILE," Dosen't Exist."
197$ WRITE SYS$OUTPUT ""
198$!
199$! Exit The Build.
200$!
201$ GOTO EXIT
202$ ENDIF
203$!
204$! Tell The User What We Are Building.
205$!
206$ WRITE SYS$OUTPUT "Building The ",FILE_NAME," Test Program."
207$!
208$! Compile The File.
209$!
210$ ON ERROR THEN GOTO NEXT_FILE
211$ CC/OBJECT='OBJECT_FILE' 'SOURCE_FILE'
212$ ON WARNING THEN GOTO NEXT_FILE
213$!
214$! Check If What We Are About To Compile Works Without A TCP/IP Library.
215$!
216$ IF ((TCPIP_LIB.EQS."").AND.((TCPIP_PROGRAMS-FILE_NAME).NES.TCPIP_PROGRAMS))
217$ THEN
218$!
219$! Inform The User That A TCP/IP Library Is Needed To Compile This Program.
220$!
221$ WRITE SYS$OUTPUT FILE_NAME," Needs A TCP/IP Library. Can't Link. Skipping..."
222$ GOTO NEXT_FILE
223$!
224$! End The TCP/IP Library Check.
225$!
226$ ENDIF
227$!
228$! Link The Program, Check To See If We Need To Link With RSAREF Or Not.
229$!
230$ IF (RSAREF.EQS."TRUE")
231$ THEN
232$!
233$! Check To See If We Are To Link With A Specific TCP/IP Library.
234$!
235$ IF (TCPIP_LIB.NES."")
236$ THEN
237$!
238$! Link With The RSAREF Library And A Specific TCP/IP Library.
239$!
240$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
241 'OBJECT_FILE',-
242 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY,'RSAREF_LIB'/LIBRARY, -
243 'TCPIP_LIB','OPT_FILE'/OPTION
244$!
245$! Else...
246$!
247$ ELSE
248$!
249$! Link With The RSAREF Library And NO TCP/IP Library.
250$!
251$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
252 'OBJECT_FILE', -
253 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY,'RSAREF_LIB'/LIBRARY, -
254 'OPT_FILE'/OPTION
255$!
256$! End The TCP/IP Library Check.
257$!
258$ ENDIF
259$!
260$! Else...
261$!
262$ ELSE
263$!
264$! Don't Link With The RSAREF Routines.
265$!
266$!
267$! Check To See If We Are To Link With A Specific TCP/IP Library.
268$!
269$ IF (TCPIP_LIB.NES."")
270$ THEN
271$!
272$! Don't Link With The RSAREF Routines And TCP/IP Library.
273$!
274$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
275 'OBJECT_FILE', -
276 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
277 'TCPIP_LIB','OPT_FILE'/OPTION
278$!
279$! Else...
280$!
281$ ELSE
282$!
283$! Don't Link With The RSAREF Routines And Link With A TCP/IP Library.
284$!
285$ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' -
286 'OBJECT_FILE', -
287 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, -
288 'OPT_FILE'/OPTION
289$!
290$! End The TCP/IP Library Check.
291$!
292$ ENDIF
293$!
294$! End The RSAREF Link Check.
295$!
296$ ENDIF
297$!
298$! Go Back And Do It Again.
299$!
300$ GOTO NEXT_FILE
301$!
302$! All Done With This Library Part.
303$!
304$ FILE_DONE:
305$!
306$! All Done, Time To Exit.
307$!
308$ EXIT:
309$ GOSUB CLEANUP
310$ EXIT
311$!
312$! Check For The Link Option FIle.
313$!
314$ CHECK_OPT_FILE:
315$!
316$! Check To See If We Need To Make A VAX C Option File.
317$!
318$ IF (COMPILER.EQS."VAXC")
319$ THEN
320$!
321$! Check To See If We Already Have A VAX C Linker Option File.
322$!
323$ IF (F$SEARCH(OPT_FILE).EQS."")
324$ THEN
325$!
326$! We Need A VAX C Linker Option File.
327$!
328$ CREATE 'OPT_FILE'
329$DECK
330!
331! Default System Options File To Link Agianst
332! The Sharable VAX C Runtime Library.
333!
334SYS$SHARE:VAXCRTL.EXE/SHARE
335$EOD
336$!
337$! End The Option File Check.
338$!
339$ ENDIF
340$!
341$! End The VAXC Check.
342$!
343$ ENDIF
344$!
345$! Check To See If We Need A GNU C Option File.
346$!
347$ IF (COMPILER.EQS."GNUC")
348$ THEN
349$!
350$! Check To See If We Already Have A GNU C Linker Option File.
351$!
352$ IF (F$SEARCH(OPT_FILE).EQS."")
353$ THEN
354$!
355$! We Need A GNU C Linker Option File.
356$!
357$ CREATE 'OPT_FILE'
358$DECK
359!
360! Default System Options File To Link Agianst
361! The Sharable C Runtime Library.
362!
363GNU_CC:[000000]GCCLIB/LIBRARY
364SYS$SHARE:VAXCRTL/SHARE
365$EOD
366$!
367$! End The Option File Check.
368$!
369$ ENDIF
370$!
371$! End The GNU C Check.
372$!
373$ ENDIF
374$!
375$! Check To See If We Need A DEC C Option File.
376$!
377$ IF (COMPILER.EQS."DECC")
378$ THEN
379$!
380$! Check To See If We Already Have A DEC C Linker Option File.
381$!
382$ IF (F$SEARCH(OPT_FILE).EQS."")
383$ THEN
384$!
385$! Figure Out If We Need An AXP Or A VAX Linker Option File.
386$!
387$ IF (ARCH.EQS."VAX")
388$ THEN
389$!
390$! We Need A DEC C Linker Option File For VAX.
391$!
392$ CREATE 'OPT_FILE'
393$DECK
394!
395! Default System Options File To Link Agianst
396! The Sharable DEC C Runtime Library.
397!
398SYS$SHARE:DECC$SHR.EXE/SHARE
399$EOD
400$!
401$! Else...
402$!
403$ ELSE
404$!
405$! Create The AXP Linker Option File.
406$!
407$ CREATE 'OPT_FILE'
408$DECK
409!
410! Default System Options File For AXP To Link Agianst
411! The Sharable C Runtime Library.
412!
413SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE
414SYS$SHARE:CMA$OPEN_RTL/SHARE
415$EOD
416$!
417$! End The VAX/AXP DEC C Option File Check.
418$!
419$ ENDIF
420$!
421$! End The Option File Search.
422$!
423$ ENDIF
424$!
425$! End The DEC C Check.
426$!
427$ ENDIF
428$!
429$! Tell The User What Linker Option File We Are Using.
430$!
431$ WRITE SYS$OUTPUT "Using Linker Option File ",OPT_FILE,"."
432$!
433$! Time To RETURN.
434$!
435$ RETURN
436$!
437$! Check To See If We Have The Appropiate Libraries.
438$!
439$ LIB_CHECK:
440$!
441$! Look For The Library LIBCRYPTO.OLB.
442$!
443$ IF (F$SEARCH(CRYPTO_LIB).EQS."")
444$ THEN
445$!
446$! Tell The User We Can't Find The LIBCRYPTO.OLB Library.
447$!
448$ WRITE SYS$OUTPUT ""
449$ WRITE SYS$OUTPUT "Can't Find The Library ",CRYPTO_LIB,"."
450$ WRITE SYS$OUTPUT "We Can't Link Without It."
451$ WRITE SYS$OUTPUT ""
452$!
453$! Since We Can't Link Without It, Exit.
454$!
455$ EXIT
456$!
457$! End The Crypto Library Check.
458$!
459$ ENDIF
460$!
461$! See If We Need The RSAREF Library...
462$!
463$ IF (RSAREF.EQS."TRUE")
464$ THEN
465$!
466$! Look For The Library LIBRSAGLUE.OLB.
467$!
468$ IF (F$SEARCH(RSAREF_LIB).EQS."")
469$ THEN
470$!
471$! Tell The User We Can't Find The LIBRSAGLUE.OLB Library.
472$!
473$ WRITE SYS$OUTPUT ""
474$ WRITE SYS$OUTPUT "Can't Find The Library ",RSAREF_LIB,"."
475$ WRITE SYS$OUTPUT "We Can't Link Without It."
476$ WRITE SYS$OUTPUT ""
477$!
478$! Since We Can't Link Without It, Exit.
479$!
480$ EXIT
481$ ENDIF
482$!
483$! End The RSAREF Library Check.
484$!
485$ ENDIF
486$!
487$! Look For The Library LIBSSL.OLB.
488$!
489$ IF (F$SEARCH(SSL_LIB).EQS."")
490$ THEN
491$!
492$! Tell The User We Can't Find The LIBSSL.OLB Library.
493$!
494$ WRITE SYS$OUTPUT ""
495$ WRITE SYS$OUTPUT "Can't Find The Library ",SSL_LIB,"."
496$ WRITE SYS$OUTPUT "Some Of The Test Programs Need To Link To It."
497$ WRITE SYS$OUTPUT ""
498$!
499$! Since We Can't Link Without It, Exit.
500$!
501$ EXIT
502$!
503$! End The SSL Library Check.
504$!
505$ ENDIF
506$!
507$! Time To Return.
508$!
509$ RETURN
510$!
511$! Check The User's Options.
512$!
513$ CHECK_OPTIONS:
514$!
515$! Check To See If P1 Is Blank.
516$!
517$ IF (P1.EQS."NORSAREF")
518$ THEN
519$!
520$! P1 Is NORSAREF, So Compile With The Regular RSA Libraries.
521$!
522$ RSAREF = "FALSE"
523$ ELSE
524$!
525$! Check To See If We Are To Use The RSAREF Library.
526$!
527$ IF (P1.EQS."RSAREF")
528$ THEN
529$!
530$! Check To Make Sure We Have The RSAREF Source Code Directory.
531$!
532$ IF (F$SEARCH("SYS$DISK:[-.RSAREF]SOURCE.DIR").EQS."")
533$ THEN
534$!
535$! We Don't Have The RSAREF Souce Code Directory, So Tell The
536$! User This.
537$!
538$ WRITE SYS$OUTPUT ""
539$ WRITE SYS$OUTPUT "It appears that you don't have the RSAREF Souce Code."
540$ WRITE SYS$OUTPUT "You need to go to 'ftp://ftp.rsa.com/rsaref'. You have to"
541$ WRITE SYS$OUTPUT "get the '.tar-Z' file as the '.zip' file dosen't have the"
542$ WRITE SYS$OUTPUT "directory structure stored. You have to extract the file"
543$ WRITE SYS$OUTPUT "into the [.RSAREF] directory under the root directory"
544$ WRITE SYS$OUTPUT "as that is where the scripts will look for the files."
545$ WRITE SYS$OUTPUT ""
546$!
547$! Time To Exit.
548$!
549$ EXIT
550$!
551$! Else, Compile Using The RSAREF Library.
552$!
553$ ELSE
554$ RSAREF = "TRUE"
555$ ENDIF
556$ ELSE
557$!
558$! They Entered An Invalid Option..
559$!
560$ WRITE SYS$OUTPUT ""
561$ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:"
562$ WRITE SYS$OUTPUT ""
563$ WRITE SYS$OUTPUT " RSAREF : Compile With The RSAREF Library."
564$ WRITE SYS$OUTPUT " NORSAREF : Compile With The Regular RSA Library."
565$ WRITE SYS$OUTPUT ""
566$!
567$! Time To EXIT.
568$!
569$ EXIT
570$!
571$! End The Valid Arguement Check.
572$!
573$ ENDIF
574$!
575$! End The P1 Check.
576$!
577$ ENDIF
578$!
579$! Check To See If P2 Is Blank.
580$!
581$ IF (P2.EQS."NODEBUG")
582$ THEN
583$!
584$! P2 Is NODEBUG, So Compile Without Debugger Information.
585$!
586$ DEBUGGER = "NODEBUG"
587$ TRACEBACK = "NOTRACEBACK"
588$ GCC_OPTIMIZE = "OPTIMIZE"
589$ CC_OPTIMIZE = "OPTIMIZE"
590$ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile."
591$ WRITE SYS$OUTPUT "Compiling With Compiler Optimization."
592$!
593$! Else...
594$!
595$ ELSE
596$!
597$! Check To See If We Are To Compile With Debugger Information.
598$!
599$ IF (P2.EQS."DEBUG")
600$ THEN
601$!
602$! Compile With Debugger Information.
603$!
604$ DEBUGGER = "DEBUG"
605$ TRACEBACK = "TRACEBACK"
606$ GCC_OPTIMIZE = "NOOPTIMIZE"
607$ CC_OPTIMIZE = "NOOPTIMIZE"
608$ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile."
609$ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization."
610$!
611$! Else...
612$!
613$ ELSE
614$!
615$! Tell The User Entered An Invalid Option..
616$!
617$ WRITE SYS$OUTPUT ""
618$ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:"
619$ WRITE SYS$OUTPUT ""
620$ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information."
621$ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information."
622$ WRITE SYS$OUTPUT ""
623$!
624$! Time To EXIT.
625$!
626$ EXIT
627$!
628$! End The Valid Arguement Check.
629$!
630$ ENDIF
631$!
632$! End The P3 Check.
633$!
634$ ENDIF
635$!
636$! Check To See If P3 Is Blank.
637$!
638$ IF (P3.EQS."")
639$ THEN
640$!
641$! O.K., The User Didn't Specify A Compiler, Let's Try To
642$! Find Out Which One To Use.
643$!
644$! Check To See If We Have GNU C.
645$!
646$ IF (F$TRNLNM("GNU_CC").NES."")
647$ THEN
648$!
649$! Looks Like GNUC, Set To Use GNUC.
650$!
651$ P3 = "GNUC"
652$!
653$! End The GNU C Compiler Check.
654$!
655$ ELSE
656$!
657$! Check To See If We Have VAXC Or DECC.
658$!
659$ IF (ARCH.EQS."AXP").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."")
660$ THEN
661$!
662$! Looks Like DECC, Set To Use DECC.
663$!
664$ P3 = "DECC"
665$!
666$! Else...
667$!
668$ ELSE
669$!
670$! Looks Like VAXC, Set To Use VAXC.
671$!
672$ P3 = "VAXC"
673$!
674$! End The VAXC Compiler Check.
675$!
676$ ENDIF
677$!
678$! End The DECC & VAXC Compiler Check.
679$!
680$ ENDIF
681$!
682$! End The Compiler Check.
683$!
684$ ENDIF
685$!
686$! Check To See If We Have A Option For P4.
687$!
688$ IF (P4.EQS."")
689$ THEN
690$!
691$! Find out what socket library we have available
692$!
693$ IF F$PARSE("SOCKETSHR:") .NES. ""
694$ THEN
695$!
696$! We have SOCKETSHR, and it is my opinion that it's the best to use.
697$!
698$ P4 = "SOCKETSHR"
699$!
700$! Tell the user
701$!
702$ WRITE SYS$OUTPUT "Using SOCKETSHR for TCP/IP"
703$!
704$! Else, let's look for something else
705$!
706$ ELSE
707$!
708$! Like UCX (the reason to do this before Multinet is that the UCX
709$! emulation is easier to use...)
710$!
711$ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" -
712 .OR. F$PARSE("SYS$SHARE:UCX$IPC_SHR.EXE") .NES. "" -
713 .OR. F$PARSE("SYS$LIBRARY:UCX$IPC.OLB") .NES. ""
714$ THEN
715$!
716$! Last resort: a UCX or UCX-compatible library
717$!
718$ P4 = "UCX"
719$!
720$! Tell the user
721$!
722$ WRITE SYS$OUTPUT "Using UCX or an emulation thereof for TCP/IP"
723$!
724$! That was all...
725$!
726$ ENDIF
727$ ENDIF
728$ ENDIF
729$!
730$! Set Up Initial CC Definitions, Possibly With User Ones
731$!
732$ CCDEFS = "VMS=1,TCPIP_TYPE_''P4'"
733$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
734$ CCEXTRAFLAGS = ""
735$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
736$ CCDISABLEWARNINGS = ""
737$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
738 CCDISABLEWARNINGS = USER_CCDISABLEWARNINGS
739$!
740$! Check To See If The User Entered A Valid Paramter.
741$!
742$ IF (P3.EQS."VAXC").OR.(P3.EQS."DECC").OR.(P3.EQS."GNUC")
743$ THEN
744$!
745$! Check To See If The User Wanted DECC.
746$!
747$ IF (P3.EQS."DECC")
748$ THEN
749$!
750$! Looks Like DECC, Set To Use DECC.
751$!
752$ COMPILER = "DECC"
753$!
754$! Tell The User We Are Using DECC.
755$!
756$ WRITE SYS$OUTPUT "Using DECC 'C' Compiler."
757$!
758$! Use DECC...
759$!
760$ CC = "CC"
761$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
762 THEN CC = "CC/DECC"
763$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
764 "/NOLIST/PREFIX=ALL" + CCEXTRAFLAGS
765$!
766$! Define The Linker Options File Name.
767$!
768$ OPT_FILE = "SYS$DISK:[]VAX_DECC_OPTIONS.OPT"
769$!
770$! End DECC Check.
771$!
772$ ENDIF
773$!
774$! Check To See If We Are To Use VAXC.
775$!
776$ IF (P3.EQS."VAXC")
777$ THEN
778$!
779$! Looks Like VAXC, Set To Use VAXC.
780$!
781$ COMPILER = "VAXC"
782$!
783$! Tell The User We Are Using VAX C.
784$!
785$ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler."
786$!
787$! Compile Using VAXC.
788$!
789$ CC = "CC"
790$ IF ARCH.EQS."AXP"
791$ THEN
792$ WRITE SYS$OUTPUT "There is no VAX C on Alpha!"
793$ EXIT
794$ ENDIF
795$ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
796$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
797$ CCDEFS = CCDEFS + ",""VAXC"""
798$!
799$! Define <sys> As SYS$COMMON:[SYSLIB]
800$!
801$ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB]
802$!
803$! Define The Linker Options File Name.
804$!
805$ OPT_FILE = "SYS$DISK:[]VAX_VAXC_OPTIONS.OPT"
806$!
807$! End VAXC Check
808$!
809$ ENDIF
810$!
811$! Check To See If We Are To Use GNU C.
812$!
813$ IF (P3.EQS."GNUC")
814$ THEN
815$!
816$! Looks Like GNUC, Set To Use GNUC.
817$!
818$ COMPILER = "GNUC"
819$!
820$! Tell The User We Are Using GNUC.
821$!
822$ WRITE SYS$OUTPUT "Using GNU 'C' Compiler."
823$!
824$! Use GNU C...
825$!
826$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
827$!
828$! Define The Linker Options File Name.
829$!
830$ OPT_FILE = "SYS$DISK:[]VAX_GNUC_OPTIONS.OPT"
831$!
832$! End The GNU C Check.
833$!
834$ ENDIF
835$!
836$! Set up default defines
837$!
838$ CCDEFS = """FLAT_INC=1""," + CCDEFS
839$!
840$! Check To See If We Are To Compile With RSAREF Routines.
841$!
842$ IF (RSAREF.EQS."TRUE")
843$ THEN
844$!
845$! Compile With RSAREF.
846$!
847$ CCDEFS = CCDEFS + ",""RSAref=1"""
848$!
849$! Tell The User This.
850$!
851$ WRITE SYS$OUTPUT "Compiling With RSAREF Routines."
852$!
853$! Else, We Don't Care. Compile Without The RSAREF Library.
854$!
855$ ELSE
856$!
857$! Tell The User We Are Compile Without The RSAREF Routines.
858$!
859$ WRITE SYS$OUTPUT "Compiling Without The RSAREF Routines.
860$!
861$! End The RSAREF Check.
862$!
863$ ENDIF
864$!
865$! Finish up the definition of CC.
866$!
867$ IF COMPILER .EQS. "DECC"
868$ THEN
869$ IF CCDISABLEWARNINGS .EQS. ""
870$ THEN
871$ CC4DISABLEWARNINGS = "DOLLARID"
872$ ELSE
873$ CC4DISABLEWARNINGS = CCDISABLEWARNINGS + ",DOLLARID"
874$ CCDISABLEWARNINGS = "/WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))"
875$ ENDIF
876$ CC4DISABLEWARNINGS = "/WARNING=(DISABLE=(" + CC4DISABLEWARNINGS + "))"
877$ ELSE
878$ CCDISABLEWARNINGS = ""
879$ CC4DISABLEWARNINGS = ""
880$ ENDIF
881$ CC = CC + "/DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS
882$!
883$! Show user the result
884$!
885$ WRITE SYS$OUTPUT "Main Compiling Command: ",CC
886$!
887$! Else The User Entered An Invalid Arguement.
888$!
889$ ELSE
890$!
891$! Tell The User We Don't Know What They Want.
892$!
893$ WRITE SYS$OUTPUT ""
894$ WRITE SYS$OUTPUT "The Option ",P3," Is Invalid. The Valid Options Are:"
895$ WRITE SYS$OUTPUT ""
896$ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C."
897$ WRITE SYS$OUTPUT " DECC : To Compile With DEC C."
898$ WRITE SYS$OUTPUT " GNUC : To Compile With GNU C."
899$ WRITE SYS$OUTPUT ""
900$!
901$! Time To EXIT.
902$!
903$ EXIT
904$ ENDIF
905$!
906$! Time to check the contents, and to make sure we get the correct library.
907$!
908$ IF P4.EQS."SOCKETSHR" .OR. P4.EQS."MULTINET" .OR. P4.EQS."UCX"
909$ THEN
910$!
911$! Check to see if SOCKETSHR was chosen
912$!
913$ IF P4.EQS."SOCKETSHR"
914$ THEN
915$!
916$! Set the library to use SOCKETSHR
917$!
918$ TCPIP_LIB = "[-.VMS]SOCKETSHR_SHR.OPT/OPT"
919$!
920$! Done with SOCKETSHR
921$!
922$ ENDIF
923$!
924$! Check to see if MULTINET was chosen
925$!
926$ IF P4.EQS."MULTINET"
927$ THEN
928$!
929$! Set the library to use UXC emulation.
930$!
931$ P4 = "UCX"
932$!
933$! Done with MULTINET
934$!
935$ ENDIF
936$!
937$! Check to see if UCX was chosen
938$!
939$ IF P4.EQS."UCX"
940$ THEN
941$!
942$! Set the library to use UCX.
943$!
944$ TCPIP_LIB = "[-.VMS]UCX_SHR_DECC.OPT/OPT"
945$ IF F$TRNLNM("UCX$IPC_SHR") .NES. ""
946$ THEN
947$ TCPIP_LIB = "[-.VMS]UCX_SHR_DECC_LOG.OPT/OPT"
948$ ELSE
949$ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN -
950 TCPIP_LIB = "[-.VMS]UCX_SHR_VAXC.OPT/OPT"
951$ ENDIF
952$!
953$! Done with UCX
954$!
955$ ENDIF
956$!
957$! Print info
958$!
959$ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB
960$!
961$! Else The User Entered An Invalid Arguement.
962$!
963$ ELSE
964$!
965$! Tell The User We Don't Know What They Want.
966$!
967$ WRITE SYS$OUTPUT ""
968$ WRITE SYS$OUTPUT "The Option ",P4," Is Invalid. The Valid Options Are:"
969$ WRITE SYS$OUTPUT ""
970$ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library."
971$ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library."
972$ WRITE SYS$OUTPUT ""
973$!
974$! Time To EXIT.
975$!
976$ EXIT
977$!
978$! Done with TCP/IP libraries
979$!
980$ ENDIF
981$!
982$! Special Threads For OpenVMS v7.1 Or Later
983$!
984$! Written By: Richard Levitte
985$! richard@levitte.org
986$!
987$!
988$! Check To See If We Have A Option For P5.
989$!
990$ IF (P5.EQS."")
991$ THEN
992$!
993$! Get The Version Of VMS We Are Using.
994$!
995$ ISSEVEN :=
996$ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,F$GETSYI("VERSION")))
997$ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP))
998$!
999$! Check To See If The VMS Version Is v7.1 Or Later.
1000$!
1001$ IF (TMP.GE.71)
1002$ THEN
1003$!
1004$! We Have OpenVMS v7.1 Or Later, So Use The Special Threads.
1005$!
1006$ ISSEVEN := ,PTHREAD_USE_D4
1007$!
1008$! End The VMS Version Check.
1009$!
1010$ ENDIF
1011$!
1012$! End The P5 Check.
1013$!
1014$ ENDIF
1015$!
1016$! Time To RETURN...
1017$!
1018$ RETURN
1019$!
1020$ INITIALISE:
1021$!
1022$! Save old value of the logical name OPENSSL
1023$!
1024$ __SAVE_OPENSSL = F$TRNLNM("OPENSSL","LNM$PROCESS_TABLE")
1025$!
1026$! Save directory information
1027$!
1028$ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A.;"
1029$ __TOP = __HERE - "TEST]"
1030$ __INCLUDE = __TOP + "INCLUDE.OPENSSL]"
1031$!
1032$! Set up the logical name OPENSSL to point at the include directory
1033$!
1034$ DEFINE OPENSSL/NOLOG '__INCLUDE'
1035$!
1036$! Done
1037$!
1038$ RETURN
1039$!
1040$ CLEANUP:
1041$!
1042$! Restore the logical name OPENSSL if it had a value
1043$!
1044$ IF __SAVE_OPENSSL .EQS. ""
1045$ THEN
1046$ DEASSIGN OPENSSL
1047$ ELSE
1048$ DEFINE/NOLOG OPENSSL '__SAVE_OPENSSL'
1049$ ENDIF
1050$!
1051$! Done
1052$!
1053$ RETURN