Move Haiku configuration to separate config file to denote
authorAndy Polyakov <appro@openssl.org>
Sun, 1 May 2016 12:33:19 +0000 (14:33 +0200)
committerAndy Polyakov <appro@openssl.org>
Thu, 19 May 2016 20:39:52 +0000 (22:39 +0200)
the fact that it's community-supported target.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Configurations/10-main.conf
Configurations/50-haiku.conf [new file with mode: 0644]
e_os.h
os-dep/haiku.h [new file with mode: 0644]

index 84d3323..e0dad4f 100644 (file)
@@ -1715,36 +1715,6 @@ 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" => {
diff --git a/Configurations/50-haiku.conf b/Configurations/50-haiku.conf
new file mode 100644 (file)
index 0000000..f114666
--- /dev/null
@@ -0,0 +1,29 @@
+%targets = (
+    "haiku-common" => {
+        template         => 1,
+        cc               => "cc",
+        cflags           => add_before(picker(default => "-DL_ENDIAN -Wall -include \$(SRCDIR)/os-dep/haiku.h",
+                                              debug   => "-g -O0",
+                                              release => "-O2"),
+                                       threads("-D_REENTRANT")),
+        sys_id           => "HAIKU",
+        ex_libs          => "-lnetwork",
+        perlasm_scheme   => "elf",
+        thread_scheme    => "pthreads",
+        dso_scheme       => "dlfcn",
+        shared_target    => "gnu-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(release => "-fomit-frame-pointer")),
+        bn_ops           => "BN_LLONG",
+    },
+    "haiku-x86_64" => {
+        inherit_from     => [ "haiku-common" ],
+        cflags           => add("-m64"),
+        bn_ops           => "SIXTY_FOUR_BIT_LONG",
+    },
+);
diff --git a/e_os.h b/e_os.h
index 83b024a..1c4c204 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -504,13 +504,6 @@ struct servent *getservbyname(const char *name, const char *proto);
 # endif
 /* end vxworks */
 
-/* haiku */
-# if defined(OPENSSL_SYS_HAIKU)
-#  include <sys/select.h>
-#  include <sys/time.h>
-# endif
-/* end haiku */
-
 #define OSSL_NELEM(x)    (sizeof(x)/sizeof(x[0]))
 
 #ifdef  __cplusplus
diff --git a/os-dep/haiku.h b/os-dep/haiku.h
new file mode 100644 (file)
index 0000000..7e908ef
--- /dev/null
@@ -0,0 +1,2 @@
+#include <sys/select.h>
+#include <sys/time.h>