Changed configuration for vxWorks 6.x; now uses the same files as vx 5.x.

Removed the vxWorks6-mvXXXX targets, use vxWorks-ppc604_long or similar.
This commit is contained in:
Andrew Johnson
2006-11-13 20:31:07 +00:00
parent e66768314f
commit 4ca2bc86e5
10 changed files with 61 additions and 285 deletions

View File

@@ -1,28 +0,0 @@
# CONFIG.Common.vxWorks6-mv2100
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for WRS vxWorks version 6.0 mv2100 target
# target archs with at least 32MB
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6-mv2100
#-------------------------------------------------------
# Include definitions common to all vxWorks version 6.0 targets
include $(CONFIG)/os/CONFIG.Common.vxWorks6Common
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC603
ARCH_DEP_CFLAGS = -mcpu=603 -mstrict-align -mlongcall
#CONFORM_CFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
#CONFORM_CFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
#CONFORM_CXXFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
#CONFORM_CXXFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
#CODE_CXXFLAGS = -DOVERRIDE_fno_implicit_templates

View File

@@ -1,28 +0,0 @@
# CONFIG.Common.vxWorks6-mv5100
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for WRS vxWorks version 6.0 mv5100 target
# target archs with at least 32MB
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6-mv5100
#-------------------------------------------------------
# Include definitions common to all vxWorks version 6.0 target archs
include $(CONFIG)/os/CONFIG.Common.vxWorks6Common
# Vx GNU cross compiler suffix
CMPLR_SUFFIX = ppc
ARCH_CLASS = ppc
# Architecture specific build flags
ARCH_DEP_CPPFLAGS = -DCPU=PPC604
ARCH_DEP_CFLAGS = -mcpu=604 -mstrict-align -mlongcall
#CONFORM_CFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
#CONFORM_CFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
#CONFORM_CXXFLAGS_NORMAL = -DCONFORM_NORMAL_no_ansi_no_pedantic
#CONFORM_CXXFLAGS_STRICT = -DCONFORM_STRICT_no_ansi_no_pedantic
#CODE_CXXFLAGS = -DOVERRIDE_fno_implicit_templates

View File

