From 43ffc23561672b33849dac8ddb761ee6f1b8b618 Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Thu, 27 Oct 2005 21:30:52 +0000 Subject: [PATCH] Initial version. File created by Ernest Williams, SNS --- configure/os/CONFIG.Common.vxWorks6-mv2100 | 28 ++++ configure/os/CONFIG.Common.vxWorks6-mv5100 | 28 ++++ configure/os/CONFIG.Common.vxWorks6Common | 156 ++++++++++++++++++ .../os/CONFIG_SITE.linux-x86.vxWorks6-mv2100 | 12 ++ .../os/CONFIG_SITE.linux-x86.vxWorks6-mv5100 | 12 ++ 5 files changed, 236 insertions(+) create mode 100644 configure/os/CONFIG.Common.vxWorks6-mv2100 create mode 100644 configure/os/CONFIG.Common.vxWorks6-mv5100 create mode 100644 configure/os/CONFIG.Common.vxWorks6Common create mode 100644 configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv2100 create mode 100644 configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv5100 diff --git a/configure/os/CONFIG.Common.vxWorks6-mv2100 b/configure/os/CONFIG.Common.vxWorks6-mv2100 new file mode 100644 index 000000000..bb4db7abe --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks6-mv2100 @@ -0,0 +1,28 @@ +# 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 diff --git a/configure/os/CONFIG.Common.vxWorks6-mv5100 b/configure/os/CONFIG.Common.vxWorks6-mv5100 new file mode 100644 index 000000000..138bf4336 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks6-mv5100 @@ -0,0 +1,28 @@ +# 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 diff --git a/configure/os/CONFIG.Common.vxWorks6Common b/configure/os/CONFIG.Common.vxWorks6Common new file mode 100644 index 000000000..1705a55eb --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks6Common @@ -0,0 +1,156 @@ +# 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..vxWorks6Common +#------------------------------------------------------- + +# Vx valid build types +VALID_BUILDS = Ioc + +#-------------------------------------------------- +# operating system class (include/os/) +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_YES = -D_POSIX_SOURCE +POSIX_CPPFLAGS_NO = + +#-------------------------------------------------- +# 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 + diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv2100 b/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv2100 new file mode 100644 index 000000000..e8a2a9024 --- /dev/null +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv2100 @@ -0,0 +1,12 @@ +# 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 + diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv5100 b/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv5100 new file mode 100644 index 000000000..c9be5b68a --- /dev/null +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks6-mv5100 @@ -0,0 +1,12 @@ +# 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 +