diff --git a/configure/os/CONFIG.Common.V69-ppc32 b/configure/os/CONFIG.Common.V69-ppc32 new file mode 100644 index 000000000..07f984dab --- /dev/null +++ b/configure/os/CONFIG.Common.V69-ppc32 @@ -0,0 +1,3 @@ +include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc32 +VXWORKS_VERSION = 6.9 +export LD_LIBRARY_PATH=$(WIND_BASE)/lmapi-5.0/$(WIND_HOST_TYPE)/lib diff --git a/configure/os/CONFIG.Common.V69-ppc604 b/configure/os/CONFIG.Common.V69-ppc604 new file mode 100644 index 000000000..6ca620ccf --- /dev/null +++ b/configure/os/CONFIG.Common.V69-ppc604 @@ -0,0 +1,3 @@ +include $(CONFIG)/os/CONFIG.Common.vxWorks-ppc604_long +VXWORKS_VERSION = 6.9 +export LD_LIBRARY_PATH=$(WIND_BASE)/lmapi-5.0/$(WIND_HOST_TYPE)/lib diff --git a/configure/os/CONFIG.Common.vxWorks-ppc32 b/configure/os/CONFIG.Common.vxWorks-ppc32 index 4e208b59b..0aee67f74 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc32 +++ b/configure/os/CONFIG.Common.vxWorks-ppc32 @@ -14,6 +14,7 @@ ARCH_CLASS = ppc # Architecture specific build flags ARCH_DEP_CPPFLAGS = -DCPU=PPC32 +ARCH_DEP_CPPFLAGS = -DCPU=PPC604 ARCH_DEP_CFLAGS = -mstrict-align GNU_TARGET = powerpc-wrs-vxworks diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604 b/configure/os/CONFIG.Common.vxWorks-ppc604 index 45115a876..9c26c643f 100644 --- a/configure/os/CONFIG.Common.vxWorks-ppc604 +++ b/configure/os/CONFIG.Common.vxWorks-ppc604 @@ -14,9 +14,12 @@ ARCH_CLASS = ppc # Architecture specific build flags ARCH_DEP_CPPFLAGS = -DCPU=PPC604 -ARCH_DEP_CFLAGS_2 = -mcpu=604 -mstrict-align -mno-implicit-fp -ARCH_DEP_CFLAGS_3 = -mcpu=604 -mstrict-align -mno-implicit-fp -ARCH_DEP_CFLAGS_4 = -mcpu=604 -mstrict-align -fno-implicit-fp -ARCH_DEP_CFLAGS = $(ARCH_DEP_CFLAGS_$(VX_GNU_MAJOR_VERSION)) +ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align + +CODE_CFLAGS_2 = -mno-implicit-fp +CODE_CFLAGS_3 = -mno-implicit-fp +CODE_CFLAGS_4 = -fno-implicit-fp +CODE_CFLAGS += $(CODE_CFLAGS_$(VX_GNU_MAJOR_VERSION)) + GNU_TARGET = powerpc-wrs-vxworks diff --git a/configure/os/CONFIG_SITE.Common.vxWorksCommon b/configure/os/CONFIG_SITE.Common.vxWorksCommon index a5fb384cf..9112669e1 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorksCommon +++ b/configure/os/CONFIG_SITE.Common.vxWorksCommon @@ -4,12 +4,16 @@ #### Fixes for CONFIG.Common.vxWorksCommon ####### +VX_GNU_VERSION_7 = 4.8.1.11 + + # These are needed for vxWorks 6.x; the GNU toolset version number # is in the path to the compiler tools: VX_GNU_VERSION_5 = 2.96 VX_GNU_VERSION_6 = $(VX_GNU_VERSION_$(VXWORKS_VERSION)) VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_MAJOR_VERSION)) -VX_GNU_MINOR_VERSION = $(basename $(patsubst $(VX_GNU_MAJOR_VERSION).%,%,$(VX_GNU_VERSION))) +VX_GNU_MAJOR_VERSION = $(firstword $(subst ., ,$(VX_GNU_VERSION))) +VX_GNU_MINOR_VERSION = $(word 2,$(subst ., ,$(VX_GNU_VERSION))) # gcc version before 3.4 are "old" and need special treatment VX_OLD_GCC_2 = OLD @@ -20,22 +24,41 @@ VX_OLD_GCC = $(VX_OLD_GCC_$(VX_GNU_MAJOR_VERSION)) # vxWorks directory definitions VX_DIR_5 = $(WIND_BASE) VX_DIR_6 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION) +VX_DIR_7 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/pkgs/os VX_DIR = $(VX_DIR_$(VXWORKS_MAJOR_VERSION)) -VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h -VX_INCLUDE_DIRS_6 = $(VX_DIR)/target/h $(VX_DIR)/target/h/wrn/coreip +VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h +VX_INCLUDE_DIRS_6 = $(VX_DIR)/target/h +VX_INCLUDE_DIRS_6 += $(VX_DIR)/target/h/wrn/coreip +VX_INCLUDE_DIRS_7 = $(VX_DIR)/core/kernel-1.2.8.0/h +VX_INCLUDE_DIRS_7 += $(VX_DIR)/lang-lib/libc-1.0.0.1/libc-kernel-1.0.8.0/h +VX_INCLUDE_DIRS_7 += $(VX_DIR)/utils/ostools-1.0.5.0/h +VX_INCLUDE_DIRS_7 += $(VX_DIR)/utils/ostools-1.0.5.0/shareh +VX_INCLUDE_DIRS_7 += $(VX_DIR)/arch/ppc-1.3.4.0/kernel/base/h/ +VX_INCLUDE_DIRS_7 += $(VX_DIR)/arch/ppc-1.3.4.0/kernel/60x/h/arch/ppc/ +VX_INCLUDE_DIRS_7 += $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/samples/prebuilt_projects/vsb_vxsim_linux/krnl/h/public GNU_TARGET_INCLUDE_DIR = $(VX_INCLUDE_DIRS_$(VXWORKS_MAJOR_VERSION)) -TARGET_CPPFLAGS = -isystem $(VX_DIR)/target/h + +TARGET_CPPFLAGS_5 = -isystem $(VX_DIR)/target/h +TARGET_CPPFLAGS_6 = -isystem $(VX_DIR)/target/h +TARGET_CPPFLAGS_7 = -isystem $(VX_DIR)/core/kernel-1.2.8.0/h -D_VSB_CONFIG_FILE='<$(WIND_BASE)/vxworks-$(VXWORKS_VERSION)/samples/prebuilt_projects/vsb_vxsim_linux/h/config/vsbConfig.h>' +TARGET_CPPFLAGS = $(TARGET_CPPFLAGS_$(VXWORKS_MAJOR_VERSION)) # vxWorks GNU directories GNU_DIR_5 = $(WIND_BASE)/host/$(WIND_HOST_TYPE) GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE) +GNU_DIR_7 = $(WIND_BASE)/compilers/gnu-$(VX_GNU_VERSION)/$(WIND_HOST_TYPE) GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION)) # Operating system flags OP_SYS_CFLAGS += -fno-strict-aliasing +OP_SYS_INCLUDE_CPPFLAGS_5 += -include $(VX_DIR)/target/h/vxWorks.h +OP_SYS_INCLUDE_CPPFLAGS_6 += -include $(VX_DIR)/target/h/vxWorks.h +OP_SYS_INCLUDE_CPPFLAGS_7 += -include vxWorks.h +OP_SYS_INCLUDE_CPPFLAGS = $(OP_SYS_INCLUDE_CPPFLAGS_$(VXWORKS_MAJOR_VERSION)) + # For gcc versions before 3.4 we need this g++ compiler flag # However WindRiver says gcc 3.3 does not need it any more # which would allow to build vxWorks 6 without this flag. diff --git a/configure/os/CONFIG_SITE.linux-x86.Common b/configure/os/CONFIG_SITE.linux-x86.Common index b7faf6ac6..2f70b24b5 100644 --- a/configure/os/CONFIG_SITE.linux-x86.Common +++ b/configure/os/CONFIG_SITE.linux-x86.Common @@ -12,6 +12,10 @@ CROSS_COMPILER_TARGET_ARCHS += T2-ppc604 # vxWorks 6.7 for MVxxxx boards CROSS_COMPILER_TARGET_ARCHS += V67-ppc604 +# vxWorks 6.9 for MVxxxx boards +CROSS_COMPILER_TARGET_ARCHS += V69-ppc604 +CROSS_COMPILER_TARGET_ARCHS += V69-ppc32 + # NI compact RIO CROSS_COMPILER_TARGET_ARCHS += V63-ppc603