From: Richard Levitte Date: Fri, 16 Nov 2001 09:14:06 +0000 (+0000) Subject: Build dynamic rsaref engine on VMS. Tested on VAX so far. X-Git-Tag: OpenSSL_0_9_6c~26^2~12 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=033c51f0a33c0a1b92110bb9cd5b8860e2c77c73;p=oweals%2Fopenssl.git Build dynamic rsaref engine on VMS. Tested on VAX so far. --- diff --git a/demos/engines/rsaref/build.com b/demos/engines/rsaref/build.com new file mode 100644 index 0000000000..b956912916 --- /dev/null +++ b/demos/engines/rsaref/build.com @@ -0,0 +1,85 @@ +$! BUILD.COM -- Building procedure for the RSAref engine +$ +$ if f$search("source.dir") .eqs. "" - + .or. f$search("install.dir") .eqs. "" +$ then +$ write sys$error "RSAref 2.0 hasn't been properly extracted." +$ exit +$ endif +$ +$ _save_default = f$environment("default") +$ set default [.install] +$ files := desc,digit,md2c,md5c,nn,prime,- + rsa,r_encode,r_dh,r_enhanc,r_keygen,r_random,- + r_stdlib +$ delete rsaref.olb;* +$ library/create/object rsaref.olb +$ files_i = 0 +$ rsaref_loop: +$ files_e = f$edit(f$element(files_i,",",files),"trim") +$ files_i = files_i + 1 +$ if files_e .eqs. "," then goto rsaref_loop_end +$ cc/include=([-.source],[])/define=PROTOTYPES=1/object=[]'files_e'.obj - + [-.source]'files_e'.c +$ library/replace/object rsaref.olb 'files_e'.obj +$ goto rsaref_loop +$ rsaref_loop_end: +$ +$ set default [-] +$ define/user openssl [---.include.openssl] +$ cc/define=ENGINE_DYNAMIC_SUPPORT rsaref.c +$ +$ if f$getsyi("CPU") .ge. 128 +$ then +$ link/share=librsaref.exe sys$input:/option +[]rsaref.obj +[.install]rsaref.olb/lib +[---.axp.exe.crypto]libcrypto.olb/lib +symbol_vector=(bind_engine=procedure,v_check=procedure) +$ else +$ macro/object=rsaref_vec.obj sys$input: +; +; Transfer vector for VAX shareable image +; + .TITLE librsaref +; +; Define macro to assist in building transfer vector entries. Each entry +; should take no more than 8 bytes. +; + .MACRO FTRANSFER_ENTRY routine + .ALIGN QUAD + .TRANSFER routine + .MASK routine + JMP routine+2 + .ENDM FTRANSFER_ENTRY +; +; Place entries in own program section. +; + .PSECT $$LIBRSAREF,QUAD,PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT + +LIBRSAREF_xfer: + FTRANSFER_ENTRY bind_engine + FTRANSFER_ENTRY v_check + +; +; Allocate extra storage at end of vector to allow for expansion. +; + .BLKB 512-<.-LIBRSAREF_xfer> ; 1 page. + .END +$ link/share=librsaref.exe sys$input:/option +! +! Ensure transfer vector is at beginning of image +! +CLUSTER=FIRST +COLLECT=FIRST,$$LIBRSAREF +! +! make psects nonshareable so image can be installed. +! +PSECT_ATTR=$CHAR_STRING_CONSTANTS,NOWRT +[]rsaref_vec.obj +[]rsaref.obj +[.install]rsaref.olb/lib +[---.vax.exe.crypto]libcrypto.olb/lib +$ endif +$ +$ set default '_save_default'