summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Configurations/10-main.conf30
-rw-r--r--Configurations/50-haiku.conf29
-rw-r--r--e_os.h7
-rw-r--r--os-dep/haiku.h2
4 files changed, 31 insertions, 37 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 84d33232a5..e0dad4f026 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -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
index 0000000000..f114666609
--- /dev/null
+++ b/Configurations/50-haiku.conf
@@ -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 83b024add0..1c4c204c9a 100644
--- 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
index 0000000000..7e908efaaf
--- /dev/null
+++ b/os-dep/haiku.h
@@ -0,0 +1,2 @@
+#include <sys/select.h>
+#include <sys/time.h>