Changes needed to compile EPICS environment:
set environment:
. init_env
go to the directory:
cd ~/devboard-work_2.4/apps/epics/base-3.14.8.2
edit
./configure/os/CONFIG.Common.linux-cris
ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux
AR = ar-cris -rs
change the source of the 'cris compilator' applications %BR%
edit ./configure/CONFIG_COMMON and change the line with:
USR_LDFLAGS = -mlinux
#you cannot overload system function(fprint) as the class method, if you turn on -O3
edit
./configure/CONFIG.gnuCommon
OPT_CXXFLAGS_YES =
RANLIB = ranlib
edit
./src/libCom/env/bldEnvData.pl
$env_dir = abs_path("./env");
set environment:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/libCom/O.linux-x86/:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/dbStatic/O.linux-x86/"
**** Now you can take below lines and use COPY & PASTE ********
gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris" clean uninstall && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ../copy/src/as/asLib.h src/as/ ; cp ../copy/src/db/dbAccessDefs.h src/db/;cp ../copy/src/dbStatic/*.h src/dbStatic/;cp ../copy/src/gdd/*.h src/gdd/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/flex.skel.static src/toolsComm/flex/O.Common/&&cp ./../copy/src/toolsComm/flex/flex.skel.static src/toolsComm/flex/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
mkdir bin/linux-x86&&cp ./src/toolsComm/antelope/O.linux-x86/antelope ./bin/linux-x86/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/ca/*.h src/ca/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/toolsComm/flex/O.linux-x86/e_flex bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/flex.skel.static include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/dbLexRoutines.c ./src && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/registry/*.h src/registry/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/include/cvtTable.h include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/bpt/O.linux-x86/makeBpt ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/bpt/cvtTable.h src/bpt/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/O.linux-x86/dbToMenuH ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/db/*.h ./src/db/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/db/dbCommonRecord.dbd ./src/&&cp ./../copy/src/db/dbCommon.dbd ./src/&&gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/dbStatic/O.linux-x86/dbToRecordtypeH ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asDbLib.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asCa.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asTrapWrite.h ./src/as/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asLib.h ./src && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/as/asLibRoutines.c ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/dbtools/dbLoadTemplate.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/rsrv/rsrv.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/ca/net_convert.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/misc/epicsRelease.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/misc/iocInit.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/iocsh/*.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../base-3.14.8.2/src/dbStatic/O.linux-x86/dbExpand ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./src/registry/registerRecordDeviceDriver.pl ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/bin/linux-x86/genApps ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/gdd/aitConvert.cc ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/bin/linux-x86/aitGen ./bin/linux-x86/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
cp ./../copy/src/gdd/*.h ./src/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
after that you should add some library into a board:/home/hadaq/epics/lib:
./lib/linux-cris/libca.so
./lib/linux-cris/libCom.so
/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libpthread.so.0
/home/radek/backup/devboard-work_2.4/target/cris-axis-linux-gnu/lib/librt.so.1
/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libstdc++.so.5
/home/radek/devboard-work_2.4/target/cris-axis-linux-gnu/lib/libgcc_s.so.1
On the board set the env. var.:
export LD_LIBRARY_PATH=/home/hadaq/epics/lib
On the machine, where this software was compiled you have to set env. var. if you want to start server:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/dbStatic/O.linux-x86/:/home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/src/libCom/O.linux-x86/"
compiling caServer:
cd ./src/makeBaseApp
./makeBaseApp.pl -b /home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/ -t caServer
cd ./caServerApp
gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris"
edit ./configure/CONFIG_COMMON
INSTALL_INCLUDES += \
-I$(INSTALL_INCLUDE)/os/$(OS_CLASS) \
-I$(INSTALL_INCLUDE) \
-I$(EPICS_BASE)/include \
-I$(EPICS_BASE)/include/os/Linux \
-I$(EPICS_BASE)/src
cp ./../../../../copy/include/gddApps.h ./../../../include/ && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
mkdir ../lib;
ln -s ../../../lib/linux-cris ../lib/linux-cris && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
#cp ./../../iocsh/libiocsh.a . && gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris";
after that you should add some library into a board:/home/hadaq/epics/lib:
./lib/linux-cris/libgdd.so
./lib/linux-cris/libiocsh.so
./lib/linux-cris/libasHost.so
./lib/linux-cris/libdbStaticHost.so
./lib/linux-cris/libregistryIoc.so
./lib/linux-cris/libmiscIoc.so
./lib/linux-cris/librsrvIoc.so
./lib/linux-cris/libdbtoolsIoc.so
./lib/linux-cris/libasIoc.so
./lib/linux-cris/libdbIoc.so
./lib/linux-cris/libdbStaticIoc.so
compiling caClient:
cd ./src/makeBaseApp
./makeBaseApp.pl -b /home/radek/devboard-work_2.4/apps/epics/base-3.14.8.2/ -t caClient
cd ./caClientApp
gmake EPICS_HOST_ARCH="linux-x86" T_A="linux-cris"
--
RadekTrebacz - 22 Jun 2006