[Debian-astro-commits] [gyoto] 35/221: MPI: compile (and run) fine with and without MPI
Thibaut Jean-Claude Paumard
thibaut at moszumanska.debian.org
Fri May 22 20:52:31 UTC 2015
This is an automated email from the git hooks/post-receive script.
thibaut pushed a commit to branch master
in repository gyoto.
commit 5865d2bc68ac6f5992be80b1737a208763a8c1b1
Author: Thibaut Paumard <paumard at users.sourceforge.net>
Date: Sat Oct 11 16:37:06 2014 +0200
MPI: compile (and run) fine with and without MPI
---
Makefile.in | 1 -
aclocal.m4 | 1 -
bin/Makefile.am | 7 +-
bin/Makefile.in | 7 +-
config.h.in | 3 +
configure | 2126 +++++++++++++++++-----------------------------
configure.ac | 82 +-
include/GyotoConfig.h.in | 12 +
include/GyotoScenery.h | 2 -
lib/Makefile.in | 1 -
lib/Scenery.C | 29 +-
m4/ax_prog_cxx_mpi.m4 | 178 ----
12 files changed, 876 insertions(+), 1573 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index eb56cec..692f0ba 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -96,7 +96,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/m4/ax_append_flag.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
- $(top_srcdir)/m4/ax_prog_cxx_mpi.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/boost.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
diff --git a/aclocal.m4 b/aclocal.m4
index b0883d5..6dc027a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1152,7 +1152,6 @@ m4_include([m4/ax_append_compile_flags.m4])
m4_include([m4/ax_append_flag.m4])
m4_include([m4/ax_check_compile_flag.m4])
m4_include([m4/ax_cxx_compile_stdcxx_11.m4])
-m4_include([m4/ax_prog_cxx_mpi.m4])
m4_include([m4/ax_pthread.m4])
m4_include([m4/boost.m4])
m4_include([m4/libtool.m4])
diff --git a/bin/Makefile.am b/bin/Makefile.am
index 6056ce9..aa53dbd 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -4,7 +4,10 @@ AM_LDFLAGS = $(XERCESLDFLAGS) $(PTHREAD_LIBS)
AM_CXXFLAGS = $(PTHREAD_CFLAGS)
CLEANFILES=example-*.fits
-bin_PROGRAMS = gyoto gyoto-mpi-worker
+bin_PROGRAMS = gyoto
+if HAVE_MPI
+ bin_PROGRAMS += gyoto-mpi-worker
+endif
dist_man_MANS = gyoto.1
gyoto_SOURCES = gyoto.C
gyoto_LDADD = @top_builddir@/lib/libgyoto.la
@@ -16,6 +19,8 @@ gyoto_mpi_worker_LDADD = @top_builddir@/lib/libgyoto.la -lboost_mpi -lboost_se
gyoto_mpi_worker_CPPFLAGS = $(AM_CPPFLAGS) $(CFITSIOCPPFLAGS)
gyoto_mpi_worker_LDFLAGS = $(AM_LDFLAGS) $(CFITSIOLDFLAGS) -export-dynamic
+export PATH := .:$(PATH)
+
CHECK_CMD = unset GYOTO_PLUGINS && ./gyoto --resolution=32 --nthreads=8
check: gyoto
$(CHECK_CMD) ../doc/examples/example-thin-disk.xml \
diff --git a/bin/Makefile.in b/bin/Makefile.in
index ec89ac2..23e3011 100644
--- a/bin/Makefile.in
+++ b/bin/Makefile.in
@@ -79,7 +79,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-bin_PROGRAMS = gyoto$(EXEEXT) gyoto-mpi-worker$(EXEEXT)
+bin_PROGRAMS = gyoto$(EXEEXT) $(am__EXEEXT_1)
+ at HAVE_MPI_TRUE@am__append_1 = gyoto-mpi-worker
subdir = bin
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/depcomp $(dist_man_MANS)
@@ -88,7 +89,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/m4/ax_append_flag.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
- $(top_srcdir)/m4/ax_prog_cxx_mpi.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/boost.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
@@ -101,6 +101,7 @@ CONFIG_HEADER = $(top_builddir)/config.h \
$(top_builddir)/include/GyotoConfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+ at HAVE_MPI_TRUE@am__EXEEXT_1 = gyoto-mpi-worker$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
PROGRAMS = $(bin_PROGRAMS)
am_gyoto_OBJECTS = gyoto-gyoto.$(OBJEXT)
@@ -803,6 +804,8 @@ uninstall-man: uninstall-man1
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-man uninstall-man1
+
+export PATH := .:$(PATH)
check: gyoto
$(CHECK_CMD) ../doc/examples/example-thin-disk.xml \
\!example-thin-disk.fits
diff --git a/config.h.in b/config.h.in
index c1ea312..5b44ca0 100644
--- a/config.h.in
+++ b/config.h.in
@@ -36,6 +36,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have MPI */
+#undef HAVE_MPI
+
/* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD
diff --git a/configure b/configure
index c921227..97c2f0b 100755
--- a/configure
+++ b/configure
@@ -672,10 +672,6 @@ ax_pthread_config
Y_INST_SITE
Y_INST_HOME
YORICK
-BOOST_CPPFLAGS
-DISTCHECK_CONFIGURE_FLAGS
-BOOST_ROOT
-HAVE_CXX11
POW_LIB
LIBOBJS
plugin_sfx
@@ -688,7 +684,13 @@ DOXYGEN
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
+HAVE_MPI_FALSE
+HAVE_MPI_TRUE
MPICXX
+BOOST_CPPFLAGS
+DISTCHECK_CONFIGURE_FLAGS
+BOOST_ROOT
+HAVE_CXX11
sovers
VERSINFO
CXXCPP
@@ -826,12 +828,12 @@ enable_dependency_tracking
with_gnu_ld
with_sysroot
enable_libtool_lock
+enable_c__11
with_mpi
+with_boost
enable_native
enable_hardening
enable_deprecated
-enable_c__11
-with_boost
with_yorick
with_yorick_home
with_yorick_site
@@ -862,11 +864,10 @@ CXXFLAGS
CCC
CPP
CXXCPP
-MPICXX
+BOOST_ROOT
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
-BOOST_ROOT
UDUNITS_CFLAGS
UDUNITS_LIBS
XERCES_CFLAGS
@@ -1505,12 +1506,12 @@ Optional Features:
--disable-dependency-tracking
speeds up one-time build
--disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-c++11 disable C++11 features (including advanced
+ integrators)
--enable-native append "-march=native" to CXXFLAGS if supported
--enable-hardening add warnings and hardening flags if supported
--enable-deprecated enable deprecated method names (needing this is a
bug)
- --disable-c++11 disable C++11 features (including advanced
- integrators)
--disable-debugging remove debugging code for hypothetical speed gain
--disable-pthreads disable POSIX threads parallelization
--disable-doc disable building documentation
@@ -1572,13 +1573,12 @@ Some influential environment variables:
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
- MPICXX MPI C++ compiler command
+ BOOST_ROOT Location of Boost installation
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
- BOOST_ROOT Location of Boost installation
UDUNITS_CFLAGS
C compiler flags for UDUNITS, overriding pkg-config
UDUNITS_LIBS
@@ -15462,646 +15462,500 @@ _ACEOF
# Checks for programs.
-# If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
-# If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
-# If --with-mpi=no is used, use a standard C compiler instead.
+############### CHECK FOR OPTIONAL FEATURES #########################
+## ADVANCED INTEGRATORS
+# Check for C++11
+# Check whether --enable-c++11 was given.
+if test "${enable_c__11+set}" = set; then :
+ enableval=$enable_c__11;
+fi
-# Check whether --with-mpi was given.
-if test "${with_mpi+set}" = set; then :
- withval=$with_mpi;
+if test "x$enable_c__11" != "xno"; then :
+ ax_cxx_compile_cxx11_required=false
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_success=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
+$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
+if ${ax_cv_cxx_compile_cxx11+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- with_mpi=auto
-fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
+ typedef check<check<bool>> right_angle_brackets;
+ int a;
+ decltype(a) b;
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile using MPI" >&5
-$as_echo_n "checking whether to compile using MPI... " >&6; }
- if test x"$with_mpi" != xno; then
- _ax_prog_cxx_mpi_mpi_wanted=yes
- else
- _ax_prog_cxx_mpi_mpi_wanted=no
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ax_prog_cxx_mpi_mpi_wanted" >&5
-$as_echo "$_ax_prog_cxx_mpi_mpi_wanted" >&6; }
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
- if test x"$_ax_prog_cxx_mpi_mpi_wanted" = xyes; then
- if test -z "$CXX" && test -n "$MPICXX"; then
- CXX="$MPICXX"
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in mpic++ mpicxx mpiCC sxmpic++ hcp mpxlC_r mpxlC mpixlcxx_r mpixlcxx mpg++ mpc++ mpCC cmpic++ mpiFCC CCicpc pgCC pathCC sxc++ xlC_r xlC bgxlC_r bgxlC openCC sunCC crayCC g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
+ auto d = a;
+ auto l = [](){};
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ax_cv_cxx_compile_cxx11=yes
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ ax_cv_cxx_compile_cxx11=no
fi
-
-
- test -n "$CXX" && break
- done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in mpic++ mpicxx mpiCC sxmpic++ hcp mpxlC_r mpxlC mpixlcxx_r mpixlcxx mpg++ mpc++ mpCC cmpic++ mpiFCC CCicpc pgCC pathCC sxc++ xlC_r xlC bgxlC_r bgxlC openCC sunCC crayCC g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
+$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
+ if test x$ac_success = xno; then
+ for switch in -std=gnu++11 -std=gnu++0x; do
+ cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
- test -n "$ac_ct_CXX" && break
-done
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
- if test "x$ac_ct_CXX" = x; then
- CXX=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CXX=$ac_ct_CXX
- fi
-fi
+ typedef check<check<bool>> right_angle_brackets;
- fi
- fi
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
- if test -n "$CCC"; then
- CXX=$CCC
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
+ int a;
+ decltype(a) b;
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
+ auto d = a;
+ auto l = [](){};
- test -n "$CXX" && break
- done
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval $cachevar=yes
+else
+ eval $cachevar=no
fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS="$ac_save_CXXFLAGS"
+fi
+eval ac_res=\$$cachevar
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
+ if test x$ac_success = xno; then
+ for switch in -std=c++11 -std=c++0x; do
+ cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
+$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
+if eval \${$cachevar+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
- test -n "$ac_ct_CXX" && break
-done
+ struct Base {
+ virtual void f() {}
+ };
+ struct Child : public Base {
+ virtual void f() override {}
+ };
- if test "x$ac_ct_CXX" = x; then
- CXX="g++"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CXX=$ac_ct_CXX
- fi
-fi
+ typedef check<check<bool>> right_angle_brackets;
- fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
+ int a;
+ decltype(a) b;
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if ${ac_cv_cxx_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
+ auto d = a;
+ auto l = [](){};
- ;
- return 0;
-}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
+ eval $cachevar=yes
else
- ac_compiler_gnu=no
+ eval $cachevar=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GXX=yes
-else
- GXX=
+ CXXFLAGS="$ac_save_CXXFLAGS"
fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_cxx_werror_flag=$ac_cxx_werror_flag
- ac_cxx_werror_flag=yes
- ac_cv_prog_cxx_g=no
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+eval ac_res=\$$cachevar
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-int
-main ()
-{
+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
+ if test x$ac_success = xno; then
+ as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
+ fi
+ else
+ if test x$ac_success = xno; then
+ HAVE_CXX11=0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
+$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
+ else
+ HAVE_CXX11=1
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_prog_cxx_g=yes
-else
- CXXFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+$as_echo "#define HAVE_CXX11 1" >>confdefs.h
-int
-main ()
-{
+ fi
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-else
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ fi
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_prog_cxx_g=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test "x$HAVE_CXX11" != "x1" && test "x$enable_c__11" = "xyes"; then :
+ as_fn_error $? "C++11 requested but not found" "$LINENO" 5
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+# Check whether --with-mpi was given.
+if test "${with_mpi+set}" = set; then :
+ withval=$with_mpi;
+else
+ with_mpi=auto
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+
+
+if test "x$with_mpi" == xyes; then :
+ with_boost=yes
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
+
+# Check for boost
+
+if test "x$HAVE_CXX11" = "x1"; then :
+ have_boost=yes
+ echo "$as_me: this is boost.m4 serial 22" >&5
+boost_save_IFS=$IFS
+boost_version_req=1.53.1
+IFS=.
+set x $boost_version_req 0 0 0
+IFS=$boost_save_IFS
+shift
+boost_version_req=`expr "$1" '*' 100000 + "$2" '*' 100 + "$3"`
+boost_version_req_string=$1.$2.$3
+
+# Check whether --with-boost was given.
+if test "${with_boost+set}" = set; then :
+ withval=$with_boost;
+fi
+# If BOOST_ROOT is set and the user has not provided a value to
+# --with-boost, then treat BOOST_ROOT as if it the user supplied it.
+if test x"$BOOST_ROOT" != x; then
+ if test x"$with_boost" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&5
+$as_echo "$as_me: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&6;}
+ with_boost=$BOOST_ROOT
else
- CXXFLAGS=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&5
+$as_echo "$as_me: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&6;}
fi
fi
+DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"
+boost_save_CPPFLAGS=$CPPFLAGS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boost headers version >= $boost_version_req_string" >&5
+$as_echo_n "checking for Boost headers version >= $boost_version_req_string... " >&6; }
+if ${boost_cv_inc_path+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ boost_cv_inc_path=no
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <boost/version.hpp>
+#if !defined BOOST_VERSION
+# error BOOST_VERSION is not defined
+#elif BOOST_VERSION < $boost_version_req
+# error Boost headers version < $boost_version_req
+#endif
-depcc="$CXX" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
+int
+main ()
+{
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
+ ;
+ return 0;
+}
+_ACEOF
+ # If the user provided a value to --with-boost, use it and only it.
+ case $with_boost in #(
+ ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \
+ /usr/include C:/Boost/include;; #(
+ *) set x "$with_boost/include" "$with_boost";;
+ esac
+ shift
+ for boost_dir
+ do
+ # Without --layout=system, Boost (or at least some versions) installs
+ # itself in <prefix>/include/boost-<version>. This inner loop helps to
+ # find headers in such directories.
#
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
+ # Any ${boost_dir}/boost-x_xx directories are searched in reverse version
+ # order followed by ${boost_dir}. The final '.' is a sentinel for
+ # searching $boost_dir" itself. Entries are whitespace separated.
+ #
+ # I didn't indent this loop on purpose (to avoid over-indented code)
+ boost_layout_system_search_list=`cd "$boost_dir" 2>/dev/null \
+ && ls -1 | "${GREP}" '^boost-' | sort -rn -t- -k2 \
+ && echo .`
+ for boost_inc in $boost_layout_system_search_list
+ do
+ if test x"$boost_inc" != x.; then
+ boost_inc="$boost_dir/$boost_inc"
else
- break
+ boost_inc="$boost_dir" # Uses sentinel in boost_layout_system_search_list
fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
+ if test x"$boost_inc" != x; then
+ # We are going to check whether the version of Boost installed
+ # in $boost_inc is usable by running a compilation that
+ # #includes it. But if we pass a -I/some/path in which Boost
+ # is not installed, the compiler will just skip this -I and
+ # use other locations (either from CPPFLAGS, or from its list
+ # of system include directories). As a result we would use
+ # header installed on the machine instead of the /some/path
+ # specified by the user. So in that precise case (trying
+ # $boost_inc), make sure the version.hpp exists.
+ #
+ # Use test -e as there can be symlinks.
+ test -e "$boost_inc/boost/version.hpp" || continue
+ CPPFLAGS="$CPPFLAGS -I$boost_inc"
fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
+ if ac_fn_cxx_try_compile "$LINENO"; then :
+ boost_cv_inc_path=yes
else
- am_cv_CXX_dependencies_compiler_type=none
-fi
-
+ boost_cv_version=no
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+rm -f core conftest.err conftest.$ac_objext
+ if test x"$boost_cv_inc_path" = xyes; then
+ if test x"$boost_inc" != x; then
+ boost_cv_inc_path=$boost_inc
+ fi
+ break 2
+ fi
+ done
+ done
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_inc_path" >&5
+$as_echo "$boost_cv_inc_path" >&6; }
+ case $boost_cv_inc_path in #(
+ no)
+ boost_errmsg="cannot find Boost headers version >= $boost_version_req_string"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $boost_errmsg" >&5
+$as_echo "$as_me: $boost_errmsg" >&6;}
+ have_boost=no
+ ;;#(
+ yes)
+ BOOST_CPPFLAGS=
+ ;;#(
+ *)
+ BOOST_CPPFLAGS="-I$boost_cv_inc_path"
+ ;;
+ esac
+ if test x"$boost_cv_inc_path" != xno; then
+$as_echo "#define HAVE_BOOST 1" >>confdefs.h
-
-
-
-
-# Check for compiler
-# Needs to be split off into an extra macro to ensure right expansion
-# order.
-
-
-if test x"$_ax_prog_cxx_mpi_mpi_wanted" = xno; then :
- _ax_prog_cxx_mpi_mpi_found=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boost's header version" >&5
+$as_echo_n "checking for Boost's header version... " >&6; }
+if ${boost_cv_lib_version+:} false; then :
+ $as_echo_n "(cached) " >&6
else
-
- ac_ext=cpp
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <boost/version.hpp>
+boost-lib-version = BOOST_LIB_VERSION
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ tr -d '\r' |
+ $SED -n -e "/^boost-lib-version = /{s///;s/\"//g;p;q;}" >conftest.i 2>&1; then :
+ boost_cv_lib_version=`cat conftest.i`
+fi
+rm -rf conftest*
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_version" >&5
+$as_echo "$boost_cv_lib_version" >&6; }
+ # e.g. "134" for 1_34_1 or "135" for 1_35
+ boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'`
+ case $boost_major_version in #(
+ '' | *[!0-9]*)
+ as_fn_error $? "invalid value: boost_major_version=$boost_major_version" "$LINENO" 5
+ ;;
+ esac
+fi
+CPPFLAGS=$boost_save_CPPFLAGS
- # test whether MPI_Init() is available
- # We do not use AC_SEARCH_LIBS here, as it caches its outcome and
- # thus disallows corresponding calls in the other AX_PROG_*_MPI
- # macros.
- for lib in NONE mpi mpich; do
- save_LIBS=$LIBS
- if test x"$lib" = xNONE; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for function MPI_Init" >&5
-$as_echo_n "checking for function MPI_Init... " >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for function MPI_Init in -l$lib" >&5
-$as_echo_n "checking for function MPI_Init in -l$lib... " >&6; }
- LIBS="-l$lib $LIBS"
- fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+else
+ have_boost=no
+ if test "x$with_boost" != "x" && test "x$with_boost" != "xno"; then :
+ as_fn_error $? "Boost features require a C++11 capable compiler" "$LINENO" 5
+fi
-extern "C" { void MPI_Init(); }
+fi
+if test "x$with_boost" != "x" && test "x$with_boost" != "xno"; then :
+ if test "x$have_boost" == "xno"; then :
+ as_fn_error $? "Boost requested but not found" "$LINENO" 5
+fi
-int
-main ()
-{
-MPI_Init();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- _ax_prog_cxx_mpi_mpi_found=yes
-else
- _ax_prog_cxx_mpi_mpi_found=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ax_prog_cxx_mpi_mpi_found" >&5
-$as_echo "$_ax_prog_cxx_mpi_mpi_found" >&6; }
- if test "x$_ax_prog_cxx_mpi_mpi_found" = "xyes"; then
- break;
- fi
- LIBS=$save_LIBS
- done
- # Check for header
- if test x"$_ax_prog_cxx_mpi_mpi_found" = xyes; then :
+# If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
+# If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
+# If --with-mpi=no is used, use a standard C compiler instead.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5
-$as_echo_n "checking for mpi.h... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <mpi.h>
-int
-main ()
-{
+have_mpi=no
+if test "x$with_mpi" != xno; then :
+ for ac_prog in mpic++ mpicxx
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MPICXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MPICXX"; then
+ ac_cv_prog_MPICXX="$MPICXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MPICXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+fi
+MPICXX=$ac_cv_prog_MPICXX
+if test -n "$MPICXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICXX" >&5
+$as_echo "$MPICXX" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- _ax_prog_cxx_mpi_mpi_found=no
-
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ test -n "$MPICXX" && break
+done
+,
+ if test "x$MPICXX" != x; then :
-fi
-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$_ax_prog_cxx_mpi_mpi_found" = xyes; then :
- use_mpi=yes
- :
+$as_echo "#define HAVE_MPI 1" >>confdefs.h
+ have_mpi=yes
+ CXX=$MPICXX
else
+ if test "x$with_mpi"=xyes; then :
+ as_fn_error $? "MPI requested but not found" "$LINENO" 5
+fi
- use_mpi=no
- if test x"$with_mpi" = xyes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "MPI compiler requested, but couldn't use MPI.
-See \`config.log' for more details" "$LINENO" 5; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No MPI compiler found, won't use MPI." >&5
-$as_echo "$as_me: WARNING: No MPI compiler found, won't use MPI." >&2;}
- fi
-
- :
-
+fi
+]
fi
+ if test "x$have_mpi" == xyes; then
+ HAVE_MPI_TRUE=
+ HAVE_MPI_FALSE='#'
+else
+ HAVE_MPI_TRUE='#'
+ HAVE_MPI_FALSE=
+fi
@@ -16600,159 +16454,23 @@ if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
if ${CXXFLAGS+:} false; then :
case " $CXXFLAGS " in
*" $flag "*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
- (: CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
- *)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
- (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- CXXFLAGS="$CXXFLAGS $flag"
- ;;
- esac
-else
- CXXFLAGS="$flag"
-fi
-
-else
- :
-fi
-
-done
-
-fi
-fi
-
-
-# Check whether --enable-hardening was given.
-if test "${enable_hardening+set}" = set; then :
- enableval=$enable_hardening; if test "x$enable_hardening" = "xyes"; then :
-
-
-for flag in -pedantic -Wall -W -Wundef -Wshadow -Wcast-qual \
- -Wcast-align -Wconversion -Winline -Wabi -Woverloaded-virtual \
- -Wno-long-long -Wformat -Wformat-security -Werror=format-security \
- -fstack-protector "--param ssp-buffer-size=4"; do
- as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- if ${CXXFLAGS+:} false; then :
- case " $CXXFLAGS " in
- *" $flag "*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
- (: CXXFLAGS already contains $flag) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- ;;
- *)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
- (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- CXXFLAGS="$CXXFLAGS $flag"
- ;;
- esac
-else
- CXXFLAGS="$flag"
-fi
-
-else
- :
-fi
-
-done
-
-
-
-for flag in -D_FORTIFY_SOURCE=2; do
- as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
-$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- ax_check_save_flags=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $flag"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- eval "$as_CACHEVAR=yes"
-else
- eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CXXFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- if ${CPPFLAGS+:} false; then :
- case " $CPPFLAGS " in
- *" $flag "*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS already contains \$flag"; } >&5
- (: CPPFLAGS already contains $flag) 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
+ (: CXXFLAGS already contains $flag) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
;;
*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS=\"\$CPPFLAGS \$flag\""; } >&5
- (: CPPFLAGS="$CPPFLAGS $flag") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
+ (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- CPPFLAGS="$CPPFLAGS $flag"
+ CXXFLAGS="$CXXFLAGS $flag"
;;
esac
else
- CPPFLAGS="$flag"
+ CXXFLAGS="$flag"
fi
else
@@ -16761,19 +16479,19 @@ fi
done
-
fi
-
-
fi
-# Check whether --enable-deprecated was given.
-if test "${enable_deprecated+set}" = set; then :
- enableval=$enable_deprecated; if test "x$enable_deprecated" = "xno"; then :
+# Check whether --enable-hardening was given.
+if test "${enable_hardening+set}" = set; then :
+ enableval=$enable_hardening; if test "x$enable_hardening" = "xyes"; then :
-for flag in -DGYOTO_NO_DEPRECATED; do
+for flag in -pedantic -Wall -W -Wundef -Wshadow -Wcast-qual \
+ -Wcast-align -Wconversion -Winline -Wabi -Woverloaded-virtual \
+ -Wno-long-long -Wformat -Wformat-security -Werror=format-security \
+ -fstack-protector "--param ssp-buffer-size=4"; do
as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
@@ -16806,26 +16524,26 @@ eval ac_res=\$$as_CACHEVAR
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
- if ${CPPFLAGS+:} false; then :
- case " $CPPFLAGS " in
+ if ${CXXFLAGS+:} false; then :
+ case " $CXXFLAGS " in
*" $flag "*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS already contains \$flag"; } >&5
- (: CPPFLAGS already contains $flag) 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS already contains \$flag"; } >&5
+ (: CXXFLAGS already contains $flag) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
;;
*)
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS=\"\$CPPFLAGS \$flag\""; } >&5
- (: CPPFLAGS="$CPPFLAGS $flag") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CXXFLAGS=\"\$CXXFLAGS \$flag\""; } >&5
+ (: CXXFLAGS="$CXXFLAGS $flag") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- CPPFLAGS="$CPPFLAGS $flag"
+ CXXFLAGS="$CXXFLAGS $flag"
;;
esac
else
- CPPFLAGS="$flag"
+ CXXFLAGS="$flag"
fi
else
@@ -16834,11 +16552,9 @@ fi
done
-fi
-else
-for flag in -DGYOTO_NO_DEPRECATED; do
+for flag in -D_FORTIFY_SOURCE=2; do
as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
@@ -16903,750 +16619,480 @@ done
fi
-
-# Guess *LD_LIBRARY_PATH variable for make check
-
-SYS=other
-DYLIB_VAR=LD_LIBRARY_PATH
-case "x$target_os" in
- xdarwin*|xmacos)
- DYLIB_VAR=DYLD_LIBRARY_PATH
- SYS=Darwin
- ;;
- *) ;;
-esac
-plugin_sfx=so
-
-cat >>confdefs.h <<_ACEOF
-#define GYOTO_PLUGIN_SFX "${plugin_sfx}"
-_ACEOF
-
-
-# Used in yorick/stdplug/Makefile
-
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
- LIBS="-ldl $LIBS"
-
-fi
-
-
-# Checks for header files.
-# We are not using those tests to far
-# AC_CHECK_HEADERS([float.h stddef.h string.h unistd.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if ${ac_cv_header_stdbool_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- /* See body of main program for 'e'. */
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- /* The following fails for
- HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
-
-int
-main ()
-{
-
- bool e = &s;
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_header_stdbool_h=yes
-else
- ac_cv_header_stdbool_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
- ac_fn_cxx_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
-
-
-fi
-
-
-ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
fi
-# Checks for library functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if ${ac_cv_lib_error_at_line+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <error.h>
-int
-main ()
-{
-error_at_line (0, 0, "", 0, "an error occurred");
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_lib_error_at_line=yes
-else
- ac_cv_lib_error_at_line=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
-if test $ac_cv_lib_error_at_line = no; then
- case " $LIBOBJS " in
- *" error.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS error.$ac_objext"
- ;;
-esac
-
-fi
+# Check whether --enable-deprecated was given.
+if test "${enable_deprecated+set}" = set; then :
+ enableval=$enable_deprecated; if test "x$enable_deprecated" = "xno"; then :
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5
-$as_echo_n "checking for working strtod... " >&6; }
-if ${ac_cv_func_strtod+:} false; then :
+
+for flag in -DGYOTO_NO_DEPRECATED; do
+ as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_strtod=no
-else
+
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $flag"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
-#ifndef strtod
-double strtod ();
-#endif
int
-main()
+main ()
{
- {
- /* Some versions of Linux strtod mis-parse strings with leading '+'. */
- char *string = " +69";
- char *term;
- double value;
- value = strtod (string, &term);
- if (value != 69 || term != (string + 4))
- return 1;
- }
- {
- /* Under Solaris 2.4, strtod returns the wrong value for the
- terminating character under some conditions. */
- char *string = "NaN";
- char *term;
- strtod (string, &term);
- if (term != string && *(term - 1) == 0)
- return 1;
- }
+ ;
return 0;
}
-
_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
- ac_cv_func_strtod=yes
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$as_CACHEVAR=yes"
else
- ac_cv_func_strtod=no
+ eval "$as_CACHEVAR=no"
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+ if ${CPPFLAGS+:} false; then :
+ case " $CPPFLAGS " in
+ *" $flag "*)
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS already contains \$flag"; } >&5
+ (: CPPFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+ *)
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS=\"\$CPPFLAGS \$flag\""; } >&5
+ (: CPPFLAGS="$CPPFLAGS $flag") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ CPPFLAGS="$CPPFLAGS $flag"
+ ;;
+ esac
+else
+ CPPFLAGS="$flag"
fi
+else
+ :
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strtod" >&5
-$as_echo "$ac_cv_func_strtod" >&6; }
-if test $ac_cv_func_strtod = no; then
- case " $LIBOBJS " in
- *" strtod.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS strtod.$ac_objext"
- ;;
-esac
-ac_fn_cxx_check_func "$LINENO" "pow" "ac_cv_func_pow"
-if test "x$ac_cv_func_pow" = xyes; then :
+done
fi
+else
-if test $ac_cv_func_pow = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5
-$as_echo_n "checking for pow in -lm... " >&6; }
-if ${ac_cv_lib_m_pow+:} false; then :
+
+for flag in -DGYOTO_NO_DEPRECATED; do
+ as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
+$as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
$as_echo_n "(cached) " >&6
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ ax_check_save_flags=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pow ();
int
main ()
{
-return pow ();
+
;
return 0;
}
_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_lib_m_pow=yes
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ eval "$as_CACHEVAR=yes"
else
- ac_cv_lib_m_pow=no
+ eval "$as_CACHEVAR=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS=$ax_check_save_flags
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5
-$as_echo "$ac_cv_lib_m_pow" >&6; }
-if test "x$ac_cv_lib_m_pow" = xyes; then :
- POW_LIB=-lm
+eval ac_res=\$$as_CACHEVAR
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+ if ${CPPFLAGS+:} false; then :
+ case " $CPPFLAGS " in
+ *" $flag "*)
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS already contains \$flag"; } >&5
+ (: CPPFLAGS already contains $flag) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ ;;
+ *)
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CPPFLAGS=\"\$CPPFLAGS \$flag\""; } >&5
+ (: CPPFLAGS="$CPPFLAGS $flag") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ CPPFLAGS="$CPPFLAGS $flag"
+ ;;
+ esac
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5
-$as_echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;}
-fi
-
+ CPPFLAGS="$flag"
fi
+else
+ :
fi
-# other functions we may need to check for according to autoscan:
-# floor getcwd pow sqrt strdup
-for ac_func in sincos
-do :
- ac_fn_cxx_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
-if test "x$ac_cv_func_sincos" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SINCOS 1
-_ACEOF
-
-fi
done
-############### CHECK FOR OPTIONAL FEATURES #########################
-## ADVANCED INTEGRATORS
-# Check for C++11
-# Check whether --enable-c++11 was given.
-if test "${enable_c__11+set}" = set; then :
- enableval=$enable_c__11;
fi
-if test "x$enable_c__11" != "xno"; then :
- ax_cxx_compile_cxx11_required=false
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- ac_success=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
-$as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
-if ${ax_cv_cxx_compile_cxx11+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- struct Base {
- virtual void f() {}
- };
- struct Child : public Base {
- virtual void f() override {}
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
- auto d = a;
- auto l = [](){};
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ax_cv_cxx_compile_cxx11=yes
-else
- ax_cv_cxx_compile_cxx11=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
-$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
- if test x$ax_cv_cxx_compile_cxx11 = xyes; then
- ac_success=yes
- fi
+# Guess *LD_LIBRARY_PATH variable for make check
- if test x$ac_success = xno; then
- for switch in -std=gnu++11 -std=gnu++0x; do
- cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
-$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if eval \${$cachevar+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+SYS=other
+DYLIB_VAR=LD_LIBRARY_PATH
+case "x$target_os" in
+ xdarwin*|xmacos)
+ DYLIB_VAR=DYLD_LIBRARY_PATH
+ SYS=Darwin
+ ;;
+ *) ;;
+esac
+plugin_sfx=so
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
+cat >>confdefs.h <<_ACEOF
+#define GYOTO_PLUGIN_SFX "${plugin_sfx}"
+_ACEOF
- struct Base {
- virtual void f() {}
- };
- struct Child : public Base {
- virtual void f() override {}
- };
- typedef check<check<bool>> right_angle_brackets;
+# Used in yorick/stdplug/Makefile
- int a;
- decltype(a) b;
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
- auto d = a;
- auto l = [](){};
+# Checks for libraries.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- eval $cachevar=yes
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
else
- eval $cachevar=no
+ ac_cv_lib_dl_dlopen=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CXXFLAGS="$ac_save_CXXFLAGS"
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-eval ac_res=\$$cachevar
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBDL 1
+_ACEOF
- if test x$ac_success = xno; then
- for switch in -std=c++11 -std=c++0x; do
- cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
-$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
-if eval \${$cachevar+:} false; then :
+ LIBS="-ldl $LIBS"
+
+fi
+
+
+# Checks for header files.
+# We are not using those tests to far
+# AC_CHECK_HEADERS([float.h stddef.h string.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+if ${ac_cv_header_stdbool_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- struct Base {
- virtual void f() {}
- };
- struct Child : public Base {
- virtual void f() override {}
- };
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
- typedef check<check<bool>> right_angle_brackets;
+ struct s { _Bool s: 1; _Bool t; } s;
- int a;
- decltype(a) b;
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
+int
+main ()
+{
- auto d = a;
- auto l = [](){};
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
- eval $cachevar=yes
+ ac_cv_header_stdbool_h=yes
else
- eval $cachevar=no
+ ac_cv_header_stdbool_h=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CXXFLAGS="$ac_save_CXXFLAGS"
fi
-eval ac_res=\$$cachevar
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+$as_echo "$ac_cv_header_stdbool_h" >&6; }
+ ac_fn_cxx_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+if test "x$ac_cv_type__Bool" = xyes; then :
- if test x$ax_cxx_compile_cxx11_required = xtrue; then
- if test x$ac_success = xno; then
- as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
- fi
- else
- if test x$ac_success = xno; then
- HAVE_CXX11=0
- { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
-$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
- else
- HAVE_CXX11=1
+cat >>confdefs.h <<_ACEOF
+#define HAVE__BOOL 1
+_ACEOF
-$as_echo "#define HAVE_CXX11 1" >>confdefs.h
- fi
+fi
- fi
+ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
fi
-if test "x$HAVE_CXX11" != "x1" && test "x$enable_c__11" = "xyes"; then :
- as_fn_error $? "C++11 requested but not found" "$LINENO" 5
-fi
-# Check for boost
-if test "x$HAVE_CXX11" = "x1"; then :
- have_boost=yes
- echo "$as_me: this is boost.m4 serial 22" >&5
-boost_save_IFS=$IFS
-boost_version_req=1.53.1
-IFS=.
-set x $boost_version_req 0 0 0
-IFS=$boost_save_IFS
-shift
-boost_version_req=`expr "$1" '*' 100000 + "$2" '*' 100 + "$3"`
-boost_version_req_string=$1.$2.$3
+# Checks for library functions.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+$as_echo_n "checking for error_at_line... " >&6; }
+if ${ac_cv_lib_error_at_line+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <error.h>
+int
+main ()
+{
+error_at_line (0, 0, "", 0, "an error occurred");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_error_at_line=yes
+else
+ ac_cv_lib_error_at_line=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+$as_echo "$ac_cv_lib_error_at_line" >&6; }
+if test $ac_cv_lib_error_at_line = no; then
+ case " $LIBOBJS " in
+ *" error.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS error.$ac_objext"
+ ;;
+esac
-# Check whether --with-boost was given.
-if test "${with_boost+set}" = set; then :
- withval=$with_boost;
-fi
-# If BOOST_ROOT is set and the user has not provided a value to
-# --with-boost, then treat BOOST_ROOT as if it the user supplied it.
-if test x"$BOOST_ROOT" != x; then
- if test x"$with_boost" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&5
-$as_echo "$as_me: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&6;}
- with_boost=$BOOST_ROOT
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&5
-$as_echo "$as_me: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&6;}
- fi
fi
-DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"
-boost_save_CPPFLAGS=$CPPFLAGS
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boost headers version >= $boost_version_req_string" >&5
-$as_echo_n "checking for Boost headers version >= $boost_version_req_string... " >&6; }
-if ${boost_cv_inc_path+:} false; then :
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5
+$as_echo_n "checking for working strtod... " >&6; }
+if ${ac_cv_func_strtod+:} false; then :
$as_echo_n "(cached) " >&6
else
- boost_cv_inc_path=no
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test "$cross_compiling" = yes; then :
+ ac_cv_func_strtod=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <boost/version.hpp>
-#if !defined BOOST_VERSION
-# error BOOST_VERSION is not defined
-#elif BOOST_VERSION < $boost_version_req
-# error Boost headers version < $boost_version_req
-#endif
+$ac_includes_default
+#ifndef strtod
+double strtod ();
+#endif
int
-main ()
+main()
{
+ {
+ /* Some versions of Linux strtod mis-parse strings with leading '+'. */
+ char *string = " +69";
+ char *term;
+ double value;
+ value = strtod (string, &term);
+ if (value != 69 || term != (string + 4))
+ return 1;
+ }
- ;
+ {
+ /* Under Solaris 2.4, strtod returns the wrong value for the
+ terminating character under some conditions. */
+ char *string = "NaN";
+ char *term;
+ strtod (string, &term);
+ if (term != string && *(term - 1) == 0)
+ return 1;
+ }
return 0;
}
+
_ACEOF
- # If the user provided a value to --with-boost, use it and only it.
- case $with_boost in #(
- ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \
- /usr/include C:/Boost/include;; #(
- *) set x "$with_boost/include" "$with_boost";;
- esac
- shift
- for boost_dir
- do
- # Without --layout=system, Boost (or at least some versions) installs
- # itself in <prefix>/include/boost-<version>. This inner loop helps to
- # find headers in such directories.
- #
- # Any ${boost_dir}/boost-x_xx directories are searched in reverse version
- # order followed by ${boost_dir}. The final '.' is a sentinel for
- # searching $boost_dir" itself. Entries are whitespace separated.
- #
- # I didn't indent this loop on purpose (to avoid over-indented code)
- boost_layout_system_search_list=`cd "$boost_dir" 2>/dev/null \
- && ls -1 | "${GREP}" '^boost-' | sort -rn -t- -k2 \
- && echo .`
- for boost_inc in $boost_layout_system_search_list
- do
- if test x"$boost_inc" != x.; then
- boost_inc="$boost_dir/$boost_inc"
- else
- boost_inc="$boost_dir" # Uses sentinel in boost_layout_system_search_list
- fi
- if test x"$boost_inc" != x; then
- # We are going to check whether the version of Boost installed
- # in $boost_inc is usable by running a compilation that
- # #includes it. But if we pass a -I/some/path in which Boost
- # is not installed, the compiler will just skip this -I and
- # use other locations (either from CPPFLAGS, or from its list
- # of system include directories). As a result we would use
- # header installed on the machine instead of the /some/path
- # specified by the user. So in that precise case (trying
- # $boost_inc), make sure the version.hpp exists.
- #
- # Use test -e as there can be symlinks.
- test -e "$boost_inc/boost/version.hpp" || continue
- CPPFLAGS="$CPPFLAGS -I$boost_inc"
- fi
- if ac_fn_cxx_try_compile "$LINENO"; then :
- boost_cv_inc_path=yes
+if ac_fn_cxx_try_run "$LINENO"; then :
+ ac_cv_func_strtod=yes
else
- boost_cv_version=no
+ ac_cv_func_strtod=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext
- if test x"$boost_cv_inc_path" = xyes; then
- if test x"$boost_inc" != x; then
- boost_cv_inc_path=$boost_inc
- fi
- break 2
- fi
- done
- done
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_inc_path" >&5
-$as_echo "$boost_cv_inc_path" >&6; }
- case $boost_cv_inc_path in #(
- no)
- boost_errmsg="cannot find Boost headers version >= $boost_version_req_string"
- { $as_echo "$as_me:${as_lineno-$LINENO}: $boost_errmsg" >&5
-$as_echo "$as_me: $boost_errmsg" >&6;}
- have_boost=no
- ;;#(
- yes)
- BOOST_CPPFLAGS=
- ;;#(
- *)
- BOOST_CPPFLAGS="-I$boost_cv_inc_path"
- ;;
- esac
- if test x"$boost_cv_inc_path" != xno; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strtod" >&5
+$as_echo "$ac_cv_func_strtod" >&6; }
+if test $ac_cv_func_strtod = no; then
+ case " $LIBOBJS " in
+ *" strtod.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS strtod.$ac_objext"
+ ;;
+esac
-$as_echo "#define HAVE_BOOST 1" >>confdefs.h
+ac_fn_cxx_check_func "$LINENO" "pow" "ac_cv_func_pow"
+if test "x$ac_cv_func_pow" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boost's header version" >&5
-$as_echo_n "checking for Boost's header version... " >&6; }
-if ${boost_cv_lib_version+:} false; then :
+fi
+
+if test $ac_cv_func_pow = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5
+$as_echo_n "checking for pow in -lm... " >&6; }
+if ${ac_cv_lib_m_pow+:} false; then :
$as_echo_n "(cached) " >&6
else
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <boost/version.hpp>
-boost-lib-version = BOOST_LIB_VERSION
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- tr -d '\r' |
- $SED -n -e "/^boost-lib-version = /{s///;s/\"//g;p;q;}" >conftest.i 2>&1; then :
- boost_cv_lib_version=`cat conftest.i`
-fi
-rm -rf conftest*
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pow ();
+int
+main ()
+{
+return pow ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_m_pow=yes
+else
+ ac_cv_lib_m_pow=no
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_version" >&5
-$as_echo "$boost_cv_lib_version" >&6; }
- # e.g. "134" for 1_34_1 or "135" for 1_35
- boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'`
- case $boost_major_version in #(
- '' | *[!0-9]*)
- as_fn_error $? "invalid value: boost_major_version=$boost_major_version" "$LINENO" 5
- ;;
- esac
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-CPPFLAGS=$boost_save_CPPFLAGS
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5
+$as_echo "$ac_cv_lib_m_pow" >&6; }
+if test "x$ac_cv_lib_m_pow" = xyes; then :
+ POW_LIB=-lm
else
- have_boost=no
- if test "x$with_boost" != "x" && test "x$with_boost" != "xno"; then :
- as_fn_error $? "Boost features require a C++11 capable compiler" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5
+$as_echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;}
fi
-
fi
-if test "x$with_boost" != "x" && test "x$with_boost" != "xno"; then :
- if test "x$have_boost" == "xno"; then :
- as_fn_error $? "Boost requested but not found" "$LINENO" 5
+
fi
+# other functions we may need to check for according to autoscan:
+# floor getcwd pow sqrt strdup
+for ac_func in sincos
+do :
+ ac_fn_cxx_check_func "$LINENO" "sincos" "ac_cv_func_sincos"
+if test "x$ac_cv_func_sincos" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SINCOS 1
+_ACEOF
+
fi
+done
+
## YORICK
# Check for Yorick
@@ -19160,8 +18606,8 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+if test -z "${HAVE_MPI_TRUE}" && test -z "${HAVE_MPI_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_MPI\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_UDUNITS_TRUE}" && test -z "${HAVE_UDUNITS_FALSE}"; then
diff --git a/configure.ac b/configure.ac
index 3ff44b2..488f700 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,23 +22,59 @@ AC_DEFINE_UNQUOTED([GYOTO_SOVERS], ["${sovers}"], [Gyoto ABI version])
# Checks for programs.
-# If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
-# If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
-# If --with-mpi=no is used, use a standard C compiler instead.
+############### CHECK FOR OPTIONAL FEATURES #########################
+## ADVANCED INTEGRATORS
+# Check for C++11
+AC_ARG_ENABLE([c++11],
+ [AS_HELP_STRING([--disable-c++11],
+ [disable C++11 features (including advanced integrators)])])
+AS_IF([test "x$enable_c__11" != "xno"],
+ [AX_CXX_COMPILE_STDCXX_11(, [optional])]
+)
+AS_IF([test "x$HAVE_CXX11" != "x1" && test "x$enable_c__11" = "xyes"],
+ [AC_MSG_ERROR([C++11 requested but not found])])
+
AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi],
[compile with MPI (parallelization) support. If none is found,
MPI is not used. Default: auto])
],,[with_mpi=auto])
-AX_PROG_CXX_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[
- use_mpi=no
- if test x"$with_mpi" = xyes; then
- AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.])
- else
- AC_MSG_WARN([No MPI compiler found, won't use MPI.])
- fi
+AS_IF([test "x$with_mpi" == xyes], [with_boost=yes])
+
+# Check for boost
+AS_IF([test "x$HAVE_CXX11" = "x1"],
+ [have_boost=yes
+ BOOST_REQUIRE([1.53.1], [have_boost=no])],
+ [have_boost=no
+ AS_IF([test "x$with_boost" != "x" && test "x$with_boost" != "xno"],
+ [AC_MSG_ERROR([Boost features require a C++11 capable compiler])])
+ ]
+)
+AS_IF([test "x$with_boost" != "x" && test "x$with_boost" != "xno"],
+ [AS_IF([test "x$have_boost" == "xno"],
+ [AC_MSG_ERROR([Boost requested but not found])])]
+)
+
+# If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
+# If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
+# If --with-mpi=no is used, use a standard C compiler instead.
+
+have_mpi=no
+AS_IF([test "x$with_mpi" != xno],
+[ AC_CHECK_PROGS([MPICXX], [mpic++ mpicxx]),
+ AS_IF([test "x$MPICXX" != x], [
+ AC_SUBST(MPICXX)
+ AC_DEFINE([HAVE_MPI], [1], [Define to 1 if you have MPI])]
+ have_mpi=yes
+ CXX=$MPICXX],
+ [ AS_IF([test "x$with_mpi"=xyes],
+ [ AC_ERROR([MPI requested but not found])
+ ])
+ ])
])
+AM_CONDITIONAL(HAVE_MPI, [test "x$have_mpi" == xyes])
+
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
@@ -117,32 +153,6 @@ AC_FUNC_STRTOD
# floor getcwd pow sqrt strdup
AC_CHECK_FUNCS([sincos])
-############### CHECK FOR OPTIONAL FEATURES #########################
-## ADVANCED INTEGRATORS
-# Check for C++11
-AC_ARG_ENABLE([c++11],
- [AS_HELP_STRING([--disable-c++11],
- [disable C++11 features (including advanced integrators)])])
-AS_IF([test "x$enable_c__11" != "xno"],
- [AX_CXX_COMPILE_STDCXX_11(, [optional])]
-)
-AS_IF([test "x$HAVE_CXX11" != "x1" && test "x$enable_c__11" = "xyes"],
- [AC_MSG_ERROR([C++11 requested but not found])])
-
-# Check for boost
-AS_IF([test "x$HAVE_CXX11" = "x1"],
- [have_boost=yes
- BOOST_REQUIRE([1.53.1], [have_boost=no])],
- [have_boost=no
- AS_IF([test "x$with_boost" != "x" && test "x$with_boost" != "xno"],
- [AC_MSG_ERROR([Boost features require a C++11 capable compiler])])
- ]
-)
-AS_IF([test "x$with_boost" != "x" && test "x$with_boost" != "xno"],
- [AS_IF([test "x$have_boost" == "xno"],
- [AC_MSG_ERROR([Boost requested but not found])])]
-)
-
## YORICK
# Check for Yorick
yorick_exe=yorick
diff --git a/include/GyotoConfig.h.in b/include/GyotoConfig.h.in
index dd8db2b..3f8ff25 100644
--- a/include/GyotoConfig.h.in
+++ b/include/GyotoConfig.h.in
@@ -148,6 +148,18 @@
# endif
#endif
+/** \def HAVE_MPI
+ * \brief Whether MPI support is compiled in.
+ *
+ * Message-passing interface, used in multi-process ray-tracing
+ */
+#undef HAVE_MPI
+#ifdef DOXYGEN_RUN
+# ifndef HAVE_MPI
+# define HAVE_MPI (Undefined)
+# endif
+#endif
+
/** \def HAVE_PTHREAD
* \brief Whether POSIX threads support is compiled-in.
*
diff --git a/include/GyotoScenery.h b/include/GyotoScenery.h
index c697295..399c822 100644
--- a/include/GyotoScenery.h
+++ b/include/GyotoScenery.h
@@ -39,8 +39,6 @@ namespace Gyoto{
#include <GyotoPhoton.h>
#include <GyotoConverters.h>
-#define HAVE_MPI
-
#ifdef HAVE_MPI
#include "GyotoFactory.h"
#include <boost/mpi/environment.hpp>
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 72b5321..c73c7d4 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -93,7 +93,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/m4/ax_append_flag.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
- $(top_srcdir)/m4/ax_prog_cxx_mpi.m4 \
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/boost.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
diff --git a/lib/Scenery.C b/lib/Scenery.C
index 69d8ad7..0a2840a 100644
--- a/lib/Scenery.C
+++ b/lib/Scenery.C
@@ -49,16 +49,20 @@ using namespace std;
Scenery::Scenery() :
screen_(NULL), delta_(GYOTO_DEFAULT_DELTA),
- quantities_(0), ph_(), nthreads_(0),
- mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+ quantities_(0), ph_(), nthreads_(0)
+#ifdef HAVE_MPI
+ , mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+#endif
{}
Scenery::Scenery(SmartPointer<Metric::Generic> met,
SmartPointer<Screen> scr,
SmartPointer<Astrobj::Generic> obj) :
screen_(scr), delta_(GYOTO_DEFAULT_DELTA),
- quantities_(0), ph_(), nthreads_(0),
- mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+ quantities_(0), ph_(), nthreads_(0)
+#ifdef HAVE_MPI
+ , mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+#endif
{
metric(met);
if (screen_) screen_->metric(met);
@@ -69,8 +73,10 @@ Scenery::Scenery(const Scenery& o) :
SmartPointee(o),
screen_(NULL), delta_(o.delta_),
quantities_(o.quantities_), ph_(o.ph_),
- nthreads_(o.nthreads_),
- mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+ nthreads_(o.nthreads_)
+#ifdef HAVE_MPI
+ , mpi_env_(NULL), mpi_world_(NULL), mpi_workers_(NULL), mpi_manager_(NULL)
+#endif
{
if (o.screen_()) {
screen_=o.screen_->clone();
@@ -84,7 +90,9 @@ Scenery::~Scenery() {
GYOTO_DEBUG << "freeing screen\n";
# endif
screen_ = NULL;
+# ifdef HAVE_MPI
if (!Scenery::is_worker) mpiTerminate();
+# endif
}
SmartPointer<Metric::Generic> Scenery::metric() const { return ph_.metric(); }
@@ -260,7 +268,7 @@ void Scenery::rayTrace(size_t imin, size_t imax,
if (data) setPropertyConverters(data);
- //#if 0
+#ifdef HAVE_MPI
if (mpi_workers_ || Scenery::is_worker) {
// We are in an MPI content, either the manager or a worker.
// dispatch over workers and monitor
@@ -450,7 +458,7 @@ void Scenery::rayTrace(size_t imin, size_t imax,
delete [] vect;
return;
}
- //#endif
+#endif
if (data) {
size_t first_index=(jmin-1)*npix + imin -1;
@@ -833,12 +841,11 @@ SmartPointer<Scenery> Gyoto::Scenery::Subcontractor(FactoryMessenger* fmp) {
#endif
- sleep(5);
return sc;
}
#endif
-//#ifdef HAVE_MPI
+#ifdef HAVE_MPI
bool Gyoto::Scenery::is_worker=false;
void Gyoto::Scenery::mpiSpawn(int nbchildren) {
@@ -883,4 +890,4 @@ void Gyoto::Scenery::mpiClone()
}
- //#endif
+#endif
diff --git a/m4/ax_prog_cxx_mpi.m4 b/m4/ax_prog_cxx_mpi.m4
deleted file mode 100644
index 0a81dae..0000000
--- a/m4/ax_prog_cxx_mpi.m4
+++ /dev/null
@@ -1,178 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_prog_cxx_mpi.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_PROG_CXX_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
-#
-# DESCRIPTION
-#
-# This macro tries to find out how to compile C++ programs that use MPI
-# (Message Passing Interface), a standard API for parallel process
-# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to
-# be used instead of the standard macro AC_PROG_CXX and will replace the
-# standard variable CXX with the found compiler.
-#
-# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the
-# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will
-# try to find out how to use MPI, if it fails, the macro will call
-# AC_PROG_CC to find a standard C compiler instead.
-#
-# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found
-# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If
-# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI.
-#
-# The following example demonstrates usage of the macro:
-#
-# # If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
-# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
-# # If --with-mpi=no is used, use a standard C compiler instead.
-# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi],
-# [compile with MPI (parallelization) support. If none is found,
-# MPI is not used. Default: auto])
-# ],,[with_mpi=auto])
-#
-# AX_PROG_CXX_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[
-# use_mpi=no
-# if test x"$with_mpi" = xyes; then
-# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.])
-# else
-# AC_MSG_WARN([No MPI compiler found, won't use MPI.])
-# fi
-# ])
-#
-# LICENSE
-#
-# Copyright (c) 2010,2011 Olaf Lenz <olenz at icp.uni-stuttgart.de>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 2
-
-AC_DEFUN([AX_PROG_CXX_MPI], [
-AC_PREREQ(2.50)
-
-# Check for compiler
-# Needs to be split off into an extra macro to ensure right expansion
-# order.
-AC_REQUIRE([_AX_PROG_CXX_MPI],[_AX_PROG_CXX_MPI([$1])])
-
-AS_IF([test x"$_ax_prog_cxx_mpi_mpi_wanted" = xno],
- [ _ax_prog_cxx_mpi_mpi_found=no ],
- [
- AC_LANG_PUSH([C++])
-
- # test whether MPI_Init() is available
- # We do not use AC_SEARCH_LIBS here, as it caches its outcome and
- # thus disallows corresponding calls in the other AX_PROG_*_MPI
- # macros.
- for lib in NONE mpi mpich; do
- save_LIBS=$LIBS
- if test x"$lib" = xNONE; then
- AC_MSG_CHECKING([for function MPI_Init])
- else
- AC_MSG_CHECKING([for function MPI_Init in -l$lib])
- LIBS="-l$lib $LIBS"
- fi
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
-extern "C" { void MPI_Init(); }
-],[MPI_Init();])],
- [ _ax_prog_cxx_mpi_mpi_found=yes ],
- [ _ax_prog_cxx_mpi_mpi_found=no ])
- AC_MSG_RESULT($_ax_prog_cxx_mpi_mpi_found)
- if test "x$_ax_prog_cxx_mpi_mpi_found" = "xyes"; then
- break;
- fi
- LIBS=$save_LIBS
- done
-
- # Check for header
- AS_IF([test x"$_ax_prog_cxx_mpi_mpi_found" = xyes], [
- AC_MSG_CHECKING([for mpi.h])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <mpi.h>])],
- [ AC_MSG_RESULT(yes)],
- [ AC_MSG_RESULT(no)
- _ax_prog_cxx_mpi_mpi_found=no
- ])
- ])
- AC_LANG_POP([C++])
-])
-
-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-AS_IF([test x"$_ax_prog_cxx_mpi_mpi_found" = xyes], [
- ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2])
- :
-],[
- $3
- :
-])
-
-])dnl AX_PROG_CXX_MPI
-
-dnl _AX_PROG_CXX_MPI is an internal macro required by AX_PROG_CXX_MPI.
-dnl To ensure the right expansion order, the main function AX_PROG_CXX_MPI
-dnl has to be split into two parts.
-dnl
-dnl Known MPI C++ compilers:
-dnl mpic++
-dnl mpicxx
-dnl mpiCC
-dnl sxmpic++ NEC SX
-dnl hcp
-dnl mpxlC_r
-dnl mpxlC
-dnl mpixlcxx_r
-dnl mpixlcxx
-dnl mpg++
-dnl mpc++
-dnl mpCC
-dnl cmpic++
-dnl mpiFCC Fujitsu
-dnl CC
-dnl
-AC_DEFUN([_AX_PROG_CXX_MPI], [
- AC_ARG_VAR(MPICXX,[MPI C++ compiler command])
- ifelse([$1],,[_ax_prog_cxx_mpi_mpi_wanted=yes],[
- AC_MSG_CHECKING([whether to compile using MPI])
- if $1; then
- _ax_prog_cxx_mpi_mpi_wanted=yes
- else
- _ax_prog_cxx_mpi_mpi_wanted=no
- fi
- AC_MSG_RESULT($_ax_prog_cxx_mpi_mpi_wanted)
- ])
- if test x"$_ax_prog_cxx_mpi_mpi_wanted" = xyes; then
- if test -z "$CXX" && test -n "$MPICXX"; then
- CXX="$MPICXX"
- else
- AC_CHECK_TOOLS([CXX], [mpic++ mpicxx mpiCC sxmpic++ hcp mpxlC_r mpxlC mpixlcxx_r mpixlcxx mpg++ mpc++ mpCC cmpic++ mpiFCC CCicpc pgCC pathCC sxc++ xlC_r xlC bgxlC_r bgxlC openCC sunCC crayCC g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC])
- fi
- fi
- AC_PROG_CXX
-])dnl _AX_PROG_CXX_MPI
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-astro/packages/gyoto.git
More information about the Debian-astro-commits
mailing list