X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=engines%2Fmakeengines.com;h=5f9b8d4d9fea8aa213a860e73c6933929c9f1201;hp=96fccbddf93473ce17b496ed0f89f843f5c18813;hb=5d1a50ac2a1bf1ef36102f17fd43e988d03cf7ec;hpb=892e9625d3d1e78ac22f0353d3a8a82b11549d87 diff --git a/engines/makeengines.com b/engines/makeengines.com index 96fccbddf9..5f9b8d4d9f 100644 --- a/engines/makeengines.com +++ b/engines/makeengines.com @@ -1,11 +1,11 @@ $! -$! MAKEAPPS.COM +$! MAKEENGINES.COM $! Written By: Richard Levitte $! richard@levitte.org $! $! This command file compiles and creates the various engines in form $! of shared images. They are placed in [.xxx.EXE.ENGINES], where "xxx" -$! is either AXP or VAX depending on your hardware. +$! is ALPHA, IA64 or VAX, depending on your hardware. $! $! P1 if this is ENGINES or ALL, the engines will build, otherwise not. $! @@ -31,19 +31,41 @@ $! $!----------------------------------------------------------------------------- $! $! Set the names of the engines we want to build +$! NOTE: Some might think this list ugly. However, it's made this way to +$! reflect the LIBNAMES variable in Makefile as closely as possible, +$! thereby making it fairly easy to verify that the lists are the same. +$! NOTE: gmp isn't built, as it's mostly a test engine and brings in another +$! library that isn't necessarely ported to VMS. $! $ ENGINES = "," + P6 $ IF ENGINES .EQS. "," THEN - - ENGINES = ",4758_cca,aep,atalla,cswift,ncipher,nuron,sureware,ubsec" + ENGINES = ",4758cca,aep,atalla,cswift,chil,nuron,sureware,ubsec,padlock,ccgost" $! $! Set the default TCP/IP library to link against if needed $! $ TCPIP_LIB = "" $! -$! Set the architecture name +$! Check What Architecture We Are Using. $! -$ ARCH := VAX -$ IF F$GETSYI("CPU") .GE. 128 THEN ARCH := AXP +$ IF (F$GETSYI("CPU").LT.128) +$ THEN +$! +$! The Architecture Is VAX. +$! +$ ARCH := VAX +$! +$! Else... +$! +$ ELSE +$! +$! The Architecture Is Alpha, IA64 or whatever comes in the future. +$! +$ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") +$ IF (ARCH .EQS. "") THEN ARCH = "UNK" +$! +$! End The Architecture Check. +$! +$ ENDIF $! $! Set the goal directories, and creat them if necessary $! @@ -55,7 +77,6 @@ $! $! Set the goal files, and create them if necessary $! $ CRYPTO_LIB :=SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB -$ CRYPTO_EXE :=SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.EXE $ IF F$SEARCH(CRYPTO_LIB) .EQS. "" THEN LIBRARY/CREATE/OBJECT 'CRYPTO_LIB' $! $! OK, time to check options and initialise @@ -71,22 +92,31 @@ $ GOSUB CHECK_OPTIONS $ GOSUB INITIALISE $ GOSUB CHECK_OPT_FILE $! -$! Define what goes into each engine +$! Define what goes into each engine. VAX includes a transfer vector. $! $ ENGINE_ = "" +$ TV_OBJ = "" $ IF ARCH .EQS. "VAX" $ THEN $ ENGINE_ = "engine_vector.mar" -$ EXTRA_OBJ := ,'OBJ_DIR'ENGINE_VECTOR.OBJ +$ TV_OBJ_NAME = OBJ_DIR + F$PARSE(ENGINE_,,,"NAME","SYNTAX_ONLY") + ".OBJ" +$ TV_OBJ = ",''TV_OBJ_NAME'" $ ENDIF -$ ENGINE_4758_CCA = "e_4758_cca" +$ ENGINE_4758CCA = "e_4758cca" $ ENGINE_aep = "e_aep" $ ENGINE_atalla = "e_atalla" $ ENGINE_cswift = "e_cswift" -$ ENGINE_ncipher = "e_ncipher" +$ ENGINE_chil = "e_chil" $ ENGINE_nuron = "e_nuron" $ ENGINE_sureware = "e_sureware" $ ENGINE_ubsec = "e_ubsec" +$ ENGINE_ubsec = "e_padlock" +$ +$ ENGINE_ccgost_SUBDIR = "ccgost" +$ ENGINE_ccgost = "e_gost_err,gost2001_keyx,gost2001,gost89,gost94_keyx,"+ - + "gost_ameth,gost_asn1,gost_crypt,gost_ctl,gost_eng,"+ - + "gosthash,gost_keywrap,gost_md,gost_params,gost_pmeth,"+ - + "gost_sign" $! $! Define which programs need to be linked with a TCP/IP library $! @@ -133,6 +163,10 @@ $ ELSE $ WRITE SYS$OUTPUT "Compiling Support Files. (",BUILDALL,")" $ ENDIF $! +$! Create a .OPT file for the object files +$! +$ OPEN/WRITE OBJECTS 'EXE_DIR''ENGINE_NAME'.OPT +$! $! Here's the start of per-engine module loop. $! $ FILE_COUNTER = 0 @@ -149,7 +183,12 @@ $ IF FILE_NAME .EQS. "" THEN GOTO FILE_NEXT $! $! Set up the source and object reference $! -$ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[].C",,,"SYNTAX_ONLY") +$ IF F$TYPE('LIB_ENGINE'_SUBDIR) .EQS. "" +$ THEN +$ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[].C",,,"SYNTAX_ONLY") +$ ELSE +$ SOURCE_FILE = F$PARSE(FILE_NAME,"SYS$DISK:[."+'LIB_ENGINE'_SUBDIR+"].C",,,"SYNTAX_ONLY") +$ ENDIF $ OBJECT_FILE = OBJ_DIR + F$PARSE(FILE_NAME,,,"NAME","SYNTAX_ONLY") + ".OBJ" $! $! If we get some problem, we just go on trying to build the next module. @@ -172,12 +211,28 @@ $! $! Do the dirty work. $! $ ON ERROR THEN GOTO FILE_NEXT -$ IF FILE_NAME - ".MAR" .NES. FILE_NAME +$ IF F$EDIT(F$PARSE(SOURCE_FILE,,,"TYPE","SYNTAX_ONLY"),"UPCASE") .EQS. ".MAR" $ THEN $ MACRO/OBJECT='OBJECT_FILE' 'SOURCE_FILE' $ ELSE $ CC/OBJECT='OBJECT_FILE' 'SOURCE_FILE' $ ENDIF +$ WRITE OBJECTS OBJECT_FILE +$! +$! Next file +$! +$ GOTO FILE_NEXT +$! +$ FILE_DONE: +$ CLOSE OBJECTS +$! +$! Do not link the support files. +$! +$ IF ENGINE_NAME .EQS. "" THEN GOTO ENGINE_NEXT +$! +$! Do not link the support files. +$! +$ IF ENGINE_NAME .EQS. "" THEN GOTO ENGINE_NEXT $! $! Now, there are two ways to handle this. We can either build $! shareable images or stick the engine object file into libcrypto. @@ -192,25 +247,16 @@ $ ENGINE_OPT := SYS$DISK:[]'ARCH'.OPT $ IF TCPIP_LIB .NES. "" $ THEN $ LINK/'DEBUGGER'/'TRACEBACK' /SHARE='EXE_DIR''ENGINE_NAME'.EXE - - 'OBJECT_FILE''EXTRA_OBJ', - + 'EXE_DIR''ENGINE_NAME'.OPT/OPTION'TV_OBJ', - + 'CRYPTO_LIB'/LIBRARY, - 'ENGINE_OPT'/OPTION,'TCPIP_LIB','OPT_FILE'/OPTION $ ELSE $ LINK/'DEBUGGER'/'TRACEBACK' /SHARE='EXE_DIR''ENGINE_NAME'.EXE - - 'OBJECT_FILE''EXTRA_OBJ', - + 'EXE_DIR''ENGINE_NAME'.OPT/OPTION'TV_OBJ', - 'CRYPTO_LIB'/LIBRARY, - 'ENGINE_OPT'/OPTION,'OPT_FILE'/OPTION $ ENDIF $! -$! Clean up -$! -$ DELETE 'OBJECT_FILE';* -$! -$! Next file -$! -$ GOTO FILE_NEXT -$! -$ FILE_DONE: -$! $! Next engine $! $ GOTO ENGINE_NEXT @@ -297,7 +343,7 @@ $! $ IF (F$SEARCH(OPT_FILE).EQS."") $ THEN $! -$! Figure Out If We Need An AXP Or A VAX Linker Option File. +$! Figure Out If We Need A non-VAX Or A VAX Linker Option File. $! $ IF ARCH .EQS. "VAX" $ THEN @@ -317,19 +363,19 @@ $! Else... $! $ ELSE $! -$! Create The AXP Linker Option File. +$! Create The non-VAX Linker Option File. $! $ CREATE 'OPT_FILE' $DECK ! -! Default System Options File For AXP To Link Agianst +! Default System Options File For non-VAX To Link Agianst ! The Sharable C Runtime Library. ! SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE SYS$SHARE:CMA$OPEN_RTL/SHARE $EOD $! -$! End The VAX/AXP DEC C Option File Check. +$! End The DEC C Option File Check. $! $ ENDIF $! @@ -369,7 +415,7 @@ $! $! Else, Check To See If OPT_PHASE Has A Valid Arguement. $! $ IF ("," + ACCEPT_PHASE + ",") - ("," + OPT_PHASE + ",") - - .EQS. ("," + ACCEPT_PHASE + ",") + .NES. ("," + ACCEPT_PHASE + ",") $ THEN $! $! A Valid Arguement. @@ -385,15 +431,18 @@ $! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The option ",OPT_PHASE," is invalid. The valid options are:" $ WRITE SYS$OUTPUT "" -$ IF ("," + ACCEPT_PHASE + ",") - ",ALL," THEN - +$ IF ("," + ACCEPT_PHASE + ",") - ",ALL," - + .NES. ("," + ACCEPT_PHASE + ",") THEN - WRITE SYS$OUTPUT " ALL : just build everything." -$ IF ("," + ACCEPT_PHASE + ",") - ",ENGINES," THEN - +$ IF ("," + ACCEPT_PHASE + ",") - ",ENGINES," - + .NES. ("," + ACCEPT_PHASE + ",") THEN - WRITE SYS$OUTPUT " ENGINES : to compile just the [.xxx.EXE.ENGINES]*.EXE hareable images." $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " where 'xxx' stands for:" $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT " AXP : Alpha architecture." -$ WRITE SYS$OUTPUT " VAX : VAX architecture." +$ WRITE SYS$OUTPUT " ALPHA : Alpha architecture." +$ WRITE SYS$OUTPUT " IA64 : IA64 architecture." +$ WRITE SYS$OUTPUT " VAX : VAX architecture." $ WRITE SYS$OUTPUT "" $! $! Time To EXIT. @@ -518,7 +567,7 @@ $ ELSE $! $! Check To See If We Have VAXC Or DECC. $! -$ IF (ARCH.EQS."AXP").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."") +$ IF (ARCH.NES."VAX").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."") $ THEN $! $! Looks Like DECC, Set To Use DECC. @@ -629,7 +678,7 @@ $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - $! $! Define The Linker Options File Name. $! -$ OPT_FILE = "SYS$DISK:[]VAX_DECC_OPTIONS.OPT" +$ OPT_FILE = "''EXE_DIR'VAX_DECC_OPTIONS.OPT" $! $! End DECC Check. $! @@ -651,7 +700,7 @@ $! $! Compile Using VAXC. $! $ CC = "CC" -$ IF ARCH.EQS."AXP" +$ IF ARCH.NES."VAX" $ THEN $ WRITE SYS$OUTPUT "There is no VAX C on Alpha!" $ EXIT @@ -668,7 +717,7 @@ $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB] $! $! Define The Linker Options File Name. $! -$ OPT_FILE = "SYS$DISK:[]VAX_VAXC_OPTIONS.OPT" +$ OPT_FILE = "''EXE_DIR'VAX_VAXC_OPTIONS.OPT" $! $! End VAXC Check $! @@ -695,7 +744,7 @@ $ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + - $! $! Define The Linker Options File Name. $! -$ OPT_FILE = "SYS$DISK:[]VAX_GNUC_OPTIONS.OPT" +$ OPT_FILE = "''EXE_DIR'VAX_GNUC_OPTIONS.OPT" $! $! End The GNU C Check. $! @@ -747,7 +796,7 @@ $! $! Build a MACRO command for the architecture at hand $! $ IF ARCH .EQS. "VAX" THEN MACRO = "MACRO/''DEBUGGER'" -$ IF ARCH .EQS. "AXP" THEN MACRO = "MACRO/MIGRATION/''DEBUGGER'/''MACRO_OPTIMIZE'" +$ IF ARCH .NES. "VAX" THEN MACRO = "MACRO/MIGRATION/''DEBUGGER'/''MACRO_OPTIMIZE'" $! $! Show user the result $!