#!/bin/sh # # ${RHOME}/tools/GETSYMBOLS # This code assembles the table of statically loaded C and Fortran # code which is to be accessed via .C and .Fortran calls. TOOLS_DIR=`echo $0 | sed 's%/[^/][^/]*$%%'` TMPDIR=${TMPDIR-/tmp} ROUTINES=${TMPDIR}/ROUTINES${$} # Allow `#' comments in `../src/appl/ROUTINES': sed ' /^#/d /#/s/#.*// ' ${TOOLS_DIR}/../src/appl/ROUTINES > ${ROUTINES} sed ' s/F77_SUBROUTINE(\(.*\))/void * F77_SYMBOL(\1)();/ s/C_FUNCTION(\(.*\))/void * \1();/ ' ${ROUTINES} > ${TMPDIR}/RFF${$} ${TOOLS_DIR}/move-if-change ${TMPDIR}/RFF${$} FFDecl.h sed ' s/F77_SUBROUTINE(\(.*\))/ { F77_QSYMBOL(\1), F77_SYMBOL(\1)},/ s/C_FUNCTION(\(.*\))/ { "\1", \1 },/ ' ${ROUTINES} > ${TMPDIR}/RFF${$} ${TOOLS_DIR}/move-if-change ${TMPDIR}/RFF${$} FFTab.h rm -f ${ROUTINES}