diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG.Common.linux-cris EPICS_release/base-3.14.9/configure/os/CONFIG.Common.linux-cris --- EPICS_org/base-3.14.9/configure/os/CONFIG.Common.linux-cris 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG.Common.linux-cris 2007-08-29 14:49:52.000000000 +0200 @@ -0,0 +1,58 @@ +# CONFIG.Common.linux-cris +# +# Author: Peter Zumbruch +# GSI +# P.Zumbruch@gsi.de +# +# Definitions for linux-cris target builds +# Sites may override these definitions in CONFIG_SITE.Common.linux-cris +#------------------------------------------------------- + +# Include definitions common to all linux targets +include $(CONFIG)/os/CONFIG.Common.linuxCommon + +ARCH_CLASS = cris + +ifeq ($(BUILD_CLASS),CROSS) + GNU_TARGET = cris-axis-linux-gnu + + # prefix of compiler tools + CMPLR_SUFFIX = + CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET)) + + # CROSS_TOP_DIR + # usually AXIS_TOP_DIR is defined via + # the init_env script of the SDK provided by Axis + # + ## AXIS_TOP_DIR defined? Make missing mandatory variable visible + AXIS_TOP_DIR?=UNDEFINED_ENV__AXIS_TOP_DIR + AXIS_SDK_DIR?=$(AXIS_TOP_DIR) + + # CROSS_INCLUDES + AXIS_SDK_TARGET_INCLUDE_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/include + AXIS_SDK_TARGET_INCLUDE_DIR +=$(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/include + + CROSS_INCLUDES = $(addprefix -isystem ,$(AXIS_SDK_TARGET_INCLUDE_DIR)) + + # CROSS_LDFLAGS + AXIS_SDK_TARGET_LIB_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/lib + AXIS_SDK_TARGET_LIB_DIR += $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/lib + + CROSS_LDFLAGS = $(addprefix -L,$(AXIS_SDK_TARGET_LIB_DIR)) + +-include $(CONFIG)/os/CONFIG_SITE.Common.linux-cris +ifeq ($(EPICS_HOST_ARCH), linux-x86) +-include $(CONFIG)/os/CONFIG.linux-x86.linux-cris +-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-cris +endif +endif + +SHARED_LIBRARIES=NO +STATIC_BUILD=YES + +ARCH_DEP_CFLAGS += -mno-mul-bug-workaround +OP_SYS_CFLAGS += -mlinux +ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux + +#uncomment CRIS_COMPILER_DEBUG for debugging cris-compiled code +#CRIS_COMPILER_DEBUG diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris --- EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris 2007-08-30 14:04:09.000000000 +0200 @@ -0,0 +1,44 @@ +# CONFIG.linux-x86.linux-cris +# +# Author: Peter Zumbruch +# GSI +# P.Zumbruch@gsi.de +# +# Definitions for linux-x86 host - linux-cris target builds +# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris +#------------------------------------------------------- + +# Include common gnu compiler definitions +include $(CONFIG)/CONFIG.gnuCommon + +GNU_DIR = $(CRIS_CROSS_COMPILER) + +#STATIC_... +STATIC_LDFLAGS_YES= -Wl,-Bstatic + +## debian-gcc Bug#438641 +GNU_LDLIBS_YES = +STATIC_LDFLAGS_YES += -static-libgcc + +# if not in debug mode strip all symbols +ifndef CRIS_COMPILER_DEBUG +STATIC_LDFLAGS_YES += -Wl,--strip-all +endif + +ifeq ($(GNU),YES) +STATIC_LDFLAGS_NO = -lgcc +else +STATIC_LDFLAGS_NO = +endif + +STATIC_LDLIBS_YES= +STATIC_LDLIBS_NO= + +SHRLIB_LDFLAGS += -shared -fPIC +LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC + +OPT_CXXFLAGS_YES = -Os + +ifeq ($(STATIC_BUILD), YES) + $(shell echo yes) +endif \ No newline at end of file diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v10 EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v10 --- EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v10 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v10 2007-10-31 17:09:22.842840614 +0100 @@ -0,0 +1,20 @@ +# CONFIG.linux-x86.linux-cris_v10 +# +# Author: Peter Zumbruch +# GSI +# P.Zumbruch@gsi.de +# +# Definitions for linux-x86 host - linux-cris_v10 target builds +# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v10 +#------------------------------------------------------- + +# Include definitions common to all linux-cris targets +include $(CONFIG)/os/CONFIG.Common.linux-cris + +GNU_TARGET = cris-axis-linux-gnu + +ARCH_DEP_CFLAGS += -march=v10 + +# if you are using different places for cris_v10 cris_v32 +# you have to define for each architecture +# AXIS_SDK_DIR= diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v32 EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v32 --- EPICS_org/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v32 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG.linux-x86.linux-cris_v32 2007-10-31 17:09:44.722125380 +0100 @@ -0,0 +1,20 @@ +# CONFIG.linux-x86.linux-cris_v32 +# +# Author: Peter Zumbruch +# GSI +# P.Zumbruch@gsi.de +# +# Definitions for linux-x86 host - linux-cris_v32 target builds +# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v32 +#------------------------------------------------------- + +# Include definitions common to all linux-cris targets +include $(CONFIG)/os/CONFIG.Common.linux-cris + +GNU_TARGET = crisv32-axis-linux-gnu + +ARCH_DEP_CFLAGS += -march=v32 + +# if you are using different places for cris_v10 cris_v32 +# you have to define for each architecture +# AXIS_SDK_DIR= diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.Common.linux-cris EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.Common.linux-cris --- EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.Common.linux-cris 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.Common.linux-cris 2007-08-30 13:04:00.000000000 +0200 @@ -0,0 +1,22 @@ +# CONFIG_SITE.Common.linux-cris +# +# Site Specific definitions for linux-cris target +# Only the local epics system manager should modify this file + +# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the +# shared libraries will be found automatically. However if the .so +# files are installed at a different path to their compile-time path +# then in order to be found at runtime do one of these: +# a) LD_LIBRARY_PATH must include the full absolute pathname to +# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base +# executables. +# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which +# will add the named directory to the list contained in the executables. +# c) Add the runtime path to /etc/ld.so.conf and run ldconfig +# to inform the system of the shared library location. + +# If readline is not installed comment the following line +# to omit command-line editing and history support + +#COMMANDLINE_LIBRARY = READLINE +OP_SYS_CFLAGS += -g diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.Common EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.Common --- EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.Common 2005-02-01 21:51:44.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.Common 2007-08-27 14:09:06.000000000 +0200 @@ -6,7 +6,6 @@ # Site override definitions for linux-x86 host builds #------------------------------------------------------- -# JBA test override values -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 solaris-sparc -#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 -#CROSS_COMPILER_TARGET_ARCHS = RTEMS-mvme2100 RTEMS-pc386 # RTEMS-mvme5500 RTEMS-mvme167 +CROSS_COMPILER_TARGET_ARCHS = +CROSS_COMPILER_TARGET_ARCHS += linux-cris_v10 +CROSS_COMPILER_TARGET_ARCHS += linux-cris_v32 diff -u -N -r EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.linux-cris EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.linux-cris --- EPICS_org/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.linux-cris 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/configure/os/CONFIG_SITE.linux-x86.linux-cris 2007-10-31 16:57:35.870881058 +0100 @@ -0,0 +1,13 @@ +# CONFIG_SITE.linux-x86.linux-cris +# +# Author: Peter Zumbruch +# GSI +# P.Zumbruch@gsi.de +# +# Site specific definitions for linux-x86 host - linux-cris target builds +#------------------------------------------------------- + +# define site specific location of cris cross compiler's gnu directory +# but without bin sub directory, this will be added automatically. + +CRIS_CROSS_COMPILER ?= UNDEFINED_ENV__CRIS_CROSS_COMPILER \ No newline at end of file diff -u -N -r EPICS_org/base-3.14.9/documentation/README.cris EPICS_release/base-3.14.9/documentation/README.cris --- EPICS_org/base-3.14.9/documentation/README.cris 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/documentation/README.cris 2007-10-31 18:16:05.148120518 +0100 @@ -0,0 +1,67 @@ +cross compiling EPICS and + building IOC Applications for cris architectures + (linux-cris_v10, linux-cris_v32) +====================================================================== + +Please mail questions, comments, corrections, etc. ... +to P.Zumbruch@gsi.de +November 2007 + +Tools needed +------------ + + o Axis SDK + - Overview: + http://developer.axis.com/wiki/doku.php?id=axis:sdk + - Download: + http://www.axis.com/products/dev_sdk/download_dist.php + - Install HOWTO: + http://developer.axis.com/wiki/doku.php?id=axis:software_distribution_install_howto + o Axis GNU gcc release for cross compiling + - Download: + http://www.axis.com/products/dev_sdk/download_compiler.php + - Install HOWTO: + http://developer.axis.com/wiki/doku.php?id=axis:compiler_install + +Environment +----------- + + o CRIS_CROSS_COMPILER + - path to top directory of cris cross compiler, + where binaries are in sub directory bin/ + - if not set, the make process will stop at place + UNDEFINED_ENV__CRIS_CROSS_COMPILER + o AXIS_TOP_DIR?=UNDEFINED_ENV__AXIS_TOP_DIR + - path to axis SDK top directory + - if not set compile and link commands will contain references to + UNDEFINED_ENV__AXIS_TOP_DIR + - to set the necessary variables, execute + . ./init_env + in the top directory of the SDK provided here. + o CRIS_COMPILER_DEBUG + - if defined symbols won't be stripped of + resulting in comparably large files + +Building +-------- + + o Edit the CONFIG_SITE files + - CONFIG_SITE.linux-x86.Common: + for CROSS_COMPILER_TARGET_ARCHS += linux-cris_v10 + for CROSS_COMPILER_TARGET_ARCHS += linux-cris_v32 + - optionally CONFIG_SITE.linux-x86.linux-cris + for setting CRIS_CROSS_COMPILER + - optionally create CONFIG_SITE.linux-x86.linux-cris_v10 + - optionally create CONFIG_SITE.linux-x86.linux-cris_v32 + o "make". + +Shared Libraries +---------------- + +Generating shared libraries is not supported. + + +Please feel free to contact me if you +encounter serious problems. + +Peter diff -u -N -r EPICS_org/base-3.14.9/documentation/RELEASE_NOTES-linux-cris.html EPICS_release/base-3.14.9/documentation/RELEASE_NOTES-linux-cris.html --- EPICS_org/base-3.14.9/documentation/RELEASE_NOTES-linux-cris.html 1970-01-01 01:00:00.000000000 +0100 +++ EPICS_release/base-3.14.9/documentation/RELEASE_NOTES-linux-cris.html 2007-10-31 17:28:42.285215696 +0100 @@ -0,0 +1,14 @@ + +

New Architectures

+ +

The following target architectures have been added to this release, although +the core developers lack the ability to test all of them:

+ + + diff -u -N -r EPICS_org/base-3.14.9/src/libCom/osi/os/default/osdWireFormat.h EPICS_release/base-3.14.9/src/libCom/osi/os/default/osdWireFormat.h --- EPICS_org/base-3.14.9/src/libCom/osi/os/default/osdWireFormat.h 2007-01-09 00:59:56.000000000 +0100 +++ EPICS_release/base-3.14.9/src/libCom/osi/os/default/osdWireFormat.h 2007-08-27 14:09:06.000000000 +0200 @@ -54,6 +54,8 @@ # define EPICS_LITTLE_ENDIAN #elif defined (__arm__) # define EPICS_LITTLE_ENDIAN +#elif defined (_cris_) +# define EPICS_LITTLE_ENDIAN #else # define EPICS_BIG_ENDIAN #endif