#! /bin/sh if [ x$MXDIR = x ]; then MXDIR=/opt/mx fi # Try to figure out where EPICS is installed. if [ x$MX_EPICS_DIR != x ]; then # Accept the existing value of MX_EPICS_DIR. true elif [ -d /opt/epics/base ]; then MX_EPICS_DIR=/opt/epics/base elif [ -d /usr/lib/epics ]; then MX_EPICS_DIR=/usr/lib/epics else echo "Unknown EPICS Base directory!" fi # Try to figure out which CPU architecture this is. uname_machine=`uname -m` if [ x$MX_EPICS_ARCH != x ]; then # Accept the existing value of MX_EPICS_ARCH. true elif [ ${uname_machine} = i686 ]; then MX_EPICS_ARCH=linux-x86 elif [ ${uname_machine} = x86_64 ]; then MX_EPICS_ARCH=linux-x86_64 elif [ x$EPICS_HOST_ARCH != x ]; then MX_EPICS_ARCH=${EPICS_HOST_ARCH} else echo "Unknown EPICS architecture!" exit 1 fi # Add in the MX and EPICS library directories to the library search path. MXCA_SERVER=${MXDIR}/sbin/mxca_server # For Linux, BSD, Solaris, etc. if [ x$LD_LIBRARY_PATH = x ]; then LD_LIBRARY_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}" else LD_LIBRARY_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}:${LD_LIBRARY_PATH}" fi # For Mac OS X if [ x$DYLD_LIBRARY_PATH = x ]; then DYLD_LIBRARY_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}" else DYLD_LIBRARY_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}:${DYLD_LIBRARY_PATH}" fi # For HP/UX if [ x$SHLIB_PATH = x ]; then SHLIB_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}" else SHLIB_PATH="${MXDIR}/lib:${MX_EPICS_DIR}/lib/${MX_EPICS_ARCH}:${SHLIB_PATH}" fi # Try to run the MX Channel Access server. export MXDIR LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH if [ -x $MXCA_SERVER ]; then cd ${MXDIR}/run echo $$ > ${MXDIR}/run/mxca_server.pid exec $MXCA_SERVER ${MXDIR}/etc/mxca_server.dat \ ${MXDIR}/etc/mxca_server.acl $* fi