1$	! OpenSSL config: determine the architecture and run Configure
2$	! Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
3$	!
4$	! Licensed under the Apache License 2.0 (the "License").  You may not use
5$	! this file except in compliance with the License.  You can obtain a
6$	! copy in the file LICENSE in the source distribution or at
7$	! https://www.openssl.org/source/license.html
8$	!
9$	! Very simple for the moment, it will take the following arguments:
10$	!
11$	! -32 or 32	sets /POINTER_SIZE=32
12$	! -64 or 64	sets /POINTER_SIZE=64
13$	! -d		sets debugging
14$	! -h		prints a usage and exits
15$	! -t		test mode, doesn't run Configure
16$
17$	arch = f$edit( f$getsyi( "arch_name"), "lowercase")
18$	pointer_size = ""
19$	dryrun = 0
20$	verbose = 0
21$	here = F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"),,,"SYNTAX_ONLY") - "A.;"
22$
23$	collected_args = ""
24$	P_index = 0
25$	LOOP1:
26$	    P_index = P_index + 1
27$	    IF P_index .GT. 8 THEN GOTO ENDLOOP1
28$	    P = F$EDIT(P1,"TRIM,LOWERCASE")
29$	    IF P .EQS. "-h"
30$           THEN
31$               dryrun = 1
32$               P = ""
33$               TYPE SYS$INPUT
34$               DECK
35Usage: @config [options]
36
37  -32 or 32	Build with 32-bit pointer size.
38  -64 or 64	Build with 64-bit pointer size.
39  -d		Build with debugging.
40  -t            Test mode, do not run the Configure perl script.
41  -v            Verbose mode, show the exact Configure call that is being made.
42  -h		This help.
43
44Any other text will be passed to the Configure perl script.
45See INSTALL.md for instructions.
46
47$               EOD
48$           ENDIF
49$	    IF P .EQS. "-t"
50$	    THEN
51$		dryrun = 1
52$		verbose = 1
53$		P = ""
54$	    ENDIF
55$	    IF P .EQS. "-v"
56$	    THEN
57$		verbose = 1
58$		P = ""
59$	    ENDIF
60$	    IF P .EQS. "-32" .OR. P .EQS. "32"
61$	    THEN
62$		pointer_size = "-P32"
63$		P = ""
64$	    ENDIF
65$	    IF P .EQS. "-64" .OR. P .EQS. "64"
66$	    THEN
67$		pointer_size = "-P64"
68$		P = ""
69$	    ENDIF
70$	    IF P .EQS. "-d"
71$	    THEN
72$               collected_args = collected_args + " --debug"
73$		P = ""
74$	    ENDIF
75$	    IF P .NES. "" THEN -
76	       collected_args = collected_args + " """ + P1 + """"
77$	    P1 = P2
78$	    P2 = P3
79$	    P3 = P4
80$	    P4 = P5
81$	    P5 = P6
82$	    P6 = P7
83$	    P7 = P8
84$	    P8 = ""
85$	    GOTO LOOP1
86$	ENDLOOP1:
87$
88$	target = "vms-''arch'''pointer_size'"
89$       IF verbose THEN -
90           WRITE SYS$OUTPUT "PERL ''here'Configure ""''target'""",collected_args
91$       IF .not. dryrun THEN -
92           PERL 'here'Configure "''target'"'collected_args'
93$       EXIT $STATUS
94