For VMS, implement the possibility to choose 64-bit pointers with
different options: "64" The build system will choose /POINTER_SIZE=64=ARGV if the compiler supports it, otherwise /POINTER_SIZE=64. "64=" The build system will force /POINTER_SIZE=64. "64=ARGV" The build system will force /POINTER_SIZE=64=ARGV.
This commit is contained in:
parent
a530963f05
commit
f819147028
8 changed files with 207 additions and 90 deletions
|
@ -328,6 +328,8 @@ $ entrycount=0
|
|||
$ loop:
|
||||
$ read /end=loop_end /err=loop_end libnum line
|
||||
$ lin = f$edit( line, "COMPRESS,TRIM")
|
||||
$! Skip a "#" comment line.
|
||||
$ if (f$extract( 0, 1, lin) .eqs. "#") then goto loop
|
||||
$ entrynum = f$int(f$element( 1, " ", lin))
|
||||
$ entryinfo = f$element( 2, " ", lin)
|
||||
$ curentry = f$element( 0, " ", lin)
|
||||
|
|
|
@ -40,11 +40,15 @@ $!
|
|||
$! P5, if defined, sets a choice of programs to compile.
|
||||
$!
|
||||
$! P6, if defined, specifies the C pointer size. Ignored on VAX.
|
||||
$! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.)
|
||||
$! Supported values are:
|
||||
$!
|
||||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P7, if defined, specifies a directory where ZLIB files (zlib.h,
|
||||
$! libz.olb) may be found. Optionally, a non-default object library
|
||||
|
@ -597,13 +601,22 @@ $ IF (P6 .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=32"
|
||||
$ ELSE
|
||||
$ IF (P6 .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( P6, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ IF (F$EXTRACT( 2, 1, POINTER_SIZE) .EQS. "=")
|
||||
$ THEN
|
||||
$! Explicit user choice: "64" or "64=ARGV".
|
||||
$ IF (POINTER_SIZE .EQS. "64=") THEN POINTER_SIZE = "64"
|
||||
$ ELSE
|
||||
$ SET NOON
|
||||
$ DEFINE /USER SYS$OUTPUT NL:
|
||||
$ DEFINE /USER SYS$ERROR NL:
|
||||
$ CC /POINTER_SIZE=64=ARGV NL:
|
||||
$ DEFINE /USER_MODE SYS$OUTPUT NL:
|
||||
$ DEFINE /USER_MODE SYS$ERROR NL:
|
||||
$ CC /NOLIST /NOOBJECT /POINTER_SIZE=64=ARGV NL:
|
||||
$ IF ($STATUS .AND. %X0FFF0000) .EQ. %X00030000
|
||||
$ THEN
|
||||
$ ! If we got here, it means DCL complained like this:
|
||||
|
@ -615,14 +628,15 @@ $ ! have been deassigned automatically. However, when DCL
|
|||
$ ! complains, they aren't, so we do it here (it might be
|
||||
$ ! unnecessary, but just in case there will be another error
|
||||
$ ! message further on that we don't want to miss)
|
||||
$ DEASSIGN/USER SYS$ERROR
|
||||
$ DEASSIGN/USER SYS$OUTPUT
|
||||
$ DEASSIGN /USER_MODE SYS$ERROR
|
||||
$ DEASSIGN /USER_MODE SYS$OUTPUT
|
||||
$ ELSE
|
||||
$ POINTER_SIZE = POINTER_SIZE + "=ARGV"
|
||||
$ ENDIF
|
||||
$ SET ON
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ ENDIF
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=''POINTER_SIZE'"
|
||||
$!
|
||||
$ ELSE
|
||||
$!
|
||||
$! Tell The User Entered An Invalid Option.
|
||||
|
@ -631,9 +645,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", P6, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
@ -832,8 +853,8 @@ $!
|
|||
$ CC = "CC"
|
||||
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||
THEN CC = "CC/DECC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE'/NOLIST/PREFIX=ALL" + -
|
||||
$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
|
||||
"/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS
|
||||
$!
|
||||
$! Define The Linker Options File Name.
|
||||
|
|
|
@ -212,8 +212,13 @@ static void lock_dbg_cb(int mode, int type, const char *file, int line)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined( OPENSSL_SYS_VMS) && (__INITIAL_POINTER_SIZE == 64)
|
||||
# define ARGV _Argv
|
||||
#else
|
||||
# define ARGV Argv
|
||||
#endif
|
||||
|
||||
int main(int Argc, char *_Argv[])
|
||||
int main(int Argc, char *ARGV[])
|
||||
{
|
||||
ARGS arg;
|
||||
#define PROG_NAME_SIZE 39
|
||||
|
@ -228,25 +233,33 @@ int main(int Argc, char *_Argv[])
|
|||
LHASH_OF(FUNCTION) *prog=NULL;
|
||||
long errline;
|
||||
|
||||
#if defined( OPENSSL_SYS_VMS) && !defined( VMS_TRUST_ARGV)
|
||||
/* 2011-03-08 SMS.
|
||||
* "HP C V7.3-009 on OpenVMS Alpha V8.3" with 64-bit
|
||||
* pointers (at least) may not NULL-terminate argv[]
|
||||
* as expected. If necessary, use a (properly)
|
||||
* NULL-terminated duplicate of argv[].
|
||||
*/
|
||||
/* 2011-03-20 RL.
|
||||
* Additionally, when the argument vector is full of
|
||||
* 32-bit pointers and we have a 64-bit pointer size
|
||||
* everywhere else, we need to make a copy of it using
|
||||
* 64-bit pointers. Hence the odd conditinal.
|
||||
#if defined( OPENSSL_SYS_VMS) && (__INITIAL_POINTER_SIZE == 64)
|
||||
/* 2011-03-22 SMS.
|
||||
* If we have 32-bit pointers everywhere, then we're safe, and
|
||||
* we bypass this mess, as on non-VMS systems. (See ARGV,
|
||||
* above.)
|
||||
* Problem 1: Compaq/HP C before V7.3 always used 32-bit
|
||||
* pointers for argv[].
|
||||
* Fix 1: For a 32-bit argv[], when we're using 64-bit pointers
|
||||
* everywhere else, we always allocate and use a 64-bit
|
||||
* duplicate of argv[].
|
||||
* Problem 2: Compaq/HP C V7.3 (Alpha, IA64) before ECO1 failed
|
||||
* to NULL-terminate a 64-bit argv[]. (As this was written, the
|
||||
* compiler ECO was available only on IA64.)
|
||||
* Fix 2: Unless advised not to (VMS_TRUST_ARGV), we test a
|
||||
* 64-bit argv[argc] for NULL, and, if necessary, use a
|
||||
* (properly) NULL-terminated (64-bit) duplicate of argv[].
|
||||
* The same code is used in either case to duplicate argv[].
|
||||
* Some of these decisions could be handled in preprocessing,
|
||||
* but the code tends to get even uglier, and the penalty for
|
||||
* deciding at compile- or run-time is tiny.
|
||||
*/
|
||||
char **Argv = NULL;
|
||||
int free_Argv = 0;
|
||||
|
||||
if (_Argv[ Argc] != NULL
|
||||
# if defined(__INITIAL_POINTER_SIZE)
|
||||
|| sizeof(_Argv) < (__INITIAL_POINTER_SIZE / 8)
|
||||
if ((sizeof( _Argv) < 8) /* 32-bit argv[]. */
|
||||
# if !defined( VMS_TRUST_ARGV)
|
||||
|| (_Argv[ Argc] != NULL) /* Untrusted argv[argc] not NULL. */
|
||||
# endif
|
||||
)
|
||||
{
|
||||
|
@ -256,24 +269,17 @@ int main(int Argc, char *_Argv[])
|
|||
{ ret = -1; goto end; }
|
||||
for(i = 0; i < Argc; i++)
|
||||
Argv[i] = _Argv[i];
|
||||
Argv[ Argc] = NULL;
|
||||
Argv[ Argc] = NULL; /* Certain NULL termination. */
|
||||
free_Argv = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 2011-03-20 RL.
|
||||
* If we didn't copy the argument vector, then simply
|
||||
* assign our variable. This will never happen when
|
||||
* the argument vector pointer size was smaller than
|
||||
* the initial pointer size, so even if the case might
|
||||
* look unsafe, it isn't, it's just there to shut the
|
||||
* compiler up.
|
||||
*/
|
||||
/* Use the known-good 32-bit argv[] (which needs the
|
||||
* type cast to satisfy the compiler), or the trusted or
|
||||
* tested-good 64-bit argv[] as-is. */
|
||||
Argv = (char **)_Argv;
|
||||
}
|
||||
#else
|
||||
char **Argv = _Argv;
|
||||
#endif
|
||||
#endif /* defined( OPENSSL_SYS_VMS) && (__INITIAL_POINTER_SIZE == 64) */
|
||||
|
||||
arg.data=NULL;
|
||||
arg.count=0;
|
||||
|
@ -420,7 +426,7 @@ end:
|
|||
BIO_free(bio_err);
|
||||
bio_err=NULL;
|
||||
}
|
||||
#if defined( OPENSSL_SYS_VMS) && !defined( VMS_TRUST_ARGV)
|
||||
#if defined( OPENSSL_SYS_VMS) && (__INITIAL_POINTER_SIZE == 64)
|
||||
/* Free any duplicate Argv[] storage. */
|
||||
if (free_Argv)
|
||||
{
|
||||
|
|
|
@ -52,7 +52,10 @@ $! Supported values are:
|
|||
$!
|
||||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]).
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P8, if defined, specifies a directory where ZLIB files (zlib.h,
|
||||
$! libz.olb) may be found. Optionally, a non-default object library
|
||||
|
@ -974,11 +977,14 @@ $ IF (P7 .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=32"
|
||||
$ ELSE
|
||||
$ IF (P7 .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( P7, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ELSE
|
||||
$!
|
||||
$! Tell The User Entered An Invalid Option.
|
||||
|
@ -987,9 +993,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", P7, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
@ -1189,8 +1202,8 @@ $!
|
|||
$ CC = "CC"
|
||||
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||
THEN CC = "CC/DECC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE'/NOLIST/PREFIX=ALL" + -
|
||||
$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
|
||||
"/INCLUDE=(''CC_INCLUDES')"+ -
|
||||
CCEXTRAFLAGS
|
||||
$!
|
||||
|
|
|
@ -34,6 +34,9 @@ $!
|
|||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P8, if defined, specifies a directory where ZLIB files (zlib.h,
|
||||
$! libz.olb) may be found. Optionally, a non-default object library
|
||||
|
@ -608,11 +611,14 @@ $ IF (OPT_POINTER_SIZE .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=32"
|
||||
$ ELSE
|
||||
$ IF (OPT_POINTER_SIZE .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( OPT_POINTER_SIZE, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ELSE
|
||||
$!
|
||||
$! Tell The User Entered An Invalid Option.
|
||||
|
@ -621,9 +627,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", OPT_POINTER_SIZE, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
@ -742,7 +755,7 @@ $ CCDEFS = "TCPIP_TYPE_''OPT_TCPIP_LIB',DSO_VMS"
|
|||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ CCDISABLEWARNINGS = "" !!! "LONGLONGTYPE,LONGLONGSUFX"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
@ -821,8 +834,8 @@ $!
|
|||
$ CC = "CC"
|
||||
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||
THEN CC = "CC/DECC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE'/NOLIST/PREFIX=ALL" + -
|
||||
$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
|
||||
"/INCLUDE=(''CC_INCLUDES')" + -
|
||||
CCEXTRAFLAGS
|
||||
$!
|
||||
|
|
29
makevms.com
29
makevms.com
|
@ -32,11 +32,15 @@ $! APPS Just build the "[.xxx.EXE.APPS]" application programs for Open
|
|||
$! ENGINES Just build the "[.xxx.EXE.ENGINES]" application programs for OpenSSL.
|
||||
$!
|
||||
$! P2, if defined, specifies the C pointer size. Ignored on VAX.
|
||||
$! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.)
|
||||
$! Supported values are:
|
||||
$!
|
||||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! "" Compile with default (/NOPOINTER_SIZE).
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT).
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]).
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P3 specifies DEBUG or NODEBUG, to compile with or without debugging
|
||||
$! information.
|
||||
|
@ -1043,9 +1047,11 @@ $ IF (P2 .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "32"
|
||||
$ ELSE
|
||||
$ IF (P2 .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( P2, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ ELSE
|
||||
|
@ -1056,9 +1062,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", P2, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
|
|
@ -48,6 +48,9 @@ $!
|
|||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P7, if defined, specifies a directory where ZLIB files (zlib.h,
|
||||
$! libz.olb) may be found. Optionally, a non-default object library
|
||||
|
@ -158,6 +161,10 @@ $! Define The CRYPTO-LIB We Are To Use.
|
|||
$!
|
||||
$ CRYPTO_LIB := SYS$DISK:[-.'ARCHD'.EXE.CRYPTO]SSL_LIBCRYPTO'LIB32'.OLB
|
||||
$!
|
||||
$! Set up exceptional compilations.
|
||||
$!
|
||||
$ CC5_SHOWN = 0
|
||||
$!
|
||||
$! Check To See What We Are To Do.
|
||||
$!
|
||||
$ IF (BUILDALL.EQS."TRUE")
|
||||
|
@ -216,6 +223,8 @@ $ LIB_SSL = "s2_meth,s2_srvr,s2_clnt,s2_lib,s2_enc,s2_pkt,"+ -
|
|||
"ssl_asn1,ssl_txt,ssl_algs,"+ -
|
||||
"bio_ssl,ssl_err,kssl,t1_reneg"
|
||||
$!
|
||||
$ COMPILEWITH_CC5 = ""
|
||||
$!
|
||||
$! Tell The User That We Are Compiling The Library.
|
||||
$!
|
||||
$ WRITE SYS$OUTPUT "Building The ",SSL_LIB," Library."
|
||||
|
@ -329,6 +338,8 @@ $! End The SSL_TASK.C File Check.
|
|||
$!
|
||||
$ ENDIF
|
||||
$!
|
||||
$ COMPILEWITH_CC5 = "" !!! ",ssl_task,"
|
||||
$!
|
||||
$! Tell The User We Are Creating The SSL_TASK.
|
||||
$!
|
||||
$ WRITE SYS$OUTPUT "Creating SSL_TASK OSU HTTP SSL Engine."
|
||||
|
@ -342,11 +353,20 @@ $! Compile The File.
|
|||
$!
|
||||
$ ON ERROR THEN GOTO SSL_TASK_END
|
||||
$!
|
||||
$ FILE_NAME0 = ","+ F$ELEMENT(0,".",FILE_NAME)+ ","
|
||||
$ IF COMPILEWITH_CC5 - FILE_NAME0 .NES. COMPILEWITH_CC5
|
||||
$ THEN
|
||||
$ if (.not. CC5_SHOWN)
|
||||
$ then
|
||||
$ CC5_SHOWN = 1
|
||||
$ write sys$output " \Using special rule (5)"
|
||||
$ x = " "+ CC5
|
||||
$ write /symbol sys$output x
|
||||
$!
|
||||
$ CC5/OBJECT='OBJ_DIR''FILE_NAME'.OBJ SYS$DISK:[]'FILE_NAME'.C
|
||||
$ endif
|
||||
$ CC5 /OBJECT='OBJ_DIR''FILE_NAME'.OBJ SYS$DISK:[]'FILE_NAME'.C
|
||||
$ ELSE
|
||||
$ CC /OBJECT='OBJ_DIR''FILE_NAME'.OBJ SYS$DISK:[]'FILE_NAME'.C
|
||||
$ ENDIF
|
||||
$!
|
||||
$! Link The Program.
|
||||
$!
|
||||
|
@ -690,11 +710,14 @@ $ IF (P6 .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=32"
|
||||
$ ELSE
|
||||
$ IF (P6 .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( P6, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ELSE
|
||||
$!
|
||||
$! Tell The User Entered An Invalid Option.
|
||||
|
@ -703,9 +726,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", P6, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
@ -824,7 +854,7 @@ $ CCDEFS = "TCPIP_TYPE_''P4'"
|
|||
$ IF F$TYPE(USER_CCDEFS) .NES. "" THEN CCDEFS = CCDEFS + "," + USER_CCDEFS
|
||||
$ CCEXTRAFLAGS = ""
|
||||
$ IF F$TYPE(USER_CCFLAGS) .NES. "" THEN CCEXTRAFLAGS = USER_CCFLAGS
|
||||
$ CCDISABLEWARNINGS = "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ CCDISABLEWARNINGS = "" !!! "LONGLONGTYPE,LONGLONGSUFX,FOUNDCR"
|
||||
$ IF F$TYPE(USER_CCDISABLEWARNINGS) .NES. "" THEN -
|
||||
CCDISABLEWARNINGS = CCDISABLEWARNINGS + "," + USER_CCDISABLEWARNINGS
|
||||
$!
|
||||
|
@ -904,8 +934,8 @@ $!
|
|||
$ CC = "CC"
|
||||
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||
THEN CC = "CC/DECC"
|
||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE'/NOLIST/PREFIX=ALL" + -
|
||||
$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=RELAXED"+ -
|
||||
"''POINTER_SIZE' /NOLIST /PREFIX=ALL" + -
|
||||
"/INCLUDE=(''CC_INCLUDES')" + CCEXTRAFLAGS
|
||||
$!
|
||||
$! Define The Linker Options File Name.
|
||||
|
|
|
@ -25,7 +25,7 @@ $! VAXC For VAX C.
|
|||
$! DECC For DEC C.
|
||||
$! GNUC For GNU C.
|
||||
$!
|
||||
$! If you don't speficy a compiler, it will try to determine which
|
||||
$! If you don't specify a compiler, it will try to determine which
|
||||
$! "C" compiler to use.
|
||||
$!
|
||||
$! P3, if defined, sets a TCP/IP library to use, through one of the following
|
||||
|
@ -43,6 +43,9 @@ $!
|
|||
$! "" Compile with default (/NOPOINTER_SIZE)
|
||||
$! 32 Compile with /POINTER_SIZE=32 (SHORT)
|
||||
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
|
||||
$! (Automatically select ARGV if compiler supports it.)
|
||||
$! 64= Compile with /POINTER_SIZE=64 (LONG).
|
||||
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
|
||||
$!
|
||||
$! P6, if defined, specifies a directory where ZLIB files (zlib.h,
|
||||
$! libz.olb) may be found. Optionally, a non-default object library
|
||||
|
@ -534,13 +537,22 @@ $ IF (P5 .EQS. "32")
|
|||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=32"
|
||||
$ ELSE
|
||||
$ IF (P5 .EQS. "64")
|
||||
$ POINTER_SIZE = F$EDIT( P5, "COLLAPSE, UPCASE")
|
||||
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=") .OR. -
|
||||
(POINTER_SIZE .EQS. "64=ARGV"))
|
||||
$ THEN
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=64"
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ IF (F$EXTRACT( 2, 1, POINTER_SIZE) .EQS. "=")
|
||||
$ THEN
|
||||
$! Explicit user choice: "64" or "64=ARGV".
|
||||
$ IF (POINTER_SIZE .EQS. "64=") THEN POINTER_SIZE = "64"
|
||||
$ ELSE
|
||||
$ SET NOON
|
||||
$ DEFINE /USER SYS$OUTPUT NL:
|
||||
$ DEFINE /USER SYS$ERROR NL:
|
||||
$ CC /POINTER_SIZE=64=ARGV NL:
|
||||
$ DEFINE /USER_MODE SYS$OUTPUT NL:
|
||||
$ DEFINE /USER_MODE SYS$ERROR NL:
|
||||
$ CC /NOLIST /NOOBJECT /POINTER_SIZE=64=ARGV NL:
|
||||
$ IF ($STATUS .AND. %X0FFF0000) .EQ. %X00030000
|
||||
$ THEN
|
||||
$ ! If we got here, it means DCL complained like this:
|
||||
|
@ -552,14 +564,14 @@ $ ! have been deassigned automatically. However, when DCL
|
|||
$ ! complains, they aren't, so we do it here (it might be
|
||||
$ ! unnecessary, but just in case there will be another error
|
||||
$ ! message further on that we don't want to miss)
|
||||
$ DEASSIGN/USER SYS$ERROR
|
||||
$ DEASSIGN/USER SYS$OUTPUT
|
||||
$ DEASSIGN /USER_MODE SYS$ERROR
|
||||
$ DEASSIGN /USER_MODE SYS$OUTPUT
|
||||
$ ELSE
|
||||
$ POINTER_SIZE = POINTER_SIZE + "=ARGV"
|
||||
$ ENDIF
|
||||
$ SET ON
|
||||
$ ARCHD = ARCH+ "_64"
|
||||
$ LIB32 = ""
|
||||
$ ENDIF
|
||||
$ POINTER_SIZE = "/POINTER_SIZE=''POINTER_SIZE'"
|
||||
$ ELSE
|
||||
$!
|
||||
$! Tell The User Entered An Invalid Option.
|
||||
|
@ -568,9 +580,16 @@ $ WRITE SYS$OUTPUT ""
|
|||
$ WRITE SYS$OUTPUT "The Option ", P5, -
|
||||
" Is Invalid. The Valid Options Are:"
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$ WRITE SYS$OUTPUT " """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT " 64 : Compile with 64-bit (long) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" """" : Compile with default (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 32 : Compile with 32-bit (short) pointers."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
|
||||
$ WRITE SYS$OUTPUT -
|
||||
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
|
||||
$ WRITE SYS$OUTPUT ""
|
||||
$!
|
||||
$! Time To EXIT.
|
||||
|
|
Loading…
Reference in a new issue