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 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.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