⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure.in

📁 fortran并行计算包
💻 IN
📖 第 1 页 / 共 5 页
字号:
    CFLAGS="$CFLAGS $C_OPT_FLAG"fi# ---------------------------------------------------------------------------# Here go the rest of the tests# ---------------------------------------------------------------------------if test -n "$arch_solaris" || test -n "$arch_solaris86" ; then    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fi    if test $MPI = "mpich" ; then        TEST_CC=mpicc        TEST_F77=mpif77    else        TEST_CC="$CC"        TEST_F77="$F77"    fi    AR="ar cr"# solaris does not have l option to arfiif test -n "$arch_rs6000"; then    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fi    AC_DEFINE(AIX,1,[Define for AIX])# assume long long exists.    longlongsize=${longlongsize:-8}     MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"    MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"    MPI_OFFSET_KIND_VAL=8fi    #if test -n "$arch_tflop" || test -n "$arch_tflops"; then    # TFLOP_FLAGS="-cougar -D__PUMA"    AR="xar cr$AR_LOCAL"    RANLIB="xranlib"    MPI_LIB="$MPI_LIB"    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fi    if test -z "$FILE_SYSTEM" ; then        file_system_ufs=1        FILE_SYSTEM="ufs"    fifi#if test -n "$arch_freebsd" || test -n "$arch_LINUX" || test -n "$arch_LINUX_ALPHA" || test -n "$arch_netbsd" || test -n "$arch_openbsd" ; then    if test -n "$arch_freebsd" || test -n "$arch_netbsd" || test -n "$arch_openbsd"; then        longlongsize=${longlongsize:-0}	# printf doesn't work properly and no integer*8 as far as I can tell    fi    # Find the CPP before the header check    AC_PROG_CPP    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fifi    #if test -n "$arch_SX4" ; then    have_aio=no    AC_DEFINE(SX4,1,[Define for NEC SX4])    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fi    if test -z "$FILE_SYSTEM" ; then        file_system_sfs=1        file_system_nfs=1        FILE_SYSTEM="sfs nfs"    fi    MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"    MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"    MPI_OFFSET_KIND_VAL=8fi#if test -n "$arch_hpux" || test -n "$arch_sppux" ; then    have_aio=no    RANLIB=":"    if test -z "$MPI"; then        if test -f "/opt/mpi/include/mpi.h" ; then            echo "assuming that you want to use ROMIO with HP MPI"            MPI=hp        else             echo "assuming that you want to use ROMIO with MPICH"            MPI=mpich        fi                fi    if test $MPI = "mpich" ; then        mpi_mpich=1        MPI_LIB="$MPI_LIB -lV3"        CC=${CC:-cc -Ae}        F77=${FC:-f77 +U77}    fi    if test $MPI = "hp" ; then        mpi_hp=1        CC=${CC:-mpicc -Ae}        F77=${FC:-mpif77 +U77}    fi    if test $MPI = "lam" && test "$FC" != ""; then        F77="$F77 +U77"    fi    FTESTDEFINE="external iargc, getarg"    if test -n "$arch_hpux" ; then        CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"        AC_DEFINE(HPUX,1,[Define for HPUX])        if test $MPI = "hp" ; then           F77=${FC:-mpif90 +U77}        else           F77=${FC:-f90 +U77}        fi    else        AC_DEFINE(SPPUX,1,[Define for SPPUX (Convex)])    fi    MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"    MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"    MPI_OFFSET_KIND_VAL=8    if test "$CC" != "gcc" ; then        ROMIO_TCFLAGS="-Ae"    fi    if test "$F77" != "g77" ; then        ROMIO_TFFLAGS="+U77"    fifi#if test -n "$arch_alpha" || test -n "$arch_ALPHA" ; then    if test -z "$MPI" ; then        MPI=mpich        mpi_mpich=1    fi    MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"    MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"    MPI_OFFSET_KIND_VAL=8    ROMIO_LIBLIST="$ROMIO_LIBLIST -laio"fi    #if test -n "$arch_CRAY" ; then    NOF77=1    FTESTDEFINE="integer ilen"    F77GETARG="call pxfgetarg(i, str, ilen, ierr)"    have_aio=no    RANLIB=":"    AC_DEFINE(CRAY,1,[Define if Cray])    if test -z "$MPI" || test -n "$mpi_sgi" ; then        MPI=cray        mpi_cray=1        mpi_sgi=""# above is to disable configure tests specific to SGI MPI        AC_DEFINE(MPISGI,1,[Define if SGI MPI])        AC_DEFINE(HAVE_MPI_COMBINERS,1,[Define if MPI supports datatype combiners])        AC_DEFINE(NO_MPI_SGI_type_is_contig,1,[Define if no types show contig])    fi#       MPISGI needed because of error in Cray's and SGI's #       MPI_Type_get_contents (does not increment reference count).#       Others needed because MPISGI needed.    MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"    MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"    MPI_OFFSET_KIND_VAL=8fi#if test -n "$arch_sgi" ; then    arch_IRIX=1    ARCH=IRIXfiif test -n "$arch_IRIX64" || test -n "$arch_IRIX32" || test -n "$arch_IRIXN32" ; then    arch_IRIX=1fiif test -n "$arch_sgi5" ; then    arch_IRIX5=1    ARCH=IRIXfi#PAC_GET_SPECIAL_SYSTEM_INFO## special case 'sgi5' for use on MESHINE which is much like an SGI running# irix 5 with r4400 chips, but does not have 'hinv', so above code doesn't# workif test -n "$arch_sgi5"; then   osversion=5   cputype=4400   IRIXARCH="$ARCH_$osversion"   IRIXARCH="$IRIXARCH_$cputype"# now set arch_IRIX to 1   arch_IRIX=1   echo "IRIX-specific architecture is $IRIXARCH"   AC_DEFINE(IRIX,1,[Define if IRIX])fi#if test -n "$arch_IRIX"; then   if test $osversion = 4 ; then	RANLIB="ar ts"        if test -n "$mpi_sgi"; then            AC_MSG_ERROR([SGI\'s MPI does not work with IRIX 4.x])        fi   elif test $osversion = 5 ; then        if test -n "$mpi_sgi"; then            AC_MSG_ERROR([SGI\'s MPI does not work with IRIX 5.x])        fi   elif test $osversion = 6 ; then	if test -z "$MPI"; then	    if test "$FROM_MPICH2" = "yes" ; then	        # Building with MPICH2.  Distinguish from MPICH-1		MPI=mpich2		mpi_mpich2=1            elif test -f "/usr/include/mpi.h" ; then                # removed use of escaped single quotes in messages		# because they confuse Emacs, making it hard to 		# read the files (with emacs :) )                AC_MSG_WARN([assuming that you want to use ROMIO with the SGI MPI])                MPI=sgi                mpi_sgi=1            else 	        AC_MSG_WARN([assuming that you want to use ROMIO with MPICH])                MPI=mpich                mpi_mpich=1            fi            	fi        RANLIB=":"        AC_DEFINE(AIO_SIGNOTIFY_NONE,1,[Define if no signotify])	if test $cputype -ge 5000 ; then            MIPS=4        else             MIPS=3        fi   fi   if test -n "$mpi_sgi" && test -z "$MPI_LIB" ; then       MPI_LIB="-lmpi"   fi#  check if pread64 is defined   PAC_HAVE_PREAD64#   if test -z "$FILE_SYSTEM" ; then       file_system_nfs=1       FILE_SYSTEM="nfs"       AC_MSG_CHECKING(for xfs)       AC_TRY_COMPILE([#include <aio.h>],[aiocb64_t *t1;],file_system_xfs=1;FILE_SYSTEM="xfs $FILE_SYSTEM";)       if test "$file_system_xfs" = 1 ; then           AC_MSG_RESULT(yes)       else          AC_MSG_RESULT(no)          file_system_ufs=1          FILE_SYSTEM="ufs $FILE_SYSTEM"       fi   fi   AC_DEFINE(IRIX,1,[Define if IRIX])   MPI_OFFSET_KIND1="      INTEGER MPI_OFFSET_KIND"   MPI_OFFSET_KIND2="      PARAMETER (MPI_OFFSET_KIND=8)"   MPI_OFFSET_KIND_VAL=8fiAC_HAVE_FUNCS(memalign)## Question: Should ROMIO under MPICH2 ignore the Fortran tests, since # MPICH2 provides all of the Fortran interface routines?#if test $NOF77 = 0 ; then    echo "checking Fortran external names"    PAC_GET_FORTNAMES    if test -n "$WDEF" ; then        CFLAGS="$CFLAGS $WDEF"    fi    dnl PAC_PROG_F77_NAME_MANGLE    dnl (need to set the new name format)    rm -f test/mpif.h    if test "$MPI_INCLUDE_DIR" != "." && test $WITHIN_KNOWN_MPI_IMPL = no ; then        if test ! -d test ; then mkdir test ; fi        ln -s $MPI_INCLUDE_DIR/mpif.h test    fielse     F77=":"fi#AC_C_INLINE# Header files# Find the CPP before the header checkAC_PROG_CPPAC_CHECK_HEADERS(unistd.h fcntl.h malloc.h stddef.h)#CROSS_SIZEOF_INT=${CROSS_SIZEOF_INT:-0}CROSS_SIZEOF_VOID_P=${CROSS_SIZEOF_VOID_P:-0}AC_CHECK_SIZEOF(int,$CROSS_SIZEOF_INT)AC_CHECK_SIZEOF(void *,$CROSS_SIZEOF_VOID_P)AC_CACHE_CHECK([for int large enough for pointers],pac_cv_int_hold_pointer,[if test "$ac_cv_sizeof_int" = "0" -o \	"$ac_cv_sizeof_void_p" = "0" ; then    pac_cv_int_hold_pointer=unknownelif test "$ac_cv_sizeof_int" -lt "$ac_cv_sizeof_void_p" ; then    pac_cv_int_hold_pointer=noelse    pac_cv_int_hold_pointer=yesfi])if test "$pac_cv_int_hold_pointer" != yes ; then    AC_DEFINE(INT_LT_POINTER,1,[Define if int smaller than pointer])    dnl Switch to a conforming name (start with HAVE or USE)    AC_DEFINE(HAVE_INT_LT_POINTER,1,[Define if int smaller than pointer])fi#dnl The original ROMIO configure used a set of complex tests here; thisdnl is a partial reworking using the autoconf2 sizeof macros, and allowingdnl for the standardized CROSS_xxx varaibles for cross-compilation environments# LL is the printf-style format name for output of a MPI_Offset.# We have to match this to the type that we use for MPI_Offset.CROSS_SIZEOF_LONG_LONG=${CROSS_SIZEOF_LONG_LONG:-0}AC_CHECK_SIZEOF(long long,$CROSS_SIZEOF_LONG_LONG)if test "$ac_cv_sizeof_long_long" != 0 ; then    if test "$ac_cv_sizeof_long_long" = "8" ; then       AC_DEFINE(HAVE_LONG_LONG_64,1,[Define if long long is 64 bits])       MPI_OFFSET_TYPE="long long"       DEFINE_MPI_OFFSET="typedef long long MPI_Offset;"       FORTRAN_MPI_OFFSET="integer*8"       LL="lld"    elif test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_int" ; then       MPI_OFFSET_TYPE="int"       DEFINE_MPI_OFFSET="typedef int MPI_Offset;"       FORTRAN_MPI_OFFSET="integer"       AC_DEFINE(MPI_OFFSET_IS_INT,1,[Define if MPI_Offset is int])       LL="d"       MPI_OFFSET_KIND1="!"       MPI_OFFSET_KIND2="!"    else       echo "defining MPI_Offset as long in C and integer in Fortran"        MPI_OFFSET_TYPE="long"       DEFINE_MPI_OFFSET="typedef long MPI_Offset;"       FORTRAN_MPI_OFFSET="integer"       LL="ld"       MPI_OFFSET_KIND1="!"       MPI_OFFSET_KIND2="!"    fielse    echo "defining MPI_Offset as long in C and integer in Fortran"     MPI_OFFSET_TYPE="long"    DEFINE_MPI_OFFSET="typedef long MPI_Offset;"    FORTRAN_MPI_OFFSET="integer"    LL="ld"    MPI_OFFSET_KIND1="!"    MPI_OFFSET_KIND2="!"fi#if test -n "$longlongsize"; then   if test $WITHIN_KNOWN_MPI_IMPL = no ; then       PAC_MPI_LONG_LONG_INT   else       AC_DEFINE(HAVE_MPI_LONG_LONG_INT,1,[Define if supports long long int])   fifi#if test -n "$OFFSET_KIND" -a "A$MPI_OFFSET_KIND1" = "A!" ; then   MPI_OFFSET_KIND1="        INTEGER MPI_OFFSET_KIND"  MPI_OFFSET_KIND2="        PARAMETER (MPI_OFFSET_KIND=$OFFSET_KIND)"  MPI_OFFSET_KIND_VAL=$OFFSET_KINDelse if test "$FORTRAN_MPI_OFFSET" = "integer*8" && test "A$MPI_OFFSET_KIND2" = "A!" && test $NOF77 = 0 && test $NOF90 = 0 ; then   PAC_MPI_OFFSET_KIND fi #  if test "$FORTRAN_MPI_OFFSET" = "integer" && test "A$MPI_OFFSET_KIND2" = "A!" && test $NOF77 = 0 && test $NOF90 = 0 ; then   PAC_MPI_OFFSET_KIND_4BYTE  fifi## Test that we can use the FORTRAN_MPI_OFFSET type.  If the environment# is a strict Fortran 90/95 or later compiler, the "integer*8" format# may not work.if test "$NOF77" = 0 ; then    rm -f conftest*    ac_cv_f77_offset_type_works=no    AC_MSG_CHECKING([that we can use $FORTRAN_MPI_OFFSET to declare MPI_DISPLACMENT_CURRENT])    cat >conftest.f <<EOF        program main        $FORTRAN_MPI_OFFSET j        endEOF    if $F77 -o conftest conftest.f >>config.log 2>&1 && test -x conftest ; then        ac_cv_f77_offset_type_works=yes    fi    rm -f conftest*    AC_MSG_RESULT($ac_cv_f77_offset_type_works)    if test "$ac_cv_f77_offset_type_works" != "yes" -a -n "$MPI_OFFSET_KIND_VAL"; then        AC_MSG_CHECKING([whether we can use KIND with the selected F77 compiler $F77])        ac_cv_f77_allows_offset_kind=no        rm -f conftest*        cat >conftest.f <<EOF        program main        integer (kind=$MPI_OFFSET_KIND_VAL) j        endEOF        if $F77 -o conftest conftest.f >>config.log 2>&1 && test -x conftest ; then            ac_cv_f77_allows_offset_kind=yes        fi        rm -f conftest*        AC_MSG_RESULT($ac_cv_f77_allows_offset_kind)        if test "$ac_cv_f77_allows_offset_kind" ; then             FORTRAN_MPI_OFFSET="integer (kind=$MPI_OFFSET_KIND_VAL)"        else             AC_MSG_WARN([Could not find a way to declare an integer type corresponding to MPI_Offset in Fortran.])        fi    fifi## check if MPI_Info functions are defined in the MPI implementationif test $WITHIN_KNOWN_MPI_IMPL = no ; then   PAC_MPI_INFOelse   AC_DEFINE(HAVE_MPI_INFO,1,[Define if MPI Info is available])   HAVE_MPI_INFO="#define HAVE_MPI_INFO"   MPI_FINFO1="!"   MPI_FINFO2="!"   MPI_FINFO3="!"   MPI_FINFO4="!"fi   #if test -n "$mpi_sgi"; thendnl   if test -z "$HAVE_MPI_INFO" ; thendnl      PAC_CHECK_MPI_SGI_INFO_NULL  # is MPI_INFO_NULL defined in mpi.h?dnl   fi   PAC_TEST_MPI_SGI_type_is_contig   PAC_TEST_MPI_COMBINERS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -