#ifdef CRAY90
#include <fortran.h>
int BACIO
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes,
_fcd fcd_fname, _fcd fcd_datary) {
char *fname, *datary;
int namelen;
#endif
#ifdef HP
int bacio
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef SGI
int bacio_
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef LINUX
int bacio_
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef LINUXF90
int BACIO
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef APPLE
int bacio_
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef VPP5000
int bacio_
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef IBM4
int bacio
(int * mode, int * start, int *newpos, int * size, int * no,
int * nactual, int * fdes, const char *fname, char *datary,
int namelen, int datanamelen) {
#endif
#ifdef IBM8
long long int bacio
(long long int * mode, long long int * start, long long int *newpos,
long long int * size, long long int * no,
long long int * nactual, long long int * fdes, const char *fname,
char *datary,
long long int namelen, long long int datanamelen) {
#endif
So it looks like LINUX and APPLE are the only two we are using. And they are the same, so we could just declare the function bacio_ without worrying about these preprocessor symbols.
In bacio.c we have code like this:
Yet in the build system we have:
So it looks like LINUX and APPLE are the only two we are using. And they are the same, so we could just declare the function bacio_ without worrying about these preprocessor symbols.