Merge branch 'master' into ert
Conflicts: Makefile.am configure.ac examples/Makefile.am opm/core/GridManager.cpp opm/core/eclipse/EclipseGridParser.cpp opm/core/grid/cpgpreprocess/preprocess.h tests/Makefile.am
This commit is contained in:
10
m4/agmg.m4
10
m4/agmg.m4
@@ -11,10 +11,14 @@ AC_DEFUN([OPM_AGMG],dnl
|
||||
[AS_IF([test -f "$with_agmg/dagmg.f90"],dnl
|
||||
[AC_SUBST([AGMG_SRCDIR], [$with_agmg])[]dnl
|
||||
AC_DEFINE([HAVE_AGMG], [1],dnl
|
||||
[Define to `1' if Notay's AGMG solver is included])[]dnl
|
||||
[Define to 1 if Notay's AGMG solver is included.])[]dnl
|
||||
build_agmg="yes"],dnl
|
||||
[build_agmg="no"])],dnl
|
||||
[build_agmg="no"])[]dnl
|
||||
[AC_DEFINE([HAVE_AGMG], [0],dnl
|
||||
[Define to 0 if Notay's AGMG solver is unavailable.])[]dnl
|
||||
build_agmg="no"])],dnl
|
||||
[AC_DEFINE([HAVE_AGMG], [0],dnl
|
||||
[Define to 0 if Notay's AGMG solver is unwanted.])[]dnl
|
||||
build_agmg="no"])[]dnl
|
||||
|
||||
AS_IF([test x"$build_agmg" = x"yes"],dnl
|
||||
[AC_PROG_FC_C_O[]dnl
|
||||
|
||||
@@ -55,11 +55,11 @@ AC_DEFUN([AX_BOOST_DATE_TIME],
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Date_Time library is available,
|
||||
@@ -74,7 +74,7 @@ AC_DEFUN([AX_BOOST_DATE_TIME],
|
||||
])
|
||||
if test "x$ax_cv_boost_date_time" = "xyes"; then
|
||||
AC_DEFINE(HAVE_BOOST_DATE_TIME,,[define if the Boost::Date_Time library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
BOOSTLIBDIR=`echo $OPM_BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
ax_lib="-lboost_date_time"
|
||||
|
||||
if test "x$ax_boost_user_date_time_lib" = "x"; then
|
||||
|
||||
@@ -56,11 +56,11 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
LIBS_SAVED=$LIBS
|
||||
@@ -79,7 +79,7 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
|
||||
])
|
||||
if test "x$ax_cv_boost_filesystem" = "xyes"; then
|
||||
AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
BOOSTLIBDIR=`echo $OPM_BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
ax_lib="-lboost_filesystem"
|
||||
if test "x$ax_boost_user_filesystem_lib" = "x"; then
|
||||
for libextension in `ls $BOOSTLIBDIR/libboost_filesystem*.so* $BOOSTLIBDIR/libboost_filesystem*.dylib* $BOOSTLIBDIR/libboost_filesystem*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_filesystem.*\)\.so.*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.a*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.dylib$;\1;'` ; do
|
||||
|
||||
@@ -57,11 +57,11 @@ AC_DEFUN([AX_BOOST_SYSTEM],
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::System library is available,
|
||||
@@ -76,10 +76,10 @@ AC_DEFUN([AX_BOOST_SYSTEM],
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
if test "x$ax_cv_boost_system" = "xyes"; then
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(OPM_BOOST_CPPFLAGS)
|
||||
|
||||
AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
BOOSTLIBDIR=`echo $OPM_BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
ax_lib="-lboost_system"
|
||||
|
||||
LDFLAGS_SAVE=$LDFLAGS
|
||||
|
||||
@@ -54,11 +54,11 @@ AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available,
|
||||
@@ -72,7 +72,7 @@ AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
|
||||
])
|
||||
if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then
|
||||
AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available])
|
||||
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
BOOSTLIBDIR=`echo $OPM_BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
|
||||
ax_lib="-lboost_unit_test_framework"
|
||||
|
||||
if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then
|
||||
|
||||
@@ -31,7 +31,9 @@ AC_DEFUN([AX_DUNE_ISTL],
|
||||
"x$ax_cv_dune_common_available" = "xyes"],dnl
|
||||
[AC_DEFINE([HAVE_DUNE_ISTL], [1],dnl
|
||||
[Define to 1 if `dune-istl' is available])
|
||||
])[]dnl
|
||||
],dnl
|
||||
[AC_DEFINE([HAVE_DUNE_ISTL], [0],dnl
|
||||
[Define to 0 if `dune-istl' is unavailable.])])[]dnl
|
||||
|
||||
AM_CONDITIONAL([DUNE_ISTL],
|
||||
[test "x$ax_cv_dune_istl_available" = "xyes" -a \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
# OPM_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
@@ -17,11 +17,11 @@
|
||||
#
|
||||
# This macro calls:
|
||||
#
|
||||
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
|
||||
# AC_SUBST(OPM_BOOST_CPPFLAGS) / AC_SUBST(OPM_BOOST_LDFLAGS)
|
||||
#
|
||||
# And sets:
|
||||
#
|
||||
# HAVE_BOOST
|
||||
# OPM_HAVE_BOOST
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
#serial 20
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
AC_DEFUN([OPM_BOOST_BASE],
|
||||
[
|
||||
AC_ARG_WITH([boost],
|
||||
[AS_HELP_STRING([--with-boost@<:@=ARG@:>@],
|
||||
@@ -99,10 +99,10 @@ if test "x$want_boost" = "xyes"; then
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
||||
dnl or if you install boost with RPM
|
||||
if test "$ac_boost_path" != ""; then
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
||||
OPM_BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
||||
for ac_boost_path_tmp in $libsubdirs; do
|
||||
if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
|
||||
OPM_BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
|
||||
break
|
||||
fi
|
||||
done
|
||||
@@ -112,8 +112,8 @@ if test "x$want_boost" = "xyes"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
||||
OPM_BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
|
||||
OPM_BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
@@ -122,15 +122,15 @@ if test "x$want_boost" = "xyes"; then
|
||||
dnl overwrite ld flags if we have required special directory with
|
||||
dnl --with-boost-libdir parameter
|
||||
if test "$ac_boost_lib_path" != ""; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
||||
OPM_BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
||||
fi
|
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
@@ -166,7 +166,7 @@ if test "x$want_boost" = "xyes"; then
|
||||
_version=$_version_tmp
|
||||
fi
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
OPM_BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
done
|
||||
fi
|
||||
else
|
||||
@@ -185,12 +185,12 @@ if test "x$want_boost" = "xyes"; then
|
||||
done
|
||||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
OPM_BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
if test "$ac_boost_lib_path" = ""; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$best_path/$libsubdir"
|
||||
OPM_BOOST_LDFLAGS="-L$best_path/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -205,16 +205,16 @@ if test "x$want_boost" = "xyes"; then
|
||||
V_CHECK=`expr $stage_version_shorten \>\= $_version`
|
||||
if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
|
||||
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
|
||||
BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
||||
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
|
||||
OPM_BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
||||
OPM_BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $OPM_BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $OPM_BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
@@ -243,10 +243,12 @@ if test "x$want_boost" = "xyes"; then
|
||||
fi
|
||||
# execute ACTION-IF-NOT-FOUND (if present):
|
||||
ifelse([$3], , :, [$3])
|
||||
AC_DEFINE([OPM_HAVE_BOOST], [0],dnl
|
||||
[Define to `0' if the Boost library is not available])
|
||||
else
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
||||
AC_SUBST([OPM_BOOST_CPPFLAGS])
|
||||
AC_SUBST([OPM_BOOST_LDFLAGS])
|
||||
AC_DEFINE([OPM_HAVE_BOOST], [1], [define if the Boost library is available])
|
||||
# execute ACTION-IF-FOUND (if present):
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
66
m4/opm_core.m4
Normal file
66
m4/opm_core.m4
Normal file
@@ -0,0 +1,66 @@
|
||||
dnl -*- autoconf -*-
|
||||
# Macros needed to find OPM-core and dependent libraries. They are called by
|
||||
# the macros in ${top_src_dir}/dependencies.m4, which is generated by
|
||||
# "dunecontrol autogen"
|
||||
AC_DEFUN([OPM_CORE_CHECKS],
|
||||
[
|
||||
|
||||
# Checks for libraries.
|
||||
|
||||
# Bring in numerics support (standard library component)
|
||||
AC_SEARCH_LIBS([sqrt], [m])
|
||||
|
||||
OPM_LAPACK
|
||||
|
||||
OPM_BOOST_BASE([1.37])
|
||||
AX_BOOST_SYSTEM
|
||||
AX_BOOST_DATE_TIME
|
||||
AX_BOOST_FILESYSTEM
|
||||
AX_BOOST_UNIT_TEST_FRAMEWORK
|
||||
|
||||
AX_DUNE_ISTL
|
||||
OPM_AGMG
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([float.h limits.h stddef.h stdlib.h string.h])
|
||||
|
||||
AC_CHECK_HEADERS([suitesparse/umfpack.h],
|
||||
[umfpack_header=yes],
|
||||
[umfpack_header=no])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_HEADER_STDBOOL
|
||||
AC_TYPE_SIZE_T
|
||||
AC_CHECK_TYPES([ptrdiff_t])
|
||||
|
||||
# Checks for library functions.
|
||||
AC_CHECK_FUNCS([floor memset memmove strchr strtol sqrt pow])
|
||||
AC_FUNC_STRTOD
|
||||
|
||||
# Search for UMFPACK direct sparse solver.
|
||||
AC_SEARCH_LIBS([amd_free], [amd])
|
||||
AC_SEARCH_LIBS([camd_free], [camd])
|
||||
AC_SEARCH_LIBS([colamd_set_defaults], [colamd])
|
||||
AC_SEARCH_LIBS([ccolamd_set_defaults], [ccolamd])
|
||||
AC_SEARCH_LIBS([cholmod_l_start], [cholmod])
|
||||
AC_SEARCH_LIBS([umfpack_dl_solve], [umfpack],dnl
|
||||
[umfpack_lib=yes], [umfpack_lib=no])
|
||||
|
||||
AM_CONDITIONAL([UMFPACK],
|
||||
[test "x$umfpack_header" != "xno" -a "x$umfpack_lib" != "xno"])
|
||||
|
||||
m4_ifdef([AM_COND_IF],
|
||||
[AM_COND_IF([UMFPACK], [],
|
||||
[AC_MSG_NOTICE([Found no working installation of UMFPACK.
|
||||
UMFPACK support is disabled.])])
|
||||
])
|
||||
|
||||
])
|
||||
|
||||
# Additional checks needed to find eWoms
|
||||
# This macro should be invoked by every module which depends on dumux, but
|
||||
# not by dumux itself
|
||||
AC_DEFUN([OPM_CORE_CHECK_MODULE],
|
||||
[
|
||||
OPM_CORE_CHECK_MODULES([opm-core],[opm/core/grid.h],[create_grid_empty()])
|
||||
])
|
||||
281
m4/opm_core_check_modules.m4
Normal file
281
m4/opm_core_check_modules.m4
Normal file
@@ -0,0 +1,281 @@
|
||||
dnl -*- autoconf -*-
|
||||
|
||||
# OPM_CORE_CHECK_MODULES(NAME, HEADER, SYMBOL)
|
||||
#
|
||||
# THIS MACRO IS JUST A COPY OF DUNE_CHECK_MODULES WITH THE REQUIREMENT
|
||||
# THAT ALL HEADERS MUST RESIDE IN $MODULE_ROOT/dune REMOVED. REMOVE
|
||||
# THIS MACRO AS SOON AS DUNE DOES NOT ENFORCE THIS ANYMORE.
|
||||
#
|
||||
# Generic check for dune modules. This macro should not be used directly, but
|
||||
# in the modules m4/{module}.m4 in the {MODULE}_CHECK_MODULE macro. The
|
||||
# {MODULE}_CHECK_MODULE macro knows the parameters to call this
|
||||
# DUNE_CHECK_MODULES macro with, and it does not take any parameters itself,
|
||||
# so it may be used with AC_REQUIRE.
|
||||
#
|
||||
# NAME Name of the module, lowercase with dashes (like "dune-common"). The
|
||||
# value must be known when autoconf runs, so shell variables in the
|
||||
# value are not permissible.
|
||||
#
|
||||
# HEADER Header to check for. The check will really be for <dune/{HEADER}>,
|
||||
# so the header must reside within a directory called "dune".
|
||||
#
|
||||
# SYMBOL Symbol to check for in the module's library. If this argument is
|
||||
# empty or missing, it is assumed that the module does not provide a
|
||||
# library. The value must be known when autoconf runs, so shell
|
||||
# variables in the value are not permissible. This value is actually
|
||||
# handed to AC_TRY_LINK unchanged as the FUNCTION-BODY argument, so it
|
||||
# may contain more complex stuff than a simple symbol.
|
||||
#
|
||||
# The name of the library is assumed to be the same as the module name,
|
||||
# with any occurance of "-" removed. The path of the library is
|
||||
# obtained from pkgconfig for installed modules, or assumed to be the
|
||||
# directory "lib" within the modules root for non-installed modules.
|
||||
#
|
||||
# In the following, {module} is {NAME} with any "-" replaced by "_" and
|
||||
# {MODULE} is the uppercase version of {module}.
|
||||
#
|
||||
# configure options:
|
||||
# --with-{NAME}
|
||||
#
|
||||
# configure/shell variables:
|
||||
# {MODULE}_ROOT, {MODULE}_LIBDIR
|
||||
# HAVE_{MODULE} (1 or 0)
|
||||
# with_{module} ("yes" or "no")
|
||||
# DUNE_CPPFLAGS, DUNE_LDFLAGS, DUNE_LIBS (adds the modules values here,
|
||||
# substitution done by DUNE_CHECK_ALL)
|
||||
# ALL_PKG_CPPFLAGS, ALL_PKG_LDFLAGS, ALL_PKG_LIBS (adds the modules values
|
||||
# here, substitution done by DUNE_CHECK_ALL)
|
||||
# {MODULE}_VERSION
|
||||
# {MODULE}_VERSION_MAJOR
|
||||
# {MODULE}_VERSION_MINOR
|
||||
# {MODULE}_VERSION_REVISION
|
||||
#
|
||||
# configure substitutions/makefile variables:
|
||||
# {MODULE}_CPPFLAGS, {MODULE}_LDFLAGS, {MODULE}_LIBS
|
||||
# {MODULE}_ROOT
|
||||
# {MODULE}_LIBDIR (only if modules provides a library)
|
||||
#
|
||||
# preprocessor defines:
|
||||
# HAVE_{MODULE} (1 or undefined)
|
||||
# {MODULE}_VERSION
|
||||
# {MODULE}_VERSION_MAJOR
|
||||
# {MODULE}_VERSION_MINOR
|
||||
# {MODULE}_VERSION_REVISION
|
||||
#
|
||||
# automake conditionals:
|
||||
# HAVE_{MODULE}
|
||||
AC_DEFUN([OPM_CORE_CHECK_MODULES],[
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_REQUIRE([AC_PROG_CXXCPP])
|
||||
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
AC_REQUIRE([DUNE_DISABLE_LIBCHECK])
|
||||
AC_REQUIRE([LT_OUTPUT])
|
||||
|
||||
# ____DUNE_CHECK_MODULES_____ ($1)
|
||||
|
||||
m4_pushdef([_dune_name], [$1])
|
||||
m4_pushdef([_dune_module], [m4_translit(_dune_name, [-], [_])])
|
||||
m4_pushdef([_dune_header], [$2])
|
||||
m4_pushdef([_dune_ldpath], [lib])
|
||||
m4_pushdef([_dune_lib], [m4_translit(_dune_name, [-], [])])
|
||||
m4_pushdef([_dune_symbol], [$3])
|
||||
m4_pushdef([_DUNE_MODULE], [m4_toupper(_dune_module)])
|
||||
|
||||
# switch tests to c++
|
||||
AC_LANG_PUSH([C++])
|
||||
|
||||
# the usual option...
|
||||
AC_ARG_WITH(_dune_name,
|
||||
AS_HELP_STRING([--with-_dune_name=PATH],[_dune_module directory]))
|
||||
|
||||
# backup of flags
|
||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
ac_save_LDFLAGS="$LDFLAGS"
|
||||
CPPFLAGS=""
|
||||
LIBS=""
|
||||
|
||||
##
|
||||
## Where is the module $1?
|
||||
##
|
||||
|
||||
AC_MSG_CHECKING([for $1 installation or source tree])
|
||||
|
||||
# is a directory set?
|
||||
AS_IF([test -z "$with_[]_dune_module"],[
|
||||
#
|
||||
# search module $1 via pkg-config
|
||||
#
|
||||
with_[]_dune_module="global installation"
|
||||
AS_IF([test -z "$PKG_CONFIG"],[
|
||||
AC_MSG_RESULT([failed])
|
||||
AC_MSG_NOTICE([could not search for module _dune_name])
|
||||
AC_MSG_ERROR([pkg-config is required for using installed modules])
|
||||
])
|
||||
AS_IF(AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]),[
|
||||
_dune_cm_CPPFLAGS="`$PKG_CONFIG --cflags _dune_name`" 2>/dev/null
|
||||
_DUNE_MODULE[]_ROOT="`$PKG_CONFIG --variable=prefix _dune_name`" 2>/dev/null
|
||||
_DUNE_MODULE[]_VERSION="`$PKG_CONFIG --modversion _dune_name`" 2>/dev/null
|
||||
_dune_cm_LDFLAGS=""
|
||||
ifelse(_dune_symbol,,
|
||||
[_DUNE_MODULE[]_LIBDIR=""
|
||||
_dune_cm_LIBS=""],
|
||||
[_DUNE_MODULE[]_LIBDIR=`$PKG_CONFIG --variable=libdir _dune_name 2>/dev/null`
|
||||
_dune_cm_LIBS="-L$_DUNE_MODULE[]_LIBDIR -l[]_dune_lib"])
|
||||
HAVE_[]_DUNE_MODULE=1
|
||||
AC_MSG_RESULT([global installation in $_DUNE_MODULE[]_ROOT])
|
||||
],[
|
||||
HAVE_[]_DUNE_MODULE=0
|
||||
AC_MSG_RESULT([not found])
|
||||
])
|
||||
],[
|
||||
#
|
||||
# path for module $1 is specified via command line
|
||||
#
|
||||
AS_IF([test -d "$with_[]_dune_module"],[
|
||||
# expand tilde / other stuff
|
||||
_DUNE_MODULE[]_ROOT=`cd $with_[]_dune_module && pwd`
|
||||
|
||||
# expand search path (otherwise empty CPPFLAGS)
|
||||
AS_IF([test -d "$_DUNE_MODULE[]_ROOT/include/dune"],[
|
||||
# Dune was installed into directory given by with-dunecommon
|
||||
_dune_cm_CPPFLAGS="-I$_DUNE_MODULE[]_ROOT/include"
|
||||
_DUNE_MODULE[]_BUILDDIR=_DUNE_MODULE[]_ROOT
|
||||
_DUNE_MODULE[]_VERSION="`PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$_DUNE_MODULE[]_ROOT/lib/pkgconfig $PKG_CONFIG --modversion _dune_name`" 2>/dev/null
|
||||
],[
|
||||
_DUNE_MODULE[]_SRCDIR=$_DUNE_MODULE[]_ROOT
|
||||
# extract src and build path from Makefile, if found
|
||||
AS_IF([test -f $_DUNE_MODULE[]_ROOT/Makefile],[
|
||||
_DUNE_MODULE[]_SRCDIR="`sed -ne '/^abs_top_srcdir = /{s/^abs_top_srcdir = //; p;}' $_DUNE_MODULE[]_ROOT/Makefile`"
|
||||
])
|
||||
_dune_cm_CPPFLAGS="-I$_DUNE_MODULE[]_SRCDIR"
|
||||
_DUNE_MODULE[]_VERSION="`grep Version $_DUNE_MODULE[]_SRCDIR/dune.module | sed -e 's/^Version: *//'`" 2>/dev/null
|
||||
])
|
||||
_dune_cm_LDFLAGS=""
|
||||
ifelse(_dune_symbol,,
|
||||
[_DUNE_MODULE[]_LIBDIR=""
|
||||
_dune_cm_LIBS=""],
|
||||
[_DUNE_MODULE[]_LIBDIR="$_DUNE_MODULE[]_ROOT/lib"
|
||||
_dune_cm_LIBS="-L$_DUNE_MODULE[]_LIBDIR -l[]_dune_lib"])
|
||||
# set expanded module path
|
||||
with_[]_dune_module="$_DUNE_MODULE[]_ROOT"
|
||||
HAVE_[]_DUNE_MODULE=1
|
||||
AC_MSG_RESULT([found in $_DUNE_MODULE[]_ROOT])
|
||||
],[
|
||||
HAVE_[]_DUNE_MODULE=0
|
||||
AC_MSG_RESULT([not found])
|
||||
AC_MSG_ERROR([_dune_name-directory $with_[]_dune_module does not exist])
|
||||
])
|
||||
])
|
||||
|
||||
CPPFLAGS="$ac_save_CPPFLAGS $DUNE_CPPFLAGS $_dune_cm_CPPFLAGS"
|
||||
##
|
||||
## check for an arbitrary header
|
||||
##
|
||||
AS_IF([test "$HAVE_[]_DUNE_MODULE" != "1"],[
|
||||
AC_CHECK_HEADER([[]_dune_header],
|
||||
[HAVE_[]_DUNE_MODULE=1], [HAVE_[]_DUNE_MODULE=0])
|
||||
])
|
||||
|
||||
AS_IF([test "$HAVE_[]_DUNE_MODULE" != "1"],[
|
||||
AC_MSG_WARN([$_DUNE_MODULE[]_ROOT does not seem to contain a valid _dune_name (dune/[]_dune_header not found)])
|
||||
])
|
||||
|
||||
##
|
||||
## check for lib (if lib name was provided)
|
||||
##
|
||||
ifelse(_dune_symbol,,
|
||||
AC_MSG_NOTICE([_dune_name does not provide libs]),
|
||||
|
||||
AS_IF([test "x$enable_dunelibcheck" = "xno"],[
|
||||
AC_MSG_WARN([library check for _dune_name is disabled. DANGEROUS!])
|
||||
],[
|
||||
AS_IF([test "x$HAVE_[]_DUNE_MODULE" = "x1"],[
|
||||
|
||||
# save current LDFLAGS
|
||||
ac_save_CXX="$CXX"
|
||||
HAVE_[]_DUNE_MODULE=0
|
||||
|
||||
# define LTCXXLINK like it will be defined in the Makefile
|
||||
CXX="./libtool --tag=CXX --mode=link $ac_save_CXX"
|
||||
|
||||
# use module LDFLAGS
|
||||
LDFLAGS="$ac_save_LDFLAGS $DUNE_LDFLAGS $_dune_cm_LDFLAGS"
|
||||
LIBS="$_dune_cm_LIBS $DUNE_LIBS $LIBS"
|
||||
|
||||
AC_MSG_CHECKING([for lib[]_dune_lib])
|
||||
|
||||
AC_TRY_LINK(dnl
|
||||
[#]include<_dune_header>,
|
||||
_dune_symbol,
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
HAVE_[]_DUNE_MODULE=1
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
HAVE_[]_DUNE_MODULE=0
|
||||
AS_IF([test -n "$_DUNE_MODULE[]_ROOT"],[
|
||||
AC_MSG_WARN([$with_[]_dune_module does not seem to contain a valid _dune_name (failed to link with lib[]_dune_lib[].la)])
|
||||
])
|
||||
]
|
||||
)
|
||||
])
|
||||
|
||||
# reset variables
|
||||
CXX="$ac_save_CXX"
|
||||
])
|
||||
)
|
||||
|
||||
# did we succeed?
|
||||
AS_IF([test "x$HAVE_[]_DUNE_MODULE" = "x1"],[
|
||||
# add the module's own flags and libs to the modules and the global
|
||||
# variables
|
||||
DUNE_ADD_MODULE_DEPS(m4_defn([_dune_name]), m4_defn([_dune_name]),
|
||||
[$_dune_cm_CPPFLAGS], [$_dune_cm_LDFLAGS], [$_dune_cm_LIBS])
|
||||
|
||||
# set variables for our modules
|
||||
AC_SUBST(_DUNE_MODULE[]_CPPFLAGS, "$_DUNE_MODULE[]_CPPFLAGS")
|
||||
AC_SUBST(_DUNE_MODULE[]_LDFLAGS, "$_DUNE_MODULE[]_LDFLAGS")
|
||||
AC_SUBST(_DUNE_MODULE[]_LIBS, "$_DUNE_MODULE[]_LIBS")
|
||||
AC_SUBST(_DUNE_MODULE[]_ROOT, "$_DUNE_MODULE[]_ROOT")
|
||||
ifelse(m4_defn([_dune_symbol]),,
|
||||
[],
|
||||
[AC_SUBST(_DUNE_MODULE[]_LIBDIR)
|
||||
])
|
||||
AC_DEFINE(HAVE_[]_DUNE_MODULE, 1, [Define to 1 if] _dune_name [was found])
|
||||
|
||||
DUNE_PARSE_MODULE_VERSION(_dune_name, $_DUNE_MODULE[]_VERSION)
|
||||
|
||||
# set DUNE_* variables
|
||||
# This should actually be unneccesary, but I'm keeping it in here for now
|
||||
# for backward compatibility
|
||||
DUNE_LDFLAGS="$DUNE_LDFLAGS $_DUNE_MODULE[]_LDFLAGS"
|
||||
DUNE_LIBS="$_DUNE_MODULE[]_LIBS $DUNE_LIBS"
|
||||
|
||||
with_[]_dune_module="yes"
|
||||
],[
|
||||
with_[]_dune_module="no"
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(HAVE_[]_DUNE_MODULE, test x$HAVE_[]_DUNE_MODULE = x1)
|
||||
|
||||
# reset previous flags
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
LDFLAGS="$ac_save_LDFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
# add this module to DUNE_SUMMARY
|
||||
DUNE_MODULE_ADD_SUMMARY_ENTRY(_dune_name)
|
||||
|
||||
# remove local variables
|
||||
m4_popdef([_dune_name])
|
||||
m4_popdef([_dune_module])
|
||||
m4_popdef([_dune_header])
|
||||
m4_popdef([_dune_ldpath])
|
||||
m4_popdef([_dune_lib])
|
||||
m4_popdef([_dune_symbol])
|
||||
m4_popdef([_DUNE_MODULE])
|
||||
|
||||
# restore previous language settings (leave C++)
|
||||
AC_LANG_POP([C++])
|
||||
])
|
||||
@@ -38,14 +38,14 @@ dnl -------------------------------------------------------------------
|
||||
# system uses dynamic linking of Boost.Test .
|
||||
AC_DEFUN([OPM_DYNLINK_BOOST_TEST],
|
||||
[
|
||||
AC_REQUIRE([AX_BOOST_BASE])
|
||||
AC_REQUIRE([OPM_BOOST_BASE])
|
||||
AC_REQUIRE([AX_BOOST_UNIT_TEST_FRAMEWORK])
|
||||
|
||||
_opm_LIBS_SAVE="$LIBS"
|
||||
_opm_CPPFLAGS_SAVE="$CPPFLAGS"
|
||||
_opm_LIBS_SAVE="${LIBS}"
|
||||
_opm_CPPFLAGS_SAVE="${CPPFLAGS}"
|
||||
|
||||
LIBS="${BOOST_LDFLAGS} ${BOOST_UNIT_TEST_FRAMEWORK_LIB} ${LIBS}"
|
||||
CPPFLAGS="${BOOST_CPPFLAGS} ${CPPFLAGS}"
|
||||
LIBS="${OPM_BOOST_LDFLAGS} ${BOOST_UNIT_TEST_FRAMEWORK_LIB} ${LIBS}"
|
||||
CPPFLAGS="${OPM_BOOST_CPPFLAGS} ${CPPFLAGS}"
|
||||
|
||||
AC_LANG_PUSH([C++])
|
||||
|
||||
@@ -66,12 +66,12 @@ AC_CACHE_CHECK([if the Boost.Test library can be linked dynamically],dnl
|
||||
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
LIBS="$_opm_LIBS_SAVE"
|
||||
CPPFLAGS="$_opm_CPPFLAGS_SAVE"
|
||||
LIBS="${_opm_LIBS_SAVE}"
|
||||
CPPFLAGS="${_opm_CPPFLAGS_SAVE}"
|
||||
|
||||
AS_IF([test x"$opm_cv_boost_link_static" = x"yes" -o \
|
||||
x"$opm_cv_boost_link_dynamic" = x"yes"],
|
||||
[AS_IF([test x"$opm_cv_boost_link_dynamic" = x"yes"],
|
||||
AS_IF([test x"${opm_cv_boost_link_static}" = x"yes" -o \
|
||||
x"${opm_cv_boost_link_dynamic}" = x"yes"],
|
||||
[AS_IF([test x"${opm_cv_boost_link_dynamic}" = x"yes"],
|
||||
[AC_DEFINE([HAVE_DYNAMIC_BOOST_TEST], [1],
|
||||
[Define to `1' if Boost.Test should use BOOST_TEST_DYN_LINK])]
|
||||
[:])[]dnl
|
||||
|
||||
Reference in New Issue
Block a user