Show git sha1 hash in version string (bug #393).
[gromacs/qmmm-gamess-us.git] / configure.ac
blob08e00c91749dadaba6eb0f6cf79c796292b73b9c
1 #######################################################################
2 # Process this file wth autoconf to produce a configure script.
3 #######################################################################
4  
5 AC_PREREQ(2.50)
6 AC_INIT(gromacs, 4.0.99_development_20090927, [gmx-users@gromacs.org])
7 AC_CONFIG_SRCDIR(src/gmxlib/3dview.c)
8 AC_CONFIG_AUX_DIR(config)
9 AC_CANONICAL_HOST
11 AM_INIT_AUTOMAKE(tar-ustar)
12 AC_PREFIX_DEFAULT(/usr/local/gromacs)
14 AM_CONFIG_HEADER(src/config.h)
15 dnl This is the version info according to the libtool versioning system.
16 dnl It does *not* correspond to the release number.
17 SHARED_VERSION_INFO="5:0:0"
18 AC_SUBST(SHARED_VERSION_INFO)
20 AC_DISABLE_SHARED
23 #######################################################################
24 # Simple options and makefile variables
25 #######################################################################
27 # This is currently not defined by CMake, because it's tricky to generate
28 # version.h portably (the autoconf rules for it are in src/gmxlib/Makefile.am).
29 AC_DEFINE(USE_VERSION_H,,[Use the version string from generated version.h])
31 ### Single/Double
32 AC_ARG_ENABLE(float,
33              [AC_HELP_STRING([--disable-float],
34                              [Use double instead of single precision])],, enable_float=yes)
36 AC_ARG_ENABLE(double,
37              [AC_HELP_STRING([--enable-double],
38                              [Same effect as --disable-float])],, enable_double=no)
39 if test "$enable_double" = "yes"; then
40    enable_float=no;
42 if test "$enable_float" = "no"; then
43   AC_DEFINE(GMX_DOUBLE,,[Compile in double precision])
45 AM_CONDITIONAL([GMX_DOUBLE],[test "$enable_float" = "no"])
49 ### Fortran or not
50 AC_ARG_ENABLE(fortran,
51              [AC_HELP_STRING([--enable-fortran],
52                              [Use Fortran kernels])],, 
53 [case "${host_cpu}-${host_os}" in
54   sparc*-solaris* | alpha*-* | rs6000*-aix* | powerpc*-aix* | mips*-irix*) enable_fortran=yes ;;
55   *) enable_fortran=no ;;
56  esac])
57 if test "$enable_fortran" = "yes"; then
58   AC_DEFINE(GMX_FORTRAN,,[Enable Fortran support])
60 # Generic fortran kernels will be turned off below if you enable power6-specific optimization!
61 # always use CC for linking:
62 AC_SUBST(F77LINK,"\$(LINK)")
68 ### MPI or not
69 AC_ARG_ENABLE(mpi,
70               [AC_HELP_STRING([--enable-mpi],
71                               [Compile for parallel runs using MPI]
72                               [(instead of threads)])],,enable_mpi=no)
75 ### MPI environment
76 AC_ARG_ENABLE(mpi-environment,
77               [AC_HELP_STRING([--enable-mpi-environment=VAR],
78                               [Only start parallel runs when VAR is set])],,
79 [case "${host_cpu}" in
80   mips*-irix*) enable_mpi_environment="MPI_ENVIRONMENT" ;;
81   *) enable_mpi_environment=no ;;
82 esac])
83 if test "$enable_mpi_environment" != "no"; then
84   AC_DEFINE_UNQUOTED(GMX_CHECK_MPI_ENV,"$enable_mpi_environment",[If defined, only start MPI runs when this variable is set])
87 ### MPI_IN_PLACE
88 AC_ARG_ENABLE(mpi-in-place,
89               [AC_HELP_STRING([--disable-mpi-in-place],
90                               [Disable MPI_IN_PLACE. For MPI implementations]
91                               [that have broken support for it ]
92                               [(some versions of MPICH, for example).])],, enable_mpi_in_place=yes)
96 AC_ARG_ENABLE(debug,
97               [AC_HELP_STRING([--enable-debug],
98                               [Add -g to other command line arguments])],,enable_debug=no)
100 ### IA32 assembly code
101 AC_ARG_ENABLE(ia32_sse,
102               [AC_HELP_STRING([--disable-ia32-sse],
103                               [Don't build SSE/SSE2 assembly loops on ia32])],,enable_ia32_sse=yes)
105 case "${host_cpu}-${host_vendor}" in
106    i?86-*) ;;
107    *) enable_ia32_sse=no ;;
108 esac
110 ### AMD64 assembly code
111 AC_ARG_ENABLE(x86_64_sse,
112               [AC_HELP_STRING([--disable-x86-64-sse],
113                               [Don't build SSE assembly loops on X86_64])],,enable_x86_64_sse=yes)
114 case "${host_cpu}-${host_vendor}" in
115    x86_64-* | amd64-*) ;;
116    i?86-apple) ;;
117    *) enable_x86_64_sse=no ;;
118 esac
121 ### Altivec on powerpc (motorola)
122 AC_ARG_ENABLE(ppc_altivec,
123               [AC_HELP_STRING([--disable-ppc-altivec],
124                               [Don't build Altivec loops on PowerPC])],,enable_ppc_altivec=undef)
125 # Power3/4/5 running AIX does not support altivec. We identify this with vendor=IBM.
126 # IBM powerpc 970 boxes run linux, and have vendor=unknown.
127 if test "$enable_ppc_altivec" = "undef"; then
128   case "${host_cpu}-${host_vendor}" in
129     ppc*-ibm* | powerpc*-ibm*) enable_ppc_altivec=no ;;
130     ppc*-* | powerpc*-*) enable_ppc_altivec=yes ;; 
131     *) enable_ppc_altivec=no ;;
132   esac
137 ### ia64 assembly code
138 AC_ARG_ENABLE(ia64_asm,
139               [AC_HELP_STRING([--disable-ia64-asm],
140                               [Don't build assembly loops on ia64])],,enable_ia64_asm=yes)
141 case "${host_cpu}" in
142    ia64) ;;
143    *) enable_ia64_asm=no ;;
144 esac
147 # IBM Power6-specific optimization
148 AC_ARG_ENABLE(power6,
149              [AC_HELP_STRING([--enable-power6],
150                              [Use IBM Pwr6/PPC440/PPC450-specific F77 kernels])],,enable_power6=no)
151 # Turn off generic fortran loops if we are using power6-specific optimization
152 if test "$enable_power6" = "yes"; then
153   enable_fortran=no;
156 AC_ARG_ENABLE(bluegene,
157               [AC_HELP_STRING([--enable-bluegene],
158                               [Build assembly intrinsics kernels on bluegene])],,enable_bluegene=no)
161 ### Optimize for host cpu version
162 AC_ARG_ENABLE(cpu-optimization,     
163               [AC_HELP_STRING([--disable-cpu-optimization],
164                               [No detection or tuning flags for cpu version])],, enable_cpu_optimization=yes)
167 ### Do software 1/sqrt(x)                                                                                                            
168 AC_ARG_ENABLE(software-invsqrt,
169               [AC_HELP_STRING([--disable-software-invsqrt],
170                               [No software 1/sqrt (disabled on sgi,ibm,ia64)])],,
171 [case "${host_cpu}-${host_os}" in
172   mips*-irix* | rs6000*-aix* | powerpc*-aix | ia64*-*) enable_software_invsqrt=no ;;
173   *) enable_software_invsqrt=yes ;;
174 esac])
175 if test "$enable_software_invsqrt" = "yes"; then
176   AC_DEFINE(GMX_SOFTWARE_INVSQRT,,[Use the GROMACS software 1/sqrt(x)])
178 AM_CONDITIONAL([GMX_SOFTWARE_INVSQRT],[test "$enable_software_invsqrt" = "yes"])
180 AC_ARG_ENABLE(fahcore,
181               [AC_HELP_STRING([--enable-fahcore],
182                               [Create a library with mdrun functionality])],, enable_fahcore=no)
186 # The four options below used to improve code scheduling, but the newest CPUs can usually rearrange
187 # instructions dynamically at runtime, so they might not make much difference now:
190 AC_ARG_ENABLE(all-static,
191               [AC_HELP_STRING([--enable-all-static],
192                               [Make completely static binaries])],, enable_all_static=no)
193 # Dont add the -all-static flag until after the compiler test.
196 # FFT libraries - only use one...
197 AC_ARG_WITH(fft,
198             [AC_HELP_STRING([--with-fft=@<:@fftw3/fftw2/mkl(>=6.0)/fftpack@:>@],
199                             [FFT library to use. fftw3 is default, fftpack built in.])],,
200                              with_fft=fftw3)
202 AC_ARG_ENABLE(fftw-measure,
203             [AC_HELP_STRING([--disable-fftw-measure],
204                             [Dont optimize FFTs. This produces binary exactly]
205                             [reproducible runs (as the -reprod flag to mdrun),]
206                             [and if you are using FFTW on x86 and specified its]
207                             [--enable-sse/sse2 flag (NOT default in FFTW!) the]
208                             [kernels used are close-to-optimal anyway.])],,
209                              enable_fftw_measure=yes)
212 AC_ARG_ENABLE(threads,
213               [AC_HELP_STRING([--disable-threads],    
214                               [Disable parallel runs using threads])],,enable_threads=yes)
217 ### Use external BLAS/LAPACK libraries if the user wants to.
219 AC_ARG_WITH(external_blas,
220             [AC_HELP_STRING([--with-external-blas],
221                             [Use system BLAS library (add to LIBS). Automatic on OS X.])],,
223 # default action - check if we are on OS X
224 case "${host_vendor}-${host_os}" in
225   apple-darwin*) with_external_blas="yes" ; extra_LDFLAGS="-framework Accelerate" ;;
226   *)             with_external_blas="no"  ;;
227 esac
229 AM_CONDITIONAL([GMX_EXTERNAL_BLAS], [test "$with_external_blas" = "yes"])
232 AC_ARG_WITH(external_lapack,
233             [AC_HELP_STRING([--with-external-lapack],
234                             [Use system LAPACK library (add to LIBS). Automatic on OS X.])],,
236 # default action - check if we are on OS X
237 case "${host_vendor}-${host_os}" in
238   apple-darwin*) with_external_lapack="yes" ; extra_LDFLAGS="-framework Accelerate" ;;
239   *)             with_external_lapack="no"  ;;
240 esac
242 AM_CONDITIONAL([GMX_EXTERNAL_LAPACK], [test "$with_external_lapack" = "yes"])
247 AC_ARG_WITH(qmmm_gaussian,
248               [AC_HELP_STRING([--without-qmmm-gaussian],
249                               [Use modified Gaussian0x for QM-MM (see website)])],,with_qmmm_gaussian=yes)
250 if test "$with_qmmm_gaussian" = "yes"; then
251   AC_DEFINE(GMX_QMMM_GAUSSIAN,,[Use (modified) Gaussian0x for QM-MM calculations])
255 AC_ARG_WITH(qmmm_gamess,
256               [AC_HELP_STRING([--without-qmmm-gamess],
257                               [Use modified Gamess-UK for QM-MM (see website)])],,with_qmmm_gamess=no)
258 if test "$with_qmmm_gamess" = "yes"; then
259   AC_DEFINE(GMX_QMMM_GAMESS,,[Use (modified) Gamess-UK for QM-MM calculations])
263 AC_ARG_WITH(qmmm_mopac,
264               [AC_HELP_STRING([--without-qmmm-mopac],
265                               [Use modified Mopac 7 for QM-MM (see website)])],,with_qmmm_mopac=no)
266 if test "$with_qmmm_mopac" = "yes"; then
267   AC_DEFINE(GMX_QMMM_MOPAC,,[Use (modified) Mopac 7 for QM-MM calculations])
270 AC_ARG_WITH(dlopen,
271             [AC_HELP_STRING([--without-dlopen],
272                             [do not compile with dlopen, needed to read VMD]
273                             [supported file formats])],,with_dlopen=yes)
277    
279 ############################################################
280 # Add some debug info: Who is building, and on what machine?
281 ############################################################
282 AC_DEFINE_UNQUOTED([BUILD_TIME],["`date`"],[Date and time for build])
283 AC_DEFINE_UNQUOTED([BUILD_USER],["`whoami`@`hostname`"],[User doing build])
284 AC_DEFINE_UNQUOTED([BUILD_MACHINE],["`uname -srm`"],[Hardware and OS version for build host])
288 ############################################################
289 # Checks for programs
290 ############################################################
292 # normally we use the default compiler, but on alpha/linux we try the compaq ones first
293 case "${host_cpu}-${host_os}" in
294   alpha*-linux*)
295     cc_names="ccc cc gcc"
296     f77_names="fort f77 g77"
297     ;;
298   *) 
299     cc_names="cc icc xlc gcc"
300     f77_names="f77 ifort xlf xlf77 cf77 fl32 g77 fort77 f90 xlf90 pgf77 cf77 fort fort77 pgf90"
301     ;;
302 esac
303 # the (non-mpi) c compiler, which is also used for programs executed during build stage
304 AC_PROG_CC( $cc_names )
305 # Check for environment variable CC_FOR_BUILD before overwriting it
306 if test -z "$CC_FOR_BUILD"; then
307   CC_FOR_BUILD=$CC
309 AC_SUBST(CC_FOR_BUILD) 
311 if test "$enable_fortran" = "yes"; then 
312   AC_PROG_F77( $f77_names )
313   if test -z "$F77"; then
314     AC_MSG_ERROR([No fortran compiler found])
315   fi
318 AM_PROG_AS( $CC )
320 # if we are using mpi, also get an MPICC. We cannot set that in the PROG_CC macro
321 # above, since autoconf checks that the created file can be executed. This would
322 # fail on platforms where MPI executables can only be run through a batchqueue.
324 if test "$enable_mpi" = "yes"; then
325   enable_threads="no"
326   AC_CHECK_PROGS(MPICC, mpxlc mpicc mpcc hcc, $CC)
327 # now change the normal cc to the MPI one - see the comment above.
328   CC=$MPICC
329   CXX=$MPICC
330   AC_MSG_CHECKING([whether the MPI cc command works]) # be paranoid
331   AC_TRY_LINK([#include <mpi.h>],[int argc; char **argv; MPI_Init(&argc,&argv);],
332 AC_MSG_RESULT([yes]),AC_MSG_ERROR([Cannot compile and link MPI code with $CC]))
333   AC_DEFINE(GMX_MPI,,[Make a parallel version of GROMACS using MPI])
334   AC_DEFINE(GMX_LIB_MPI,,[Use a real MPI library])
336   if test "$enable_mpi_in_place" = "yes"; then
337     # not all MPIs support MPI_IN_PLACE:
338     AC_MSG_CHECKING([for MPI_IN_PLACE in collective operations])
339     AC_TRY_COMPILE([
340 #include <mpi.h>
341 void test(void)
343     void *buf;
344     MPI_Allreduce(MPI_IN_PLACE, buf, 10, MPI_FLOAT, MPI_SUM, MPI_COMM_WORLD);
346     ],,[
347         AC_MSG_RESULT([yes])
348         AC_DEFINE(MPI_IN_PLACE_EXISTS,[],[MPI_IN_PLACE available for collective operations])
349     ],[
350         AC_MSG_RESULT([no])
351     ]) 
352   fi
354 # on the cray xt3 we have to tell autoconf that we 
355 # are actually cross-compiling even if the architecture
356 # of host and target are the same. so we enforce 
357 # cross-compilation if __QK_USER__ is defined
358   AC_MSG_CHECKING([for catamount])
359   AC_TRY_COMPILE([
360 #if defined __QK_USER__
361 #else
362 #error not catamount
363 #endif
364 ],,[
365   AC_MSG_RESULT([yes])
366   cross_compiling=yes 
367   AC_DEFINE(GMX_CRAY_XT3,[],[Enable special hacks for Cray XT3])
368   AC_DEFINE(GMX_NO_SYSTEM,[],[Ignore calls to system(3)])
369   AC_DEFINE(GMX_NO_NICE,[],[Ignore calls to nice(3)])
370   AC_DEFINE(GMX_BROKEN_CALLOC,[],[Don't use calloc(3)])
371   extra_LDFLAGS="$extra_LDFLAGS -lgmalloc -lacml"
373   AC_MSG_RESULT([no])
375 # end of "$enable_mpi" = "yes"
379 AH_TEMPLATE([F77_OR_C_FUNC],
380             [Set to F77_FUNC(name,NAME) if Fortran used, otherwise 'name' for C.])
381 AH_TEMPLATE([F77_OR_C_FUNC_],
382             [Set to F77_FUNC_(name,NAME) if Fortran used, otherwise 'name' for C.])
386 if test "$enable_fortran" = "yes"; then
387   AC_F77_LIBRARY_LDFLAGS
388   AC_F77_WRAPPERS
389   AC_DEFINE([F77_OR_C_FUNC(name,NAME)],[F77_FUNC(name,NAME)])
390   AC_DEFINE([F77_OR_C_FUNC_(name,NAME)],[F77_FUNC_(name,NAME)])
391 else
392   AC_DEFINE([F77_OR_C_FUNC(name,NAME)],[name])
393   AC_DEFINE([F77_OR_C_FUNC_(name,NAME)],[name])
398 AC_PROG_CPP
399 # Needed by libtool scripts?
400 AC_PROG_EGREP
402 if test "$enable_cpu_optimization" = "yes"; then
403   ACX_DETECT_GMXCPU
404 else
405   gmxcpu=""
407 ACX_COMPILER_MAXOPT
410 # We've postponed the threads check because we need to check with the right
411 # compilers/flags 
412 if test "$enable_threads" = "yes"; then 
413   if test "$enable_mpi" = "yes"; then
414     AC_MSG_ERROR([Cannot use both threads and MPI - yet.])
415   fi
416   if test "$with_fft" = "fftw2"; then
417     AC_MSG_ERROR([fftw2 can't be used with threads. Use fftw3 or mkl.])
418   fi 
419   # for now we just assume pthreads
420   ACX_PTHREAD(,AC_MSG_ERROR([Cannot find POSIX threads - required for thread    support using configure!]))
421   LIBS="$PTHREAD_LIBS $LIBS"
422   CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
423   CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
424   CC="$PTHREAD_CC "
425   AC_DEFINE(THREAD_PTHREADS,,[Use pthreads for thread_mpi multithreading])
426   AC_DEFINE(GMX_THREADS,,[Use threads for parallelization])
427   AC_DEFINE(GMX_MPI,,[Make a parallel version of GROMACS using MPI])
428   AM_CONDITIONAL(THREAD_PARALLEL,true)
429 else
430   AM_CONDITIONAL(THREAD_PARALLEL,false)
435 #############
436 # Check integer endian
437 #############
438 AC_C_BIGENDIAN([AC_DEFINE([GMX_INTEGER_BIG_ENDIAN],,[Integer byte order is big endian.])],[],[
439 AC_MSG_ERROR([Cannot determine endian in compiled output])])
440 # Little endian implied if GMX_INTEGER_BIG_ENDIAN not defined in source.
442 #############
443 # Make sure size_t can hold pointers.
444 # On some Nec machines, you reportedly need to specify a flag for size_t to be 64 bits wide.
445 #############
446 AC_MSG_CHECKING([that size_t can hold pointers])
447 AC_TRY_COMPILE([
448 #include <stdlib.h>
449 #include <stddef.h>
450 ],[int chk[sizeof(size_t)-sizeof(int *)+1];],AC_MSG_RESULT([yes]),[
451    AC_MSG_ERROR([size_t is smaller than int*. Check if your compiler needs a flag to make it 64 bit.])])
454 #############
455 # Check that SIGUSR1 is defined
456 #############
457 AC_MSG_CHECKING([for SIGUSR1])
458 AC_TRY_COMPILE([#include <signal.h>],[int i=SIGUSR1;],[
459 AC_MSG_RESULT([yes])
460 AC_DEFINE(HAVE_SIGUSR1,,[SIGUSR1 supported and defined])
461 ],AC_MSG_RESULT([no]))
463 #############
464 # Check if pipes are supported
465 #############
466 AC_MSG_CHECKING([for pipes])
467 AC_TRY_COMPILE([#include <stdio.h>],[
468 FILE *pipe=popen("/tmp/pipe","r");
470 AC_MSG_RESULT([yes])
471 AC_DEFINE(HAVE_PIPES,,[Pipes (popen/pclose) supported])
472 ],AC_MSG_RESULT([no]))
476 #############
477 # Check floating-point format and endian
478 #############
479 ACX_FLOAT_FORMAT
482 AC_PROG_INSTALL
483 AC_PROG_LN_S
484 AC_PROG_MAKE_SET
485 AC_LIBTOOL_WIN32_DLL
486 AC_PROG_LIBTOOL
487 AC_SYS_LARGEFILE
489 # Use our own version of AC_FUNC_FSEEKO from autoconf 2.63 instead
490 # of the broken one we might get from autoconf 2.61.
491 ACX_FUNC_FSEEKO_FIXED
496 ############################################################################
497 # Checks for libraries.
498 ############################################################################
500 # Don't add math library for intel compilers
501 if $CC -V 2>&1 | grep 'Intel Corporation' > /dev/null 2>&1; then
502   AC_MSG_NOTICE([Using built-in math library with intel compiler])
503 else
504   AC_CHECK_LIB(m,sqrt,,AC_MSG_ERROR([No math library found]))
507 #####
508 # Disable MASS support for now.
509 #####
512 case "$with_fft" in
513 fftw2)
514   if test "$enable_float" = "yes"; then
515     sizeof_real=4
516   else
517     sizeof_real=8
518   fi
519   ACX_CHECK_FFTW2(fftw,$sizeof_real)
520   ACX_CHECK_FFTW2(rfftw,$sizeof_real)
522   case ${ac_fftw_savedprefix} in
523    d) AC_DEFINE(FFTW2_NAME_DFFTW,,[Use the d prefix on fftw2 includes]) ;;
524    s) AC_DEFINE(FFTW2_NAME_SFFTW,,[Use the s prefix on fftw2 includes]) ;;
525    *) AC_DEFINE(FFTW2_NAME_FFTW,,[Dont use any prefix on fftw2 includes]) ;;
526   esac
528   AC_DEFINE(GMX_FFT_FFTW2,,[Use FFTW2 FFT library])
530   ;; #  end of fftw2 check
532 fftw3) # Much simpler check than fftw2
533 # Check for header <fftw3.h> AC_CHECK_HEADERS doesnt work, since we must
534 # use mpicc to get includes - cpp isnt always the same compiler.
535 AC_MSG_CHECKING([for fftw3.h])
536 AC_TRY_COMPILE([#include<fftw3.h>],,[
537 # ok, look for library file too
538 AC_MSG_RESULT(yes)
539 if test "$enable_float" = "yes"; then
540   AC_CHECK_LIB([fftw3f],main,,AC_MSG_ERROR([Cannot find fftw3f library]))
541 else
542   AC_CHECK_LIB([fftw3],main,,AC_MSG_ERROR([Cannot find fftw3 library]))
544   AC_DEFINE(GMX_FFT_FFTW3,,[Use FFTW3 FFT library])
546 # not ok, echo a warning
547 AC_MSG_ERROR(
548 [Cannot find the default external FFT library (fftw3).
549 Other alternatives are 'fftw2', or 'mkl' for Intel MKL.
550 You are STRONGLY recommended to use one of these - fftw is free.
552 Use CPPFLAGS and LDFLAGS if the library is installed in a 
553 non-standard location. (see FAQ at http://www.gromacs.org)
554                                                           
555 If you dont care about performance you can also specify 'fftpack'
556 to use a slower set of FFTs built into Gromacs. 
557 (Just install FFTW3 unless you really know what you are doing).
560   ;;
562 mkl*)
563 ###########
564 # Intel Math Kernel Library version 6 and later.
565 ##########
566 AC_MSG_CHECKING([for mkl_dfti.h])
567 AC_TRY_COMPILE([#include<mkl_dfti.h>],,AC_MSG_RESULT(yes),AC_MSG_ERROR([Cannot find mkl_dfti.h header from Intel Math Kernel Library>=6.0.]\
569 ## Check for library
570 #  AC_CHECK_LIB([guide],main,,AC_MSG_ERROR([Cannot find libguide (Intel MKL)]))
571 #  AC_CHECK_LIB([mkl],DftiComputeForward,,
572 #    AC_MSG_ERROR([Cannot find Intel Math Kernel Library >= 6.0]))
573   # first check for older MKLs
574   AC_CHECK_LIB([mkl],DftiComputeForward,,[have_mkl="no"])
575   if test "$have_mkl" == "no"; then
576     # we assume it's a new MKL
577     LIBS="$LIBS -liomp5 -lmkl_sequential -lmkl_core"
578     AC_CHECK_LIB([mkl_intel_lp64],DftiComputeForward,,[have_mkl10_64="no"])
579     if test "$have_mkl10_64" == "no"; then
580       AC_CHECK_LIB([mkl_intel],DftiComputeForward,,[have_mkl10_32="no"])
581       if test "$have_mkl10_32" == "no"; then
582         AC_MSG_ERROR([Cannot find Intel Math Kernel Library >= 6.0])
583       fi
584     fi
585   fi
586   AC_DEFINE(GMX_FFT_MKL,,[Use Intel MKL FFT library])
587   ;;
589 fftpack | no)
590   AC_MSG_WARN([The built-in FFTPACK routines are slow.
591 Are you sure you don't want to use FFTW? It is free and much faster...])
592   AC_DEFINE(GMX_FFT_FFTPACK,,[Use Built-in FFTPACK FFT library])
593   ;;
595   AC_MSG_ERROR([Unknown FFT library])
596   ;;
597 esac
600 if test "$enable_fftw_measure" != "yes"; then
601    AC_DEFINE(GMX_DISABLE_FFTW_MEASURE,,[Do not optimize FFTW setups (not needed with SSE FFT kernels)])
604 ######
605 # check for xtc headers
606 case "${host_os}" in
607 cygwin* | mingw*)   # use our own xdr stuff for cygwin/mingw
608   ;;
610   AC_CHECK_HEADERS([rpc/rpc.h])
611   AC_CHECK_HEADERS([rpc/xdr.h],,,
612 [#if HAVE_RPC_RPC_H
613 # include <rpc/rpc.h>
614 #endif
616   AC_CHECK_LIB(nsl,xdr_float)
617   AC_TRY_LINK([
618 #if HAVE_RPC_RPC_H
619 #include<rpc/rpc.h> 
620 #else
621 #error NO rpc.h header
622 #endif
623 #if HAVE_RPC_XDR_H
624 #include<rpc/xdr.h>
625 #else
626 #error No xdr.h header
627 #endif
628 ],[ XDR *xd; float f; xdr_float(xd,&f);],[have_xdr="yes"])
630   if test "$have_xdr" != "yes"; then
631     AC_DEFINE(GMX_INTERNAL_XDR,,[Use our own instead of system XDR libraries])  
632     AC_MSG_WARN([Couldn't find XDR headers and/or libraries - using our own])
633   fi
634   ;;
635 esac
638 ########################################################################
639 # Checks for header files and types
640 ########################################################################
642 AC_CHECK_HEADERS([limits.h unistd.h],,AC_MSG_ERROR([Include headers not found]))
643 AC_CHECK_HEADERS(unistd.h)
644 AC_CHECK_HEADERS(sys/types.h)
645 AC_CHECK_HEADERS(sys/time.h)
646 AC_CHECK_HEADERS(dirent.h)
647 AC_CHECK_HEADERS(regex.h,,[AC_MSG_WARN(
648 [No regex.h found.
649 Regular expression matching in selections will be disabled.
650 Selections still work, but the default groups can differ from
651 those obtained with regular expressions enabled.
652 Consider installing the regular expression library from GNU libc.])])
654 #####
655 # Checks for additional and/or optional functions or libraries.
656 #AC_FUNC_MALLOC
657 AC_FUNC_MEMCMP
658 AC_TYPE_SIGNAL
659 AC_TYPE_OFF_T
660 AC_FUNC_VPRINTF
661 AM_WITH_DMALLOC
662 AC_CHECK_FUNCS(strcasecmp)
663 AC_CHECK_FUNCS(strdup)
664 AC_CHECK_FUNCS(gettimeofday)
665 AC_CHECK_FUNCS(isnan)
666 AC_CHECK_FUNCS(_isnan)
667 AC_CHECK_FUNCS(isfinite)
668 AC_CHECK_FUNCS(_isfinite)
670 # check for bool (must come late, since CFLAGS/includes might affect it)
671 AC_CHECK_TYPES([bool])
677 #############
678 # Check integer sizes, set to zero if e.g. long long is not supported.
679 # (Note: this must come *after* type checks for the corresponding types!)
680 #############
681 AC_CHECK_SIZEOF(int)
682 AC_CHECK_SIZEOF(long int)
683 AC_CHECK_SIZEOF(long long int)
684 AC_CHECK_SIZEOF(off_t)
685 AC_CHECK_SIZEOF(void*)
689 # Apple OS X is a bit strange/braindead in that it always reports itself as i386, both for
690 # 32 and 64 bit builds (even with the 64 bit kernel!).
692 # To get the SSE support right we check for the size of void * that we detected above...
693 case "${host_vendor}-${host_os}" in
694   apple-darwin*)
695   if test $ac_cv_sizeof_voidp = 8; then
696      enable_ia32_sse=no;
697   else
698      enable_x86_64_sse=no;
699   fi
700   ;;
701   *) ;;
702 esac
707 #####
708 # Look for X
709 AC_PATH_XTRA
710 if test "$no_x" != "yes"; then
711   LIBS="$X_LIBS $LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
712   INCLUDES="$INCLUDES $X_CFLAGS"
713   AM_CONDITIONAL(USE_X11,true)
714 else
715   AM_CONDITIONAL(USE_X11,false)
718 # GNU Scientific Library or not
719 AC_ARG_WITH(gsl,
720  [AC_HELP_STRING([--with-gsl],[Link to the GNU scientific library, ]
721                  [enables extra functions in analysis])],,with_gsl=no)
723 ######
724 if test "$with_gsl" = "yes"; then
725   ac_save_LDFLAGS="$LDFLAGS"
726   AC_CHECK_HEADERS([gsl/gsl_version.h],[
727 # header found, check for libraries 
728   AC_CHECK_LIB(gslcblas,main,[
729   LDFLAGS="$ac_save_LDFLAGS -lgslcblas"
730 # gslcblas library found, check main lib
731   AC_CHECK_LIB(gsl,main)])])
736 AC_ARG_WITH(xml,
737  [AC_HELP_STRING([--without-xml],[do not link to the xml2 library,] 
738                  [disallows the use of certain file formats])],,with_xml=yes)
740 #########
741 # Check for libxml2, but it is optional, so dont stop
742 # if it isnt there.
743 if test "$with_xml" = "yes"; then
744    ac_save_CPPFLAGS="$CPPFLAGS"
745    CPPFLAGS="$ac_save_CPPFLAGS -I/usr/include/libxml2"
746    AC_CHECK_HEADERS([libxml/parser.h],AC_CHECK_LIB(xml2,main))
747    if test "$ac_cv_lib_xml2_main" = "yes"; then
748      INCLUDES="$INCLUDES -I/usr/include/libxml2"
749    fi
750 # restore CPPFLAGS
751    CPPFLAGS="$ac_save_CPPFLAGS"
754 #### 
755 # And collect the f77 libs to the linker - on Solaris, f77 stuff must go first,
756 # and we need -L/usr/ucblib to find libucb... (stupid OS)
757 # On e.g. ibm the mass libraries must come before -lm... 
758 case "${host_cpu}-${host_os}" in
759   *-solaris*) 
760     LIBS="$FLIBS $LIBS" 
761     LDFLAGS="$LDFLAGS -L/usr/ucblib"
762     ;;
763   *) LIBS="$LIBS $FLIBS" ;;
764 esac
767 # add the Accelerate framework if enabled above.
768 # LDFLAGS might have been set in the CPU optimization, so we cant assign it directly before that.
769 LDFLAGS="$LDFLAGS $extra_LDFLAGS"
776 #####
777 # Checks for typedefs, structures, and compiler characteristics.
778 AC_C_CONST
779 AC_TYPE_SIZE_T
780 AC_STRUCT_TM
781 AC_C_INLINE
783 # AC_TYPE_UID_T is broken on Mac OS X, so use generic tests instead
784 AC_CHECK_TYPES([uid_t],[],[AC_DEFINE(uid_t, int, [Define to `int' if <sys/types.h> doesn't define.])],[[#include <sys/types.h>]])
785 AC_CHECK_TYPES([gid_t],[],[AC_DEFINE(gid_t, int, [Define to `int' if <sys/types.h> doesn't define.])],[[#include <sys/types.h>]])
786     
789 # Test stuff for ia32 and x86_64 assembly, and add objects/libraries.
790 if test "$enable_ia32_sse" = "yes" -o "$enable_x86_64_sse" = "yes"; then
791   AC_MSG_CHECKING([whether your compiler can handle assembly files (*.s)])
793 # Use 64-bit registers (rsp/rbp) on x86_64
795 if test "$enable_x86_64_sse" = "yes"; then
796 cat > conftestasm.s << EOF
797 checkasm:
798         mov     %rsp, %rbp
799         ret
801 else
802 cat > conftestasm.s << EOF
803 checkasm:
804         movl    %esp, %ebp
805         ret
808   if AC_TRY_COMMAND($CC $CFLAGS -c conftestasm.s); then
809     if test -f conftestasm.o; then
810       AC_MSG_RESULT([yes])
811     else
812       AC_MSG_RESULT([no])
813       AC_MSG_ERROR([Upgrade your compiler (or disable assembly loops).])
814     fi
815   else
816     AC_MSG_RESULT([no])
817     AC_MSG_ERROR([Upgrade your compiler (or disable assembly loops).])
818   fi
820 # ok, cc understands assembly.
822 # If we are using double precision we need SSE2
823   if test "$enable_float" = "no"; then
824 #   test SSE2 on ia32:
825     if test "$enable_ia32_sse" = "yes"; then
826       AC_MSG_CHECKING([whether as fully supports ia32 SSE2])
827 cat > conftest.s << EOF
828 checkasm:
829         emms
830         movapd 32(%esi,%edx,8),%xmm4
831         emms
832         ret
834       if AC_TRY_COMMAND($CC $CFLAGS -c conftest.s); then
835         AC_MSG_RESULT([yes])
836       else
837         AC_MSG_RESULT([no])
838         AC_MSG_ERROR([Upgrade to a more recent binutils (or disable assembly loops).])
839       fi
840       AC_DEFINE([GMX_IA32_SSE2],,[Double-precision SSE2 instructions on ia32])
841     fi
842 #   test SSE2 on X86_64:
843     if test "$enable_x86_64_sse" = "yes"; then
844       AC_MSG_CHECKING([whether as fully supports X86_64 SSE2])
845 cat > conftest.s << EOF
846 checkasm:
847         emms
848         movapd 32(%rsi,%rdx,8),%xmm4
849         emms
850         ret
852       if AC_TRY_COMMAND($CC $CFLAGS -c conftest.s); then
853         AC_MSG_RESULT([yes])
854       else
855         AC_MSG_RESULT([no])
856         AC_MSG_ERROR([Upgrade to a more recent binutils (or disable assembly loops).])
857       fi
858       AC_DEFINE([GMX_X86_64_SSE2],,[Double-precision SSE2 instructions on X86_64])
859     fi
860   else
861 # end of double precision testing, now do single.
862     if test "$enable_ia32_sse" = "yes"; then
863       AC_MSG_CHECKING([whether as fully supports ia32 SSE])
864 cat > conftest.s << EOF
865 checkasm:
866         emms
867         movaps 32(%esi,%edx,8),%xmm4
868         emms
869         ret
871       if AC_TRY_COMMAND($CC $CFLAGS -c conftest.s); then
872         AC_MSG_RESULT([yes])
873       else
874         AC_MSG_RESULT([no])
875         AC_MSG_ERROR([Upgrade to a more recent binutils (or disable assembly loops).])
876       fi
877       AC_DEFINE([GMX_IA32_SSE],,[Single-precision SSE instructions on ia32])
878     fi
879 #   test SSE2 on X86_64:
880     if test "$enable_x86_64_sse" = "yes"; then
881       AC_MSG_CHECKING([whether as fully supports X86_64 SSE instructions])
882 cat > conftest.s << EOF
883 checkasm:
884         emms
885         movaps 32(%rsi,%rdx,8),%xmm4
886         emms
887         ret
889       if AC_TRY_COMMAND($CC $CFLAGS -c conftest.s); then
890         AC_MSG_RESULT([yes])
891       else
892         AC_MSG_RESULT([no])
893         AC_MSG_ERROR([Upgrade to a more recent binutils (or disable assembly loops).])
894       fi
895       AC_DEFINE([GMX_X86_64_SSE],,[Single-precision SSE instructions on X86_64])
896     fi
897   fi
901 # Test stuff for ia64 assembly
903 # Nothing to test right now.
906   
909 # Test altivec support.
911 if test "$enable_ppc_altivec" = "yes"; then
912   if test "$enable_float" = "no"; then
913     AC_MSG_WARN([PowerPC Altivec loops can only be used in single precision - disabling])
914     enable_ppc_altivec=no
915   else 
916     # On FSF (vanilla) GCC we must include altivec.h, and on apple we 
917     # should NOT do it after using -faltivec. Go figure...
918     case "${host_os}" in
919     darwin*)                            
920         # do nothing on Apple systems
921        ;;
922     *)
923         AC_CHECK_HEADERS([altivec.h])
924        ;;
925     esac
927     AC_MSG_CHECKING([whether the compiler supports altivec extensions])
928     AC_TRY_COMPILE([],[
929 #ifndef __VEC__
930 choke_me
931 #endif
933     AC_MSG_RESULT([yes])
934     AC_DEFINE([GMX_PPC_ALTIVEC],,[Use PowerPC Altivec inner loops])],[
935       AC_MSG_RESULT([no])
936       AC_MSG_WARN([no altivec support found - On recent PowerPC CPUs]
937 [you can get a huge performance gain by using an altivec-enabled compiler.]
938 [On OS X, you need GCC>=3.3, or the IBM compilers. If you are using standard]
939 [GCC, you need at least version 4.0])
940       enable_ppc_altivec=no])
941   fi  
944 if test "$enable_ia64_asm" = "yes"; then
945   AC_DEFINE(GMX_IA64_ASM,,[Use ia64 assembly tuned for Itanium2])
946   AC_DEFINE(DISABLE_WATER_NLIST,,[Turn off all water neighborlist optimization])
947   AC_DEFINE(DISABLE_WATERWATER_NLIST,,[Turn off water-water neighborlist optimization only])
950 if test "$enable_bluegene" = "yes"; then
951   AC_DEFINE(GMX_BLUEGENE,,[Use assembly intrinsics kernels for BlueGene])
955 # Add the appropriate assembly loops 
957 AM_CONDITIONAL([GMX_IA32_SSE],[test "$enable_ia32_sse" = "yes" -a "$enable_float" = "yes"])
958 AM_CONDITIONAL([GMX_IA32_SSE2],[test "$enable_ia32_sse" = "yes" -a "$enable_float" = "no"])
959 AM_CONDITIONAL([GMX_X86_64_SSE],[test "$enable_x86_64_sse" = "yes" -a "$enable_float" = "yes"])
960 AM_CONDITIONAL([GMX_X86_64_SSE2],[test "$enable_x86_64_sse" = "yes" -a "$enable_float" = "no"])
961 AM_CONDITIONAL([GMX_FORTRAN],[test "$enable_fortran" = "yes"])
962 AM_CONDITIONAL([GMX_PPC_ALTIVEC],[test "$enable_ppc_altivec" = "yes" -a "$enable_float" = "yes"])
963 AM_CONDITIONAL([GMX_IA64_ASM],[test "$enable_ia64_asm" = "yes"])
964 AM_CONDITIONAL([GMX_BLUEGENE],[test "$enable_bluegene" = "yes"])
965 AM_CONDITIONAL([GMX_POWER6],[test "$enable_power6" = "yes"])
968 #############
969 # Check integer endian
970 #############
971 AC_C_BIGENDIAN([AC_DEFINE([GMX_INTEGER_BIG_ENDIAN],,[Integer byte order is big endian.])],[],[
972 AC_MSG_ERROR([Cannot determine endian in compiled output])])
973 # Little endian implied if GMX_INTEGER_BIG_ENDIAN not defined in source.
977 case "${host_cpu}" in
978    i?86) 
979          # Check if inline assembly works
980          AC_MSG_CHECKING(if the compiler supports gcc inline assembly)
981       AC_TRY_LINK([],[float f;int i; asm("fld %1\nfistpl %0\n" : "=m" (*&i) : "f" (f));],[AC_MSG_RESULT(yes)
982 AC_DEFINE(GMX_X86_GCC_INLINE_ASM,,[Enable x86 gcc inline assembly])],[AC_MSG_RESULT(no)])
983          # Check for MSVC inline assembly
984      AC_MSG_CHECKING(if the compiler supports MSVC inline assembly)
985       AC_TRY_LINK([],[float f;int i; _asm { fld f } ; _asm { fistpl i };],[AC_MSG_RESULT(yes)
986 AC_DEFINE(GMX_X86_MSVC_INLINE_ASM,,[Enable x86 MSVC inline assembly])],[AC_MSG_RESULT(no)])
987         ;;              
988    *) ;;
989 esac
992 ############
993 # Check dlopen
994 ###########
995 if test "$with_dlopen" = "yes"; then
996       AC_MSG_CHECKING(if dlopen supported)
997       CFLAGS_RET=$CFLAGS
998       CFLAGS="-I$srcdir/include -DGMX_DLOPEN $CFLAGS"
999       AC_TRY_LINK([#include "$srcdir/src/gmxlib/vmddlopen.c"],,[AC_MSG_RESULT([yes])\
1000         AC_DEFINE(GMX_DLOPEN,,[Compile with dlopen])],AC_MSG_RESULT([no]))
1001       CFLAGS=$CFLAGS_RET
1007 ########################################################################
1008 # Final output stage
1009 ########################################################################
1010 AS="$CC"
1011 AC_SUBST(ASFLAGS)
1012 AC_SUBST(AS)
1013 AC_SUBST(INCLUDES)          # should be automatic, but doesnt seem to be?
1015 # To tell libraries apart, we use four versions of the name. For instance, libgmx:
1016 # libgmx                single prec, no mpi.
1017 # libgmx_d              double prec, no mpi.
1018 # libgmx_mpi            single prec, mpi.
1019 # libgmx_mpi_d          double prec, mpi.
1020 # However, the non-suffixed names are linked to the _mpi and/or _d suffixed
1021 # ones upon installation if that is the only version available.
1023 if test "$enable_mpi" = "yes"; then
1024   LIBSUFFIX="_mpi"
1026 if test "$enable_float" = "no"; then
1027   LIBSUFFIX="${LIBSUFFIX}_d"
1029 AC_SUBST(LIBSUFFIX) 
1031 # Unless the user has explicitly requested a prefix/suffix/transform, we
1032 # use _d on double precision files. Don't add anything for mpi, but at the
1033 # end we tell the user it is possible and smart to do in some cases!
1034 if test "$program_transform_name" = "s,x,x,"; then
1035   name_transform_provided=no;
1036   if test "$enable_float" = "no"; then
1037     program_transform_name="s,\$\$,_d,"
1038   fi
1039 else
1040   name_transform_provided=yes;
1044 # Use a variable for RPM - this way it can be 
1045 # overridden with make RPM=rpm3 rpm
1046 RPM=rpm
1047 AC_SUBST(RPM)
1049 if test "$enable_fahcore" = "yes"; then  
1050   CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)/../corewrap -include swindirect.h -DFULLINDIRECT -DUSE_FAH_XDR"  
1051   if test "$enable_mpi" = "yes"; then 
1052     CFLAGS="$CFLAGS -DMPI"  
1053   fi
1055 AM_CONDITIONAL([GMX_FAHCORE],[test "$enable_fahcore" = "yes"])
1058 if test "$enable_all_static" = "yes"; then
1059   LDFLAGS="$LDFLAGS -all-static"
1062 # we have asm source, so this is necessary for automake 1.6
1063 CCAS=$CC
1064 CCASFLAGS=$CFLAGS
1066 AC_SUBST(CCAS)
1067 AC_SUBST(CCASFLAGS)
1069 AC_CONFIG_FILES([ Makefile ])
1070 AC_CONFIG_FILES([ src/Makefile ])
1071 AC_CONFIG_FILES([ src/gmxlib/Makefile ])
1072 AC_CONFIG_FILES([ src/gmxlib/gmx_blas/Makefile ])
1073 AC_CONFIG_FILES([ src/gmxlib/gmx_lapack/Makefile ])
1074 AC_CONFIG_FILES([ src/gmxlib/selection/Makefile ])
1075 AC_CONFIG_FILES([ src/gmxlib/statistics/Makefile ])
1076 AC_CONFIG_FILES([ src/gmxlib/trajana/Makefile ])
1077 AC_CONFIG_FILES([ src/gmxlib/thread_mpi/Makefile ])
1078 AC_CONFIG_FILES([ src/gmxlib/nonbonded/Makefile ])
1079 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_c/Makefile ])
1080 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_ia32_sse/Makefile ])
1081 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_ia32_sse2/Makefile ])
1082 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_x86_64_sse/Makefile ])
1083 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/Makefile ])
1084 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_ppc_altivec/Makefile ])
1085 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_ia64_single/Makefile ])
1086 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_ia64_double/Makefile ])
1087 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_bluegene/Makefile ])
1088 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_power6/Makefile ])
1089 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_f77_single/Makefile ])
1090 AC_CONFIG_FILES([ src/gmxlib/nonbonded/nb_kernel_f77_double/Makefile ])
1091 AC_CONFIG_FILES([ include/Makefile ])
1092 AC_CONFIG_FILES([ include/types/Makefile ])
1093 AC_CONFIG_FILES([ include/thread_mpi/Makefile ])
1094 AC_CONFIG_FILES([ include/thread_mpi/atomic/Makefile ])
1095 AC_CONFIG_FILES([ src/mdlib/Makefile ])
1096 AC_CONFIG_FILES([ src/kernel/Makefile ])
1097 AC_CONFIG_FILES([ src/tools/Makefile ])
1098 AC_CONFIG_FILES([ src/ngmx/Makefile ])
1099 AC_CONFIG_FILES([ src/contrib/Makefile ])
1100 AC_CONFIG_FILES([ scripts/Makefile ])
1101 AC_CONFIG_FILES([ admin/Makefile ])
1102 AC_CONFIG_FILES([ share/Makefile ])
1103 AC_CONFIG_FILES([ share/tutor/Makefile ])
1104 AC_CONFIG_FILES([ share/tutor/gmxdemo/Makefile ])
1105 AC_CONFIG_FILES([ share/tutor/nmr1/Makefile ])
1106 AC_CONFIG_FILES([ share/tutor/nmr2/Makefile ])
1107 AC_CONFIG_FILES([ share/tutor/water/Makefile ])
1108 AC_CONFIG_FILES([ share/tutor/mixed/Makefile ])
1109 AC_CONFIG_FILES([ share/tutor/methanol/Makefile ])
1110 AC_CONFIG_FILES([ share/tutor/speptide/Makefile ])
1111 AC_CONFIG_FILES([ share/template/Makefile ])
1112 AC_CONFIG_FILES([ share/top/Makefile ])
1113 AC_CONFIG_FILES([ share/top/gmx.ff/Makefile ])
1114 AC_CONFIG_FILES([ share/top/gmx2.ff/Makefile ])
1115 AC_CONFIG_FILES([ share/top/encadv.ff/Makefile ])
1116 AC_CONFIG_FILES([ share/top/encads.ff/Makefile ])
1117 AC_CONFIG_FILES([ share/top/oplsaa.ff/Makefile ])
1118 AC_CONFIG_FILES([ share/top/gromos43a1.ff/Makefile ])
1119 AC_CONFIG_FILES([ share/top/gromos43a2.ff/Makefile ])
1120 AC_CONFIG_FILES([ share/top/gromos45a3.ff/Makefile ])
1121 AC_CONFIG_FILES([ share/top/gromos53a5.ff/Makefile ])
1122 AC_CONFIG_FILES([ share/top/gromos53a6.ff/Makefile ])
1123 AC_CONFIG_FILES([ share/html/Makefile ])
1124 AC_CONFIG_FILES([ share/html/images/Makefile ])
1125 AC_CONFIG_FILES([ share/html/online/Makefile ])
1126 AC_CONFIG_FILES([ man/Makefile man/man1/Makefile man/man7/Makefile ])
1127 AC_CONFIG_FILES([ Doxyfile ])
1128 AC_OUTPUT
1136 #########################################################
1137 # Echo some important info, to avoid stupid mistakes
1140 if test "$enable_float" = "no" -a "$name_transform_provided" = "no"; then
1141   echo ""
1142   echo "* You are compiling a double precision version of Gromacs -"
1143   echo "  program names will be suffixed with _d to avoid overwriting single"
1144   echo "  precision files. You can override it with --program-suffix"
1147 if test "$name_transform_provided" = "no" -a "$enable_mpi" = "yes"; then
1148   echo ""
1149   echo "* Seems you are compiling with MPI support. You can install the MPI-"
1150   echo "  enabled programs with suffixed names to have both MPI and non-MPI"
1151   echo "  versions. This is useful e.g. on supercomputers where you usually"
1152   echo "  cannot run MPI-linked programs on the login node."
1153   echo "  Set a suffix with e.g. --program-suffix=_mpi (or _mpi_d for double)."
1154   echo "  You only need MPI for mdrun, so if you already have non-MPI stuff"
1155   echo "  installed you can issue make mdrun; make install-mdrun."
1158 if test "$enable_shared" = "no"; then
1159   echo ""
1160   echo "* On most platforms you can save 10X space with dynamic libraries, although"
1161   echo "  the binaries might be less portable. Why not try --enable-shared ?"
1162 fi