Commit e84193e4 authored by Richard Levitte's avatar Richard Levitte
Browse files

unified build scheme: add a "unified" template for VMS descrip.mms



As part of this, change util/mkdef.pl to stop adding libraries to
depend on in its output.  mkdef.pl should ONLY output a symbol
vector.

Because symbol names can't be longer than 31 characters, we use the
compiler to shorten those that are longer down to 23 characters plus
an 8 character CRC.  To make sure users of our header files will pick
up on that automatically, add the DEC C supported extra headers files
__decc_include_prologue.h and __decc_include_epilogue.h.

Furthermore, we add a config.com, so VMS people can configure just as
comfortably as any Unix folks, thusly:

    @config

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 9c44c29e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
	thread_cflags	=> "",
	thread_defines	=> [],

	apps_extra_src	=> "",
	cpuid_asm_src	=> "mem_clr.c",
	bn_asm_src	=> "bn_asm.c",
	ec_asm_src	=> "",
+60 −0
Original line number Diff line number Diff line
@@ -1523,4 +1523,64 @@
        ranlib           => "$ENV{'RANLIB'}",
    },

    ##### VMS
    "vms-generic" => {
        template         => 1,
        cc               => "CC/DECC",
        cflags           => "/STANDARD=RELAXED/NOLIST/PREFIX=ALL/NAMES=(AS_IS,SHORTENED)",
        debug_cflags     => "/NOOPTIMIZE/DEBUG",
        release_cflags   => "/OPTIMIZE/NODEBUG",
        lflags           => "/MAP",
        debug_lflags     => "/DEBUG/TRACEBACK",
        release_lflags   => "/NODEBUG/NOTRACEBACK",
        shared_target    => "vms-shared",

        apps_extra_src   => "vms_decc_init.c",
        build_file       => "descrip.mms",
        build_scheme     => [ "unified", "VMS" ],
    },

    # VMS on VAX is *unsupported*
    #"vms-asm" => {
    #   template          => 1,
    #   bn_obj            => "[.asm]vms.obj vms-helper.obj"
    #},
    #"vms-vax" => {
    #   inherit_from      => [ "vms-generic", asm("vms-asm") ],
    #   as                => "MACRO",
    #   debug_aflags      => "/NOOPTIMIZE/DEBUG",
    #   release_aflags    => "/OPTIMIZE/NODEBUG",
    #   bn_opts           => "THIRTY_TWO_BIT RC4_CHAR RC4_CHUNK DES_PTR BF_PTR",
    #},
    "vms-alpha" => {
        inherit_from     => [ "vms-generic" ],
        #as               => "???",
        #debug_aflags     => "/NOOPTIMIZE/DEBUG",
        #release_aflags   => "/OPTIMIZE/NODEBUG",
        bn_opts          => "SIXTY_FOUR_BIT RC4_INT RC4_CHUNK_LL DES_PTR BF_PTR",
    },
    "vms-alpha-P32" => {
	inherit_from	 => [ "vms-alpha" ],
	cflags		 => add("/POINTER_SIZE=32"),
    },
    "vms-alpha-P64" => {
	inherit_from	 => [ "vms-alpha" ],
	cflags		 => add("/POINTER_SIZE=64"),
    },
    "vms-ia64" => {
        inherit_from     => [ "vms-generic" ],
        #as               => "I4S",
        #debug_aflags     => "/NOOPTIMIZE/DEBUG",
        #release_aflags   => "/OPTIMIZE/NODEBUG",
        bn_opts          => "SIXTY_FOUR_BIT RC4_INT RC4_CHUNK_LL DES_PTR BF_PTR",
    },
    "vms-ia64-P32" => {
	inherit_from	 => [ "vms-ia64" ],
	cflags		 => add("/POINTER_SIZE=32"),
    },
    "vms-ia64-P64" => {
	inherit_from	 => [ "vms-ia64" ],
	cflags		 => add("/POINTER_SIZE=64"),
    },

);
+2 −0
Original line number Diff line number Diff line
@@ -163,6 +163,8 @@ In each table entry, the following keys are significant:
                                                export vars as
                                                accessor functions.

        apps_extra_src  => Extra source to build apps/openssl, as
                           needed by the target.
        cpuid_asm_src   => assembler implementation of cpuid code as
                           well as OPENSSL_cleanse().
                           Default to mem_clr.c
+634 −0

File added.

Preview size limit exceeded, changes collapsed.

VMS/engine.opt

0 → 100644
+2 −0
Original line number Diff line number Diff line
CASE_SENSITIVE=YES
SYMBOL_VECTOR=(bind_engine=PROCEDURE,v_check=PROCEDURE)
Loading