make update
[openssl.git] / Configurations / 10-main.conf
index 025bd86ac79fd935d64e4cf446567b8d922ba281..f77bfda90dcc01873fa8a0fba8c4eff61656be18 100644 (file)
@@ -1,3 +1,4 @@
+## -*- mode: perl; -*-
 ## Standard openssl configuration targets.
 ##
 ## If you edit this file, run this command before committing
@@ -46,7 +47,7 @@
         cflags           => "-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3 -fomit-frame-pointer",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-lsocket -lnsl -ldl",
         bn_ops           => "BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}",
         dso_scheme       => "dlfcn",
@@ -69,7 +70,7 @@
         cflags           => "-m64 -Wall -DL_ENDIAN",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-lsocket -lnsl -ldl",
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL",
         perlasm_scheme   => "elf",
@@ -88,7 +89,7 @@
         debug_cflags     => "-g",
         release_cflags   => "-xO5 -xregs=frameptr -xdepend -xbuiltin",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-lsocket -lnsl -ldl",
+        lflags           => "-lsocket -lnsl -ldl -mt -lpthread",
         bn_ops           => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR",
         dso_scheme       => "dlfcn",
         shared_target    => "solaris-shared",
         debug_cflags     => "-g",
         release_cflags   => "-xO5 -xdepend -xbuiltin",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-lsocket -lnsl -ldl",
+        lflags           => "-lsocket -lnsl -ldl -mt -lpthread",
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL",
         perlasm_scheme   => "elf",
         dso_scheme       => "dlfcn",
         cflags           => "-Wall -DB_ENDIAN -DBN_DIV2W",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-lsocket -lnsl -ldl",
         bn_ops           => "BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR",
         dso_scheme       => "dlfcn",
     },
     "solaris-sparcv8-gcc" => {
         inherit_from     => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ],
-        cflags           => sub { join(" ","-mv8",@_); },
+        cflags           => sub { join(" ","-mcpu=v8",@_); },
     },
     "solaris-sparcv9-gcc" => {
         # -m32 should be safe to add as long as driver recognizes
         debug_cflags     => "-g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL",
         release_cflags   => "-xO5 -xdepend",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-lsocket -lnsl -ldl",
+        lflags           => "-lsocket -lnsl -ldl -mt -lpthread",
         bn_ops           => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
         dso_scheme       => "dlfcn",
         shared_target    => "solaris-shared",
         cflags           => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W",
         debug_cflags     => "-g -O0",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_SGI_MP_SOURCE",
+        thread_cflag     => "-D_SGI_MP_SOURCE -pthread",
         bn_ops           => "MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT",
         perlasm_scheme   => "n32",
         dso_scheme       => "dlfcn",
         debug_cflags     => "-g -O0",
         release_cflags   => "-O2",
         thread_cflag     => "-D_SGI_MP_SOURCE",
+        lflags           => "-lpthread",
         bn_ops           => "DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT",
         perlasm_scheme   => "n32",
         dso_scheme       => "dlfcn",
         debug_cflags     => "-g -O0",
         release_cflags   => "-O2",
         thread_cflag     => "-D_SGI_MP_SOURCE",
+        lflags           => "-lpthread",
         bn_ops           => "RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG",
         perlasm_scheme   => "64",
         dso_scheme       => "dlfcn",
         cflags           => "-DB_ENDIAN -DBN_DIV2W",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-Wl,+s -ldld",
         bn_ops           => "BN_LLONG DES_PTR DES_UNROLL DES_RISC1",
         dso_scheme       => "dl",
         debug_cflags      => "+O0 +d -g",
         release_cflags   => "+O3",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-Wl,+s -ldld",
+        lflags           => "-Wl,+s -ldld -lpthread",
         bn_ops           => "MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dl",
         shared_target    => "hpux-shared",
         debug_cflags      => "+O0 +d -g",
         release_cflags   => "+O3",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-ldl",
+        lflags           => "-ldl -lpthread",
         bn_ops           => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dlfcn",
         shared_target    => "hpux-shared",
         debug_cflags     => "+O0 +d -g",
         release_cflags   => "+O2",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-ldl",
+        lflags           => "-ldl -lpthread",
         bn_ops           => "SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dlfcn",
         shared_target    => "hpux-shared",
         debug_cflags     => "+O0 +d -g",
         release_cflags   => "+O3",
         thread_cflag     => "-D_REENTRANT",
-        lflags           => "-ldl",
+        lflags           => "-ldl -lpthread",
         bn_ops           => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dlfcn",
         shared_target    => "hpux-shared",
         cflags           => "-DB_ENDIAN",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-ldl",
         bn_ops           => "SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dlfcn",
         cflags           => "-mlp64 -DB_ENDIAN",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-ldl",
         bn_ops           => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT",
         dso_scheme       => "dlfcn",
         cflags           => "-Wall",
         debug_cflags     => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG",
         release_cflags   => "-O3",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-ldl",
         bn_ops           => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR",
         dso_scheme       => "dlfcn",
         inherit_from     => [ "linux-generic64", asm("aarch64_asm") ],
         perlasm_scheme   => "linux64",
     },
