From 674752ab7dc3e8c633d20c7b7ee6ebc0ce8d7e9a Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Thu, 10 Feb 2005 08:30:36 -0500 Subject: [svn-r9977] Purpose: Update port Description: Allow FreeBSD builds to use Intel C & F90 compilers (C++ is not working yet on FreeBSD, so that'll come along later) Platforms tested: FreeBSD 4.11 (sleipnir) w/Intel C & F90 compilers Does not affect other platforms... Misc. update: --- config/freebsd | 30 +++++++++++++-- hl/fortran/src/H5f90i.h | 97 +++++++++++++++++++++++++++++++++---------------- 2 files changed, 93 insertions(+), 34 deletions(-) diff --git a/config/freebsd b/config/freebsd index c1af4d9..caeca9c 100644 --- a/config/freebsd +++ b/config/freebsd @@ -15,6 +15,30 @@ fi # from /usr/include/sys/cdefs.h CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=1" +# Figure out C compiler flags +. $srcdir/config/gnu-flags + +# Figure out Intel C compiler flags +. $srcdir/config/intel-flags + +# The default Fortran 90 compiler +if test "X-" = "X-$F9X"; then + case $CC_BASENAME in + gcc*|pgcc*) + F9X=gfortran40 + F9X_BASENAME=gfortran40 + ;; + icc*) + F9X=ifort + F9X_BASENAME=ifort + ;; + mpicc*) + F9X=mpif90 + F9X_BASENAME=mpif90 + ;; + esac +fi + # # HDF5 FORTRAN integers # @@ -30,12 +54,12 @@ HID_T='SELECTED_INT_KIND(R_INTEGER)' SIZE_T='SELECTED_INT_KIND(R_INTEGER)' OBJECT_NAMELEN_DEFAULT_F=-1 -# Figure out C compiler flags -. $srcdir/config/gnu-flags - # Figure out FORTRAN compiler flags . $srcdir/config/gnu-fflags +# Figure out Intel F90 compiler flags +. $srcdir/config/intel-fflags + # Special setup to use pthread support if enable-threadsafe is on. # Works with static executable only. if test "X-" != "X-$enable_threadsafe"; then diff --git a/hl/fortran/src/H5f90i.h b/hl/fortran/src/H5f90i.h index 52496a9..e39e3f8 100755 --- a/hl/fortran/src/H5f90i.h +++ b/hl/fortran/src/H5f90i.h @@ -25,6 +25,7 @@ #include /*typedef char* _fcd;*/ +typedef long haddr_t_f; typedef long hsize_t_f; typedef long hssize_t_f; typedef long size_t_f; @@ -39,6 +40,7 @@ typedef double real_f; #if defined(IBM6000) || defined(_AIX) typedef char *_fcd; +typedef long long haddr_t_f; typedef long long hsize_t_f; typedef long long hssize_t_f; typedef int size_t_f; @@ -51,6 +53,7 @@ typedef float real_f; /* MAC APPLE definitions with IBM XL compiler*/ #if defined(__APPLE__) typedef char *_fcd; +typedef long long haddr_t_f; typedef long long hsize_t_f; typedef long long hssize_t_f; typedef int size_t_f; @@ -65,61 +68,54 @@ typedef float real_f; #endif /*APPLE*/ - /* LINUX definitions */ -#if (defined(i386) || defined(__i386__)) && (defined(linux) || defined(__linux__)) +#if (defined(linux) || defined(__gnu_linux__) || defined(__linux__)) +/* Common definitions */ +typedef char *_fcd; +typedef int int_f; +typedef int hid_t_f; +typedef float real_f; +#define _fcdtocp(desc) (desc) -/*#error "LINUX definitions"*/ +/* IA32 specific definitions */ +#if (defined(i386) || defined(__i386) || defined(__i386__)) -typedef char *_fcd; +typedef long long haddr_t_f; typedef long long hsize_t_f; typedef long long hssize_t_f; typedef int size_t_f; -typedef int int_f; -typedef int hid_t_f; -typedef float real_f; #if defined H5_ABSOFT #define DF_CAPFNAMES #else #define FNAME_POST_UNDERSCORE #endif /*H5_ABSOFT*/ -#define _fcdtocp(desc) (desc) -#endif /*LINUX*/ +/* AMD64 specific definitions */ +#elif defined __x86_64__ -/* LINUX64 definitions */ -#if defined __x86_64__ - -typedef char *_fcd; +typedef long long haddr_t_f; typedef long long hsize_t_f; typedef long long hssize_t_f; typedef int size_t_f; -typedef int int_f; -typedef int hid_t_f; -typedef float real_f; #define FNAME_POST_UNDERSCORE -#define _fcdtocp(desc) (desc) -#endif /*LINUX64*/ -/* IA64 LINUX definitions */ -#if defined __ia64 +/* IA64 specific definitions */ +#elif defined __ia64 -typedef char *_fcd; +typedef long haddr_t_f; typedef long hsize_t_f; typedef long hssize_t_f; typedef long size_t_f; -typedef int int_f; -typedef int hid_t_f; -typedef float real_f; #define FNAME_POST_UNDERSCORE -#define _fcdtocp(desc) (desc) -#endif /* IA64 LINUX*/ +#endif /* IA64 */ +#endif /* LINUX*/ #if defined(IRIX) || defined(IRIS4) || defined(sgi) || defined(__sgi__) || defined(__sgi) typedef char *_fcd; +typedef long haddr_t_f; typedef long hsize_t_f; typedef long hssize_t_f; typedef long size_t_f; @@ -133,6 +129,7 @@ typedef float real_f; #if (defined(SUN) || defined(sun) || defined(__sun__) || defined(__SUNPRO_C)) & !defined(__i386) typedef char *_fcd; +typedef long long haddr_t_f; typedef long long hssize_t_f; typedef long long hsize_t_f; typedef int size_t_f; @@ -147,6 +144,7 @@ typedef float real_f; #if defined DEC_ALPHA || (defined __alpha && defined __unix__ && !defined __linux__) typedef char *_fcd; +typedef long haddr_t_f; typedef long hsize_t_f; typedef long hssize_t_f; typedef long size_t_f; @@ -161,9 +159,10 @@ typedef float real_f; #if defined __alpha__ && defined __linux__ typedef char *_fcd; -typedef long long hsize_t_f; -typedef long long hssize_t_f; -typedef long long size_t_f; +typedef long long haddr_t_f; +typedef long long hsize_t_f; +typedef long long hssize_t_f; +typedef long long size_t_f; typedef int int_f; typedef int hid_t_f; typedef float real_f; @@ -175,8 +174,9 @@ typedef float real_f; #if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux))) typedef char *_fcd; -typedef long long hsize_t_f; -typedef long long hssize_t_f; +typedef long long haddr_t_f; +typedef long long hsize_t_f; +typedef long long hssize_t_f; typedef long size_t_f; typedef int int_f; typedef int hid_t_f; @@ -189,6 +189,7 @@ typedef float real_f; #if defined _WINDOWS || defined WIN32 typedef char *_fcd; +typedef int haddr_t_f; typedef int hsize_t_f; typedef int hssize_t_f; typedef int size_t_f; @@ -201,6 +202,40 @@ typedef float real_f; #endif /*WINDOWS */ +/* FreeBSD definitions */ +#if (defined(__FreeBSD) || defined(__FreeBSD__)) + +/* Common definitions */ +typedef char *_fcd; +typedef int int_f; +typedef int hid_t_f; +typedef float real_f; +#define _fcdtocp(desc) (desc) + +/* IA32 specific definitions */ +#if (defined(i386) || defined(__i386) || defined(__i386__)) +typedef long long haddr_t_f; +typedef long long hsize_t_f; +typedef long long hssize_t_f; +typedef int size_t_f; +/* AMD64 specific definitions */ +#elif defined __x86_64__ +typedef long long haddr_t_f; +typedef long long hsize_t_f; +typedef long long hssize_t_f; +typedef int size_t_f; +/* IA64 specific definitions */ +#elif defined __ia64 +typedef long haddr_t_f; +typedef long hsize_t_f; +typedef long hssize_t_f; +typedef long size_t_f; +#endif /* IA64 */ + +#define FNAME_POST_UNDERSCORE + +#endif /* FreeBSD */ + /*---------------------------------------------------------------- ** MACRO FNAME for any fortran callable routine name. ** -- cgit v0.12