@@ -1,155 +0,0 @@
# CONFIG.Common.vxWorks6Common
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks version 6.0 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks6Common
# or CONFIG_SITE.<host>.vxWorks6Common
#-------------------------------------------------------
# Vx valid build types
VALID_BUILDS = Ioc
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = vxWorks
#-------------------------------------------------------
# Prefix and suffix definitions
EXE =
OBJ = .o
LIB_PREFIX =lib
LIB_SUFFIX = .a
MUNCH_SUFFIX = .munch
#-------------------------------------------------------
# Compiler definitions
CMPLR_PREFIX=
CC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
CCC = $(GNU_BIN)/$(CMPLR_PREFIX)cc$(CMPLR_SUFFIX)
#-------------------------------------------------------
# Library definitions
LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
#--------------------------------------------------
# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions
PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \
$(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \
$($(lib)_DIR) $(SHRLIB_SEARCH_DIRS))) \
$(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \
$(firstword $($(lib)_DIR) $(INSTALL_LIB)))))
PROD_LDLIBS = $(addprefix -l,$($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\
$($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS))
PROD_DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS))
PRODDIR_LDFLAGS += $(sort $(PROD_DEPLIB_DIRS:%=-L%))
#-------------------------------------------------------
# Prod definitions
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
CTDT_SRCS = $(PRODNAME:%$(EXE)=%_ctdt.c)
CTDT_OBJS = $(PRODNAME:%$(EXE)=%_ctdt$(OBJ))
NMS = $(PRODNAME:%$(EXE)=%.nm)
MUNCH_DEPENDS = %_ctdt$(OBJ)
#-------------------------------------------------------
# R3.13 compatability object library definitions
# Does not allow $*_SRCS or $*_OBJS. Allows only OBJLIB_SRCS and OBJLIB_OBJS.
OBJLIB += $(OBJLIB_$(OS_CLASS))
OBJLIB_SUFFIX = Library.o
OBJLIBNAME = $(addsuffix $(OBJLIB_SUFFIX),$(basename $(OBJLIB)))
OBJLIB_LD_OBJS += $(addsuffix $(OBJ),$(basename $(OBJLIB_SRCS) $(OBJLIB_OBJS)))
PRODTARGETS += $(OBJLIBNAME)
INSTALL_PROD += $(OBJLIBNAME:%=$(INSTALL_BIN)/%)
OBJLIB_MUNCHNAME += $(OBJLIBNAME:%$(OBJ)=%$(MUNCH_SUFFIX))
INSTALL_MUNCHS += $(OBJLIB_MUNCHNAME:%=$(INSTALL_BIN)/%)
PRODTARGETS += $(OBJLIB_MUNCHNAME)
CTDT_SRCS += $(OBJLIBNAME:%$(OBJ)=%_ctdt.c)
CTDT_OBJS += $(OBJLIBNAME:%$(OBJ)=%_ctdt$(OBJ))
NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
SRC_FILES += $(OBJLIB_SRCS)
#---------------------------------------------------------------------
# vxWorks directory definitions (new for vxWorks 6.0)
# WindRiver Workbench directory definitions
GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/vxworks-6.0/target/h
GNU_TARGET_INCLUDE_DIR += $(VX_DIR)/vxworks-6.0/target/h/wrn/coreip
GNU_DIR = $(VX_DIR)/gnu/3.3.2-vxworks60/x86-linux2
#--------------------------------------------------
# C++ host processing
NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE)
#--------------------------------------------------
# The follow 2 exports prevent gnu cross-compiler
# from finding wrong assembler (as).
export WIND_BASE = $(VX_DIR)
export WIND_HOST_TYPE
#--------------------------------------------------
# Tornado2.2 and WindRiver Workbench
# The follow export allows vxWorks.h to include gnu header files
export TOOL_FAMILY = GNU
#--------------------------------------------------
# Operating system flags
OP_SYS_CPPFLAGS += -DvxWorks
OP_SYS_CFLAGS += -fno-builtin
#OP_SYS_CFLAGS += -fno-builtin -fdollars-in-identifiers
OP_SYS_LDFLAGS +=
# Fix for vxWorks headers using macros defined in
# vxWorks.h but not including vxWorks.h
# New for WindRiver Workbench and vxWorks 6.0
OP_SYS_INCLUDE_CPPFLAGS += -include $(VX_DIR)/vxworks-6.0/target/h/vxWorks.h
#--------------------------------------------------
# code flags
CODE_CFLAGS =
#
# WRS still uses an old gnu compiler with a broken -frepo and
# otherwise no automatic template instantiation mechanism as
# is the defacto standard approach today. If we remove this
# flag certain ppc targets will not build.
CODE_CXXFLAGS = -fno-implicit-templates
#--------------------------------------------------
# posix c preprocessor flags
POSIX_CPPFLAGS = -D_POSIX_SOURCE
#--------------------------------------------------
# no shared libs for vxWorks
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
#--------------------------------------------------
# osithead use default stack, YES or NO override
OSITHREAD_USE_DEFAULT_STACK = NO
#--------------------------------------------------
# Link definitions
LINK.cpp = $(LD) -o $@ $(STATIC_LDFLAGS) $(PRODDIR_LDFLAGS) $(LDFLAGS)
LINK.cpp += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(PROD_LDLIBS)
#--------------------------------------------------
# Definitions for compile of *_ctdt.c file
CFLAGS_ctdt = $(filter-out -pedantic,$(CFLAGS)) -fdollars-in-identifiers
COMPILE.ctdt = $(CC) -c $(CPPFLAGS) $(CFLAGS_ctdt) $(call PATH_FILTER,$(INCLUDES)) $(SOURCE_FLAG)
#--------------------------------------------------
# C preprocessor command
VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@
#--------------------------------------------------
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks6Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorks6Common

View File