+    "linux-arm64ilp32" => {  # https://wiki.linaro.org/Platform/arm64-ilp32
+        inherit_from     => [ "linux-generic32", asm("aarch64_asm") ],
+        cflags           => "-mabi=ilp32 -Wall",
+        bn_ops           => "SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR",
+        perlasm_scheme   => "linux64",
+        shared_ldflag    => "-mabi=ilp32",
+    },
 
     "linux-mips32" => {
         # Configure script adds minimally required -march for assembly
     "linux-x86_64-clang" => {
         inherit_from     => [ "linux-x86_64" ],
         cc               => "clang",
-        # TODO(openssl-team): fix problems and investigate if (at least) the
-        # following warnings can also be enabled:
-        # -Wconditional-uninitialized, -Wswitch-enum, -Wunused-macros,
-        # -Wmissing-field-initializers, -Wmissing-variable-declarations,
-        # -Wincompatible-pointer-types-discards-qualifiers, -Wcast-align,
-        # -Wunreachable-code -Wunused-parameter -Wlanguage-extension-token
-        # -Wextended-offsetof
-        cflags           => "-m64 -DL_ENDIAN -Wall -Wextra $clang_disabled_warnings -Qunused-arguments",
+        cflags           => "-m64 -DL_ENDIAN -Wall -Wextra -Qunused-arguments",
     },
     "linux-x32" => {
         inherit_from     => [ "linux-generic32", asm("x86_64_asm") ],
     "linux64-s390x" => {
         inherit_from     => [ "linux-generic64", asm("s390x_asm") ],
         cflags           => "-m64 -Wall -DB_ENDIAN",
-        thread_cflag     => "-D_REENTRANT",
         perlasm_scheme   => "64",
         shared_ldflag    => "-m64",
         multilib         => "64",
     # patiently assisted with debugging of following two configs.
     "linux-sparcv8" => {
         inherit_from     => [ "linux-generic32", asm("sparcv8_asm") ],
-        cflags           => "-mv8 -Wall -DB_ENDIAN -DBN_DIV2W",
+        cflags           => "-mcpu=v8 -Wall -DB_ENDIAN -DBN_DIV2W",
     },
     "linux-sparcv9" => {
         # it's a real mess with -mcpu=ultrasparc option under Linux,
         # expands it as -lc_r, which has to be accompanied by explicit
         # -D_THREAD_SAFE and sometimes -D_REENTRANT. FreeBSD 5.x
         # expands it as -lc_r, which seems to be sufficient?
-        cc               => "gcc",
+        cc               => "cc",
         cflags           => "-Wall",
         debug_cflags     => "-O0 -g",
         release_cflags   => "-O3",
 
     "BSD-sparcv8" => {
         inherit_from     => [ "BSD-generic32", asm("sparcv8_asm") ],
-        cflags           => "-mv8 -Wall -DB_ENDIAN",
+        cflags           => "-mcpu=v8 -Wall -DB_ENDIAN",
     },
     "BSD-sparc64" => {
         # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
         shared_extension => ".dll.a",
     },
 
+#### UEFI
+    "UEFI" => {
+        cc               => "cc",
+        cflags           => "-DL_ENDIAN -O",
+        sys_id           => "UEFI",
+    },
+
 #### UWIN
     "UWIN" => {
         cc               => "cc",
         inherit_from     => [ "darwin-common", asm("armv4_asm") ],
         # It should be possible to go below iOS 6 and even add -arch armv6,
         # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant
-        # at this point (and impossible to download SDK for).
+        # at this point.
         cflags           => "-arch armv7 -mios-version-min=6.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
         sys_id           => "iOS",
         perlasm_scheme   => "ios32",
         inherit_from     => [ asm("x86_elf_asm") ],
         cc               => "gcc",
         cflags           => "-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall",
-        thread_cflag     => "-D_REENTRANT",
+        thread_cflag     => "-pthread",
         lflags           => "-ldl",
         bn_ops           => "BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}",
         dso_scheme       => "dlfcn",