Refactor config - @MK1MF_Builds out, general build scheme in
[openssl.git] / Configurations / 10-main.conf
index 2f5313e2c7b29b88a80156e153804f9cabe8ce44..c5ae5940e20872d1c8dd9c71d2183e5fa1f3438e 100644 (file)
     },
     "solaris-sparcv8-gcc" => {
         inherit_from     => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ],
-        cflags           => sub { join(" ","-mcpu=v8",@_); },
+        cflags           => add_before(" ", "-mcpu=v8"),
     },
     "solaris-sparcv9-gcc" => {
         # -m32 should be safe to add as long as driver recognizes
         # -mcpu=ultrasparc
         inherit_from     => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ],
-        cflags           => sub { join(" ","-m32 -mcpu=ultrasparc",@_); },
+        cflags           => add_before(" ", "-m32 -mcpu=ultrasparc"),
         debug_cflags     => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__",
     },
     "solaris64-sparcv9-gcc" => {
 ####
     "solaris-sparcv8-cc" => {
         inherit_from     => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ],
-        cflags           => sub { join(" ","-xarch=v8",@_); },
+        cflags           => add_before(" ", "-xarch=v8"),
     },
     "solaris-sparcv9-cc" => {
         inherit_from     => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ],
-        cflags           => sub { join(" ","-xarch=v8plus -xtarget=ultra",@_); },
+        cflags           => add_before(" ", "-xarch=v8plus -xtarget=ultra"),
     },
     "solaris64-sparcv9-cc" => {
         inherit_from     => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ],
-        cflags           => sub { join(" ","-xarch=v9 -xtarget=ultra",@_); },
+        cflags           => add_before(" ", "-xarch=v9 -xtarget=ultra"),
         bn_ops           => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
         shared_ldflag    => "-xarch=v9 -G -dy -z text",
         multilib         => "/64",
     },
     "hpux-parisc1_1-cc" => {
         inherit_from     => [ "hpux-parisc-cc", asm("parisc11_asm") ],
-        cflags           => sub { join(" ","+DA1.1",@_); },
+        cflags           => add_before(" ", "+DA1.1"),
         multilib         => "/pa1.1",
     },
     "hpux64-parisc2-cc" => {
     },
     "android-armv7" => {
         inherit_from     => [ "android-armeabi" ],
-        cflags           => sub { join (" ","-march=armv7-a",@_); },
+        cflags           => add_before(" ", "-march=armv7-a"),
     },
     "android-mips" => {
         inherit_from     => [ "android", asm("mips32_asm") ],
         cc               => "cl",
         cflags           => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE",
         dso_scheme       => "win32",
+       build_scheme     => "mk1mf",
     },
     "VC-WIN64I" => {
         inherit_from     => [ "VC-common", asm("ia64_asm") ],
-        cflags           => sub { join(" ",@_,"-DUNICODE -D_UNICODE"); },
+        cflags           => add(" ", "-DUNICODE -D_UNICODE"),
         sys_id           => "WIN64I",
         bn_ops           => "SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN",
         bn_obj           => sub { my $r=join(" ",@_); $r=~s/bn\-//; $r; },
         rc4_obj          => "",
         perlasm_scheme   => "ias",
+       build_scheme     => [ "mk1mf", "VC-W64" ],
     },
     "VC-WIN64A" => {
         inherit_from     => [ "VC-common", asm("x86_64_asm") ],
-        cflags           => sub { join(" ",@_,"-DUNICODE -D_UNICODE"); },
+        cflags           => add(" ", "-DUNICODE -D_UNICODE"),
         sys_id           => "WIN64A",
         bn_ops           => "SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN",
         bn_obj           => sub { my $r=join(" ",@_); $r=~s/x86_64\-gcc/bn_asm/; $r; },
         perlasm_scheme   => "auto",
+       build_scheme     => [ "mk1mf", "VC-W64" ],
     },
     "VC-WIN32" => {
         # x86 Win32 target defaults to ANSI API, if you want UNICODE,
         sys_id           => "WIN32",
         bn_ops           => "BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}",
         perlasm_scheme   => "win32n",
+       build_scheme     => [ "mk1mf", "VC-W32" ],
     },
     "VC-CE" => {
         cc               => "cl",
         sys_id           => "WINCE",
         bn_ops           => "BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}",
         dso_scheme       => "win32",
+       build_scheme     => [ "mk1mf", "VC-WCE" ],
     },
 
 #### Borland C++ 4.5
         sys_id           => "WIN32",
         bn_ops           => "BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN",
         dso_scheme       => "win32",
+       build_scheme     => [ "mk1mf", "BC" ],
     },
 
 #### MinGW
     },
 
 #### Cygwin
-    "Cygwin" => {
+    "Cygwin-x86" => {
         inherit_from     => [ asm("x86_asm") ],
         cc               => "gcc",
-        cflags           => "-DTERMIOS -DL_ENDIAN -march=i486 -Wall",
+        cflags           => "-DTERMIOS -DL_ENDIAN -Wall",
         debug_cflags     => "-g -O0",
         release_cflags   => "-O3 -fomit-frame-pointer",
         sys_id           => "CYGWIN",
         shared_ldflag    => "-shared",
         shared_extension => ".dll.a",
     },
+    # Backward compatibility for those using this target
+    "Cygwin" => {
+       inherit_from     => [ "Cygwin-x86" ]
+    },
+    # In case someone constructs the Cygwin target name themself
+    "Cygwin-i386" => {
+       inherit_from     => [ "Cygwin-x86" ]
+    },
+    "Cygwin-i486" => {
+       inherit_from     => [ "Cygwin-x86" ]
+    },
+    "Cygwin-i586" => {
+       inherit_from     => [ "Cygwin-x86" ]
+    },
+    "Cygwin-i686" => {
+       inherit_from     => [ "Cygwin-x86" ]
+    },
 
 #### NetWare from David Ward (dsward@novell.com)
 # requires either MetroWerks NLM development tools, or gcc / nlmconv
     "netware-clib" => {
         cc               => "mwccnlm",
         bn_ops           => "${x86_gcc_opts}",
+       build_scheme     => [ "mk1mf", "netware" ],
     },
     "netware-clib-bsdsock" => {
         cc               => "mwccnlm",
         bn_ops           => "${x86_gcc_opts}",
+       build_scheme     => [ "mk1mf", "netware" ],
     },
     "netware-clib-gcc" => {
         cc               => "i586-netware-gcc",
     "netware-libc" => {
         cc               => "mwccnlm",
         bn_ops           => "BN_LLONG ${x86_gcc_opts}",
+       build_scheme     => [ "mk1mf", "netware" ],
     },
     "netware-libc-bsdsock" => {
         cc               => "mwccnlm",
         bn_ops           => "BN_LLONG ${x86_gcc_opts}",
+       build_scheme     => [ "mk1mf", "netware" ],
     },
     "netware-libc-gcc" => {
         cc               => "i586-netware-gcc",