Configurations: add linux-arm64ilp32 target.
[openssl.git] / Configurations / 10-main.conf
index ab269ba4d93c283845daa8ec59c0c16b75ebd62f..e612812052c2abe40f4343b4a7de18f423e6f526 100644 (file)
     },
     "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
         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",
-        cflags           => "-m64 -DL_ENDIAN -Weverything $clang_disabled_warnings -Qunused-arguments",
+        cflags           => "-m64 -DL_ENDIAN -Wall -Wextra -Qunused-arguments",
     },
     "linux-x32" => {
         inherit_from     => [ "linux-generic32", asm("x86_64_asm") ],
     # 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,
         perlasm_scheme   => "o32",
     },
 
+    "android64" => {
+        inherit_from     => [ "linux-generic64" ],
+        cflags           => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
+        debug_cflags     => "-O0 -g",
+        lflags           => "-pie%-ldl",
+        shared_cflag     => "",
+    },
+    "android64-aarch64" => {
+        inherit_from     => [ "android64", asm("aarch64_asm") ],
+        perlasm_scheme   => "linux64",
+    },
+
 #### *BSD
     "BSD-generic32" => {
         # As for thread_cflag. Idea is to maintain "collective" set of
         # 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",
         cflags           => "-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
         sys_id           => "iOS",
     },
+    "ios-cross" => {
+        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.
+        cflags           => "-arch armv7 -mios-version-min=6.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
+        sys_id           => "iOS",
+        perlasm_scheme   => "ios32",
+    },
     "ios64-cross" => {
         inherit_from     => [ "darwin-common", asm("aarch64_asm") ],
         cflags           => "-arch arm64 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",