Hi The Debian kfreebsd porters need the attached patch for omniORB to work. It would be nice if this could be included upstream.
The patch doesn't apply cleanly anymore to 4.1, but the rejected hunks (configure.ac (and configure, but since you're upstream you'll just regenerate that from configure.ac)) are easily merged by hand (so easily that I didn't bother re-creating the patch). For the original bug report see http://bugs.debian.org/341089 Regards Floris PS: Please CC me as I am not subscribed to this list. -- Debian GNU/Linux -- The Power of Freedom www.debian.org | www.gnu.org | www.kernel.org
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";;