Ensure configured module specific and application specific defines are used
[openssl.git] / config.com
1 $       ! OpenSSL config: determine the architecture and run Configure
2 $       ! Copyright 2016-2018 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
35 Usage: @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
44 Any other text will be passed to the Configure perl script.
45 See INSTALL 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