X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configurations%2F10-main.conf;h=e728200d7ca54e09a411e495e49e5ab13ee31600;hp=f928d1f2b5eb8f8aff264f0a15db7224b42045a2;hb=335d0a4646981c9d96b62811bcfd69a96a1a67d9;hpb=3ec8a1cfd8e06e2308fc318d8071aa7b5ddda146 diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index f928d1f2b5..e728200d7c 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -14,7 +14,10 @@ sub vc_win64a_info { asflags => "/c /Cp /Cx /Zi", asoutflag => "/Fo" }; } else { - die "NASM not found - please read INSTALL and NOTES.WIN for further details\n"; + $die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n"); + $vc_win64a_info = { as => "{unknown}", + asflags => "", + asoutflag => "" }; } } return $vc_win64a_info; @@ -36,7 +39,11 @@ sub vc_win32_info { asoutflag => "/Fo", perlasm_scheme => "win32" }; } else { - die "NASM not found - please read INSTALL and NOTES.WIN for further details\n"; + $die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n"); + $vc_win32_info = { as => "{unknown}", + asflags => "", + asoutflag => "", + perlasm_scheme => "win32" }; } } return $vc_win32_info; @@ -46,18 +53,26 @@ my $vc_wince_info = {}; sub vc_wince_info { unless (%$vc_wince_info) { # sanity check - die '%OSVERSION% is not defined' if (!defined($ENV{'OSVERSION'})); - die '%PLATFORM% is not defined' if (!defined($ENV{'PLATFORM'})); - die '%TARGETCPU% is not defined' if (!defined($ENV{'TARGETCPU'})); + $die->('%OSVERSION% is not defined') if (!defined($ENV{'OSVERSION'})); + $die->('%PLATFORM% is not defined') if (!defined($ENV{'PLATFORM'})); + $die->('%TARGETCPU% is not defined') if (!defined($ENV{'TARGETCPU'})); # # Idea behind this is to mimic flags set by eVC++ IDE... # my $wcevers = $ENV{'OSVERSION'}; # WCENNN - die '%OSVERSION% value is insane' - if ($wcevers !~ /^WCE([1-9])([0-9]{2})$/); - my $wcecdefs = "-D_WIN32_WCE=$1$2 -DUNDER_CE=$1$2"; # -D_WIN32_WCE=NNN - my $wcelflag = "/subsystem:windowsce,$1.$2"; # ...,N.NN + my $wcevernum; + my $wceverdotnum; + if ($wcevers =~ /^WCE([1-9])([0-9]{2})$/) { + $wcevernum = "$1$2"; + $wceverdotnum = "$1.$2"; + } else { + $die->('%OSVERSION% value is insane'); + $wcevernum = "{unknown}"; + $wceverdotnum = "{unknown}"; + } + my $wcecdefs = "-D_WIN32_WCE=$wcevernum -DUNDER_CE=$wcevernum"; # -D_WIN32_WCE=NNN + my $wcelflag = "/subsystem:windowsce,$wceverdotnum"; # ...,N.NN my $wceplatf = $ENV{'PLATFORM'}; @@ -106,6 +121,7 @@ sub vms_info { my $pointer_size_str = $pointer_size == 0 ? "" : "$pointer_size"; $vms_info->{disable_warns} = [ ]; + $vms_info->{pointer_size} = $pointer_size_str; if ($pointer_size == 64) { `PIPE CC /NOCROSS_REFERENCE /NOLIST /NOOBJECT /WARNINGS = DISABLE = ( MAYLOSEDATA3, EMPTYFILE ) NL: 2> NL:`; if ($? == 0) { @@ -163,7 +179,7 @@ sub vms_info { inherit_from => [ "BASE_unix" ], template => 1, cflags => "-DFILIO_H", - ex_libs => add("-lresolv -lsocket -lnsl -ldl"), + ex_libs => add("-lsocket -lnsl -ldl"), dso_scheme => "dlfcn", thread_scheme => "pthreads", shared_target => "solaris-shared", @@ -171,20 +187,18 @@ sub vms_info { }, #### Solaris x86 with GNU C setups "solaris-x86-gcc" => { - # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have - # to do it here because whenever GNU C instantiates an assembler - # template it surrounds it with #APP #NO_APP comment pair which - # (at least Solaris 7_x86) /usr/ccs/bin/as fails to assemble - # with "Illegal mnemonic" error message. + # NB. GNU C has to be configured to use GNU assembler, and not + # /usr/ccs/bin/as. Failure to comply will result in compile + # failures [at least] in 32-bit build. inherit_from => [ "solaris-common", asm("x86_elf_asm") ], cc => "gcc", - cflags => add_before(picker(default => "-Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM", + cflags => add_before(picker(default => "-Wall -DL_ENDIAN", debug => "-O0 -g", release => "-O3 -fomit-frame-pointer"), threads("-pthread")), bn_ops => "BN_LLONG", shared_cflag => "-fPIC", - shared_ldflag => "-shared", + shared_ldflag => "-shared -static-libgcc", }, "solaris64-x86_64-gcc" => { # -shared -static-libgcc might appear controversial, but modules @@ -209,19 +223,18 @@ sub vms_info { }, #### Solaris x86 with Sun C setups - "solaris-x86-cc" => { - inherit_from => [ "solaris-common" ], - cc => "cc", - cflags => add_before(picker(default => "-xarch=generic -xstrconst -Xa -DL_ENDIAN", - debug => "-g", - release => "-xO5 -xregs=frameptr -xdepend -xbuiltin"), - threads("-D_REENTRANT")), - lflags => add(threads("-mt")), - ex_libs => add(threads("-lpthread")), - bn_ops => "BN_LLONG RC4_CHAR", - shared_cflag => "-KPIC", - shared_ldflag => "-G -dy -z text", - }, + # There used to be solaris-x86-cc target, but it was removed, + # primarily because vendor assembler can't assemble our modules + # with -KPIC flag. As result it, assembly support, was not even + # available as option. But its lack means lack of side-channel + # resistant code, which is incompatible with security by todays + # standards. Fortunately gcc is readily available prepackaged + # option, which we can firmly point at... + # + # On related note, solaris64-x86_64-cc target won't compile code + # paths utilizing AVX and post-Haswell instruction extensions. + # Consider switching to solaris64-x86_64-gcc even here... + # "solaris64-x86_64-cc" => { inherit_from => [ "solaris-common", asm("x86_64_asm") ], cc => "cc", @@ -230,7 +243,7 @@ sub vms_info { release => "-xO5 -xdepend -xbuiltin"), threads("-D_REENTRANT")), thread_scheme => "pthreads", - lflags => add(threads("-mt")), + lflags => add("-xarch=generic64",threads("-mt")), ex_libs => add(threads("-lpthread")), bn_ops => "SIXTY_FOUR_BIT_LONG", perlasm_scheme => "elf", @@ -293,11 +306,12 @@ sub vms_info { }, "solaris-sparcv9-cc" => { inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], - cflags => add_before("-xarch=v8plus -xtarget=ultra"), + cflags => add_before("-xarch=v8plus"), }, "solaris64-sparcv9-cc" => { inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], - cflags => add_before("-xarch=v9 -xtarget=ultra"), + cflags => add_before("-xarch=v9"), + lflags => add_before("-xarch=v9"), bn_ops => "BN_LLONG RC4_CHAR", shared_ldflag => "-xarch=v9 -G -dy -z text", multilib => "/64", @@ -399,9 +413,9 @@ sub vms_info { # crypto/sha/sha_lcl.h. # - originally there were 32-bit hpux-parisc2-* targets. They were # scrapped, because a) they were not interchangeable with other 32-bit -# targets; a) when critical 32-bit assembly modules detect if they -# are executed on PA-RISC 2.0 and thus adequate performance is -# provided. +# targets; b) performance-critical 32-bit assembly modules implement +# even PA-RISC 2.0-specific code paths, which are chosen at run-time, +# thus adequate performance is provided even with PA-RISC 1.1 build. # "hpux-parisc-gcc" => { inherit_from => [ "BASE_unix" ], @@ -606,6 +620,7 @@ sub vms_info { "linux-generic32" => { inherit_from => [ "BASE_unix" ], cc => "gcc", + cxx => "g++", cflags => combine(picker(default => "-Wall", debug => "-O0 -g", release => "-O3"), @@ -615,7 +630,8 @@ sub vms_info { thread_scheme => "pthreads", dso_scheme => "dlfcn", shared_target => "linux-shared", - shared_cflag => "-fPIC", + shared_cflag => "-fPIC -DOPENSSL_USE_NODELETE", + shared_ldflag => "-Wl,-znodelete", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, "linux-generic64" => { @@ -631,14 +647,14 @@ sub vms_info { inherit_from => [ "linux-generic64", asm("ppc64_asm") ], cflags => add("-m64 -DB_ENDIAN"), perlasm_scheme => "linux64", - shared_ldflag => "-m64", + shared_ldflag => add("-m64"), multilib => "64", }, "linux-ppc64le" => { inherit_from => [ "linux-generic64", asm("ppc64_asm") ], cflags => add("-m64 -DL_ENDIAN"), perlasm_scheme => "linux64le", - shared_ldflag => "-m64", + shared_ldflag => add("-m64"), }, "linux-armv4" => { @@ -685,7 +701,7 @@ sub vms_info { cflags => add("-mabi=ilp32"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", perlasm_scheme => "linux64", - shared_ldflag => "-mabi=ilp32", + shared_ldflag => add("-mabi=ilp32"), }, "linux-mips32" => { @@ -694,7 +710,7 @@ sub vms_info { inherit_from => [ "linux-generic32", asm("mips32_asm") ], cflags => add("-mabi=32 -DBN_DIV3W"), perlasm_scheme => "o32", - shared_ldflag => "-mabi=32", + shared_ldflag => add("-mabi=32"), }, # mips32 and mips64 below refer to contemporary MIPS Architecture # specifications, MIPS32 and MIPS64, rather than to kernel bitness. @@ -703,23 +719,24 @@ sub vms_info { cflags => add("-mabi=n32 -DBN_DIV3W"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", perlasm_scheme => "n32", - shared_ldflag => "-mabi=n32", + shared_ldflag => add("-mabi=n32"), multilib => "32", }, "linux64-mips64" => { inherit_from => [ "linux-generic64", asm("mips64_asm") ], cflags => add("-mabi=64 -DBN_DIV3W"), perlasm_scheme => "64", - shared_ldflag => "-mabi=64", + shared_ldflag => add("-mabi=64"), multilib => "64", }, #### IA-32 targets... + #### These two targets are a bit aged and are to be used on older Linux + #### machines where gcc doesn't understand -m32 and -m64 "linux-elf" => { inherit_from => [ "linux-generic32", asm("x86_elf_asm") ], cflags => add(picker(default => "-DL_ENDIAN", release => "-fomit-frame-pointer")), - ex_libs => add(picker(debug => "-lefence")), bn_ops => "BN_LLONG", }, "linux-aout" => { @@ -733,17 +750,33 @@ sub vms_info { perlasm_scheme => "a.out", }, + #### X86 / X86_64 targets + "linux-x86" => { + inherit_from => [ "linux-generic32", asm("x86_asm") ], + cflags => add(picker(default => "-m32 -DL_ENDIAN", + release => "-fomit-frame-pointer")), + bn_ops => "BN_LLONG", + perlasm_scheme => "elf", + shared_ldflag => add("-m32"), + }, + "linux-x86-clang" => { + inherit_from => [ "linux-x86" ], + cc => "clang", + cxx => "clang++", + cflags => add("-Wextra -Qunused-arguments"), + }, "linux-x86_64" => { inherit_from => [ "linux-generic64", asm("x86_64_asm") ], cflags => add("-m64 -DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", perlasm_scheme => "elf", - shared_ldflag => "-m64", + shared_ldflag => add("-m64"), multilib => "64", }, "linux-x86_64-clang" => { inherit_from => [ "linux-x86_64" ], cc => "clang", + cxx => "clang++", cflags => add("-Wextra -Qunused-arguments"), }, "linux-x32" => { @@ -751,7 +784,7 @@ sub vms_info { cflags => add("-mx32 -DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT", perlasm_scheme => "elf32", - shared_ldflag => "-mx32", + shared_ldflag => add("-mx32"), multilib => "x32", }, @@ -764,7 +797,7 @@ sub vms_info { inherit_from => [ "linux-generic64", asm("s390x_asm") ], cflags => add("-m64 -DB_ENDIAN"), perlasm_scheme => "64", - shared_ldflag => "-m64", + shared_ldflag => add("-m64"), multilib => "64", }, "linux32-s390x" => { @@ -788,7 +821,7 @@ sub vms_info { cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"), bn_asm_src => sub { my $r=join(" ",@_); $r=~s|asm/s390x\.S|bn_asm.c|; $r; }, perlasm_scheme => "31", - shared_ldflag => "-m31", + shared_ldflag => add("-m31"), multilib => "/highgprs", }, @@ -804,14 +837,14 @@ sub vms_info { # but -Wa,-Av8plus should do the trick no matter what. inherit_from => [ "linux-generic32", asm("sparcv9_asm") ], cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W"), - shared_ldflag => "-m32", + shared_ldflag => add("-m32"), }, "linux64-sparcv9" => { # GCC 3.1 is a requirement inherit_from => [ "linux-generic64", asm("sparcv9_asm") ], cflags => add("-m64 -mcpu=ultrasparc -DB_ENDIAN"), bn_ops => "BN_LLONG RC4_CHAR", - shared_ldflag => "-m64", + shared_ldflag => add("-m64"), multilib => "64", }, @@ -840,7 +873,7 @@ sub vms_info { dso_scheme => "dlfcn", shared_target => "linux-shared", shared_cflag => "--pic", - shared_ldflag => "-z --sysv --shared", + shared_ldflag => add("-z --sysv --shared"), shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ranlib => "true", }, @@ -849,7 +882,7 @@ sub vms_info { # # It takes pair of prior-set environment variables to make it work: # - # CROSS_SYSROOT=/some/where/android-ndk-/platforms/android-/arch-< + # CROSS_SYSROOT=/some/where/android-ndk-/platforms/android-/arch- # CROSS_COMPILE= # # As well as PATH adjusted to cover ${CROSS_COMPILE}gcc and company. @@ -858,7 +891,7 @@ sub vms_info { # ANDROID_NDK=/some/where/android-ndk-10d # CROSS_SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm # CROSS_COMPILE=arm-linux-adroideabi- - # PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/ + # PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/bin # "android" => { inherit_from => [ "linux-generic32" ], @@ -918,6 +951,23 @@ sub vms_info { inherit_from => [ "android64", asm("aarch64_asm") ], perlasm_scheme => "linux64", }, + "android64-x86_64" => { + inherit_from => [ "android64", asm("x86_64_asm") ], + perlasm_scheme => "elf", + }, + "android64-mips64" => { + ############################################################ + # You are more than likely have to specify target processor + # on ./Configure command line. Trouble is that toolchain's + # default is MIPS64r6 (at least in r10d), but there are no + # such processors around (or they are too rare to spot one). + # Actual problem is that MIPS64r6 is binary incompatible + # with previous MIPS ISA versions, in sense that unlike + # prior versions original MIPS binary code will fail. + # + inherit_from => [ "android64", asm("mips64_asm") ], + perlasm_scheme => "64", + }, #### *BSD "BSD-generic32" => { @@ -934,6 +984,7 @@ sub vms_info { debug => "-O0 -g", release => "-O3"), threads("-pthread -D_THREAD_SAFE -D_REENTRANT")), + enable => add("devcryptoeng"), bn_ops => "BN_LLONG", thread_scheme => "pthreads", dso_scheme => "dlfcn", @@ -1126,6 +1177,11 @@ sub vms_info { }, #### IBM's AIX. + # Below targets assume AIX >=5. Caveat lector. If you are accustomed + # to control compilation "bitness" by setting $OBJECT_MODE environment + # variable, then you should know that in OpenSSL case it's considered + # only in ./config. Once configured, build procedure remains "deaf" to + # current value of $OBJECT_MODE. "aix-gcc" => { inherit_from => [ "BASE_unix", asm("ppc32_asm") ], cc => "gcc", @@ -1139,7 +1195,7 @@ sub vms_info { perlasm_scheme => "aix32", dso_scheme => "dlfcn", shared_target => "aix-shared", - shared_ldflag => "-shared -Wl,-G", + shared_ldflag => "-shared -static-libgcc -Wl,-G", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", arflags => "-X32", }, @@ -1156,13 +1212,10 @@ sub vms_info { perlasm_scheme => "aix64", dso_scheme => "dlfcn", shared_target => "aix-shared", - shared_ldflag => "-maix64 -shared -Wl,-G", + shared_ldflag => "-maix64 -shared -static-libgcc -Wl,-G", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", arflags => "-X64", }, - # Below targets assume AIX 5. Idea is to effectively disregard - # $OBJECT_MODE at build time. $OBJECT_MODE is respected at - # ./config stage! "aix-cc" => { inherit_from => [ "BASE_unix", asm("ppc32_asm") ], cc => "cc", @@ -1173,6 +1226,7 @@ sub vms_info { sys_id => "AIX", bn_ops => "BN_LLONG RC4_CHAR", thread_scheme => "pthreads", + ex_libs => threads("-lpthreads"), perlasm_scheme => "aix32", dso_scheme => "dlfcn", shared_target => "aix-shared", @@ -1190,6 +1244,7 @@ sub vms_info { sys_id => "AIX", bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", thread_scheme => "pthreads", + ex_libs => threads("-lpthreads"), perlasm_scheme => "aix64", dso_scheme => "dlfcn", shared_target => "aix-shared", @@ -1238,15 +1293,15 @@ sub vms_info { cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE", defines => add(sub { my @defs = (); unless ($disabled{"zlib-dynamic"}) { + my $zlib = + $withargs{zlib_lib} // "ZLIB1"; push @defs, quotify("perl", - 'LIBZ="' . $withargs{zlib_lib} . '"'); + 'LIBZ="' . $zlib . '"'); } return [ @defs ]; }), coutflag => "/Fo", - rc => "rc", - rcoutflag => "/fo", lib_cflags => add("/Zi /Fdossl_static"), dso_cflags => "/Zi /Fddso", bin_cflags => "/Zi /Fdapp", @@ -1255,9 +1310,11 @@ sub vms_info { shared_target => "win-shared", # meaningless except it gives Configure a hint thread_scheme => "winthreads", dso_scheme => "win32", + apps_aux_src => add("win32_init.c"), }, "VC-noCE-common" => { inherit_from => [ "VC-common" ], + template => 1, cflags => add(picker(default => "-DUNICODE -D_UNICODE", debug => sub { @@ -1267,7 +1324,7 @@ sub vms_info { release => sub { ($disabled{shared} ? "" : "/MD") - ." /Ox /O2 /Ob2"; + ." /O2"; })), lib_cflags => add(sub { $disabled{shared} ? "/MT /Zl" : () }), # Following might/should appears controversial, i.e. defining @@ -1294,6 +1351,7 @@ sub vms_info { }, "VC-WIN64-common" => { inherit_from => [ "VC-noCE-common" ], + template => 1, ex_libs => add(sub { my @ex_libs = (); push @ex_libs, 'bufferoverflowu.lib' if (`cl 2>&1` =~ /14\.00\.4[0-9]{4}\./); @@ -1415,6 +1473,7 @@ sub vms_info { shared_rcflag => "--target=pe-i386", shared_extension => ".dll", multilib => "", + apps_aux_src => add("win32_init.c"), }, "mingw64" => { # As for OPENSSL_USE_APPLINK. Applink makes it possible to use @@ -1443,6 +1502,7 @@ sub vms_info { shared_rcflag => "--target=pe-x86-64", shared_extension => ".dll", multilib => "64", + apps_aux_src => add("win32_init.c"), }, #### UEFI @@ -1617,6 +1677,7 @@ sub vms_info { dso_scheme => "dlfcn", shared_target => "linux-shared", shared_cflag => "-fPIC", + shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, ##### VxWorks for various targets @@ -1715,69 +1776,30 @@ sub vms_info { shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", ranlib => "$ENV{'RANLIB'}", }, - "haiku-common" => { - template => 1, - cc => "cc", - cflags => add_before(picker(default => "-DL_ENDIAN -Wall", - debug => "-g -O0", - release => "-O2"), - threads("-D_REENTRANT")), - sys_id => "HAIKU", - lflags => "-lnetwork", - perlasm_scheme => "elf", - thread_scheme => "pthreads", - dso_scheme => "dlfcn", - shared_target => "haiku-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - }, - "haiku-x86" => { - inherit_from => [ "haiku-common", asm("x86_elf_asm") ], - cflags => add(picker(default => "", - release => "-fomit-frame-pointer")), - bn_ops => "BN_LLONG", - }, - # Haiku builds with no-asm - "haiku-x86_64" => { - inherit_from => [ "haiku-common", asm("x86_64_asm") ], - cflags => add("-m64"), - bn_ops => "SIXTY_FOUR_BIT_LONG", - }, - ##### VMS "vms-generic" => { inherit_from => [ "BASE_VMS" ], template => 1, cc => "CC/DECC", - cflags => picker(default => "/STANDARD=RELAXED/NOLIST/PREFIX=ALL", + cflags => picker(default => "/STANDARD=(ISOC94,RELAXED)/NOLIST/PREFIX=ALL", debug => "/NOOPTIMIZE/DEBUG", release => "/OPTIMIZE/NODEBUG"), - lflags => picker(default => "/MAP", + defines => add("OPENSSL_USE_NODELETE"), + lflags => picker(default => "/MAP='F\$PARSE(\".MAP\",\"\$\@\")'", debug => "/DEBUG/TRACEBACK", release => "/NODEBUG/NOTRACEBACK"), - lib_cflags => add("/NAMES=(AS_IS,SHORTENED)"), - dso_cflags => add("/NAMES=(AS_IS,SHORTENED)"), + lib_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"), + # no_inst_lib_cflags is used instead of lib_cflags by descrip.mms.tmpl + # for object files belonging to selected internal libraries + no_inst_lib_cflags => "", shared_target => "vms-shared", dso_scheme => "vms", thread_scheme => "pthreads", - apps_aux_src => "vms_decc_init.c", + apps_aux_src => "vms_decc_init.c vms_term_sock.c", }, - # 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" ], cflags => add(sub { my @warnings = @@ -1790,10 +1812,11 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(0)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(0)->{zlib} || (); }), + pointer_size => sub { return vms_info(0)->{pointer_size} }, #as => "???", #debug_aflags => "/NOOPTIMIZE/DEBUG", #release_aflags => "/OPTIMIZE/NODEBUG", - bn_opts => "SIXTY_FOUR_BIT RC4_INT RC4_CHUNK_LL DES_PTR BF_PTR", + bn_opts => "SIXTY_FOUR_BIT RC4_INT", }, "vms-alpha-p32" => { inherit_from => [ "vms-generic" ], @@ -1810,6 +1833,7 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(32)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(32)->{zlib} || (); }), + pointer_size => sub { return vms_info(32)->{pointer_size} }, }, "vms-alpha-p64" => { inherit_from => [ "vms-generic" ], @@ -1826,6 +1850,7 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(64)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(64)->{zlib} || (); }), + pointer_size => sub { return vms_info(64)->{pointer_size} }, }, "vms-ia64" => { inherit_from => [ "vms-generic" ], @@ -1839,10 +1864,11 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(0)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(0)->{zlib} || (); }), + pointer_size => sub { return vms_info(0)->{pointer_size} }, #as => "I4S", #debug_aflags => "/NOOPTIMIZE/DEBUG", #release_aflags => "/OPTIMIZE/NODEBUG", - bn_opts => "SIXTY_FOUR_BIT RC4_INT RC4_CHUNK_LL DES_PTR BF_PTR", + bn_opts => "SIXTY_FOUR_BIT RC4_INT", }, "vms-ia64-p32" => { inherit_from => [ "vms-generic" ], @@ -1859,6 +1885,7 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(32)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(32)->{zlib} || (); }), + pointer_size => sub { return vms_info(32)->{pointer_size} }, }, "vms-ia64-p64" => { inherit_from => [ "vms-generic" ], @@ -1875,6 +1902,7 @@ sub vms_info { ? "LIBZ=\"\"\"".vms_info(64)->{def_zlib}."\"\"\"" : (); }), ex_libs => add(sub { return vms_info(64)->{zlib} || (); }), + pointer_size => sub { return vms_info(64)->{pointer_size} }, }, );