77 lines
2.6 KiB
Plaintext
77 lines
2.6 KiB
Plaintext
# CONFIG_SITE.Common.vxWorksCommon
|
|
#
|
|
# Site specific definitions for vxWorks target builds.
|
|
|
|
#### Fixes for CONFIG.Common.vxWorksCommon #######
|
|
|
|
# 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)))
|
|
|
|
# gcc version before 3.4 are "old" and need special treatment
|
|
VX_OLD_GCC_2 = OLD
|
|
VX_OLD_GCC_3.3 = OLD
|
|
VX_OLD_GCC_3 = $(VX_OLD_GCC_3.$(VX_GNU_MINOR_VERSION))
|
|
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 = $(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
|
|
GNU_TARGET_INCLUDE_DIR = $(VX_INCLUDE_DIRS_$(VXWORKS_MAJOR_VERSION))
|
|
TARGET_CPPFLAGS = -isystem $(VX_DIR)/target/h
|
|
|
|
# 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 = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
# Operating system flags
|
|
OP_SYS_CFLAGS += -fno-strict-aliasing
|
|
|
|
# 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.
|
|
# Maybe we can live without it at the penalty of larger code.
|
|
# See vxWorks 5 docs/gnu2.96+ppc/gcc.html
|
|
# chapter 4.5 "Where's the Template?"
|
|
CODE_CXXFLAGS_OLD = -fno-implicit-templates
|
|
CODE_CXXFLAGS = $(CODE_CXXFLAGS_$(VX_OLD_GCC))
|
|
|
|
#--------------------------------------------------
|
|
# Modules we cannot build with old compiler
|
|
|
|
PV_MODULES = pv% normativeTypes
|
|
SKIP_BUILDS_5 = $(PV_MODULES)
|
|
SKIP_BUILDS_OLD = $(PV_MODULES)
|
|
SKIP_BUILDS_6 = $(SKIP_BUILDS_$(VX_OLD_GCC))
|
|
SKIP_BUILDS = $(SKIP_BUILDS_$(VXWORKS_MAJOR_VERSION))
|
|
|
|
#############
|
|
|
|
# Compiler options can vary with the vxWorks version number, so we
|
|
# need to know that. Do not include any third-level digits.
|
|
|
|
# Note: vxWorks 5.4.x and 5.5.x (Tornado 2.x) are not supported.
|
|
# VxWorks 6.0 through 6.5 use older, untested versions of GCC.
|
|
|
|
#VXWORKS_VERSION = 6.6
|
|
#VXWORKS_VERSION = 6.7
|
|
#VXWORKS_VERSION = 6.8
|
|
VXWORKS_VERSION = 6.9
|
|
|
|
|
|
# Sites may override the following path for a particular host
|
|
# architecture by adding it to an appropriate
|
|
# CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon file.
|
|
|
|
# WIND_BASE is where you installed the Wind River software.
|
|
WIND_BASE = /afs/psi.ch/project/vxworks/VxWorks$(VXWORKS_VERSION)
|