X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=Configurations%2F10-main.conf;h=dd5085dba9371c40fcae22c86223f6667345ceb6;hp=e4f5f1c70f04c01d991b6200e7a21c7959ed673c;hb=234b8af4b748311b8856bfd30ae45d187a184465;hpb=216a0cc4d6a35a21e613f1e7e9eee957768bf9dd diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index e4f5f1c70f..dd5085dba9 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -308,11 +308,11 @@ 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", @@ -622,6 +622,7 @@ sub vms_info { "linux-generic32" => { inherit_from => [ "BASE_unix" ], cc => "gcc", + cxx => "g++", cflags => combine(picker(default => "-Wall", debug => "-O0 -g", release => "-O3"), @@ -631,7 +632,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" => { @@ -647,14 +649,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" => { @@ -710,7 +712,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. @@ -719,14 +721,14 @@ 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", }, @@ -735,7 +737,6 @@ sub vms_info { 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" => { @@ -754,12 +755,13 @@ sub vms_info { 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" => { @@ -780,7 +782,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" => { @@ -804,7 +806,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", }, @@ -820,14 +822,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", }, @@ -856,7 +858,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", }, @@ -865,7 +867,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. @@ -874,7 +876,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" ], @@ -934,6 +936,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" => { @@ -1142,6 +1161,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", @@ -1155,7 +1179,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", }, @@ -1172,13 +1196,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", @@ -1189,6 +1210,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", @@ -1206,6 +1228,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", @@ -1254,9 +1277,11 @@ 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 ]; }), @@ -1273,6 +1298,7 @@ sub vms_info { }, "VC-noCE-common" => { inherit_from => [ "VC-common" ], + template => 1, cflags => add(picker(default => "-DUNICODE -D_UNICODE", debug => sub { @@ -1309,6 +1335,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}\./); @@ -1739,19 +1766,22 @@ sub vms_info { 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"), + defines => add("OPENSSL_USE_NODELETE"), lflags => picker(default => "/MAP", debug => "/DEBUG/TRACEBACK", release => "/NODEBUG/NOTRACEBACK"), lib_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"), - dso_cflags => add("/NAMES=(AS_IS,SHORTENED)"), + # no_inst_bin_cflags is used instead of bin_cflags by descrip.mms.tmpl + # for object files belonging to selected internal programs + no_inst_bin_cflags => "/NAMES=(AS_IS,SHORTENED)", 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-alpha" => {