@@ -75,11 +75,35 @@ NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
SRC_FILES += $(OBJLIB_SRCS)
#--------------------------------------------------
# vxWorks version numbers
VXWORKS_MAJOR_VERSION = $(basename $(basename $(VXWORKS_VERSION)))
# These are needed for vxWorks 6.x; the GNU toolset version number
# is in the path to the compiler tools:
VX_GNU_VERSION_6.0 = 3.3.2
VX_GNU_VERSION_6.1 = 3.3.2
VX_GNU_VERSION_6.2 = 3.3.2
VX_GNU_VERSION_6.3 = 3.4.4
VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_VERSION))
#--------------------------------------------------
# vxWorks directory definitions
# Tornado directory definitions
GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/target/h
GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE)
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))
#--------------------------------------------------
# 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))
#--------------------------------------------------
# C++ host processing
@@ -88,7 +112,7 @@ NM = $(GNU_BIN)/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE)
#--------------------------------------------------
# The follow 2 exports prevent gnu cross-compiler
# from finding wrong assembler (as).
export WIND_BASE = $(VX_DIR)
export WIND_BASE
export WIND_HOST_TYPE
#--------------------------------------------------
@@ -105,17 +129,19 @@ OP_SYS_LDFLAGS +=
# Fix for vxWorks headers using macros defined in
# vxWorks.h but not including vxWorks.h
OP_SYS_INCLUDE_CPPFLAGS += -include $(GNU_TARGET_INCLUDE_DIR)/vxWorks.h
OP_SYS_INCLUDE_CPPFLAGS += -include $(VX_DIR)/target/h/vxWorks.h
#--------------------------------------------------
# code flags
CODE_CFLAGS =
#
# WRS still uses an old gnu compiler with a broken -frepo and
# otherwise no automatic template instantiation mechanism as
# is the defacto standard approach today. If we remove this
# flag certain ppc targets will not build.
CODE_CXXFLAGS = -fno-implicit-templates
# For vxWorks versions before 6.3 we need this g++ compiler flag
CODE_CXXFLAGS_5 = -fno-implicit-templates
CODE_CXXFLAGS_6.0 = -fno-implicit-templates
CODE_CXXFLAGS_6.1 = -fno-implicit-templates
CODE_CXXFLAGS_6.2 = -fno-implicit-templates
CODE_CXXFLAGS_6 = $(CODE_CXXFLAGS_$(VXWORKS_VERSION))
CODE_CXXFLAGS = $(CODE_CXXFLAGS_$(VXWORKS_MAJOR_VERSION))
#--------------------------------------------------
# posix c preprocessor flags

View File

@@ -1,11 +1,31 @@
# CONFIG_SITE.Common.vxWorksCommon
#
# Site specific definitions for vxWorks target builds
# Site specific definitions for vxWorks target builds.
# Only the local epics system manager should modify this file
# Sites may override these definitions in CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon
# Compiler options can vary with the vxWorks version number, so we
# need to know that. However don't include any third-level digits
# because we don't currently need them.
# Tornado directory
VX_DIR = /usr/local/vw/tornado202p1
#VX_DIR = /usr/local/vw/tornado22-$(ARCH_CLASS)
# Note: vxWorks 5.3 (Tornado 1.x) is not supported
VXWORKS_VERSION = 5.4
#VXWORKS_VERSION = 5.5
#VXWORKS_VERSION = 6.0
#VXWORKS_VERSION = 6.1
#VXWORKS_VERSION = 6.2
#VXWORKS_VERSION = 6.3
# Sites may override the following path for a particular host
# architecture by adding it to the appropriate
# CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon file.
# WIND_BASE is where you installed the Wind River software.
# Under vxWorks 6.x this is not the same as the old VX_DIR setting
WIND_BASE = /usr/local/vw/tornado202p1
#WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)
#WIND_BASE = /usr/local/vw/vxWorks-$(VXWORKS_VERSION)
#WIND_BASE = /ade/vxWorks/$(VXWORKS_VERSION)

View File

@@ -1,12 +0,0 @@
# CONFIG_SITE.linux-x86.vxWorks6-mv2100
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host - vxWorks6-mv2100 target builds
#-------------------------------------------------------
# WindRiver has changed the directory structure of vxWorks
# This is for VxWorks 6.0
VX_DIR = /ade/vxWorks/6.0

View File

@@ -1,12 +0,0 @@
# CONFIG_SITE.linux-x86.vxWorks6-mv5100
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86 host - vxWorks6-mv5100 target builds
#-------------------------------------------------------
# WindRiver has changed the directory structure of vxWorks
# This is for VxWorks 6.0
VX_DIR = /ade/vxWorks/6.0

View File

@@ -1,12 +0,0 @@
# CONFIG_SITE.linux-x86_64.vxWorks6-mv2100
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86_64 host - vxWorks6-mv2100 target builds
#-------------------------------------------------------
# WindRiver has changed the directory structure of vxWorks
# This is for Tornado 3 (i.e. VxWorks 6.0)
VX_DIR = /ade/vxWorks/6.0

View File

@@ -1,12 +0,0 @@
# CONFIG_SITE.linux-x86_64.vxWorks6-mv5100
#
# $Id$
# This file is maintained by the build community.
#
# Site override definitions for linux-x86_64 host - vxWorks6-mv5100 target builds
#-------------------------------------------------------
# WindRiver has changed the directory structure of vxWorks
# This is for Tornado 3 (i.e. VxWorks 6.0)
VX_DIR = /ade/vxWorks/6.0

View File

@@ -1,11 +0,0 @@
# CONFIG_SITE.linux-x86_64.vxWorksCommon
#
# $Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86_64 host - vxWorks target builds
#-------------------------------------------------------
# SNS override values
#WIND_HOST_TYPE = x86-linux