summaryrefslogtreecommitdiff
path: root/lib/make/configure
Commit message (Collapse)AuthorAge
* Regenerate configure scripthinder2011-09-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4727 17b73243-c579-4c4c-a9d2-2d5706c11dac
* #define HAVE_CCTK_C_INLINE when inlining is supported, even when theeschnett2011-08-14
| | | | | | | "inline" keyword works as is. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4715 17b73243-c579-4c4c-a9d2-2d5706c11dac
* dry run of autoconf, no changes to configure.inknarf2011-08-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4713 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Expand $extra in auto-generated comment in makefile fragmenteschnett2011-07-06
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4711 17b73243-c579-4c4c-a9d2-2d5706c11dac
* When linking, sort library directories so that system directorieseschnett2011-06-28
| | | | | | | | | (/opt/local/*) come last. This increases the probability that the correct library is used, e.g. if a library exists both in a specific path and in /opt/local/lib. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4705 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Autodetect <sched.h> and sched_getaffinity()eschnett2011-06-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4704 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve auto-detection of "restrict" keywordeschnett2011-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | Update and improve the auto-detection of the "restrict" keyword; add more test cases to detect more possible failures. Disable testing the array syntax void foo (double A[restrict]); where the "restrict" keyword is given within the square brackets; instead, one can use the pointer syntax void foo (double *restrict const A); which is tested. Add support for the gcc built-in function "builtin_expect", which tells the compiler the value that an expression is most likely to have. Re-enable the (currently commented out) definitions for attribute(hot) and attribute(cold). git-svn-id: http://svn.cactuscode.org/flesh/trunk@4702 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Regenerate configure fileeschnett2011-04-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4701 17b73243-c579-4c4c-a9d2-2d5706c11dac
* don't use GZIP for the location of the gzip executable, because the latter ↵knarf2011-03-16
| | | | | | actually uses that very variable for a list of default options. Use GZIP_CMD instead git-svn-id: http://svn.cactuscode.org/flesh/trunk@4690 17b73243-c579-4c4c-a9d2-2d5706c11dac
* let Cactus search for TAR GZIP PATCH and GIT while configuringknarf2011-03-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4688 17b73243-c579-4c4c-a9d2-2d5706c11dac
* patch from Jian Tao: The configuration option to specify the CUDA C compiler ↵knarf2011-02-26
| | | | | | should be called CUCC, not NVCC. nvcc is only NVidia's CUDA C compiler. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4685 17b73243-c579-4c4c-a9d2-2d5706c11dac
* add CUDA support to the fleshknarf2011-02-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4684 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Ian Hinder:knarf2011-02-01
| | | | | | | | | | | Cactus supports a variable OPTIMISE=yes/no to control whether optimisation is performed during compilation. Setting this variable to "yes" (for example, make sim-config OPTIMISE=yes) adds the flags in C_OPTIMISE_FLAGS to CFLAGS so that optimisation is performed. This is the default. Setting OPTIMISE=no does not add the flags. For gcc, this results in an unoptimised configuration as gcc assumes -O0 as the default. The Intel compiler, however, uses -O2 as the default. Hence, setting OPTIMISE=no has no effect on Intel, and -O2 is still used. This patch adds new configuration options C_NO_OPTIMISE_FLAGS, CXX_NO_OPTIMISE_FLAGS, F77_NO_OPTIMISE_FLAGS and F90_NO_OPTIMISE_FLAGS to complement the *_OPTIMISE_FLAGS options. These are added to the flags when OPTIMISE=no is used, and they default to -O0, which for the commonly used gcc and Intel compilers will lead to an unoptimised configuration. This requires a CONFIG-reconfig, but this is not enforced because this option doesn't affect most people, and failing to -reconfig is not fatal. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4681 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add CCTK_ATTRIBUTE_ALIGNED, which is auto-configured and expands toeschnett2011-01-04
| | | | | | | | gcc' __attribute__(__aligned__(...)) if present. This is necessary for vectorisation. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4662 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Autoconf CCTK_ATTRIBUTE_NOINLINE, which expands toeschnett2010-12-23
| | | | | | | __attribute__((noinline)) if that is supported by the compiler. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4658 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add new configuration flags CPP_DEBUG_FLAGS etc., which allow passingeschnett2010-12-22
| | | | | | | | | | | | | | | | | | | | | | | special CPP flags for debugging. These complement the existing C_DEBUG_FLAGS and CPPFLAGS. In particular, the following flags are added: CPP_DEBUG_FLAGS FPP_DEBUG_FLAGS CPP_OPTIMISE_FLAGS FPP_OPTIMISE_FLAGS CPP_PROFILE_FLAGS FPP_PROFILE_FLAGS CPP_OPENMP_FLAGS FPP_OPENMP_FLAGS CPP_WARN_FLAGS FPP_WARN_FLAGS Applications are e.g. adding -Wall to CPP_WARN_FLAGS, or -fopenmp to CPP_OPENMP_FLAGS. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4656 17b73243-c579-4c4c-a9d2-2d5706c11dac
* support __unused__ where known. This let's e.g. gcc know that especially the ↵knarf2010-11-23
| | | | | | Cactus variables might be unused and should not be reported as such. This closes ET ticket #1 git-svn-id: http://svn.cactuscode.org/flesh/trunk@4651 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Don't overwrite PTHREAD_LIBS if set in option listknarf2010-09-08
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4630 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add the names that gcc has on Mac OS when installed from the Mac Portsschnetter2010-03-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4601 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce new configuration variables LIBDIR_PREFIX, RUNDIR_PREFIX,schnetter2010-03-26
| | | | | | | | | | | | | | | | and LIBLINK_PREFIX. Expand them in makefiles. LIBDIR_PREFIX and LIBLINK_PREFIX existed before, but were not explicit configuration variables. RUNDIR_PREFIX is used to remember the path to a shared library in an executable. Keep the default value for LIBDIR_PREFIX at "-L" and LIBLINK_PREFIX at "-l". Set the default for RUNDIR_PREFIX to "-Wl,-rpath,". Use these variables when building the executable. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4599 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Accept both lower and upper case arguments for the PTHREADSschnetter2009-12-05
| | | | | | | configuration variable git-svn-id: http://svn.cactuscode.org/flesh/trunk@4586 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Update configureschnetter2009-11-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4580 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add new configuration option OPENMP to enable/disable OpenMP support.tradke2008-12-08
| | | | | | | | | This option is accompanied by the option set {C,CXX,F77,F90}_OPENMP_FLAGS through which users can overwrite the default OpenMP options set in the known-architectures file. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4513 17b73243-c579-4c4c-a9d2-2d5706c11dac
* If the C/C++ compiler didn't produce a runnable executable the configurationtradke2008-12-05
| | | | | | | | | process is now aborted with an error message. To create a cross compiled configuration the new configure option CROSS_COMPILE must be set to "yes". git-svn-id: http://svn.cactuscode.org/flesh/trunk@4512 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Extended behaviour of LIBS and LIBDIRS: add -l and -L prefix only toschnetter2008-02-13
| | | | | | | library and directory names, respectively, but leave options alone. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4461 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Use autoconf to look for system-dependent low-level timing functions.schnetter2008-01-25
| | | | | | | Such timing functions are e.g. used by Carpet. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4457 17b73243-c579-4c4c-a9d2-2d5706c11dac
* patch from Jian Tao: add gfortran to the list of known F77/F90 compilerstradke2007-11-09
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4436 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Move setting of F90 and F77 to none earlier to prevent a buggoodale2007-10-18
| | | | | | | | when neither compiler has been found which left types undefined. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4433 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce a new autoconf macro CCTK_CHECK_C_INLINE, which checks forschnetter2007-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | the inline keyword very similarly to AC_C_INLINE. CCTK_CHECK_C_INLINE works in the following way: Do nothing if the compiler accepts the inline keyword. Otherwise define inline to __inline__ or __inline if one of those work, otherwise define inline to be empty. The setting '__inline__ __attribute__((__gnu_inline__))' is for gcc 4.3 and later. By default this version of gcc follows the new ANSI standard for "static inline" and "extern inline", which is incompatible with many libraries (e.g. GSL), leading to linker errors about duplicate symbols. This is because "static inline" now generates an externally visible symbol. The setting above makes gcc fall back to the old meaning, which does not generate an externally visible symbol for "static inline". Use CCTK_CHECK_C_INLINE instead of AC_C_INLINE in configure.in. Re-generate configure. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4429 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add autoconf macros to detect the header file <malloc.h>, theschnetter2007-05-26
| | | | | | | | functions mallinfo() and mallopt(), and the constant M_MMAP_THRESHOLD. These are e.g. provided by glibc. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4422 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Use fewer warning flags for C and C++ compilers by default.schnetter2007-05-03
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4419 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Prefer bash over sh. sh on AIX has severe limitations and cannotschnetter2007-02-17
| | | | | | | | | | | handle long argument lists, which prevents calling ar or ld when there are many thorns. Add a comment describing why setting SHELL when configuring does not work. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4409 17b73243-c579-4c4c-a9d2-2d5706c11dac
* No significant change. Just increase the version number to what itschnetter2006-08-23
| | | | | | | | was before the CVS server was restored. This file has now effectively the same content as before the repository corruption. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4364 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Recommit patch from Erik Schnetter (see revision 1.148 of configure.in):tradke2006-08-23
| | | | | | | | | | | Set the F77 profile flags as well when setting the F77 flags. This somehow got lost in the previous change. This should bring the configure script back in sync with configure.in now that the CVS server problems have been solved. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4363 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Set the F77 compiler and flags from the F90 compiler and flags earlierschnetter2006-07-25
| | | | | | | | during configuring. This way they are set before they are used to determine the properties of the Fortran compiler. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4355 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Cactus only enables support for CCTK_REALx if both C and Fortranschnetter2006-07-25
| | | | | | | | | | | support this type. This does not make sense if there is no Fortran compiler. Disable the check whether real*n is supported in Fortran when there is no Fortran compiler. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4354 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Cactus' autodetection of Fortran's real*16 does currently not work; itschnetter2006-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | always detects it as "not present", even if the message printed to the screen during configuration says "present". The enclosed patch corrects this: Rename the detecting autoconf macro from CCTK_PROG_FORTRAN_REAL16 to CCTK_FORTRAN_REAL16. This follows the usual autoconf naming conventions; see e.g. CCTK_CXX_BOOL. Also rename the return value (a global variable) from fortran_does_real16 to cctk_cv_have_fortran_real16. In this macro, use the function AC_TRY_COMPILE instead of AC_TRY_COMPILER. The difference is that this then only compiles, it does not try to link and execute. Executing would require handling cross-compiling in a special way. Replace the autoconf macro AC_TRY_COMPILE by CCTK_TRY_COMPILE, correcting an error in handling Fortran programmes. AC_TRY_COMPILE does not work for Fortran in autoconf 2.13. Move setting the compiler debug and warning flags further up in configure.in, so that the Fortran 77 compiler flags, which may be copied from the Fortran 90 compiler flags, are correct when the Fortran types are detected. Otherwise the wrong Fortran 77 compiler may be used for this test. Add autodetection for all the Fortran types real*4, real*8, real*16, complex*8, complex*16, and complex*32. Make this result available to thorns as HAVE_CCTK_FORTRAN_xxx. Define the CCTK_REALxxx and HAVE_CCTK_REALxxx macros only if the corresponding real and complex types are available in both C and Fortran. Remove some leftover debugging statements. Tested on Darwin-x86 with gcc and Linux-x86 with Intel. Touche force-reconfigure. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4351 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add a new configuration flag PROFILE=yes, which enables profiling in aschnetter2006-06-23
| | | | | | | | | | | | | | | | | | | build. This flag is equivalent to OPTIMISE=yes and DEBUG=yes. Additional compiler options {C,CXX,F77,F90}_PROFILE_FLAGS are also introduced. The configuration stage sets the F77 flags to the F90 flags if an F90 compiler is found. This flag setting was done too early, namely before the default values for the F90 flags were set. This flag setting has been moved to a later time. The link command used undefined make variables $(OPTIMISE_C) etc. These variables have been removed. Instead $(CXX_OPTIMISE_FLAGS) etc. are added to the link statement. This makes the linker pick up the correct flags e.g. for profiling. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4327 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Application of patchswhite2006-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortran REAL*16 detection http://www.cactuscode.org/old/pipermail/patches/2006-April/000164.html ... a patch that makes Cactus directly detect Fortran support for a REAL*16 type. The problem has been that Cactus based CCTK_REAL16 on support for the C type 'long double'. This would cause it to create Fortran code for REAL*16, a type which was sometimes not supported. In particular, on a 64-bit Athlon machine with Gnu 4.1.0, gfortran defines REAL*8 but not REAL*16, while gcc defines 'long double'. This caused thorn AEIThorns/Fortran to fail to compile. This patch causes the configuration to directly compile Fortran code that features REAL*16, and define CCTK_REAL16 only if that compiles *and* C's 'long double' is supported. When you make config, you will see a new line about Fortran REAL*16. I have tested the enclosed patch on my laptop with Gnu 4.10 and Intel 9.0 compilers 64-bit AMD Athlon with same compilers POWER4 with IBM XL compilers BUT NOTE: I have severe doubts about using REAL*16 on any of these architectures. That 16-byte (128-bit) type is not natively supported on the Xeon, Athlon, or POWER machines. While some compilers support such types, calculation is done in software, not on the FPU. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4314 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Check for the "restrict" qualifier more thoroughly. Certain compilersschnetter2006-04-04
| | | | | | | | (old versions of g++) don't support restrict in arrays which are structure members. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4282 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Update configure script after recent aclocal.m4 changes.schnetter2006-04-02
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4281 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Set F77_WARN_FLAGS flags correctly when using F90 as F77.schnetter2006-01-27
| | | | | | | The other F77 flags are already overwritten. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4240 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Patch from Erik Schnetter to add preprocessor version in comments.goodale2005-12-13
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4212 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Cactus overrides the user's setting of F77 with that of F90. It alsoschnetter2005-10-12
| | | | | | | | | overrides F77FLAGS with F90FLAGS. This patch also sets F77_DEBUG_FLAGS and F77_OPTIMISE_FLAGS from the corresponding F90 flag settings. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4183 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Re-instating the configure test for X, but protecting it ingoodale2005-10-11
| | | | | | | | | | an if clause so it is only tested if CCTK_NEED_X is true. The PETSc extras file has been updated to set this flag. This will be reverted when the extras stuff is removed and thorns are using the thorns in CactusExternal to detect things. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4182 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Removing the check for X libraries. This should now be donegoodale2005-10-05
| | | | | | | via a thorn and a configuration script. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4174 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Reverse changes made in version 1.133 to enable separate F77 and F90goodale2005-10-04
| | | | | | | | compilers --- this caused problems on an SP system and also needs to ensure that F90 and F77 naming schemes are the same. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4164 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Undo changes that prevent more unwanted warnings about unused variables.schnetter2005-09-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4155 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce a new configuration flag DISABLE_REAL16 which disablesschnetter2005-09-26
| | | | | | | | | support for the datatype CCTK_REAL16. This is necessary because Cactus only detects whether C supports this datatype, and then assumes that Fortran behaves the same. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4149 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce macros CCTK_DECLARE and CCTK_DECLARE_INIT which declare orschnetter2005-09-26
| | | | | | | | | | | | | | declare and initialise local variables. They also add the necessary magic to prevent compiler warnings about unused variables. If the compiler supports __attribute__((unused)), then use this. Otherwise, use the existing fallback of taking the variable's address. In Fortran, use the variable's kind as fallback. Use these macros in autogenerated code and in "cctk.h". git-svn-id: http://svn.cactuscode.org/flesh/trunk@4146 17b73243-c579-4c4c-a9d2-2d5706c11dac