summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2015-06-12 12:48:23 -0500
committerAdam Mitz <mitza@ociweb.com>2015-06-12 12:48:23 -0500
commit20cf91a8349ef44cba4b01d31d2bea07b2204ec7 (patch)
treebc1779782045a3437f7ea83b7b3a1766cda60195
parent9347add1c3faf5773eec2373b58e7e2569472254 (diff)
downloadATCD-20cf91a8349ef44cba4b01d31d2bea07b2204ec7.tar.gz
Added support for VxWorks 7 kernel mode.
-rw-r--r--ACE/ace/CDR_Base.cpp2
-rw-r--r--ACE/ace/config-vxworks7.0.h4
-rw-r--r--ACE/include/makeinclude/platform_vxworks7.0.GNU27
3 files changed, 28 insertions, 5 deletions
diff --git a/ACE/ace/CDR_Base.cpp b/ACE/ace/CDR_Base.cpp
index bef9c40e67f..92702361a7a 100644
--- a/ACE/ace/CDR_Base.cpp
+++ b/ACE/ace/CDR_Base.cpp
@@ -843,7 +843,7 @@ ACE_CDR::Fixed ACE_CDR::Fixed::from_integer (ACE_CDR::ULongLong val)
ACE_CDR::Fixed ACE_CDR::Fixed::from_floating (LongDouble val)
{
-#ifdef ACE_OPENVMS
+#if defined ACE_OPENVMS || (defined ACE_VXWORKS && !defined __RTP__)
typedef double BigFloat;
#elif defined NONNATIVE_LONGDOUBLE
typedef LongDouble::NativeImpl BigFloat;
diff --git a/ACE/ace/config-vxworks7.0.h b/ACE/ace/config-vxworks7.0.h
index 11057aaff24..6456bed2ff8 100644
--- a/ACE/ace/config-vxworks7.0.h
+++ b/ACE/ace/config-vxworks7.0.h
@@ -14,6 +14,10 @@
#include "ace/config-vxworks6.9.h"
+#ifndef ACE_LACKS_REGEX_H
+# define ACE_LACKS_REGEX_H
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_VXWORKS_7_0_H */
diff --git a/ACE/include/makeinclude/platform_vxworks7.0.GNU b/ACE/include/makeinclude/platform_vxworks7.0.GNU
index 57bb39430d0..b84d6dc3bd5 100644
--- a/ACE/include/makeinclude/platform_vxworks7.0.GNU
+++ b/ACE/include/makeinclude/platform_vxworks7.0.GNU
@@ -25,8 +25,8 @@
# hosts: linux
# targets: itl_x86
# toolchains: gnu4.3
-# rtp settings: 1
-# libraries: shared
+# rtp settings: 1, 0
+# libraries: shared, static
VXWORKS = 1
CROSS-COMPILE = 1
@@ -85,6 +85,24 @@ ifeq ($(pthread),1)
CPPFLAGS += -DACE_HAS_PTHREADS
endif
+ifeq ($(rtp),0)
+ VSHDIR = $(VDIR)
+
+ ifneq ($(shared_libs_only),1)
+ DKM_LIBS = $(if $(findstring 1,$(static_libs)$(static_libs_only)),$(LDLIBS))
+ endif
+
+ define LINK.cc.override
+$(LD) -r -nostdlib -Wl,-X $(LDFLAGS) -o $(VDIR)$(basename $@)_partial.o $(filter %.o,$^) $(DKM_LIBS)
+ $(NM) $(VDIR)$(basename $@)_partial.o | $(MUNCH) > $(VDIR)$(basename $@)_ctdt.c
+ $(COMPILE.cc) -o $(VDIR)$(basename $@)_ctdt.o $(VDIR)$(basename $@)_ctdt.c
+ $(LD) -r -nostdlib -Wl,-X $(LD_SCRIPT_DOWNLOAD) -o $@ $(VDIR)$(basename $@)_ctdt.o $(VDIR)$(basename $@)_partial.o
+ endef
+
+ SOLINK.cc.override = $(LINK.cc.override)
+ CLEANUP_OBJS += $(foreach x,_ctdt.c _ctdt.o _partial.o,$(addsuffix $(x),$(VDIR)$(basename $(if $(LIB_NAME),$(VLIB),$(VBIN)))))
+endif
+
ace_vx_mk_dir = $(if $(findstring 1,$(rtp)),$(WIND_USR_MK),$(WIND_KRNL_MK))
include $(ace_vx_mk_dir)/defs.library.mk
@@ -103,8 +121,8 @@ endif
DCFLAGS += -g
DCCFLAGS += -g
-LD = $(CPLUS)
-DLD = $(CPLUS)
+LD = $(CXX)
+DLD = $(LD)
EXEEXT = $(if $(findstring 1,$(rtp)),.vxe,.out)
@@ -117,3 +135,4 @@ LDFLAGS += -L$(VSB_DIR)/usr/lib/common$(if $(filter library,$(PRJ_TYPE)),/PIC)
LIBS += -lstdc++
LDFLAGS += $(if $(filter 1,$(shared_libs)),$(if $(filter 1,$(static_libs_only)),,$(LD_OPTION_DYNAMIC)))
+