summaryrefslogtreecommitdiff
path: root/ACE/include/makeinclude
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/include/makeinclude')
-rw-r--r--ACE/include/makeinclude/platform_hpux_aCC.GNU44
-rw-r--r--ACE/include/makeinclude/platform_lynxos.GNU7
-rw-r--r--ACE/include/makeinclude/platform_rtems.x_g++.GNU1
-rw-r--r--ACE/include/makeinclude/rules.lib.GNU4
-rw-r--r--ACE/include/makeinclude/rules.local.GNU82
-rw-r--r--ACE/include/makeinclude/wrapper_macros.GNU13
6 files changed, 93 insertions, 58 deletions
diff --git a/ACE/include/makeinclude/platform_hpux_aCC.GNU b/ACE/include/makeinclude/platform_hpux_aCC.GNU
index 83dce0bb58a..a32d995bd36 100644
--- a/ACE/include/makeinclude/platform_hpux_aCC.GNU
+++ b/ACE/include/makeinclude/platform_hpux_aCC.GNU
@@ -135,6 +135,14 @@ ifneq ($(exceptions),1)
CCFLAGS += +noeh
endif
+# Additionally, on HP-UX 10.20, suppress 495 to shut up the warnings from
+# the system header files. 667 is also suppressed, but the compiler still
+# tells you there was a future error, but at least you can pick out any real
+# errors by quickly scanning the output. 829 is suppressed because the
+# system headers have offending string literals assigned to char *.
+ifeq ($(word 2,$(HPVERS_WORDS)), 10)
+CCFLAGS += +W495,667,829,908
+endif
DCCFLAGS += -g
DLD = $(CXX) $(CCFLAGS)
LD = $(CXX)
@@ -150,6 +158,9 @@ SOFLAGS += -b
ifeq ($(distrib),1)
+ifeq ($(word 2,$(HPVERS_WORDS)), 10)
+SOFLAGS += -Wl,-x -Wl,+h/usr/lib/$(@F)
+else
ifeq ($(buildbits),32)
SOFLAGS += -Wl,-x -Wl,+h$(@F) -Wl,+b/usr/lib
endif
@@ -160,6 +171,7 @@ ifeq ($(buildbits),64)
SOFLAGS += -Wl,-x -Wl,+h$(@F) -Wl,+b/usr/lib/pa20_64
endif
endif
+endif
endif
@@ -202,13 +214,29 @@ else
endif
endif
-#11.x:
-ifeq ($(threads),1)
- # If -mt is in CCFLAGS, we don't need to add anything to LIBS; -mt does it.
- ifeq ($(findstring -mt,$(CCFLAGS)),)
- ## -L./ must directly preceed the system libraries for 64-bit builds
- ## with aCC 3.27. Without this change, libpthread.sl can not be found.
- LIBS += -L./ -lpthread
+#
+# 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)
+ # If -mt is in CCFLAGS, we don't need to add anything to LIBS; -mt does it.
+ ifeq ($(findstring -mt,$(CCFLAGS)),)
+ ## -L./ must directly preceed the system libraries for 64-bit builds
+ ## with aCC 3.27. Without this change, libpthread.sl can not be found.
+ LIBS += -L./ -lpthread
+ endif
+ endif
+ LIBS += -lxti -lrt -ldld
+
+else
+
+ # 10.x:
+ LIBS += -lxti -ldld
+ ifeq ($(threads),1)
+ LIBS += -lcma
endif
+
endif
-LIBS += -lxti -lrt -ldld
diff --git a/ACE/include/makeinclude/platform_lynxos.GNU b/ACE/include/makeinclude/platform_lynxos.GNU
index 47ac90b5f32..4e8ca06a59f 100644
--- a/ACE/include/makeinclude/platform_lynxos.GNU
+++ b/ACE/include/makeinclude/platform_lynxos.GNU
@@ -1,7 +1,7 @@
# $Id$
#
-# LynxOS with g++. Defaults to LynxOS Version 4.0.0. For Version 4.2.0,
-# for example, add "VERSION=4.2.0" to your make invocation.
+# LynxOS with g++. Defaults to LynxOS Version 4.0.0. For Version 3.1.0,
+# for example, add "VERSION=3.1.0" to your make invocation.
#### NOTE: It's best to create a file that includes this one, instead
#### of symlinking it. That way, you can easily override the default
@@ -109,6 +109,7 @@ endif
ifeq ($(shared_libs),1)
CFLAGS += -mshared -DACE_HAS_SVR4_DYNAMIC_LINKING
+ CFLAGS += -DACE_HAS_BROKEN_THREAD_KEYFREE
SOFLAGS += -mshared -DACE_HAS_SVR4_DYNAMIC_LINKING
LIBS += -ldl
else
@@ -132,7 +133,7 @@ SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \
$(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o
PRELIB = @true
-# Test for template instantiation, add to SOFLAGS if SONAME set,
+# Test for template instantiation, add to SOFLAGS if SONAME set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
diff --git a/ACE/include/makeinclude/platform_rtems.x_g++.GNU b/ACE/include/makeinclude/platform_rtems.x_g++.GNU
index ecbfab3947b..0110c5805a3 100644
--- a/ACE/include/makeinclude/platform_rtems.x_g++.GNU
+++ b/ACE/include/makeinclude/platform_rtems.x_g++.GNU
@@ -12,7 +12,6 @@ threads ?= 1
shared_libs =
static_libs = 1
-rwho = 0
ifeq (,$(RTEMS_MAKEFILE_PATH))
default:
diff --git a/ACE/include/makeinclude/rules.lib.GNU b/ACE/include/makeinclude/rules.lib.GNU
index 2b0ded6127f..766e8921373 100644
--- a/ACE/include/makeinclude/rules.lib.GNU
+++ b/ACE/include/makeinclude/rules.lib.GNU
@@ -79,12 +79,12 @@ else # VLIBS
endif # IDL_SRC
endif # !VLIBS
-VLOBJS = $(addprefix $(VDIR),$(foreach var, $(addsuffix .$(OBJEXT), $(basename $(LSRC)) $(RESOURCES)), $(patsubst ../%,$(notdir $(var)),$(var))))
+VLOBJS = $(addprefix $(VDIR),$(foreach var, $(addsuffix .$(OBJEXT), $(basename $(LSRC)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var))))
ifdef LSRC2
LSRC += $(LSRC2)
endif
-VSHOBJS = $(addprefix $(VSHDIR),$(foreach var, $(addsuffix .$(OBJEXT), $(basename $(LSRC)) $(RESOURCES)), $(patsubst ../%,$(notdir $(var)),$(var))))
+VSHOBJS = $(addprefix $(VSHDIR),$(foreach var, $(addsuffix .$(OBJEXT), $(basename $(LSRC)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var))))
ifneq ($(IDL_SRC),)
$(VLOBJS) $(VSHOBJS): $(IDL_SRC)
diff --git a/ACE/include/makeinclude/rules.local.GNU b/ACE/include/makeinclude/rules.local.GNU
index e1c8bfea36f..71e37f61733 100644
--- a/ACE/include/makeinclude/rules.local.GNU
+++ b/ACE/include/makeinclude/rules.local.GNU
@@ -90,46 +90,28 @@ endif # static_link = 1
OS ?=
-# Define a canned command set to create the output object directory if needed.
-ifeq ($(vxworks_ntbuild),1)
-define mk_obj_out_dir
-@if not exist $(dir $@) $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
-@echo > $(dir $@).creation_stamp
-endef
-else
-define mk_obj_out_dir
-@-test -d $(dir $@) || $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
-endef
-endif
-
-$(VDIR)%.o: %.c
- $(mk_obj_out_dir)
+$(VDIR)%.o: %.c $(VDIR)%.creation_stamp
$(COMPILE.c) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
-$(VDIR)%.o: %.cpp
- $(mk_obj_out_dir)
+$(VDIR)%.o: %.cpp $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
-$(VDIR)%.o: %.C
- $(mk_obj_out_dir)
+$(VDIR)%.o: %.C $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
-$(VDIR)%.o: %.cc
- $(mk_obj_out_dir)
+$(VDIR)%.o: %.cc $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
-$(VDIR)%.o: %.cxx
- $(mk_obj_out_dir)
+$(VDIR)%.o: %.cxx $(VDIR)%.creation_stamp
$(COMPILE.cc) $(CC_OUTPUT_FLAG) $@ $<
${MVCMD}
ifneq (,$(COMPILE.rc))
-$(VDIR)%.rc.o: %.rc
- $(mk_obj_out_dir)
+$(VDIR)%.rc.o: %.rc $(VDIR)%.creation_stamp
$(COMPILE.rc) $< $@
${MVCMD}
endif # COMPILE.rc
@@ -144,55 +126,67 @@ ifndef SOLINK
# that the service configurator needs to be able to function).
# 970104 Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
ifdef (ESOBUILD)
-$(VSHDIR)%.$(SOEXT): %.cpp
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(SOEXT): %.cpp $(VSHDIR)%.creation_stamp
$(ESOBUILD)
else # ! ESOBUILD
-$(VSHDIR)%.$(SOEXT): %.cpp
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(SOEXT): %.cpp $(VSHDIR)%.creation_stamp
$(SOBUILD)
endif # ESOBUILD
ifeq ($(split), 1)
-$(VSHDIR)%.$(OBJEXT): %.cpp
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.cpp $(VSHDIR)%.creation_stamp
$(COMPILE.cc) $(PIC) SPLIT/`echo $< | sed "s/.cpp/_S\*/"`
mv *.$(OBJEXT) $(VSHDIR)
else # ! split
-$(VSHDIR)%.$(OBJEXT): %.cpp
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.cpp $(VSHDIR)%.creation_stamp
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG) $@ $<
endif # split
-$(VSHDIR)%.$(OBJEXT): %.cc
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.cc $(VSHDIR)%.creation_stamp
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG) $@ $<
-$(VSHDIR)%.$(OBJEXT): %.C
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.C $(VSHDIR)%.creation_stamp
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG) $@ $<
-$(VSHDIR)%.$(OBJEXT): %.cxx
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.cxx $(VSHDIR)%.creation_stamp
$(COMPILE.cc) $(PIC) $(CC_OUTPUT_FLAG) $@ $<
-$(VSHDIR)%.$(OBJEXT): %.c
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(OBJEXT): %.c $(VSHDIR)%.creation_stamp
$(COMPILE.c) $(PIC) $(CC_OUTPUT_FLAG) $@ $<
ifneq (,$(COMPILE.rc))
-$(VSHDIR)%.rc.$(OBJEXT): %.rc
- $(mk_obj_out_dir)
+$(VSHDIR)%.rc.$(OBJEXT): %.rc $(VSHDIR)%.creation_stamp
$(COMPILE.rc) $< $@
endif # COMPILE.rc
-$(VSHDIR)%.$(SOEXT): $(VSHDIR)%.$(OBJEXT)
- $(mk_obj_out_dir)
+$(VSHDIR)%.$(SOEXT): $(VSHDIR)%.$(OBJEXT) $(VSHDIR)%.creation_stamp
$(SOLINK)
endif # SOLINK
+ifeq ($(vxworks_ntbuild),1)
+$(VDIR)%.creation_stamp:
+ @if not exist $(dir $@) $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
+ @echo > $@
+else
+.PHONY: $(VDIR)%.creation_stamp
+$(VDIR)%.creation_stamp:
+ @-test -d $(dir $@) || $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
+endif
+
+ifneq ($(VDIR),$(VSHDIR))
+ ifeq ($(vxworks_ntbuild),1)
+$(VSHDIR)%.creation_stamp:
+ @if not exist $(dir $@) $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
+ @echo > $@
+ else
+.PHONY: $(VSHDIR)%.creation_stamp
+$(VSHDIR)%.creation_stamp:
+ @-test -d $(dir $@) || $(MKDIR) $(dir $@) $(ACE_NUL_STDERR)
+ endif
+endif
+
#----------------------------------------------------------------------------
# Library generation targets
#----------------------------------------------------------------------------
diff --git a/ACE/include/makeinclude/wrapper_macros.GNU b/ACE/include/makeinclude/wrapper_macros.GNU
index da3d833a1cd..77b1aed4442 100644
--- a/ACE/include/makeinclude/wrapper_macros.GNU
+++ b/ACE/include/makeinclude/wrapper_macros.GNU
@@ -589,12 +589,14 @@ endif
ec_typed_events ?= 1
ifeq ($(exceptions),0)
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),0)
#### Disable the default exception handling of g++ >= 2.8.0.
ifneq ($(ACE_GNUG_ON_UNIXWARE),)
CCFLAGS += -fcheck-new
else
CCFLAGS += -fno-exceptions -fcheck-new
endif # ! ACE_GNUG_ON_UNIXWARE
+ endif # ! ACE_HAS_GNUG_PRE_2_8
else # exceptions
CPPFLAGS += -DACE_HAS_EXCEPTIONS
ifndef include_env
@@ -603,6 +605,17 @@ else # exceptions
ifeq ($(include_env),1)
CPPFLAGS += -DACE_ENV_BKWD_COMPAT
endif
+ ifeq ($(ACE_HAS_GNUG_PRE_2_8),1)
+ #### Enable exception handling with g++ < 2.8.0. Not recommended,
+ #### but provided here for completeness.
+ CCFLAGS += -fhandle-exceptions
+# else # ! ACE_HAS_GNUG_PRE_2_8
+# ifeq ($(ACE_HAS_GNUG_PRE_2_8),0)
+# #### Disable this warning on g++ >= 2.8.0 if exceptions are enabled,
+# #### it gets confused and reports too many bogus warnings.
+# CCFLAGS += -Wno-uninitialized
+# endif # g++ > 2.8.0
+ endif # ! ACE_HAS_GNUG_PRE_2_8
ACE_MAKE_OPTIONS += exceptions
endif # exceptions