You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.6 KiB
105 lines
2.6 KiB
$! 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 |
|
$ |
|
$ if (f$getsyi("cpu").lt.128) |
|
$ then |
|
$ arch := vax |
|
$ else |
|
$ arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE") |
|
$ if (arch .eqs. "") then arch = "UNK" |
|
$ 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 arch .eqs. "VAX" |
|
$ then |
|
$ 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 |
|
$ else |
|
$ if arch_name .eqs. "ALPHA" |
|
$ then |
|
$ link/share=librsaref.exe sys$input:/option |
|
[]rsaref.obj |
|
[.install]rsaref.olb/lib |
|
[---.alpha.exe.crypto]libcrypto.olb/lib |
|
symbol_vector=(bind_engine=procedure,v_check=procedure) |
|
$ else |
|
$ if arch_name .eqs. "IA64" |
|
$ then |
|
$ link /shareable=librsaref.exe sys$input: /options |
|
[]rsaref.obj |
|
[.install]rsaref.olb/lib |
|
[---.ia64.exe.crypto]libcrypto.olb/lib |
|
symbol_vector=(bind_engine=procedure,v_check=procedure) |
|
$ endif |
|
$ endif |
|
$ endif |
|
$ |
|
$ set default '_save_default'
|
|
|