fortran.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (C) 2002, 2003 Si-Lab b.v.b.a., Toon Knapen and Kresimir Fresl 
00003 //
00004 // Distributed under the Boost Software License, Version 1.0. 
00005 // (See accompanying file LICENSE_1_0.txt or copy at 
00006 // http://www.boost.org/LICENSE_1_0.txt)
00007 //
00008 
00009 #ifndef BOOST_NUMERIC_BINDINGS_TRAITS_FORTRAN_H
00010 #define BOOST_NUMERIC_BINDINGS_TRAITS_FORTRAN_H
00011 
00012 #if defined(BIND_FORTRAN_LOWERCASE_UNDERSCORE) || defined(BIND_FORTRAN_LOWERCASE)
00013 // Allow manual override of the defaults, e.g. if you want to use a fortran
00014 // lib compiled with gcc from MSVC
00015 #else
00016 
00017 // First we need to know what the conventions for linking
00018 // C with Fortran is on this platform/toolset
00019 #if defined(__GNUC__) || defined(__ICC) || defined(__sgi) || defined(__COMO__) || defined(__KCC)
00020 #define BIND_FORTRAN_LOWERCASE_UNDERSCORE
00021 #elif defined(__IBMCPP__) || defined(_MSC_VER)
00022 #define BIND_FORTRAN_LOWERCASE
00023 #else
00024 #error do not know how to link with fortran for the given platform
00025 #endif
00026 
00027 #endif
00028 
00029 // Next we define macro's to convert our symbols to 
00030 // the current convention
00031 #if defined(BIND_FORTRAN_LOWERCASE_UNDERSCORE)
00032 #define FORTRAN_ID( id ) id##_
00033 #elif defined(BIND_FORTRAN_LOWERCASE)
00034 #define FORTRAN_ID( id ) id
00035 #else
00036 #error do not know how to bind to fortran calling convention
00037 #endif
00038 
00039 #endif // BOOST_NUMERIC_BINDINGS_TRAITS_FORTRAN_H

Generated on Wed Nov 23 19:00:14 2011 for FreeCAD by  doxygen 1.6.1