~ubuntu-branches/ubuntu/utopic/nwchem/utopic

« back to all changes in this revision

Viewing changes to src/tools/ga-5-2/m4/ga_mpicc_test.m4

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# GA_MPICC_TEST_PROGRAM
 
2
# ---------------------
 
3
# Create an MPI test program in C.
 
4
AC_DEFUN([GA_MPICC_TEST_PROGRAM], [
 
5
AC_LANG_PUSH([C])
 
6
AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <mpi.h>]],
 
7
[[int myargc; char **myargv; MPI_Init(&myargc, &myargv); MPI_Finalize();]])])
 
8
AC_LANG_POP([C])
 
9
])dnl
 
10
 
 
11
# GA_MPICC_TEST_COMPILE
 
12
# ---------------------
 
13
# Attempt to compile a simple MPI program in C.
 
14
AC_DEFUN([GA_MPICC_TEST_COMPILE], [
 
15
AC_LANG_PUSH([C])
 
16
GA_MPICC_TEST_PROGRAM()
 
17
AC_CACHE_CHECK([whether a simple C MPI program compiles],
 
18
    [ga_cv_c_mpi_test_compile],
 
19
    [ga_save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $GA_MP_CPPFLAGS"
 
20
     AC_COMPILE_IFELSE([],
 
21
        [ga_cv_c_mpi_test_compile=yes],
 
22
        [ga_cv_c_mpi_test_compile=no])
 
23
     CPPFLAGS="$ga_save_CPPFLAGS"])
 
24
rm -f conftest.$ac_ext
 
25
AC_LANG_POP([C])
 
26
AS_IF([test "x$ga_cv_c_mpi_test_compile" = xno],
 
27
    [AC_MSG_FAILURE([could not compile simple C MPI program])])
 
28
])dnl
 
29
 
 
30
# GA_MPICC_TEST_LINK
 
31
# ------------------
 
32
# Attempt to link a simple MPI program in C.
 
33
AC_DEFUN([GA_MPICC_TEST_LINK], [
 
34
AC_LANG_PUSH([C])
 
35
GA_MPICC_TEST_PROGRAM()
 
36
ga_cv_c_mpi_test_link=no
 
37
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
38
    [AC_MSG_CHECKING([whether a C MPI program links natively])
 
39
     AC_LINK_IFELSE([],
 
40
        [ga_cv_c_mpi_test_link=yes
 
41
         GA_MP_LIBS=
 
42
         GA_MP_LDFLAGS=
 
43
         GA_MP_CPPFLAGS=],
 
44
        [ga_cv_c_mpi_test_link=no])
 
45
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
46
# That didn't work, so now let's try adding our GA_MP_* flags.
 
47
# The CPPFLAGS and LDFLAGS are added up top here, but LIBS will change.
 
48
ga_save_LIBS="$LIBS"
 
49
ga_save_CPPFLAGS="$CPPFLAGS";  CPPFLAGS="$CPPFLAGS $GA_MP_CPPFLAGS"
 
50
ga_save_LDFLAGS="$LDFLAGS";    LDFLAGS="$LDFLAGS $GA_MP_LDFLAGS"
 
51
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
52
    [AC_MSG_CHECKING([whether a C MPI program links with additional env])
 
53
     LIBS="$LIBS $GA_MP_LIBS"
 
54
     AC_LINK_IFELSE([],
 
55
        [ga_cv_c_mpi_test_link=yes],
 
56
        [ga_cv_c_mpi_test_link=no])
 
57
     LIBS="$ga_save_LIBS"
 
58
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
59
# That didn't work, so now let's try with specific libs.
 
60
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
61
    [AC_MSG_CHECKING([for mvapich libraries])
 
62
     for lib in "-lmpich -lpthread" "-lmpich"
 
63
     do
 
64
        LIBS="$LIBS $lib"
 
65
        AC_LINK_IFELSE([],
 
66
            [ga_cv_c_mpi_test_link="$lib"; break],
 
67
            [ga_cv_c_mpi_test_link=no])
 
68
        LIBS="$ga_save_LIBS"
 
69
     done
 
70
     LIBS="$ga_save_LIBS"
 
71
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
72
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
73
    [AC_MSG_CHECKING([for mpich libraries])
 
74
     for lib in "-lmpich -lpthread" "-lmpich"
 
75
     do
 
76
        LIBS="$LIBS $lib"
 
77
        AC_LINK_IFELSE([],
 
78
            [ga_cv_c_mpi_test_link="$lib"; break],
 
79
            [ga_cv_c_mpi_test_link=no])
 
80
        LIBS="$ga_save_LIBS"
 
81
     done
 
82
     LIBS="$ga_save_LIBS"
 
83
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
84
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
85
    [AC_MSG_CHECKING([for hpmpi libraries])
 
86
     for lib in "-lhpmpio -lhpmpi" "-lhpmpi"
 
87
     do
 
88
        LIBS="$LIBS $lib"
 
89
        AC_LINK_IFELSE([],
 
90
            [ga_cv_c_mpi_test_link="$lib"; break],
 
91
            [ga_cv_c_mpi_test_link=no])
 
92
        LIBS="$ga_save_LIBS"
 
93
     done
 
94
     LIBS="$ga_save_LIBS"
 
95
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
96
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
97
    [AC_MSG_CHECKING([for intelmpi libraries])
 
98
     for lib in "-lmpi -lmpiif -lmpigi -lrt -lpthread" "-lmpi -lmpiif -lmpigi"
 
99
     do
 
100
        LIBS="$LIBS $lib"
 
101
        AC_LINK_IFELSE([],
 
102
            [ga_cv_c_mpi_test_link="$lib"; break],
 
103
            [ga_cv_c_mpi_test_link=no])
 
104
        LIBS="$ga_save_LIBS"
 
105
     done
 
106
     LIBS="$ga_save_LIBS"
 
107
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
108
AS_IF([test "x$ga_cv_c_mpi_test_link" = xno],
 
109
    [AC_MSG_CHECKING([for openmpi libraries])
 
110
     for lib in "-lmpi -lpthread" "-lmpi"
 
111
     do
 
112
        LIBS="$LIBS $lib"
 
113
        AC_LINK_IFELSE([],
 
114
            [ga_cv_c_mpi_test_link="$lib"; break],
 
115
            [ga_cv_c_mpi_test_link=no])
 
116
        LIBS="$ga_save_LIBS"
 
117
     done
 
118
     LIBS="$ga_save_LIBS"
 
119
     AC_MSG_RESULT([$ga_cv_c_mpi_test_link])])
 
120
rm -f conftest.$ac_ext
 
121
LIBS="$ga_save_LIBS"
 
122
LDFLAGS="$ga_save_LDFLAGS"
 
123
CPPFLAGS="$ga_save_CPPFLAGS"
 
124
AC_LANG_POP([C])
 
125
AS_CASE([$ga_cv_c_mpi_test_link],
 
126
    [yes],  [],
 
127
    [no],   [AC_MSG_FAILURE([could not link a C MPI program])],
 
128
    [*],    [GA_MP_LIBS="$ga_cv_c_mpi_test_link"],
 
129
    [])
 
130
])dnl