diff options
Diffstat (limited to 'ACE/include/makeinclude')
-rw-r--r-- | ACE/include/makeinclude/platform_hpux_aCC.GNU | 44 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_lynxos.GNU | 7 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_rtems.x_g++.GNU | 1 | ||||
-rw-r--r-- | ACE/include/makeinclude/rules.lib.GNU | 4 | ||||
-rw-r--r-- | ACE/include/makeinclude/rules.local.GNU | 82 | ||||
-rw-r--r-- | ACE/include/makeinclude/wrapper_macros.GNU | 13 |
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 |