summaryrefslogtreecommitdiff
path: root/ACE/include/makeinclude/platform_hpux_gcc.GNU
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/include/makeinclude/platform_hpux_gcc.GNU')
-rw-r--r--ACE/include/makeinclude/platform_hpux_gcc.GNU85
1 files changed, 85 insertions, 0 deletions
diff --git a/ACE/include/makeinclude/platform_hpux_gcc.GNU b/ACE/include/makeinclude/platform_hpux_gcc.GNU
new file mode 100644
index 00000000000..d4ee47b86c0
--- /dev/null
+++ b/ACE/include/makeinclude/platform_hpux_gcc.GNU
@@ -0,0 +1,85 @@
+# $Id$
+#
+
+buildbits ?= 0
+debug ?= 1
+distrib ?= 0
+exceptions ?= 1
+optimize ?= 1
+stdcpplib ?= 1
+threads ?= 1
+versioned_so ?= 0
+with_ld ?= hpux
+
+# First, extract the OS version number.
+HPVERS_WORDS := $(subst ., ,$(shell uname -r))
+HPUX_VERS := $(join $(word 2,$(HPVERS_WORDS)),$(word 3,$(HPVERS_WORDS)))
+#
+CC = gcc
+CXX = g++
+CFLAGS += -w
+
+#
+# Set the appropriate preprocessor defs for threading based on OS version.
+# If the user has requested building without threads, then don't set any.
+#
+ifeq ($(threads),1)
+ ifeq (3.,$(findstring 3.,$(CXX_VERSION)))
+ THR_DEFS = -threads
+ endif
+ ifeq ($(word 2,$(HPVERS_WORDS)), 11)
+ THR_DEFS += -DACE_HAS_THREADS -D_POSIX_C_SOURCE=199506L
+ else
+ THR_DEFS += -DACE_HAS_THREADS -D_REENTRANT
+ endif
+endif
+
+# On HP-UX 11, there's a conflict with pthread_atfork in sys/unistd.h and
+# sys/pthread.h - both define the function, but slightly differently.
+# -fstrict-prototype resolves the issue.
+#ifeq ($(word 2,$(HPVERS_WORDS)), 11)
+#CCFLAGS += -fstrict-prototype
+#endif
+DCFLAGS += -g
+DLD = $(CXX)
+LD = $(CXX)
+OCFLAGS += -O2
+PIC = -fPIC
+# GNU ar doesn't work (missing libfl.sl?) so use HP ar.
+AR = /usr/bin/ar
+ARFLAGS = ruv
+RANLIB = echo
+LDFLAGS = -L. -L$(ACE_ROOT)/lib -Wl,+s
+SOFLAGS += $(CPPFLAGS) -shared -nostdlib $(PIC) -Wl,-E
+SOEXT = sl
+SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.$(SOEXT) $<
+PRELIB = @true
+#
+# Grab the appropriate libraries based on the version of HP-UX we're building
+# on and whether or not thread support is being used.
+#
+ifeq ($(word 2,$(HPVERS_WORDS)), 11)
+
+ #11.x:
+ ifeq ($(threads),1)
+ LIBS += -lxti -lpthread -lrt -ldld
+ else
+ LIBS += -lxti -lrt -ldld
+ endif
+
+else
+
+ # 10.x:
+ LIBS += -lxti -ldld
+ ifeq ($(threads),1)
+ LIBS += -lcma
+ endif
+
+endif
+
+# 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) -DHPUX_VERS=$(HPUX_VERS) $(THR_DEFS)