summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-11-17 01:49:54 +0000
committercbeaulac <cbeaulac@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-11-17 01:49:54 +0000
commit8a5622bfdcef3899392497337eab8c9ae1a160d3 (patch)
tree2ab1662b458439912520eb3c0b7c6c1cf5156a4d
parent148da611aa238ad34faae9d0c4abf32322b1af5d (diff)
downloadATCD-8a5622bfdcef3899392497337eab8c9ae1a160d3.tar.gz
Tue Nov 17 01:49:48 UTC 2009 Chad Beaulac <chad@objectivesolutions.com>
* ... Merged files from trunk before more updates for #3334
-rw-r--r--ChangeLog7
-rw-r--r--ace/config-win32-interix.h152
-rw-r--r--ace/os_include/sys/os_types.h4
-rw-r--r--include/makeinclude/platform_win32_interix.GNU44
4 files changed, 126 insertions, 81 deletions
diff --git a/ChangeLog b/ChangeLog
index b9c93e26753..73d2c11db34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Nov 16 14:40:42 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * include/makeinclude/platform_win32_interix.GNU:
+ * ace/config-win32-interix.h:
+ * ace/os_include/sys/os_types.h:
+ Updated Interix support.
+
Sun Nov 15 08:09:00 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* debianbuild/*:
diff --git a/ace/config-win32-interix.h b/ace/config-win32-interix.h
index e8cf2c01cb8..e8188fbf3b8 100644
--- a/ace/config-win32-interix.h
+++ b/ace/config-win32-interix.h
@@ -6,69 +6,104 @@
#ifndef ACE_CONFIG_WIN32_INTERIX_H
#define ACE_CONFIG_WIN32_INTERIX_H
-#include /**/ "ace/pre.h"
-#include <arpa/inet.h>
-# define ACE_LACKS_SENDMSG
-# define ACE_LACKS_RECVMSG
-# define ACE_LACKS_STDINT_H
-# define ACE_LACKS_INTTYPES_H
-# define ACE_LACKS_PRAGMA_ONCE
-# define ACE_LACKS_RWLOCK_T
-# define ACE_LACKS_GETPGID // Don't have getpgid(), have setpgid() though...
-# define ACE_LACKS_UCONTEXT_H
-# define ACE_HAS_REENTRANT_FUNCTIONS
-# define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS // Don't have gethostbyaddr_r and friends.
-# define ACE_HAS_DIRENT
-# define ACE_HAS_STDCPP_STL_INCLUDES
-# define ACE_HAS_STANDARD_CPP_LIBRARY 1
-# define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
-# define ACE_HAS_NONCONST_SELECT_TIMEVAL
-# define ACE_HAS_SIGWAIT
-# define ACE_HAS_SIGINFO_T
+#include /**/ "ace/pre.h"
#include "ace/config-g++-common.h"
-#define ACE_HAS_NEW_NOTHROW // Need to know 'new's failure semantics.
-
-#if defined (ACE_HAS_THREADS)
-#define ACE_HAS_THREADS
-#define ACE_HAS_PTHREADS
-#define _THREAD_SAFE
-#define ACE_MTSAFE 1
-#define ACE_MT_SAFE 1
-#define ACE_LACKS_PTHREAD_YIELD
-#define ACE_HAS_MUTEX_TIMEOUTS
-#else
- error "You need to enable threads for this Interix port."
-#endif /* ACE_HAS_THREADS */
-
-// INTERIX has the following, just an issue with porting for the moment
-#define ACE_LACKS_ACCESS
-// END INTERIX has the following....
-
-#define ACE_SIZEOF_LONG_DOUBLE 12
-#define ACE_PAGE_SIZE 4096
-
-#define ACE_HAS_SYSV_IPC
-#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+#define ACE_HAS_3_PARAM_READDIR_R
+#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG
+#define ACE_HAS_AUTOMATIC_INIT_FINI
+#define ACE_HAS_BROKEN_T_ERROR
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
-#define ACE_HAS_SVR4_DYNAMIC_LINKING
-#define ACE_HAS_POSIX_TIME // Supports POSIX timers via struct timespec.
-#define ACE_LACKS_TIMESPEC_T // Defines struct timespec but not timespec_t.
-#define ACE_LACKS_STRRECVFD
-#define ACE_LACKS_SETSCHED
-#define ACE_HAS_SOCKADDR_IN_SIN_LEN
-#define ACE_HAS_RTLD_LAZY_V
-#define ACE_HAS_POSIX_NONBLOCK
+#define ACE_HAS_DIRENT
+#define ACE_HAS_EXCEPTIONS
+#define ACE_HAS_GETPAGESIZE
#define ACE_HAS_GETRUSAGE
-#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_GETRUSAGE_PROTOTYPE
+#define ACE_HAS_GPERF
+#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
+#define ACE_HAS_ICMP_SUPPORT 1
+#define ACE_HAS_IP_MULTICAST
+#define ACE_HAS_MEMCHR
+#define ACE_HAS_MKDIR
+#define ACE_HAS_MSG
+#define ACE_HAS_NEW_NOTHROW
+#define ACE_HAS_NEW_NO_H
+#define ACE_HAS_NONCONST_SELECT_TIMEVAL
+#define ACE_HAS_POLL
+#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 1
+#define ACE_HAS_POSIX_GETPWNAM_R
+#define ACE_HAS_POSIX_NONBLOCK
+#define ACE_HAS_POSIX_TIME
+#define ACE_HAS_PTHREADS_STD
+#define ACE_HAS_PTHREADS_UNIX98_EXT
+#define ACE_HAS_PTHREAD_GETCONCURRENCY
+#define ACE_HAS_PTHREAD_SETCONCURRENCY
+#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE
+#define ACE_HAS_P_READ_WRITE
+#define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS
+#define ACE_HAS_REENTRANT_FUNCTIONS
+#define ACE_HAS_RTLD_LAZY_V
#define ACE_HAS_SEMUN
+#define ACE_HAS_SIGINFO_T
+#define ACE_HAS_SIGSUSPEND
+#define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIG_ATOMIC_T
+#define ACE_HAS_SIG_C_FUNC
+#define ACE_HAS_SOCKADDR_MSG_NAME
+#define ACE_HAS_SOCKLEN_T
#define ACE_HAS_SSIZE_T
+#define ACE_HAS_STANDARD_CPP_LIBRARY 1
+#define ACE_HAS_STDCPP_STL_INCLUDES
+#define ACE_HAS_STREAMS
+#define ACE_HAS_STRING_CLASS
+#define ACE_HAS_STRSIGNAL
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
#define ACE_HAS_SVR4_GETTIMEOFDAY
-#define ACE_HAS_UALARM
+#define ACE_HAS_SVR4_SIGNAL_T
+#define ACE_HAS_SYSV_IPC
+#define ACE_HAS_SYS_SYSCALL_H
#define ACE_HAS_TERMIOS
-#define ACE_HAS_SIGWAIT
+#define ACE_HAS_UALARM
+#define ACE_HAS_UCONTEXT_T
+#define ACE_HAS_VOIDPTR_GETTIMEOFDAY
+#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+
+#define ACE_LACKS_GETPGID
+#define ACE_LACKS_ISCTYPE
+#define ACE_LACKS_LOG2
+#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
+#define ACE_LACKS_NET_IF_H
+#define ACE_LACKS_PRAGMA_ONCE
+#define ACE_LACKS_SETSCHED
+#define ACE_LACKS_STRRECVFD
+#define ACE_LACKS_SYS_SYSCTL_H
+#define ACE_LACKS_TIMESPEC_T
+#define ACE_LACKS_WCSTOK
+#define ACE_LACKS_WCSTOLL
+#define ACE_LACKS_WCSTOULL
+
+// These are probably not needed with gcc 4.x
+#define ACE_LACKS_UNSETENV
+#define ACE_LACKS_STRTOLL
+#define ACE_LACKS_STRTOULL
+#define ACE_LACKS_SETEGID
+#define ACE_LACKS_SETEUID
+
+
+#define ACE_PAGE_SIZE 4096
+#define ACE_SIZEOF_LONG_LONG 8
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+
+#if defined (ACE_HAS_THREADS)
+# define ACE_HAS_MUTEX_TIMEOUTS
+# define ACE_HAS_PTHREADS
+# define ACE_MT_SAFE 1
+#else
+# error "You need to enable threads for this Interix port."
+#endif /* ACE_HAS_THREADS */
// Turns off the tracing feature.
#if !defined (ACE_NTRACE)
@@ -86,14 +121,7 @@
#define ACE_HAS_THREAD_SPECIFIC_STORAGE // We need thread specific storage even though...
#define ACE_HAS_TSS_EMULATION // It would appear to be broken in Interix!
-#include /**/ "ace/post.h"
-#endif /* ACE_CONFIG_WIN32_INTERIX_H */
-
-/*
-The following tests do not run.
-Dynamic_Priority_Test.log ACE_HAS_TIMED_MESSAGE_BLOCKS
-Enum_Interfaces_Test.log
-IOStream_Test.log ACE_IOSTREAM not supported on this platform
-*/
+#include /**/ "ace/post.h"
+#endif /* ACE_CONFIG_WIN32_INTERIX_H */
diff --git a/ace/os_include/sys/os_types.h b/ace/os_include/sys/os_types.h
index 0b8e04e390e..81a0c273661 100644
--- a/ace/os_include/sys/os_types.h
+++ b/ace/os_include/sys/os_types.h
@@ -71,8 +71,8 @@ typedef double ACE_timer_t;
#if defined (ACE_SIZEOF_LONG) && ACE_SIZEOF_LONG == 8
typedef off_t ACE_LOFF_T;
-#elif defined (ACE_HAS_RTEMS) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || \
- (defined (ACE_OPENVMS) && defined (_LARGEFILE)) || defined(ACE_MVS)
+#elif defined (ACE_HAS_RTEMS) || defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__APPLE__) || defined(ACE_MVS) || defined(__INTERIX) || \
+ (defined (ACE_OPENVMS) && defined (_LARGEFILE))
typedef off_t ACE_LOFF_T;
#elif defined (__sgi) || defined (AIX) || defined (HPUX) || defined (__QNX__)
typedef off64_t ACE_LOFF_T;
diff --git a/include/makeinclude/platform_win32_interix.GNU b/include/makeinclude/platform_win32_interix.GNU
index feababd508d..7f514b4eb40 100644
--- a/include/makeinclude/platform_win32_interix.GNU
+++ b/include/makeinclude/platform_win32_interix.GNU
@@ -2,36 +2,46 @@
# platform_win32_interix.GNU
-#versioned_so = 1
+versioned_so ?= 0
exceptions ?= 1
debug ?= 1
optimize ?= 1
threads ?= 1
+pipes ?= 1
-CC = gcc
-CXX = g++
+CC = gcc
+CXX = g++
-include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
-
-CFLAGS += -W -Wall -Wpointer-arith -pipe -frepo
-CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG) -D_ALL_SOURCE
+CFLAGS += -W -Wall -Wpointer-arith
+CPPFLAGS += -D_ALL_SOURCE
DCFLAGS += -g
-LDFLAGS += -L /usr/lib -L$(ACE_ROOT)/lib -ldl -lc -dynamic
DLD = $(CXX)
-LD = $(CXX)
-LIBS +=
+LD = $(CXX)
+LIBS += -ldl
+OCFLAGS += -O2
+PIC =
AR = ar
-ARFLAGS = ruvs
+ARFLAGS = ruv
RANLIB = ranlib
+LN_S = cp
-SOFLAGS += $(CPPFLAGS) -shared -i -W1,-E -W1,-Bsymbolic
-#SOBUILD = $(COMPILE.cc) -o $(VSHDIR)$*.so $<
-PRELIB = @echo
+SOFLAGS += $(CPPFLAGS) -shared
+SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
+PRELIB = @echo
ifeq ($(threads),1)
-LDFLAGS += -lpthread
-#CFLAGS += -D_THREAD_SAFE -D_REENTRANT -DACE_HAS_THREADS
-CFLAGS += -D_REENTRANT -DACE_HAS_THREADS
+ LDFLAGS += -lpthread
+ CFLAGS += -D_THREAD_SAFE -DACE_HAS_THREADS
endif # threads
+PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include
+PLATFORM_X11_LIBS=-lX11
+PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib
+
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
+# add -E to LDFLAGS if using GNU ld
+#
+#include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
+
+CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)