Package: omniorb4 
Severity: important
Version: 4.0.6-2
Tags: patch

Hi,

the current version of omniorb4 fails to build on GNU/kFreeBSD.
Please find attached patch to fix that

It would also be nice if you can ask upstream 
to include this changes.

Thanks in advance

                        Petr

diff -u omniorb4-4.0.6/configure.ac omniorb4-4.0.6/configure.ac
--- omniorb4-4.0.6/configure.ac
+++ omniorb4-4.0.6/configure.ac
@@ -168,6 +168,9 @@
   *-*-freebsd3*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="3";;
   *-*-freebsd4*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="4";;
   *-*-freebsd5*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="5";;
+  *-*-freebsd6*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="6";;
+  *-*-kfreebsd5*) plat_name="kFreeBSD";  plat_def="__FreeBSD_kernel__";  
os_v="5";;
+  *-*-kfreebsd6*) plat_name="kFreeBSD";  plat_def="__FreeBSD_kernel__";  
os_v="6";;
   *-*-netbsd*)   plat_name="NetBSD";   plat_def="__netbsd__";   os_v="1";;
   *-*-openbsd*)  plat_name="OpenBSD";  plat_def="__openbsd__";  os_v="3";;
   *-*-sco*)      plat_name="OSR5";     plat_def="__osr5__";     os_v="5";;
diff -u omniorb4-4.0.6/mk/beforeauto.mk.in omniorb4-4.0.6/mk/beforeauto.mk.in
--- omniorb4-4.0.6/mk/beforeauto.mk.in
+++ omniorb4-4.0.6/mk/beforeauto.mk.in
@@ -746,6 +746,13 @@
 endif
 
 ###################
+ifdef kFreeBSD
+OMNITHREAD_POSIX_CPPFLAGS = -DPthreadDraftVersion=10
+OMNITHREAD_CPPFLAGS = -D_REENTRANT -pthread
+OMNITHREAD_LIB += -lpthread
+endif
+
+###################
 ifdef SunOS
 IMPORT_CPPFLAGS += -D__sunos__
 OMNITHREAD_POSIX_CPPFLAGS = -DPthreadDraftVersion=10 \
only in patch2:
unchanged:
--- omniorb4-4.0.6.orig/src/lib/omnithread/posix.cc
+++ omniorb4-4.0.6/src/lib/omnithread/posix.cc
@@ -876,7 +876,7 @@
 
 #else
 
-#if defined(__linux__) || defined(__aix__) || defined(__SCO_VERSION__) || 
defined(__darwin__) || defined(__macos__)
+#if defined(__linux__) || defined(__GLIBC__) || defined(__aix__) || 
defined(__SCO_VERSION__) || defined(__darwin__) || defined(__macos__)
 
     struct timeval tv;
     gettimeofday(&tv, NULL); 
only in patch2:
unchanged:
--- omniorb4-4.0.6.orig/include/omnithread.h
+++ omniorb4-4.0.6/include/omnithread.h
@@ -133,6 +133,9 @@
 #elif defined(__linux__)
 #include <omnithread/posix.h>
 
+#elif defined(__GLIBC__)
+#include <omnithread/posix.h>
+
 #elif defined(__nextstep__)
 #include <omnithread/mach.h>
 
diff -u omniorb4-4.0.6/configure omniorb4-4.0.6/configure
--- omniorb4-4.0.6/configure
+++ omniorb4-4.0.6/configure
@@ -11872,6 +11733,9 @@
   *-*-freebsd3*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="3";;
   *-*-freebsd4*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="4";;
   *-*-freebsd5*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="5";;
+  *-*-freebsd6*) plat_name="FreeBSD";  plat_def="__freebsd__";  os_v="6";;
+  *-*-kfreebsd5*) plat_name="kFreeBSD";  plat_def="__FreeBSD_kernel__";  
os_v="5";;
+  *-*-kfreebsd6*) plat_name="kFreeBSD";  plat_def="__FreeBSD_kernel__";  
os_v="6";;
   *-*-netbsd*)   plat_name="NetBSD";   plat_def="__netbsd__";   os_v="1";;
   *-*-openbsd*)  plat_name="OpenBSD";  plat_def="__openbsd__";  os_v="3";;
   *-*-sco*)      plat_name="OSR5";     plat_def="__osr5__";     os_v="5";;

Reply via email to