x86cpuid.pl: sync OPENSSL_ia32_cpuid with x86_64cpuid.pl.
[openssl.git] / engines / makeengines.com
index 2191a2242d7779ee4f49388d4d307039947f3c93..a1806c82ae6edc617717094d77469bd0bfe65118 100644 (file)
@@ -1,5 +1,5 @@
 $!
-$!  MAKEAPPS.COM
+$!  MAKEENGINES.COM
 $!  Written By:  Richard Levitte
 $!               richard@levitte.org
 $!
@@ -34,7 +34,7 @@ $! Set the names of the engines we want to build
 $!
 $ 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
 $!
@@ -79,14 +79,21 @@ $ THEN
 $   ENGINE_ = "engine_vector.mar"
 $   EXTRA_OBJ := ,'OBJ_DIR'ENGINE_VECTOR.OBJ
 $ 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 +140,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 +160,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.
@@ -178,6 +194,18 @@ $   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_DONE
 $!
 $! Now, there are two ways to handle this.  We can either build 
 $! shareable images or stick the engine object file into libcrypto.
@@ -192,26 +220,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'EXTRA_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'EXTRA_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