This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
James, >Date: Tue, 23 Jul 2002 16:14:25 -0700 >From: "Doyle, James" <address@hidden> >Organization: Naval Research Laboratory >To: "'address@hidden'" <address@hidden> >Subject: xgks for linux >Keywords: 200207232314.g6NNEU915273 The above message contained the following: > Are you aware whether anyone has ported xgks to linux. We've tried to port > the xgks-2.5.5 code to linux but have run into a number of errors. > Perhaps someone has already solved these problems (hopefully). The main problem is lack of the file port/fortc/linux.m4. I've enclosed a copy. Regards, Steve Emmerson <http://www.unidata.ucar.edu>
divert(-1)
# Name of system platform (for use in comments)
define(`M4__SYSTEM', Linux)
# transformation from fortran name to name of C module. Append an extra
# underscore if the name contains an underscore.
define(`NAMEF',`ifelse(index($1,_),-1,$1_,$1__)')
define(`REALX',`')
define(`INTEGERX',`')
define(`FUNCTIONX',`')
define(`DOUBLEX',`')
# transformation from string name to corresponding argument name
define(`STRINGF',`$1')
# extra arguments, if any, for string length
define(`STRINGX',`, $1_len') # one extra stringlen parameter
# declaration to be used for argument name descriptor
define(`STRINGD',`
char *$1; `$2'
int $1`'`_len';') # declare argument string with extra stringlen
parameter
define(`STRINGP',`
char *$1')
define(`STRINGPX',`,
int $1_len')
# declarations and initializations of canonical local variables
define(`STRINGL',`')
# FORTRAN declaration for a long integer (e.g. integer*4 for Microsoft)
define(`LONG_INT',`integer')
# FORTRAN declaration for a short integer (e.g. integer*2)
define(`SHORT_INT',`integer*2')
# FORTRAN declaration for an integer byte (e.g. integer*1 or byte)
define(`BYTE_INT',`byte')
# FORTRAN declaration for single precision
define(`SINGLE_PRECISION',`real')
# FORTRAN declaration for double precision (e.g. real for a Cray)
define(`DOUBLE_PRECISION',`double precision')
divert(0)dnl