| OLD | NEW |
| 1 $! | 1 $! |
| 2 $! MAKEAPPS.COM | 2 $! MAKEAPPS.COM |
| 3 $! Written By: Robert Byer | 3 $! Written By: Robert Byer |
| 4 $! Vice-President | 4 $! Vice-President |
| 5 $! A-Com Computing, Inc. | 5 $! A-Com Computing, Inc. |
| 6 $! byer@mail.all-net.net | 6 $! byer@mail.all-net.net |
| 7 $! | 7 $! |
| 8 $! Changes by Richard Levitte <richard@levitte.org> | 8 $! Changes by Richard Levitte <richard@levitte.org> |
| 9 $! Zoltan Arpadffy <zoli@polarhome.com> | 9 $! Zoltan Arpadffy <zoli@polarhome.com> |
| 10 $! | 10 $! |
| 11 $! This command files compiles and creates all the various different | 11 $! This command files compiles and creates all the various different |
| 12 $! "application" programs for the different types of encryption for OpenSSL. | 12 $! "application" programs for the different types of encryption for OpenSSL. |
| 13 $! The EXE's are placed in the directory [.xxx.EXE.APPS] where "xxx" denotes | 13 $! The EXE's are placed in the directory [.xxx.EXE.APPS] where "xxx" denotes |
| 14 $! ALPHA, IA64 or VAX, depending on your machine architecture. | 14 $! ALPHA, IA64 or VAX, depending on your machine architecture. |
| 15 $! | 15 $! |
| 16 $! It was written so it would try to determine what "C" compiler to | 16 $! It was written so it would try to determine what "C" compiler to |
| 17 $! use or you can specify which "C" compiler to use. | 17 $! use or you can specify which "C" compiler to use. |
| 18 $! | 18 $! |
| 19 $! Specify DEBUG or NODEBUG as P1 to compile with or without debugger | 19 $! Specify DEBUG or NODEBUG as P1 to compile with or without debugger |
| 20 $! information. | 20 $! information. |
| 21 $! | 21 $! |
| 22 $! Specify which compiler at P2 to try to compile under. | 22 $! Specify which compiler at P2 to try to compile under. |
| 23 $! | 23 $! |
| 24 $! VAXC For VAX C. | 24 $! VAXC For VAX C. |
| 25 $! DECC For DEC C. | 25 $! DECC For DEC C. |
| 26 $! GNUC For GNU C. | 26 $! GNUC For GNU C. |
| 27 $! | 27 $! |
| 28 $! If you don't speficy a compiler, it will try to determine which | 28 $! If you don't specify a compiler, it will try to determine which |
| 29 $! "C" compiler to use. | 29 $! "C" compiler to use. |
| 30 $! | 30 $! |
| 31 $! P3, if defined, sets a TCP/IP library to use, through one of the following | 31 $! P3, if defined, sets a TCP/IP library to use, through one of the following |
| 32 $! keywords: | 32 $! keywords: |
| 33 $! | 33 $! |
| 34 $! UCX for UCX | 34 $! UCX for UCX |
| 35 $! SOCKETSHR for SOCKETSHR+NETLIB | 35 $! SOCKETSHR for SOCKETSHR+NETLIB |
| 36 $! TCPIP for TCPIP (post UCX) | 36 $! TCPIP for TCPIP (post UCX) |
| 37 $! | 37 $! |
| 38 $! P4, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) | 38 $! P4, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) |
| 39 $! | 39 $! |
| 40 $! P5, if defined, sets a choice of programs to compile. | 40 $! P5, if defined, sets a choice of programs to compile. |
| 41 $! | 41 $! |
| 42 $! P6, if defined, specifies the C pointer size. Ignored on VAX. |
| 43 $! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.) |
| 44 $! Supported values are: |
| 45 $! |
| 46 $! "" Compile with default (/NOPOINTER_SIZE) |
| 47 $! 32 Compile with /POINTER_SIZE=32 (SHORT) |
| 48 $! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]) |
| 49 $! (Automatically select ARGV if compiler supports it.) |
| 50 $! 64= Compile with /POINTER_SIZE=64 (LONG). |
| 51 $! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV). |
| 52 $! |
| 53 $! P7, if defined, specifies a directory where ZLIB files (zlib.h, |
| 54 $! libz.olb) may be found. Optionally, a non-default object library |
| 55 $! name may be included ("dev:[dir]libz_64.olb", for example). |
| 56 $! |
| 57 $! |
| 58 $! Announce/identify. |
| 59 $! |
| 60 $ proc = f$environment( "procedure") |
| 61 $ write sys$output "@@@ "+ - |
| 62 f$parse( proc, , , "name")+ f$parse( proc, , , "type") |
| 63 $! |
| 64 $ on control_c then goto exit |
| 42 $! | 65 $! |
| 43 $! Define A TCP/IP Library That We Will Need To Link To. | 66 $! Define A TCP/IP Library That We Will Need To Link To. |
| 44 $! (That Is, If We Need To Link To One.) | 67 $! (That Is, If We Need To Link To One.) |
| 45 $! | 68 $! |
| 46 $ TCPIP_LIB = "" | 69 $ TCPIP_LIB = "" |
| 70 $ ZLIB_LIB = "" |
| 47 $! | 71 $! |
| 48 $! Check What Architecture We Are Using. | 72 $! Check What Architecture We Are Using. |
| 49 $! | 73 $! |
| 50 $ IF (F$GETSYI("CPU").LT.128) | 74 $ IF (F$GETSYI("CPU").LT.128) |
| 51 $ THEN | 75 $ THEN |
| 52 $! | 76 $! |
| 53 $! The Architecture Is VAX. | 77 $! The Architecture Is VAX. |
| 54 $! | 78 $! |
| 55 $ ARCH := VAX | 79 $ ARCH = "VAX" |
| 56 $! | 80 $! |
| 57 $! Else... | 81 $! Else... |
| 58 $! | 82 $! |
| 59 $ ELSE | 83 $ ELSE |
| 60 $! | 84 $! |
| 61 $! The Architecture Is Alpha, IA64 or whatever comes in the future. | 85 $! The Architecture Is Alpha, IA64 or whatever comes in the future. |
| 62 $! | 86 $! |
| 63 $ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") | 87 $ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") |
| 64 $ IF (ARCH .EQS. "") THEN ARCH = "UNK" | 88 $ IF (ARCH .EQS. "") THEN ARCH = "UNK" |
| 65 $! | 89 $! |
| 66 $! End The Architecture Check. | 90 $! End The Architecture Check. |
| 67 $! | 91 $! |
| 68 $ ENDIF | 92 $ ENDIF |
| 69 $! | 93 $! |
| 94 $ ARCHD = ARCH |
| 95 $ LIB32 = "32" |
| 96 $ OPT_FILE = "" |
| 97 $ POINTER_SIZE = "" |
| 98 $! |
| 70 $! Define what programs should be compiled | 99 $! Define what programs should be compiled |
| 71 $! | 100 $! |
| 72 $ PROGRAMS := OPENSSL | 101 $ PROGRAMS := OPENSSL |
| 73 $! | 102 $! |
| 74 $! Define The CRYPTO Library. | |
| 75 $! | |
| 76 $ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB | |
| 77 $! | |
| 78 $! Define The SSL Library. | |
| 79 $! | |
| 80 $ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB | |
| 81 $! | |
| 82 $! Define The OBJ Directory. | |
| 83 $! | |
| 84 $ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.APPS] | |
| 85 $! | |
| 86 $! Define The EXE Directory. | |
| 87 $! | |
| 88 $ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.APPS] | |
| 89 $! | |
| 90 $! Check To Make Sure We Have Valid Command Line Parameters. | 103 $! Check To Make Sure We Have Valid Command Line Parameters. |
| 91 $! | 104 $! |
| 92 $ GOSUB CHECK_OPTIONS | 105 $ GOSUB CHECK_OPTIONS |
| 93 $! | 106 $! |
| 107 $! Define The CRYPTO Library. |
| 108 $! |
| 109 $ CRYPTO_LIB := SYS$DISK:[-.'ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO'LIB32'.OLB |
| 110 $! |
| 111 $! Define The SSL Library. |
| 112 $! |
| 113 $ SSL_LIB := SYS$DISK:[-.'ARCHD'.EXE.SSL]SSL_LIBSSL'LIB32'.OLB |
| 114 $! |
| 115 $! Define The OBJ and EXE Directories. |
| 116 $! |
| 117 $ OBJ_DIR := SYS$DISK:[-.'ARCHD'.OBJ.APPS] |
| 118 $ EXE_DIR := SYS$DISK:[-.'ARCHD'.EXE.APPS] |
| 119 $! |
| 120 $! Specify the destination directory in any /MAP option. |
| 121 $! |
| 122 $ if (LINKMAP .eqs. "MAP") |
| 123 $ then |
| 124 $ LINKMAP = LINKMAP+ "=''EXE_DIR'" |
| 125 $ endif |
| 126 $! |
| 127 $! Add the location prefix to the linker options file name. |
| 128 $! |
| 129 $ if (OPT_FILE .nes. "") |
| 130 $ then |
| 131 $ OPT_FILE = EXE_DIR+ OPT_FILE |
| 132 $ endif |
| 133 $! |
| 94 $! Initialise logical names and such | 134 $! Initialise logical names and such |
| 95 $! | 135 $! |
| 96 $ GOSUB INITIALISE | 136 $ GOSUB INITIALISE |
| 97 $! | 137 $! |
| 98 $! Tell The User What Kind of Machine We Run On. | 138 $! Tell The User What Kind of Machine We Run On. |
| 99 $! | 139 $! |
| 100 $ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine." | 140 $ WRITE SYS$OUTPUT "Host system architecture: ''ARCHD'" |
| 101 $! | 141 $! |
| 102 $! Check To See If The OBJ Directory Exists. | 142 $! Check To See If The OBJ Directory Exists. |
| 103 $! | 143 $! |
| 104 $ IF (F$PARSE(OBJ_DIR).EQS."") | 144 $ IF (F$PARSE(OBJ_DIR).EQS."") |
| 105 $ THEN | 145 $ THEN |
| 106 $! | 146 $! |
| 107 $! It Dosen't Exist, So Create It. | 147 $! It Dosen't Exist, So Create It. |
| 108 $! | 148 $! |
| 109 $ CREATE/DIRECTORY 'OBJ_DIR' | 149 $ CREATE/DIRECTORY 'OBJ_DIR' |
| 110 $! | 150 $! |
| (...skipping 21 matching lines...) Expand all Loading... |
| 132 $! Check To See If We Have A Linker Option File. | 172 $! Check To See If We Have A Linker Option File. |
| 133 $! | 173 $! |
| 134 $ GOSUB CHECK_OPT_FILE | 174 $ GOSUB CHECK_OPT_FILE |
| 135 $! | 175 $! |
| 136 $! Define The Application Files. | 176 $! Define The Application Files. |
| 137 $! NOTE: Some might think this list ugly. However, it's made this way to | 177 $! NOTE: Some might think this list ugly. However, it's made this way to |
| 138 $! reflect the E_OBJ variable in Makefile as closely as possible, thereby | 178 $! reflect the E_OBJ variable in Makefile as closely as possible, thereby |
| 139 $! making it fairly easy to verify that the lists are the same. | 179 $! making it fairly easy to verify that the lists are the same. |
| 140 $! | 180 $! |
| 141 $ LIB_OPENSSL = "VERIFY,ASN1PARS,REQ,DGST,DH,DHPARAM,ENC,PASSWD,GENDH,ERRSTR,"+- | 181 $ LIB_OPENSSL = "VERIFY,ASN1PARS,REQ,DGST,DH,DHPARAM,ENC,PASSWD,GENDH,ERRSTR,"+- |
| 142 » » "CA,PKCS7,CRL2P7,CRL,"+- | 182 » » "CA,PKCS7,CRL2P7,CRL,"+- |
| 143 » » "RSA,RSAUTL,DSA,DSAPARAM,EC,ECPARAM,"+- | 183 » » "RSA,RSAUTL,DSA,DSAPARAM,EC,ECPARAM,"+- |
| 144 » » "X509,GENRSA,GENDSA,S_SERVER,S_CLIENT,SPEED,"+- | 184 » » "X509,GENRSA,GENDSA,GENPKEY,S_SERVER,S_CLIENT,SPEED,"+- |
| 145 » » "S_TIME,APPS,S_CB,S_SOCKET,APP_RAND,VERSION,SESS_ID,"+- | 185 » » "S_TIME,APPS,S_CB,S_SOCKET,APP_RAND,VERSION,SESS_ID,"+- |
| 146 » » "CIPHERS,NSEQ,PKCS12,PKCS8,SPKAC,SMIME,RAND,ENGINE,"+- | 186 » » "CIPHERS,NSEQ,PKCS12,PKCS8,PKEY,PKEYPARAM,PKEYUTL,"+ - |
| 147 » » "OCSP,PRIME,CMS" | 187 » » "SPKAC,SMIME,CMS,RAND,ENGINE,OCSP,PRIME,TS" |
| 188 $! |
| 189 $ LIB_OPENSSL = LIB_OPENSSL+ ",VMS_DECC_INIT" |
| 190 $! |
| 148 $ TCPIP_PROGRAMS = ",," | 191 $ TCPIP_PROGRAMS = ",," |
| 149 $ IF COMPILER .EQS. "VAXC" THEN - | 192 $ IF COMPILER .EQS. "VAXC" THEN - |
| 150 TCPIP_PROGRAMS = ",OPENSSL," | 193 TCPIP_PROGRAMS = ",OPENSSL," |
| 151 $! | 194 $! |
| 152 $! Setup exceptional compilations | 195 $! Setup exceptional compilations |
| 153 $! | 196 $! |
| 154 $ COMPILEWITH_CC2 = ",S_SOCKET,S_SERVER,S_CLIENT," | 197 $ COMPILEWITH_CC2 = ",S_SOCKET,S_SERVER,S_CLIENT," |
| 155 $! | 198 $! |
| 156 $ PHASE := LIB | 199 $ PHASE := LIB |
| 157 $! | 200 $! |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 $ IF (PHASE.EQS."LIB") | 238 $ IF (PHASE.EQS."LIB") |
| 196 $ THEN | 239 $ THEN |
| 197 $! | 240 $! |
| 198 $! Define A Library File Counter And Set It To "-1". | 241 $! Define A Library File Counter And Set It To "-1". |
| 199 $! -1 Means The Application File Name Is To Be Used. | 242 $! -1 Means The Application File Name Is To Be Used. |
| 200 $! | 243 $! |
| 201 $ LIB_COUNTER = -1 | 244 $ LIB_COUNTER = -1 |
| 202 $! | 245 $! |
| 203 $! Create a .OPT file for the object files | 246 $! Create a .OPT file for the object files |
| 204 $! | 247 $! |
| 205 $ OPEN/WRITE OBJECTS 'EXE_DIR''CURRENT_APP'.OPT | 248 $ OPEN /WRITE OBJECTS 'EXE_DIR''CURRENT_APP'.OPT |
| 206 $! | 249 $! |
| 207 $! Top Of The File Loop. | 250 $! Top Of The File Loop. |
| 208 $! | 251 $! |
| 209 $ NEXT_LIB: | 252 $ NEXT_LIB: |
| 210 $! | 253 $! |
| 211 $! O.K, Extract The File Name From The File List. | 254 $! O.K, Extract The File Name From The File List. |
| 212 $! | 255 $! |
| 213 $ IF LIB_COUNTER .GE. 0 | 256 $ IF LIB_COUNTER .GE. 0 |
| 214 $ THEN | 257 $ THEN |
| 215 $ FILE_NAME = F$EDIT(F$ELEMENT(LIB_COUNTER,",",LIB_'CURRENT_APP'),"TRIM") | 258 $ FILE_NAME = F$EDIT(F$ELEMENT(LIB_COUNTER,",",LIB_'CURRENT_APP'),"TRIM") |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 $! | 325 $! |
| 283 $! Check if this program works well without a TCPIP library | 326 $! Check if this program works well without a TCPIP library |
| 284 $! | 327 $! |
| 285 $ IF TCPIP_LIB .EQS. "" .AND. TCPIP_PROGRAMS - CURRENT_APP .NES. TCPIP_PROGRAMS | 328 $ IF TCPIP_LIB .EQS. "" .AND. TCPIP_PROGRAMS - CURRENT_APP .NES. TCPIP_PROGRAMS |
| 286 $ THEN | 329 $ THEN |
| 287 $ WRITE SYS$OUTPUT CURRENT_APP," needs a TCP/IP library. Can't link. Skippin
g..." | 330 $ WRITE SYS$OUTPUT CURRENT_APP," needs a TCP/IP library. Can't link. Skippin
g..." |
| 288 $ GOTO NEXT_APP | 331 $ GOTO NEXT_APP |
| 289 $ ENDIF | 332 $ ENDIF |
| 290 $! | 333 $! |
| 291 $! Link The Program. | 334 $! Link The Program. |
| 292 $! Check To See If We Are To Link With A Specific TCP/IP Library. | |
| 293 $! | 335 $! |
| 294 $ ON WARNING THEN GOTO NEXT_APP | 336 $ ON WARNING THEN GOTO NEXT_APP |
| 295 $! | 337 $! |
| 296 $ IF (TCPIP_LIB.NES."") | |
| 297 $ THEN | |
| 298 $! | |
| 299 $! Don't Link With The RSAREF Routines And TCP/IP Library. | 338 $! Don't Link With The RSAREF Routines And TCP/IP Library. |
| 300 $! | 339 $! |
| 301 $ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' - | 340 $ LINK /'DEBUGGER' /'LINKMAP' /'TRACEBACK' /EXE='EXE_FILE' - |
| 302 » 'EXE_DIR''CURRENT_APP'.OPT/OPTION, - | 341 'EXE_DIR''CURRENT_APP'.OPT /OPTIONS, - |
| 303 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, - | 342 'SSL_LIB' /LIBRARY, - |
| 304 'TCPIP_LIB','OPT_FILE'/OPTION | 343 'CRYPTO_LIB' /LIBRARY - |
| 305 $! | 344 'TCPIP_LIB' - |
| 306 $! Else... | 345 'ZLIB_LIB' - |
| 307 $! | 346 ,'OPT_FILE' /OPTIONS |
| 308 $ ELSE | |
| 309 $! | |
| 310 $! Don't Link With The RSAREF Routines And Link With A TCP/IP Library. | |
| 311 $! | |
| 312 $ LINK/'DEBUGGER'/'TRACEBACK' /EXE='EXE_FILE' - | |
| 313 » 'EXE_DIR''CURRENT_APP'.OPT/OPTION, - | |
| 314 'SSL_LIB'/LIBRARY,'CRYPTO_LIB'/LIBRARY, - | |
| 315 'OPT_FILE'/OPTION | |
| 316 $! | |
| 317 $! End The TCP/IP Library Check. | |
| 318 $! | |
| 319 $ ENDIF | |
| 320 $! | 347 $! |
| 321 $! Go Back And Do It Again. | 348 $! Go Back And Do It Again. |
| 322 $! | 349 $! |
| 323 $ GOTO NEXT_APP | 350 $ GOTO NEXT_APP |
| 324 $! | 351 $! |
| 325 $! All Done With This File. | 352 $! All Done With This File. |
| 326 $! | 353 $! |
| 327 $ APP_DONE: | 354 $ APP_DONE: |
| 328 $ EXIT: | 355 $ EXIT: |
| 329 $! | 356 $! |
| (...skipping 14 matching lines...) Expand all Loading... |
| 344 $! Check To See If We Already Have A VAX C Linker Option File. | 371 $! Check To See If We Already Have A VAX C Linker Option File. |
| 345 $! | 372 $! |
| 346 $ IF (F$SEARCH(OPT_FILE).EQS."") | 373 $ IF (F$SEARCH(OPT_FILE).EQS."") |
| 347 $ THEN | 374 $ THEN |
| 348 $! | 375 $! |
| 349 $! We Need A VAX C Linker Option File. | 376 $! We Need A VAX C Linker Option File. |
| 350 $! | 377 $! |
| 351 $ CREATE 'OPT_FILE' | 378 $ CREATE 'OPT_FILE' |
| 352 $DECK | 379 $DECK |
| 353 ! | 380 ! |
| 354 ! Default System Options File To Link Agianst | 381 ! Default System Options File To Link Against |
| 355 ! The Sharable VAX C Runtime Library. | 382 ! The Sharable VAX C Runtime Library. |
| 356 ! | 383 ! |
| 357 SYS$SHARE:VAXCRTL.EXE/SHARE | 384 SYS$SHARE:VAXCRTL.EXE/SHARE |
| 358 $EOD | 385 $EOD |
| 359 $! | 386 $! |
| 360 $! End The Option File Check. | 387 $! End The Option File Check. |
| 361 $! | 388 $! |
| 362 $ ENDIF | 389 $ ENDIF |
| 363 $! | 390 $! |
| 364 $! End The VAXC Check. | 391 $! End The VAXC Check. |
| 365 $! | 392 $! |
| 366 $ ENDIF | 393 $ ENDIF |
| 367 $! | 394 $! |
| 368 $! Check To See If We Need A GNU C Option File. | 395 $! Check To See If We Need A GNU C Option File. |
| 369 $! | 396 $! |
| 370 $ IF (COMPILER.EQS."GNUC") | 397 $ IF (COMPILER.EQS."GNUC") |
| 371 $ THEN | 398 $ THEN |
| 372 $! | 399 $! |
| 373 $! Check To See If We Already Have A GNU C Linker Option File. | 400 $! Check To See If We Already Have A GNU C Linker Option File. |
| 374 $! | 401 $! |
| 375 $ IF (F$SEARCH(OPT_FILE).EQS."") | 402 $ IF (F$SEARCH(OPT_FILE).EQS."") |
| 376 $ THEN | 403 $ THEN |
| 377 $! | 404 $! |
| 378 $! We Need A GNU C Linker Option File. | 405 $! We Need A GNU C Linker Option File. |
| 379 $! | 406 $! |
| 380 $ CREATE 'OPT_FILE' | 407 $ CREATE 'OPT_FILE' |
| 381 $DECK | 408 $DECK |
| 382 ! | 409 ! |
| 383 ! Default System Options File To Link Agianst | 410 ! Default System Options File To Link Against |
| 384 ! The Sharable C Runtime Library. | 411 ! The Sharable C Runtime Library. |
| 385 ! | 412 ! |
| 386 GNU_CC:[000000]GCCLIB/LIBRARY | 413 GNU_CC:[000000]GCCLIB/LIBRARY |
| 387 SYS$SHARE:VAXCRTL/SHARE | 414 SYS$SHARE:VAXCRTL/SHARE |
| 388 $EOD | 415 $EOD |
| 389 $! | 416 $! |
| 390 $! End The Option File Check. | 417 $! End The Option File Check. |
| 391 $! | 418 $! |
| 392 $ ENDIF | 419 $ ENDIF |
| 393 $! | 420 $! |
| (...skipping 14 matching lines...) Expand all Loading... |
| 408 $! Figure Out If We Need An AXP Or A VAX Linker Option File. | 435 $! Figure Out If We Need An AXP Or A VAX Linker Option File. |
| 409 $! | 436 $! |
| 410 $ IF ARCH.EQS."VAX" | 437 $ IF ARCH.EQS."VAX" |
| 411 $ THEN | 438 $ THEN |
| 412 $! | 439 $! |
| 413 $! We Need A DEC C Linker Option File For VAX. | 440 $! We Need A DEC C Linker Option File For VAX. |
| 414 $! | 441 $! |
| 415 $ CREATE 'OPT_FILE' | 442 $ CREATE 'OPT_FILE' |
| 416 $DECK | 443 $DECK |
| 417 ! | 444 ! |
| 418 ! Default System Options File To Link Agianst | 445 ! Default System Options File To Link Against |
| 419 ! The Sharable DEC C Runtime Library. | 446 ! The Sharable DEC C Runtime Library. |
| 420 ! | 447 ! |
| 421 SYS$SHARE:DECC$SHR.EXE/SHARE | 448 SYS$SHARE:DECC$SHR.EXE/SHARE |
| 422 $EOD | 449 $EOD |
| 423 $! | 450 $! |
| 424 $! Else... | 451 $! Else... |
| 425 $! | 452 $! |
| 426 $ ELSE | 453 $ ELSE |
| 427 $! | 454 $! |
| 428 $! Create The non-VAX Linker Option File. | 455 $! Create The non-VAX Linker Option File. |
| 429 $! | 456 $! |
| 430 $ CREATE 'OPT_FILE' | 457 $ CREATE 'OPT_FILE' |
| 431 $DECK | 458 $DECK |
| 432 ! | 459 ! |
| 433 ! Default System Options File For non-VAX To Link Agianst | 460 ! Default System Options File For non-VAX To Link Against |
| 434 ! The Sharable C Runtime Library. | 461 ! The Sharable C Runtime Library. |
| 435 ! | 462 ! |
| 436 SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE | 463 SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE |
| 437 SYS$SHARE:CMA$OPEN_RTL/SHARE | 464 SYS$SHARE:CMA$OPEN_RTL/SHARE |
| 438 $EOD | 465 $EOD |
| 439 $! | 466 $! |
| 440 $! End The DEC C Option File Check. | 467 $! End The DEC C Option File Check. |
| 441 $! | 468 $! |
| 442 $ ENDIF | 469 $ ENDIF |
| 443 $! | 470 $! |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 507 $! | 534 $! |
| 508 $! Check The User's Options. | 535 $! Check The User's Options. |
| 509 $! | 536 $! |
| 510 $ CHECK_OPTIONS: | 537 $ CHECK_OPTIONS: |
| 511 $! | 538 $! |
| 512 $! Check To See If P1 Is Blank. | 539 $! Check To See If P1 Is Blank. |
| 513 $! | 540 $! |
| 514 $ IF (P1.EQS."NODEBUG") | 541 $ IF (P1.EQS."NODEBUG") |
| 515 $ THEN | 542 $ THEN |
| 516 $! | 543 $! |
| 517 $! P1 Is NODEBUG, So Compile Without Debugger Information. | 544 $! P1 Is NODEBUG, So Compile Without Debugger Information. |
| 518 $! | 545 $! |
| 519 $ DEBUGGER = "NODEBUG" | 546 $ DEBUGGER = "NODEBUG" |
| 520 $ TRACEBACK = "NOTRACEBACK" | 547 $ LINKMAP = "NOMAP" |
| 521 $ GCC_OPTIMIZE = "OPTIMIZE" | 548 $ TRACEBACK = "NOTRACEBACK" |
| 522 $ CC_OPTIMIZE = "OPTIMIZE" | 549 $ GCC_OPTIMIZE = "OPTIMIZE" |
| 523 $ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile." | 550 $ CC_OPTIMIZE = "OPTIMIZE" |
| 524 $ WRITE SYS$OUTPUT "Compiling With Compiler Optimization." | 551 $ WRITE SYS$OUTPUT "No Debugger Information Will Be Produced During Compile." |
| 552 $ WRITE SYS$OUTPUT "Compiling With Compiler Optimization." |
| 525 $! | 553 $! |
| 526 $! Else... | 554 $! Else... |
| 527 $! | 555 $! |
| 528 $ ELSE | 556 $ ELSE |
| 529 $! | 557 $! |
| 530 $! Check To See If We Are To Compile With Debugger Information. | 558 $! Check To See If We Are To Compile With Debugger Information. |
| 531 $! | 559 $! |
| 532 $ IF (P1.EQS."DEBUG") | 560 $ IF (P1.EQS."DEBUG") |
| 533 $ THEN | 561 $ THEN |
| 534 $! | 562 $! |
| 535 $! Compile With Debugger Information. | 563 $! Compile With Debugger Information. |
| 536 $! | 564 $! |
| 537 $ DEBUGGER = "DEBUG" | 565 $ DEBUGGER = "DEBUG" |
| 566 $ LINKMAP = "MAP" |
| 538 $ TRACEBACK = "TRACEBACK" | 567 $ TRACEBACK = "TRACEBACK" |
| 539 $ GCC_OPTIMIZE = "NOOPTIMIZE" | 568 $ GCC_OPTIMIZE = "NOOPTIMIZE" |
| 540 $ CC_OPTIMIZE = "NOOPTIMIZE" | 569 $ CC_OPTIMIZE = "NOOPTIMIZE" |
| 541 $ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile." | 570 $ WRITE SYS$OUTPUT "Debugger Information Will Be Produced During Compile." |
| 542 $ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization." | 571 $ WRITE SYS$OUTPUT "Compiling Without Compiler Optimization." |
| 543 $ ELSE | 572 $ ELSE |
| 544 $! | 573 $! |
| 545 $! Tell The User Entered An Invalid Option.. | 574 $! Tell The User Entered An Invalid Option. |
| 546 $! | 575 $! |
| 547 $ WRITE SYS$OUTPUT "" | 576 $ WRITE SYS$OUTPUT "" |
| 548 $ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:" | 577 $ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:" |
| 549 $ WRITE SYS$OUTPUT "" | 578 $ WRITE SYS$OUTPUT "" |
| 550 $ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information." | 579 $ WRITE SYS$OUTPUT " DEBUG : Compile With The Debugger Information." |
| 551 $ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information
." | 580 $ WRITE SYS$OUTPUT " NODEBUG : Compile Without The Debugger Information
." |
| 552 $ WRITE SYS$OUTPUT "" | 581 $ WRITE SYS$OUTPUT "" |
| 553 $! | 582 $! |
| 554 $! Time To EXIT. | 583 $! Time To EXIT. |
| 555 $! | 584 $! |
| 556 $ EXIT | 585 $ EXIT |
| 557 $! | 586 $! |
| 558 $! End The Valid Arguement Check. | 587 $! End The Valid Argument Check. |
| 559 $! | 588 $! |
| 560 $ ENDIF | 589 $ ENDIF |
| 561 $! | 590 $! |
| 562 $! End The P1 Check. | 591 $! End The P1 Check. |
| 563 $! | 592 $! |
| 564 $ ENDIF | 593 $ ENDIF |
| 565 $! | 594 $! |
| 595 $! Check P6 (POINTER_SIZE). |
| 596 $! |
| 597 $ IF (P6 .NES. "") .AND. (ARCH .NES. "VAX") |
| 598 $ THEN |
| 599 $! |
| 600 $ IF (P6 .EQS. "32") |
| 601 $ THEN |
| 602 $ POINTER_SIZE = " /POINTER_SIZE=32" |
| 603 $ ELSE |
| 604 $ POINTER_SIZE = F$EDIT( P6, "COLLAPSE, UPCASE") |
| 605 $ IF ((POINTER_SIZE .EQS. "64") .OR. - |
| 606 (POINTER_SIZE .EQS. "64=") .OR. - |
| 607 (POINTER_SIZE .EQS. "64=ARGV")) |
| 608 $ THEN |
| 609 $ ARCHD = ARCH+ "_64" |
| 610 $ LIB32 = "" |
| 611 $ IF (F$EXTRACT( 2, 1, POINTER_SIZE) .EQS. "=") |
| 612 $ THEN |
| 613 $! Explicit user choice: "64" or "64=ARGV". |
| 614 $ IF (POINTER_SIZE .EQS. "64=") THEN POINTER_SIZE = "64" |
| 615 $ ELSE |
| 616 $ SET NOON |
| 617 $ DEFINE /USER_MODE SYS$OUTPUT NL: |
| 618 $ DEFINE /USER_MODE SYS$ERROR NL: |
| 619 $ CC /NOLIST /NOOBJECT /POINTER_SIZE=64=ARGV NL: |
| 620 $ IF ($STATUS .AND. %X0FFF0000) .EQ. %X00030000 |
| 621 $ THEN |
| 622 $ ! If we got here, it means DCL complained like this: |
| 623 $ ! %DCL-W-NOVALU, value not allowed - remove value specification |
| 624 $ ! \64=\ |
| 625 $ ! |
| 626 $ ! If the compiler was run, logicals defined in /USER would |
| 627 $ ! have been deassigned automatically. However, when DCL |
| 628 $ ! complains, they aren't, so we do it here (it might be |
| 629 $ ! unnecessary, but just in case there will be another error |
| 630 $ ! message further on that we don't want to miss) |
| 631 $ DEASSIGN /USER_MODE SYS$ERROR |
| 632 $ DEASSIGN /USER_MODE SYS$OUTPUT |
| 633 $ ELSE |
| 634 $ POINTER_SIZE = POINTER_SIZE + "=ARGV" |
| 635 $ ENDIF |
| 636 $ SET ON |
| 637 $ ENDIF |
| 638 $ POINTER_SIZE = " /POINTER_SIZE=''POINTER_SIZE'" |
| 639 $! |
| 640 $ ELSE |
| 641 $! |
| 642 $! Tell The User Entered An Invalid Option. |
| 643 $! |
| 644 $ WRITE SYS$OUTPUT "" |
| 645 $ WRITE SYS$OUTPUT "The Option ", P6, - |
| 646 " Is Invalid. The Valid Options Are:" |
| 647 $ WRITE SYS$OUTPUT "" |
| 648 $ WRITE SYS$OUTPUT - |
| 649 " """" : Compile with default (short) pointers." |
| 650 $ WRITE SYS$OUTPUT - |
| 651 " 32 : Compile with 32-bit (short) pointers." |
| 652 $ WRITE SYS$OUTPUT - |
| 653 " 64 : Compile with 64-bit (long) pointers (auto ARGV)." |
| 654 $ WRITE SYS$OUTPUT - |
| 655 " 64= : Compile with 64-bit (long) pointers (no ARGV)." |
| 656 $ WRITE SYS$OUTPUT - |
| 657 " 64=ARGV : Compile with 64-bit (long) pointers (ARGV)." |
| 658 $ WRITE SYS$OUTPUT "" |
| 659 $! |
| 660 $! Time To EXIT. |
| 661 $! |
| 662 $ EXIT |
| 663 $! |
| 664 $ ENDIF |
| 665 $! |
| 666 $ ENDIF |
| 667 $! |
| 668 $! End The P6 (POINTER_SIZE) Check. |
| 669 $! |
| 670 $ ENDIF |
| 671 $! |
| 672 $! Set basic C compiler /INCLUDE directories. |
| 673 $! |
| 674 $ CC_INCLUDES = "SYS$DISK:[-],SYS$DISK:[-.CRYPTO]" |
| 675 $! |
| 566 $! Check To See If P2 Is Blank. | 676 $! Check To See If P2 Is Blank. |
| 567 $! | 677 $! |
| 568 $ IF (P2.EQS."") | 678 $ IF (P2.EQS."") |
| 569 $ THEN | 679 $ THEN |
| 570 $! | 680 $! |
| 571 $! O.K., The User Didn't Specify A Compiler, Let's Try To | 681 $! O.K., The User Didn't Specify A Compiler, Let's Try To |
| 572 $! Find Out Which One To Use. | 682 $! Find Out Which One To Use. |
| 573 $! | 683 $! |
| 574 $! Check To See If We Have GNU C. | 684 $! Check To See If We Have GNU C. |
| 575 $! | 685 $! |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 $ ENDIF | 766 $ ENDIF |
| 657 $ ENDIF | 767 $ ENDIF |
| 658 $ ENDIF | 768 $ ENDIF |
| 659 $! | 769 $! |
| 660 $! Set Up Initial CC Definitions, Possibly With User Ones | 770 $! Set Up Initial CC Definitions, Possibly With User Ones |
| 661 $! | 771 $! |
| 662 $ CCDEFS = "MONOLITH" | 772 $ CCDEFS = "MONOLITH" |
| 663 $ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS | 773 $ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS |
| 664 $ CCEXTRAFLAGS = "" | 774 $ CCEXTRAFLAGS = "" |
| 665 $ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS | 775 $ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS |
| 666 $ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR" | 776 $ CCDISABLEWARNINGS = "" !!! "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR" |
| 667 $ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN - | 777 $ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN - |
| 668 CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS | 778 CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS |
| 669 $! | 779 $! |
| 670 $! Check To See If The User Entered A Valid Paramter. | 780 $! Check To See If We Have A ZLIB Option. |
| 781 $! |
| 782 $ ZLIB = P7 |
| 783 $ IF (ZLIB .NES. "") |
| 784 $ THEN |
| 785 $! |
| 786 $! Check for expected ZLIB files. |
| 787 $! |
| 788 $ err = 0 |
| 789 $ file1 = f$parse( "zlib.h", ZLIB, , , "SYNTAX_ONLY") |
| 790 $ if (f$search( file1) .eqs. "") |
| 791 $ then |
| 792 $ WRITE SYS$OUTPUT "" |
| 793 $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." |
| 794 $ WRITE SYS$OUTPUT " Can't find header: ''file1'" |
| 795 $ err = 1 |
| 796 $ endif |
| 797 $ file1 = f$parse( "A.;", ZLIB)- "A.;" |
| 798 $! |
| 799 $ file2 = f$parse( ZLIB, "libz.olb", , , "SYNTAX_ONLY") |
| 800 $ if (f$search( file2) .eqs. "") |
| 801 $ then |
| 802 $ if (err .eq. 0) |
| 803 $ then |
| 804 $ WRITE SYS$OUTPUT "" |
| 805 $ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid." |
| 806 $ endif |
| 807 $ WRITE SYS$OUTPUT " Can't find library: ''file2'" |
| 808 $ WRITE SYS$OUTPUT "" |
| 809 $ err = err+ 2 |
| 810 $ endif |
| 811 $ if (err .eq. 1) |
| 812 $ then |
| 813 $ WRITE SYS$OUTPUT "" |
| 814 $ endif |
| 815 $! |
| 816 $ if (err .ne. 0) |
| 817 $ then |
| 818 $ EXIT |
| 819 $ endif |
| 820 $! |
| 821 $ CCDEFS = """ZLIB=1"", "+ CCDEFS |
| 822 $ CC_INCLUDES = CC_INCLUDES+ ", "+ file1 |
| 823 $ ZLIB_LIB = ", ''file2' /library" |
| 824 $! |
| 825 $! Print info |
| 826 $! |
| 827 $ WRITE SYS$OUTPUT "ZLIB library spec: ", file2 |
| 828 $! |
| 829 $! End The ZLIB Check. |
| 830 $! |
| 831 $ ENDIF |
| 832 $! |
| 833 $! Check To See If The User Entered A Valid Parameter. |
| 671 $! | 834 $! |
| 672 $ IF (P2.EQS."VAXC").OR.(P2.EQS."DECC").OR.(P2.EQS."GNUC") | 835 $ IF (P2.EQS."VAXC").OR.(P2.EQS."DECC").OR.(P2.EQS."GNUC") |
| 673 $ THEN | 836 $ THEN |
| 674 $! | 837 $! |
| 675 $! Check To See If The User Wanted DECC. | 838 $! Check To See If The User Wanted DECC. |
| 676 $! | 839 $! |
| 677 $ IF (P2.EQS."DECC") | 840 $ IF (P2.EQS."DECC") |
| 678 $ THEN | 841 $ THEN |
| 679 $! | 842 $! |
| 680 $! Looks Like DECC, Set To Use DECC. | 843 $! Looks Like DECC, Set To Use DECC. |
| 681 $! | 844 $! |
| 682 $ COMPILER = "DECC" | 845 $ COMPILER = "DECC" |
| 683 $! | 846 $! |
| 684 $! Tell The User We Are Using DECC. | 847 $! Tell The User We Are Using DECC. |
| 685 $! | 848 $! |
| 686 $ WRITE SYS$OUTPUT "Using DECC 'C' Compiler." | 849 $ WRITE SYS$OUTPUT "Using DECC 'C' Compiler." |
| 687 $! | 850 $! |
| 688 $! Use DECC... | 851 $! Use DECC... |
| 689 $! | 852 $! |
| 690 $ CC = "CC" | 853 $ CC = "CC" |
| 691 $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - | 854 $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - |
| 692 THEN CC = "CC/DECC" | 855 THEN CC = "CC/DECC" |
| 693 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - | 856 $ CC = CC + " /''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ - |
| 694 "/NOLIST/PREFIX=ALL" + - | 857 "''POINTER_SIZE' /NOLIST /PREFIX=ALL" + - |
| 695 » "/INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO])" + CCEXTRAFLAGS | 858 " /INCLUDE=(''CC_INCLUDES') " + CCEXTRAFLAGS |
| 696 $! | 859 $! |
| 697 $! Define The Linker Options File Name. | 860 $! Define The Linker Options File Name. |
| 698 $! | 861 $! |
| 699 $ OPT_FILE = "''EXE_DIR'VAX_DECC_OPTIONS.OPT" | 862 $ OPT_FILE = "VAX_DECC_OPTIONS.OPT" |
| 700 $! | 863 $! |
| 701 $! End DECC Check. | 864 $! End DECC Check. |
| 702 $! | 865 $! |
| 703 $ ENDIF | 866 $ ENDIF |
| 704 $! | 867 $! |
| 705 $! Check To See If We Are To Use VAXC. | 868 $! Check To See If We Are To Use VAXC. |
| 706 $! | 869 $! |
| 707 $ IF (P2.EQS."VAXC") | 870 $ IF (P2.EQS."VAXC") |
| 708 $ THEN | 871 $ THEN |
| 709 $! | 872 $! |
| 710 $! Looks Like VAXC, Set To Use VAXC. | 873 $! Looks Like VAXC, Set To Use VAXC. |
| 711 $! | 874 $! |
| 712 $ COMPILER = "VAXC" | 875 $ COMPILER = "VAXC" |
| 713 $! | 876 $! |
| 714 $! Tell The User We Are Using VAX C. | 877 $! Tell The User We Are Using VAX C. |
| 715 $ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler." | 878 $ WRITE SYS$OUTPUT "Using VAXC 'C' Compiler." |
| 716 $! | 879 $! |
| 717 $! Compile Using VAXC. | 880 $! Compile Using VAXC. |
| 718 $! | 881 $! |
| 719 $ CC = "CC" | 882 $ CC = "CC" |
| 720 $ IF ARCH.NES."VAX" | 883 $ IF ARCH.NES."VAX" |
| 721 $ THEN | 884 $ THEN |
| 722 $ WRITE SYS$OUTPUT "There is no VAX C on ''ARCH'!" | 885 $ WRITE SYS$OUTPUT "There is no VAX C on ''ARCH'!" |
| 723 $ EXIT | 886 $ EXIT |
| 724 $ ENDIF | 887 $ ENDIF |
| 725 $ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC" | 888 $ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC" |
| 726 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - | 889 $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - |
| 727 » "/INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO])" + CCEXTRAFLAGS | 890 » "/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS |
| 728 $ CCDEFS = CCDEFS + ",""VAXC""" | 891 $ CCDEFS = CCDEFS + ",""VAXC""" |
| 729 $! | 892 $! |
| 730 $! Define <sys> As SYS$COMMON:[SYSLIB] | 893 $! Define <sys> As SYS$COMMON:[SYSLIB] |
| 731 $! | 894 $! |
| 732 $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB] | 895 $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB] |
| 733 $! | 896 $! |
| 734 $! Define The Linker Options File Name. | 897 $! Define The Linker Options File Name. |
| 735 $! | 898 $! |
| 736 $ OPT_FILE = "''EXE_DIR'VAX_VAXC_OPTIONS.OPT" | 899 $ OPT_FILE = "VAX_VAXC_OPTIONS.OPT" |
| 737 $! | 900 $! |
| 738 $! End VAXC Check | 901 $! End VAXC Check |
| 739 $! | 902 $! |
| 740 $ ENDIF | 903 $ ENDIF |
| 741 $! | 904 $! |
| 742 $! Check To See If We Are To Use GNU C. | 905 $! Check To See If We Are To Use GNU C. |
| 743 $! | 906 $! |
| 744 $ IF (P2.EQS."GNUC") | 907 $ IF (P2.EQS."GNUC") |
| 745 $ THEN | 908 $ THEN |
| 746 $! | 909 $! |
| 747 $! Looks Like GNUC, Set To Use GNUC. | 910 $! Looks Like GNUC, Set To Use GNUC. |
| 748 $! | 911 $! |
| 749 $ COMPILER = "GNUC" | 912 $ COMPILER = "GNUC" |
| 750 $! | 913 $! |
| 751 $! Tell The User We Are Using GNUC. | 914 $! Tell The User We Are Using GNUC. |
| 752 $! | 915 $! |
| 753 $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler." | 916 $ WRITE SYS$OUTPUT "Using GNU 'C' Compiler." |
| 754 $! | 917 $! |
| 755 $! Use GNU C... | 918 $! Use GNU C... |
| 756 $! | 919 $! |
| 757 $ IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC | 920 $ IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC |
| 758 $ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - | 921 $ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - |
| 759 » "/INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO])" + CCEXTRAFLAGS | 922 » "/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS |
| 760 $! | 923 $! |
| 761 $! Define The Linker Options File Name. | 924 $! Define The Linker Options File Name. |
| 762 $! | 925 $! |
| 763 $ OPT_FILE = "''EXE_DIR'VAX_GNUC_OPTIONS.OPT" | 926 $ OPT_FILE = "VAX_GNUC_OPTIONS.OPT" |
| 764 $! | 927 $! |
| 765 $! End The GNU C Check. | 928 $! End The GNU C Check. |
| 766 $! | 929 $! |
| 767 $ ENDIF | 930 $ ENDIF |
| 768 $! | 931 $! |
| 769 $! Set up default defines | 932 $! Set up default defines |
| 770 $! | 933 $! |
| 771 $ CCDEFS = """FLAT_INC=1""," + CCDEFS | 934 $ CCDEFS = """FLAT_INC=1""," + CCDEFS |
| 772 $! | 935 $! |
| 773 $! Else The User Entered An Invalid Arguement. | 936 $! Else The User Entered An Invalid Argument. |
| 774 $! | 937 $! |
| 775 $ ELSE | 938 $ ELSE |
| 776 $! | 939 $! |
| 777 $! Tell The User We Don't Know What They Want. | 940 $! Tell The User We Don't Know What They Want. |
| 778 $! | 941 $! |
| 779 $ WRITE SYS$OUTPUT "" | 942 $ WRITE SYS$OUTPUT "" |
| 780 $ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:" | 943 $ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:" |
| 781 $ WRITE SYS$OUTPUT "" | 944 $ WRITE SYS$OUTPUT "" |
| 782 $ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C." | 945 $ WRITE SYS$OUTPUT " VAXC : To Compile With VAX C." |
| 783 $ WRITE SYS$OUTPUT " DECC : To Compile With DEC C." | 946 $ WRITE SYS$OUTPUT " DECC : To Compile With DEC C." |
| (...skipping 11 matching lines...) Expand all Loading... |
| 795 .OR. P3.EQS."TCPIP" .OR. P3.EQS."NONE" | 958 .OR. P3.EQS."TCPIP" .OR. P3.EQS."NONE" |
| 796 $ THEN | 959 $ THEN |
| 797 $! | 960 $! |
| 798 $! Check to see if SOCKETSHR was chosen | 961 $! Check to see if SOCKETSHR was chosen |
| 799 $! | 962 $! |
| 800 $ IF P3.EQS."SOCKETSHR" | 963 $ IF P3.EQS."SOCKETSHR" |
| 801 $ THEN | 964 $ THEN |
| 802 $! | 965 $! |
| 803 $! Set the library to use SOCKETSHR | 966 $! Set the library to use SOCKETSHR |
| 804 $! | 967 $! |
| 805 $ TCPIP_LIB = "SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT/OPT" | 968 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]SOCKETSHR_SHR.OPT /OPTIONS" |
| 806 $! | 969 $! |
| 807 $! Done with SOCKETSHR | 970 $! Done with SOCKETSHR |
| 808 $! | 971 $! |
| 809 $ ENDIF | 972 $ ENDIF |
| 810 $! | 973 $! |
| 811 $! Check to see if MULTINET was chosen | 974 $! Check to see if MULTINET was chosen |
| 812 $! | 975 $! |
| 813 $ IF P3.EQS."MULTINET" | 976 $ IF P3.EQS."MULTINET" |
| 814 $ THEN | 977 $ THEN |
| 815 $! | 978 $! |
| 816 $! Set the library to use UCX emulation. | 979 $! Set the library to use UCX emulation. |
| 817 $! | 980 $! |
| 818 $ P3 = "UCX" | 981 $ P3 = "UCX" |
| 819 $! | 982 $! |
| 820 $! Done with MULTINET | 983 $! Done with MULTINET |
| 821 $! | 984 $! |
| 822 $ ENDIF | 985 $ ENDIF |
| 823 $! | 986 $! |
| 824 $! Check to see if UCX was chosen | 987 $! Check to see if UCX was chosen |
| 825 $! | 988 $! |
| 826 $ IF P3.EQS."UCX" | 989 $ IF P3.EQS."UCX" |
| 827 $ THEN | 990 $ THEN |
| 828 $! | 991 $! |
| 829 $! Set the library to use UCX. | 992 $! Set the library to use UCX. |
| 830 $! | 993 $! |
| 831 $ TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT/OPT" | 994 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_DECC.OPT /OPTIONS" |
| 832 $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" | 995 $ IF F$TRNLNM("UCX$IPC_SHR") .NES. "" |
| 833 $ THEN | 996 $ THEN |
| 834 $ TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT/OPT" | 997 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_DECC_LOG.OPT /OPTIONS" |
| 835 $ ELSE | 998 $ ELSE |
| 836 $ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN - | 999 $ IF COMPILER .NES. "DECC" .AND. ARCH .EQS. "VAX" THEN - |
| 837 » TCPIP_LIB = "SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT/OPT" | 1000 » TCPIP_LIB = ",SYS$DISK:[-.VMS]UCX_SHR_VAXC.OPT /OPTIONS" |
| 838 $ ENDIF | 1001 $ ENDIF |
| 839 $! | 1002 $! |
| 840 $! Done with UCX | 1003 $! Done with UCX |
| 841 $! | 1004 $! |
| 842 $ ENDIF | 1005 $ ENDIF |
| 843 $! | 1006 $! |
| 844 $! Check to see if TCPIP (post UCX) was chosen | 1007 $! Check to see if TCPIP (post UCX) was chosen |
| 845 $! | 1008 $! |
| 846 $ IF P3.EQS."TCPIP" | 1009 $ IF P3.EQS."TCPIP" |
| 847 $ THEN | 1010 $ THEN |
| 848 $! | 1011 $! |
| 849 $! Set the library to use TCPIP. | 1012 $! Set the library to use TCPIP. |
| 850 $! | 1013 $! |
| 851 $ TCPIP_LIB = "SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT/OPT" | 1014 $ TCPIP_LIB = ",SYS$DISK:[-.VMS]TCPIP_SHR_DECC.OPT /OPTIONS" |
| 852 $! | 1015 $! |
| 853 $! Done with TCPIP | 1016 $! Done with TCPIP |
| 854 $! | 1017 $! |
| 855 $ ENDIF | 1018 $ ENDIF |
| 856 $! | 1019 $! |
| 857 $! Check to see if NONE was chosen | 1020 $! Check to see if NONE was chosen |
| 858 $! | 1021 $! |
| 859 $ IF P3.EQS."NONE" | 1022 $ IF P3.EQS."NONE" |
| 860 $ THEN | 1023 $ THEN |
| 861 $! | 1024 $! |
| 862 $! Do not use TCPIP. | 1025 $! Do not use TCPIP. |
| 863 $! | 1026 $! |
| 864 $ TCPIP_LIB = "" | 1027 $ TCPIP_LIB = "" |
| 865 $! | 1028 $! |
| 866 $! Done with TCPIP | 1029 $! Done with TCPIP |
| 867 $! | 1030 $! |
| 868 $ ENDIF | 1031 $ ENDIF |
| 869 $! | 1032 $! |
| 870 $! Add TCP/IP type to CC definitions. | 1033 $! Add TCP/IP type to CC definitions. |
| 871 $! | 1034 $! |
| 872 $ CCDEFS = CCDEFS + ",TCPIP_TYPE_''P3'" | 1035 $ CCDEFS = CCDEFS + ",TCPIP_TYPE_''P3'" |
| 873 $! | 1036 $! |
| 874 $! Print info | 1037 $! Print info |
| 875 $! | 1038 $! |
| 876 $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB | 1039 $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB- "," |
| 877 $! | 1040 $! |
| 878 $! Else The User Entered An Invalid Arguement. | 1041 $! Else The User Entered An Invalid Argument. |
| 879 $! | 1042 $! |
| 880 $ ELSE | 1043 $ ELSE |
| 881 $! | 1044 $! |
| 882 $! Tell The User We Don't Know What They Want. | 1045 $! Tell The User We Don't Know What They Want. |
| 883 $! | 1046 $! |
| 884 $ WRITE SYS$OUTPUT "" | 1047 $ WRITE SYS$OUTPUT "" |
| 885 $ WRITE SYS$OUTPUT "The Option ",P3," Is Invalid. The Valid Options Are:" | 1048 $ WRITE SYS$OUTPUT "The Option ",P3," Is Invalid. The Valid Options Are:" |
| 886 $ WRITE SYS$OUTPUT "" | 1049 $ WRITE SYS$OUTPUT "" |
| 887 $ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library." | 1050 $ WRITE SYS$OUTPUT " SOCKETSHR : To link with SOCKETSHR TCP/IP library." |
| 888 $ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library." | 1051 $ WRITE SYS$OUTPUT " UCX : To link with UCX TCP/IP library." |
| 889 $ WRITE SYS$OUTPUT " TCPIP : To link with TCPIP (post UCX) TCP/IP lib
rary." | 1052 $ WRITE SYS$OUTPUT " TCPIP : To link with TCPIP (post UCX) TCP/IP lib
rary." |
| 890 $ WRITE SYS$OUTPUT "" | 1053 $ WRITE SYS$OUTPUT "" |
| 891 $! | 1054 $! |
| 892 $! Time To EXIT. | 1055 $! Time To EXIT. |
| 893 $! | 1056 $! |
| 894 $ EXIT | 1057 $ EXIT |
| 895 $! | 1058 $! |
| 896 $! Done with TCP/IP libraries | 1059 $! Done with TCP/IP libraries |
| 897 $! | 1060 $! |
| 898 $ ENDIF | 1061 $ ENDIF |
| 899 $! | 1062 $! |
| 900 $! Finish up the definition of CC. | 1063 $! Finish up the definition of CC. |
| 901 $! | 1064 $! |
| 902 $ IF COMPILER .EQS. "DECC" | 1065 $ IF COMPILER .EQS. "DECC" |
| 903 $ THEN | 1066 $ THEN |
| 904 $ IF CCDISABLEWARNINGS .NES. "" | 1067 $ IF CCDISABLEWARNINGS .NES. "" |
| 905 $ THEN | 1068 $ THEN |
| 906 $ CCDISABLEWARNINGS = "/WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))" | 1069 $ CCDISABLEWARNINGS = " /WARNING=(DISABLE=(" + CCDISABLEWARNINGS + "))" |
| 907 $ ENDIF | 1070 $ ENDIF |
| 908 $ ELSE | 1071 $ ELSE |
| 909 $ CCDISABLEWARNINGS = "" | 1072 $ CCDISABLEWARNINGS = "" |
| 910 $ ENDIF | 1073 $ ENDIF |
| 911 $ CC2 = CC + "/DEFINE=(" + CCDEFS + ",_POSIX_C_SOURCE)" + CCDISABLEWARNINGS | 1074 $ CC2 = CC + " /DEFINE=(" + CCDEFS + ",_POSIX_C_SOURCE)" + CCDISABLEWARNINGS |
| 912 $ CC = CC + "/DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS | 1075 $ CC = CC + " /DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS |
| 913 $! | 1076 $! |
| 914 $! Show user the result | 1077 $! Show user the result |
| 915 $! | 1078 $! |
| 916 $ WRITE/SYMBOL SYS$OUTPUT "Main Compiling Command: ",CC | 1079 $ WRITE/SYMBOL SYS$OUTPUT "Main Compiling Command: ",CC |
| 917 $! | 1080 $! |
| 918 $! Special Threads For OpenVMS v7.1 Or Later | 1081 $! Special Threads For OpenVMS v7.1 Or Later |
| 919 $! | 1082 $! |
| 920 $! Written By: Richard Levitte | 1083 $! Written By: Richard Levitte |
| 921 $! richard@levitte.org | 1084 $! richard@levitte.org |
| 922 $! | 1085 $! |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 968 $! | 1131 $! |
| 969 $! Save directory information | 1132 $! Save directory information |
| 970 $! | 1133 $! |
| 971 $ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A
.;" | 1134 $ __HERE = F$PARSE(F$PARSE("A.;",F$ENVIRONMENT("PROCEDURE"))-"A.;","[]A.;") - "A
.;" |
| 972 $ __HERE = F$EDIT(__HERE,"UPCASE") | 1135 $ __HERE = F$EDIT(__HERE,"UPCASE") |
| 973 $ __TOP = __HERE - "APPS]" | 1136 $ __TOP = __HERE - "APPS]" |
| 974 $ __INCLUDE = __TOP + "INCLUDE.OPENSSL]" | 1137 $ __INCLUDE = __TOP + "INCLUDE.OPENSSL]" |
| 975 $! | 1138 $! |
| 976 $! Set up the logical name OPENSSL to point at the include directory | 1139 $! Set up the logical name OPENSSL to point at the include directory |
| 977 $! | 1140 $! |
| 978 $ DEFINE OPENSSL/NOLOG '__INCLUDE' | 1141 $ DEFINE OPENSSL /NOLOG '__INCLUDE' |
| 979 $! | 1142 $! |
| 980 $! Done | 1143 $! Done |
| 981 $! | 1144 $! |
| 982 $ RETURN | 1145 $ RETURN |
| 983 $! | 1146 $! |
| 984 $ CLEANUP: | 1147 $ CLEANUP: |
| 985 $! | 1148 $! |
| 986 $! Restore the logical name OPENSSL if it had a value | 1149 $! Restore the saved logical name OPENSSL, if it had a value. |
| 987 $! | 1150 $! |
| 988 $ IF __SAVE_OPENSSL .EQS. "" | 1151 $ if (f$type( __SAVE_OPENSSL) .nes. "") |
| 989 $ THEN | 1152 $ then |
| 990 $ DEASSIGN OPENSSL | 1153 $ IF __SAVE_OPENSSL .EQS. "" |
| 991 $ ELSE | 1154 $ THEN |
| 992 $ DEFINE/NOLOG OPENSSL '__SAVE_OPENSSL' | 1155 $ DEASSIGN OPENSSL |
| 993 $ ENDIF | 1156 $ ELSE |
| 1157 $ DEFINE /NOLOG OPENSSL '__SAVE_OPENSSL' |
| 1158 $ ENDIF |
| 1159 $ endif |
| 1160 $! |
| 1161 $! Close any open files. |
| 1162 $! |
| 1163 $ if (f$trnlnm( "objects", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then - |
| 1164 close objects |
| 994 $! | 1165 $! |
| 995 $! Done | 1166 $! Done |
| 996 $! | 1167 $! |
| 997 $ RETURN | 1168 $ RETURN |
| 1169 $! |
| OLD | NEW |