diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon index 42c26a0a0..e0057e6c7 100644 --- a/configure/os/CONFIG.Common.vxWorksCommon +++ b/configure/os/CONFIG.Common.vxWorksCommon @@ -92,6 +92,7 @@ VX_GNU_VERSION_6.4 = 3.4.4 VX_GNU_VERSION_6.5 = 3.4.4 VX_GNU_VERSION_6.6 = 4.1.2 VX_GNU_VERSION_6.7 = 4.1.2 +VX_GNU_VERSION_6.8 = 4.1.2 VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_VERSION)) VX_GNU_MAJOR_VERSION = $(basename $(basename $(VX_GNU_VERSION))) @@ -123,13 +124,16 @@ GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION)) #-------------------------------------------------- -# Wind River moved nm out of GNU_DIR in some versions +# Wind River moved nm out of GNU_BIN in some versions WORKBENCH_BIN = $(WIND_BASE)/workbench-$(WORKBENCH_VERSION)/$(WIND_HOST_TYPE)/bin +UTILITIES_BIN = $(WIND_BASE)/utilities-$(UTILITIES_VERSION)/$(WIND_HOST_TYPE)/bin NM_DIR_6.4 = $(WORKBENCH_BIN) NM_DIR_6.5 = $(WORKBENCH_BIN) NM_DIR_6.6 = $(WORKBENCH_BIN) +NM_DIR_6.7 = $(GNU_BIN) +NM_DIR_6.8 = $(UTILITIES_BIN) NM_DIR = $(firstword $(NM_DIR_$(VXWORKS_VERSION)) $(GNU_BIN)) NM = $(NM_DIR)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE) @@ -155,12 +159,10 @@ export TOOL_FAMILY = GNU #-------------------------------------------------- # Operating system flags -BSD_DEFINE_VERSION_6.7 = -DBSD=44 -OP_BSD_DEFINE = $(BSD_DEFINE_VERSION_$(VXWORKS_VERSION)) -OP_SYS_CPPFLAGS += -DvxWorks $(OP_BSD_DEFINE) -OP_SYS_CFLAGS += -fno-builtin $(OP_BSD_DEFINE) +OP_SYS_CPPFLAGS += -DvxWorks +OP_SYS_CFLAGS += -fno-builtin -# Fix for vxWorks headers that use macros defined in vxWorks.h but +# Fix for vxWorks 5 headers that use macros defined in vxWorks.h but # which don't actually include vxWorks.h themselves, for example the # target/h/sys/stat.h file which uses ULONG OP_SYS_INCLUDE_CPPFLAGS_5 += -include $(VX_DIR)/target/h/vxWorks.h diff --git a/configure/os/CONFIG_SITE.Common.vxWorksCommon b/configure/os/CONFIG_SITE.Common.vxWorksCommon index 6f40858ae..3fdc22ef9 100644 --- a/configure/os/CONFIG_SITE.Common.vxWorksCommon +++ b/configure/os/CONFIG_SITE.Common.vxWorksCommon @@ -18,6 +18,8 @@ VXWORKS_VERSION = 5.5 #VXWORKS_VERSION = 6.4 #VXWORKS_VERSION = 6.5 #VXWORKS_VERSION = 6.6 +#VXWORKS_VERSION = 6.7 +#VXWORKS_VERSION = 6.8 # Sites may override the following path for a particular host @@ -37,3 +39,9 @@ WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS) #WORKBENCH_VERSION = 2.6 #WORKBENCH_VERSION = 3.0 +#WORKBENCH_VERSION = 3.2 + + +# Utilities Version number, required from vxWorks 6.8 and later + +#UTILITIES_VERSION = 1.0 diff --git a/src/libCom/osi/os/vxWorks/osdSock.c b/src/libCom/osi/os/vxWorks/osdSock.c index a21448f76..67adba5cd 100644 --- a/src/libCom/osi/os/vxWorks/osdSock.c +++ b/src/libCom/osi/os/vxWorks/osdSock.c @@ -15,6 +15,8 @@ #error this is a vxWorks specific source code #endif +/* This is needed for vxWorks 6.8 to prevent an obnoxious compiler warning */ +#define _VSB_CONFIG_FILE <../lib/h/config/vsbConfig.h> #include #include diff --git a/src/libCom/osi/os/vxWorks/osdSock.h b/src/libCom/osi/os/vxWorks/osdSock.h index 36e61a254..a8384ec79 100644 --- a/src/libCom/osi/os/vxWorks/osdSock.h +++ b/src/libCom/osi/os/vxWorks/osdSock.h @@ -26,6 +26,8 @@ extern "C" { #include #include #include +/* This is needed for vxWorks 6.8 to prevent an obnoxious compiler warning */ +#define _VSB_CONFIG_FILE <../lib/h/config/vsbConfig.h> #include #include #include @@ -89,7 +91,9 @@ typedef int osiSocklen_t; # define INADDR_NONE (0xffffffff) #endif -#if ( defined (BSD) && ( BSD >= 44 ) ) +#if defined(_SIZEOF_ADDR_IFREQ) +# define ifreq_size(pifreq) _SIZEOF_ADDR_IFREQ(*pifreq) +#elif ( defined (BSD) && ( BSD >= 44 ) ) # define ifreq_size(pifreq) (pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name)) #else # define ifreq_size(pifreq) sizeof(*pifreq)