1476 lines
52 KiB
Plaintext
1476 lines
52 KiB
Plaintext
AC_REVISION([m4_esyscmd_s([git describe --always])])
|
|
|
|
AC_PREREQ(2.63)
|
|
AC_INIT([musrfit],[1.4.0],[andreas.suter@psi.ch])
|
|
AC_CONFIG_AUX_DIR(admin)
|
|
AC_CANONICAL_HOST
|
|
#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Check if pkg-config is installed
|
|
dnl -----------------------------------------------
|
|
|
|
#PKG_PROG_PKG_CONFIG([0.9])
|
|
#The above macro does not work if pkg-config is not installed, therefore, for the moment we stay with the solution below:
|
|
m4_ifdef([PKG_CHECK_MODULES],[],AC_MSG_ERROR([Please install pkg-config before configuring musrfit!]))
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Package names and version numbers
|
|
dnl -----------------------------------------------
|
|
|
|
MUSR_PROGRAM_NAME=musrfit
|
|
MUSR_LIBRARY_NAME=PMusr
|
|
USERFCN_LIBRARY_NAME=PUserFcnBase
|
|
MUSR_ROOT_LIBRARY_NAME=TMusrRunHeader
|
|
LEM_LIBRARY_NAME=TLemRunHeader
|
|
PSIBIN_LIBRARY_NAME=Class_MuSR_PSI
|
|
MUD_LIBRARY_NAME=mud
|
|
PNEXUS_LIBRARY_NAME=PNeXus
|
|
CUBA_LIBRARY_NAME=cuba
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Optional plug-ins
|
|
dnl -----------------------------------------------
|
|
|
|
|
|
#release versioning
|
|
MUSR_MAJOR_VERSION=1
|
|
MUSR_MINOR_VERSION=4
|
|
MUSR_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
MUSR_ROOT_MAJOR_VERSION=1
|
|
MUSR_ROOT_MINOR_VERSION=0
|
|
MUSR_ROOT_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
LEM_MAJOR_VERSION=1
|
|
LEM_MINOR_VERSION=5
|
|
LEM_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
PSIBIN_MAJOR_VERSION=0
|
|
PSIBIN_MINOR_VERSION=1
|
|
PSIBIN_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
MUD_MAJOR_VERSION=1
|
|
MUD_MINOR_VERSION=0
|
|
MUD_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
PNEXUS_MAJOR_VERSION=0
|
|
PNEXUS_MINOR_VERSION=9
|
|
PNEXUS_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
PLUGIN_MAJOR_VERSION=1
|
|
PLUGIN_MINOR_VERSION=0
|
|
PLUGIN_MICRO_VERSION=0
|
|
|
|
#release versioning
|
|
CUBA_MAJOR_VERSION=4
|
|
CUBA_MINOR_VERSION=2
|
|
CUBA_MICRO_VERSION=0
|
|
|
|
#API version
|
|
MUSR_API_VERSION=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION
|
|
AC_SUBST(MUSR_API_VERSION)
|
|
|
|
MUSR_ROOT_API_VERSION=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION
|
|
AC_SUBST(MUSR_ROOT_API_VERSION)
|
|
|
|
LEM_API_VERSION=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION
|
|
AC_SUBST(LEM_API_VERSION)
|
|
|
|
PSIBIN_API_VERSION=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION
|
|
AC_SUBST(PSIBIN_API_VERSION)
|
|
|
|
MUD_API_VERSION=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION
|
|
AC_SUBST(MUD_API_VERSION)
|
|
|
|
PNEXUS_API_VERSION=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION
|
|
AC_SUBST(PNEXUS_API_VERSION)
|
|
|
|
PLUGIN_API_VERSION=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION
|
|
AC_SUBST(PLUGIN_API_VERSION)
|
|
|
|
CUBA_API_VERSION=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION
|
|
AC_SUBST(CUBA_API_VERSION)
|
|
|
|
#shared library versioning
|
|
CUBA_LIBRARY_VERSION=$CUBA_MAJOR_VERSION:$CUBA_MINOR_VERSION:$CUBA_MICRO_VERSION
|
|
PLUGIN_LIBRARY_VERSION=$PLUGIN_MAJOR_VERSION:$PLUGIN_MINOR_VERSION:$PLUGIN_MICRO_VERSION
|
|
MUSR_ROOT_LIBRARY_VERSION=$MUSR_ROOT_MAJOR_VERSION:$MUSR_ROOT_MINOR_VERSION:$MUSR_ROOT_MICRO_VERSION
|
|
LEM_LIBRARY_VERSION=$LEM_MAJOR_VERSION:$LEM_MINOR_VERSION:$LEM_MICRO_VERSION
|
|
PSIBIN_LIBRARY_VERSION=$PSIBIN_MAJOR_VERSION:$PSIBIN_MINOR_VERSION:$PSIBIN_MICRO_VERSION
|
|
MUD_LIBRARY_VERSION=$MUD_MAJOR_VERSION:$MUD_MINOR_VERSION:$MUD_MICRO_VERSION
|
|
PNEXUS_LIBRARY_VERSION=$PNEXUS_MAJOR_VERSION:$PNEXUS_MINOR_VERSION:$PNEXUS_MICRO_VERSION
|
|
MUSR_LIBRARY_VERSION=$MUSR_MAJOR_VERSION:$MUSR_MINOR_VERSION:$MUSR_MICRO_VERSION
|
|
|
|
# This is definitely handled wrongly at the moment and needs to be fixed...
|
|
#XXX_LIBRARY_VERSION=X:Y:Z
|
|
# | | |
|
|
# +------+ | +---+
|
|
# | | |
|
|
# current:revision:age
|
|
# | | |
|
|
# | | +- increment if interfaces have been added
|
|
# | | set to zero if interfaces have been removed
|
|
# or changed
|
|
# | +- increment if source code has changed
|
|
# | set to zero if current is incremented
|
|
# +- increment if interfaces have been added, removed or changed
|
|
|
|
AC_SUBST(MUSR_LIBRARY_VERSION)
|
|
AC_SUBST(MUSR_ROOT_LIBRARY_VERSION)
|
|
AC_SUBST(LEM_LIBRARY_VERSION)
|
|
AC_SUBST(PSIBIN_LIBRARY_VERSION)
|
|
AC_SUBST(MUD_LIBRARY_VERSION)
|
|
AC_SUBST(PNEXUS_LIBRARY_VERSION)
|
|
AC_SUBST(PLUGIN_LIBRARY_VERSION)
|
|
AC_SUBST(CUBA_LIBRARY_VERSION)
|
|
|
|
PACKAGE=$MUSR_PROGRAM_NAME
|
|
AC_SUBST(MUSR_LIBRARY_NAME)
|
|
AC_SUBST(USERFCN_LIBRARY_NAME)
|
|
AC_SUBST(MUSR_ROOT_LIBRARY_NAME)
|
|
AC_SUBST(LEM_LIBRARY_NAME)
|
|
AC_SUBST(PSIBIN_LIBRARY_NAME)
|
|
AC_SUBST(MUD_LIBRARY_NAME)
|
|
AC_SUBST(PNEXUS_LIBRARY_NAME)
|
|
AC_SUBST(CUBA_LIBRARY_NAME)
|
|
|
|
PSIBIN_VERSION=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION.$PSIBIN_MICRO_VERSION
|
|
PSIBIN_RELEASE=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION
|
|
AC_SUBST(PSIBIN_RELEASE)
|
|
AC_SUBST(PSIBIN_VERSION)
|
|
|
|
MUD_VERSION=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION.$MUD_MICRO_VERSION
|
|
MUD_RELEASE=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION
|
|
AC_SUBST(MUD_RELEASE)
|
|
AC_SUBST(MUD_VERSION)
|
|
|
|
PNEXUS_VERSION=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION.$PNEXUS_MICRO_VERSION
|
|
PNEXUS_RELEASE=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION
|
|
AC_SUBST(PNEXUS_RELEASE)
|
|
AC_SUBST(PNEXUS_VERSION)
|
|
|
|
LEM_VERSION=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION.$LEM_MICRO_VERSION
|
|
LEM_RELEASE=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION
|
|
AC_SUBST(LEM_RELEASE)
|
|
AC_SUBST(LEM_VERSION)
|
|
|
|
MUSR_ROOT_VERSION=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION.$MUSR_ROOT_MICRO_VERSION
|
|
MUSR_ROOT_RELEASE=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION
|
|
AC_SUBST(MUSR_ROOT_RELEASE)
|
|
AC_SUBST(MUSR_ROOT_VERSION)
|
|
|
|
MUSR_VERSION=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION.$MUSR_MICRO_VERSION
|
|
MUSR_RELEASE=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION
|
|
AC_SUBST(MUSR_RELEASE)
|
|
AC_SUBST(MUSR_VERSION)
|
|
|
|
PLUGIN_VERSION=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION.$PLUGIN_MICRO_VERSION
|
|
PLUGIN_RELEASE=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION
|
|
AC_SUBST(PLUGIN_RELEASE)
|
|
AC_SUBST(PLUGIN_VERSION)
|
|
AC_SUBST(PLUGIN_MAJOR_VERSION)
|
|
AC_SUBST(PLUGIN_MINOR_VERSION)
|
|
|
|
CUBA_VERSION=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION.$CUBA_MICRO_VERSION
|
|
CUBA_RELEASE=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION
|
|
AC_SUBST(CUBA_RELEASE)
|
|
AC_SUBST(CUBA_VERSION)
|
|
|
|
VERSION=$MUSR_VERSION
|
|
|
|
# Wordaround for gcc-bugs causing problems building libCuba
|
|
# which should be change when a real solution appears
|
|
# Set CFLAGS to "" and pass any user-CFLAGS to the mud-building
|
|
# user-CFLAGS will not be passed to the libCuba building process
|
|
# mud and cuba are currently the only C-routines
|
|
USER_CFLAGS="$CFLAGS"
|
|
CFLAGS=
|
|
if test "$USER_CFLAGS" = ""; then
|
|
USER_CFLAGS="-g -O2"
|
|
fi
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Automake initialization and program checks
|
|
dnl -----------------------------------------------
|
|
|
|
AM_INIT_AUTOMAKE
|
|
# m4_ifdef([AM_SILENT_RULES],
|
|
# [AM_SILENT_RULES([yes])])
|
|
AC_CONFIG_HEADER([config.h])
|
|
AC_LANG([C++])
|
|
AC_PROG_LN_S
|
|
AC_PROG_INSTALL
|
|
|
|
m4_ifdef([AC_PROG_MKDIR_P],
|
|
[AC_PROG_MKDIR_P],
|
|
[MKDIR_P="mkdir -p"
|
|
AC_SUBST(MKDIR_P)])
|
|
|
|
m4_ifdef([LT_INIT],
|
|
[LT_INIT([disable-static])
|
|
LT_LANG([C++])
|
|
LT_LANG([C])],
|
|
[m4_defun([_LT_AC_LANG_F77_CONFIG], [:])
|
|
AC_DISABLE_STATIC([])
|
|
LT_INIT
|
|
AC_PROG_CXX
|
|
AC_PROG_CC])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user for path to fftw3
|
|
dnl -----------------------------------------------
|
|
|
|
FFTW3_FOUND=0
|
|
AC_ARG_WITH([fftw3],
|
|
[AS_HELP_STRING([--with-fftw3],[prefix of FFTW3 installation, e.g. /usr/local or /usr])],
|
|
[FFTW3_PREFIX=$with_fftw3
|
|
AC_MSG_CHECKING([whether FFTW3 can be found at the specified location])
|
|
if !(test -r ${FFTW3_PREFIX}/include/fftw3.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([FFTW3 cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${FFTW3_PREFIX}])],
|
|
[PKG_CHECK_MODULES(FFTW3, fftw3 >= 3.1.0, [FFTW3_FOUND=1],
|
|
[AC_MSG_CHECKING([whether FFTW3 is installed in a standard location])
|
|
if test -r /usr/local/include/fftw3.h; then
|
|
FFTW3_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${FFTW3_PREFIX}])
|
|
elif test -r /usr/include/fftw3.h; then
|
|
FFTW3_PREFIX="/usr"
|
|
AC_MSG_RESULT([${FFTW3_PREFIX}])
|
|
elif test -r /sw/include/fftw3.h; then
|
|
FFTW3_PREFIX="/sw"
|
|
AC_MSG_RESULT([${FFTW3_PREFIX}])
|
|
elif test -r /opt/local/include/fftw3.h; then
|
|
FFTW3_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${FFTW3_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[FFTW3 not found. Please call configure with the --with-fftw3 option.
|
|
This tells configure where to find the FFTW3 C libraries and headers,
|
|
e.g. --with-fftw3=/usr/local or --with-fftw3=/usr]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
]
|
|
)
|
|
AC_SUBST(FFTW3_PREFIX)
|
|
if test "${FFTW3_FOUND}" != "1"; then
|
|
FFTW3_LIBS="-L${FFTW3_PREFIX}/lib -lfftw3 -lm"
|
|
FFTW3_CFLAGS="-I${FFTW3_PREFIX}/include"
|
|
fi
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user for path to gsl
|
|
dnl -----------------------------------------------
|
|
|
|
GSL_FOUND=0
|
|
AC_ARG_WITH([gsl],
|
|
[AS_HELP_STRING([--with-gsl],[prefix of GSL installation. e.g. /usr/local or /usr])],
|
|
[GSL_PREFIX=$with_gsl
|
|
AC_MSG_CHECKING([whether GSL can be found at the specified location])
|
|
if !(test -r ${GSL_PREFIX}/include/gsl/gsl_sf_hyperg.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([GSL cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${GSL_PREFIX}])],
|
|
[PKG_CHECK_MODULES(GSL, gsl >= 1.9, [GSL_FOUND=1],
|
|
[AC_MSG_CHECKING([whether GSL is installed in a standard location])
|
|
if test -r /usr/local/include/gsl/gsl_sf_hyperg.h; then
|
|
GSL_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${GSL_PREFIX}])
|
|
elif test -r /usr/include/gsl/gsl_sf_hyperg.h; then
|
|
GSL_PREFIX="/usr"
|
|
AC_MSG_RESULT([${GSL_PREFIX}])
|
|
elif test -r /sw/include/gsl/gsl_sf_hyperg.h; then
|
|
GSL_PREFIX="/sw"
|
|
AC_MSG_RESULT([${GSL_PREFIX}])
|
|
elif test -r /opt/local/include/gsl/gsl_sf_hyperg.h; then
|
|
GSL_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${GSL_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[GSL not found. Please call configure with the --with-gsl option.
|
|
This tells configure where to find the GSL C libraries and headers,
|
|
e.g. --with-gsl=/usr/local or --with-gsl=/usr]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
]
|
|
)
|
|
AC_SUBST(GSL_PREFIX)
|
|
if test "${GSL_FOUND}" != "1"; then
|
|
GSL_LIBS="-L${GSL_PREFIX}/lib -lgsl -lgslcblas -lm"
|
|
GSL_CFLAGS="-I${GSL_PREFIX}/include/gsl"
|
|
fi
|
|
AC_SUBST(GSL_LIBS)
|
|
AC_SUBST(GSL_CFLAGS)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user for path to boost
|
|
dnl -----------------------------------------------
|
|
|
|
BOOST_FOUND=0
|
|
AC_ARG_WITH([boostinc],
|
|
[AS_HELP_STRING([--with-boostinc],[path to the header files of the BOOST installation, e.g. /usr/local/include or /usr/include])],
|
|
[BOOST_INCLUDE=$with_boostinc
|
|
AC_MSG_CHECKING([whether BOOST can be found at the specified location])
|
|
if !(test -r ${BOOST_INCLUDE}/boost/spirit.hpp) && !(test -r ${BOOST_INCLUDE}/boost/spirit/include/classic_spirit.hpp); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([BOOST cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${BOOST_INCLUDE}])],
|
|
[PKG_CHECK_MODULES(BOOST, boost >= 1.30, [BOOST_FOUND=1],
|
|
[AC_MSG_CHECKING([whether BOOST is installed in a standard location])
|
|
if test -r /usr/local/include/boost/spirit.hpp || test -r /usr/local/include/boost/spirit/include/classic_spirit.hpp; then
|
|
BOOST_INCLUDE="/usr/local/include"
|
|
AC_MSG_RESULT([${BOOST_INCLUDE}])
|
|
elif test -r /usr/include/boost/spirit.hpp || test -r /usr/include/boost/spirit/include/classic_spirit.hpp; then
|
|
BOOST_INCLUDE="/usr/include"
|
|
AC_MSG_RESULT([${BOOST_INCLUDE}])
|
|
elif test -r /sw/include/boost/spirit.hpp || test -r /sw/include/boost/spirit/include/classic_spirit.hpp; then
|
|
BOOST_INCLUDE="/sw/include"
|
|
AC_MSG_RESULT([${BOOST_INCLUDE}])
|
|
elif test -r /opt/local/include/boost/spirit.hpp || test -r /opt/local/include/boost/spirit/include/classic_spirit.hpp; then
|
|
BOOST_INCLUDE="/opt/local/include"
|
|
AC_MSG_RESULT([${BOOST_INCLUDE}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[BOOST not found. Please call configure with the --with-boostinc option.
|
|
This tells configure where to find the BOOST C++ headers,
|
|
e.g. --with-boostinc=/usr/local/include or --with-boostinc=/usr/include or --with-boostinc=/usr/include/boost-1_33_0]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
]
|
|
)
|
|
AC_SUBST(BOOST_INCLUDE)
|
|
if test "${BOOST_FOUND}" != "1"; then
|
|
BOOST_LIBS=""
|
|
BOOST_CFLAGS="-I${BOOST_INCLUDE}"
|
|
fi
|
|
AC_SUBST(BOOST_LIBS)
|
|
AC_SUBST(BOOST_CFLAGS)
|
|
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user for path to libxml2
|
|
dnl -----------------------------------------------
|
|
LIBXML2_FOUND=0
|
|
AC_ARG_WITH([libxml2],
|
|
[AS_HELP_STRING([--with-libxml2],[prefix of the libxml2 installation, e.g. /usr/local/include])],
|
|
[LIBXML2_PREFIX=$with_libxml2
|
|
AC_MSG_CHECKING([whether libxml2 can be found at the specified location])
|
|
if !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/xmlreader.h) && !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/parser.h) && !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/xmlschemas.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([libxml2 cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${LIBXML2_PREFIX}])],
|
|
[PKG_CHECK_MODULES(LIBXML2, libxml2 >= 2.6.26, [LIBXML2_FOUND=1],
|
|
[AC_MSG_CHECKING([whether libxml2 is installed in a standard location])
|
|
if test -r /usr/local/include/libxml2/libxml/xmlreader.h || test -r /usr/local/include/libxml2/libxml/parser.h || \
|
|
test -r /usr/local/include/libxml2/libxml/xmlschemas.h; then
|
|
LIBXML2_PREFIX="/usr/local/include"
|
|
AC_MSG_RESULT([${LIBXML2_PREFIX}])
|
|
elif test -r /usr/include/libxml2/libxml/xmlreader.h || test -r /usr/include/libxml2/libxml/parser.h || \
|
|
test -r /usr/include/libxml2/libxml/xmlschemas.h; then
|
|
LIBXML2_PREFIX="/usr/include"
|
|
AC_MSG_RESULT([${LIBXML2_PREFIX}])
|
|
elif test -r /sw/include/libxml2/libxml/xmlreader.h || test -r /sw/include/libxml2/libxml/parser.h || \
|
|
test -r /sw/include/libxml2/libxml/xmlschemas.h; then
|
|
LIBXML2_PREFIX="/sw/include"
|
|
AC_MSG_RESULT([${LIBXML2_PREFIX}])
|
|
elif test -r /opt/local/include/libxml2/libxml/xmlreader.h || test -r /opt/local/include/libxml2/libxml/parser.h || \
|
|
test -r /opt/local/include/libxml2/libxml/xmlschemas.h; then
|
|
LIBXML2_PREFIX="/opt/local/include"
|
|
AC_MSG_RESULT([${LIBXML2_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[libxml2 not found. Please call configure with the --with-libxml2 option.
|
|
This tells configure where to find the libxml2 headers,
|
|
e.g. --with-libxml2=/usr/local/include or --with-libxml2=/usr/include/libxml2]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
]
|
|
)
|
|
AC_SUBST(LIBXML2_PREFIX)
|
|
if test "${LIBXML2_FOUND}" != "1"; then
|
|
LIBXML2_LIBS="-L${LIBXML2_PREFIX}/lib -lxml2"
|
|
LIBXML2_CFLAGS="-I${LIBXML2_PREFIX}/libxml2"
|
|
fi
|
|
AC_SUBST(LIBXML2_LIBS)
|
|
AC_SUBST(LIBXML2_CFLAGS)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Check for ROOT
|
|
dnl -----------------------------------------------
|
|
|
|
ROOT_PATH([6.06/00], [], AC_MSG_ERROR([Either ROOT is not installed correctly or the version is too old... please check!]))
|
|
|
|
ROOT_LIBS="-L${ROOTLIBDIR} ${ROOTGLIBS} ${ROOTAUXLIBS} -lMinuit2 -lMathMore -lXMLParser"
|
|
ROOT_CFLAGS="-I${ROOTINCDIR} ${ROOTCFLAGS} ${ROOTAUXCFLAGS}"
|
|
|
|
# Check if Minuit2 has been enabled during the ROOT configuration
|
|
|
|
AC_MSG_CHECKING([for Minuit2 in ROOT])
|
|
if test "x$(${ROOTCONF} --has-minuit2)" = "xyes"; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([Minuit2 is not included in the ROOT installation... Please configure ROOT with the --enable-minuit2 option!])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for MathMore in ROOT])
|
|
if test "x$(${ROOTCONF} --has-mathmore)" = "xyes"; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([MathMore is not included in the ROOT installation... Please configure ROOT with the --enable-mathmore option and check that the feature is actually built!])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for XML support in ROOT])
|
|
if test "x$(${ROOTCONF} --has-xml)" = "xyes"; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([XML support is not included in the ROOT installation... Please configure ROOT with the --enable-xml option and check that the feature is actually built!])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for image processing support in ROOT])
|
|
if test "x$(${ROOTCONF} --has-asimage)" = "xyes"; then
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([image processing support is not included in the ROOT installation... Please configure ROOT with the --enable-asimage option and check that the feature is actually built!])
|
|
fi
|
|
|
|
AC_SUBST(ROOT_LIBS)
|
|
AC_SUBST(ROOT_CFLAGS)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Check for NeXus, HDF5, etc.
|
|
dnl -----------------------------------------------
|
|
AC_ARG_ENABLE([NeXus], [AS_HELP_STRING([--enable-NeXus],[build optional NeXus support [default=no]])],
|
|
[
|
|
# checking for hdf4
|
|
AC_ARG_WITH([hdf4],
|
|
[AS_HELP_STRING([--with-hdf4],[prefix of the HDF4 installation (needed for NeXus), e.g. /usr/local/hdf4 or /opt/hdf4])],
|
|
[HDF4_PREFIX=$with_hdf4
|
|
AC_MSG_CHECKING([whether HDF4 can be found at the specified location])
|
|
if !(test -r ${HDF4_PREFIX}/include/hdf.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([HDF4 cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])],
|
|
[AC_MSG_CHECKING([whether HDF4 is installed in a standard location])
|
|
if test -r /usr/local/include/hdf.h; then
|
|
HDF4_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
elif test -r /usr/local/hdf/include/hdf.h; then
|
|
HDF4_PREFIX="/usr/local/hdf"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
elif test -r /usr/include/hdf.h; then
|
|
HDF4_PREFIX="/usr"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
elif test -r /usr/include/hdf/hdf.h; then
|
|
HDF4_PREFIX="/usr/include/"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
elif test -r /sw/include/hdf.h; then
|
|
HDF4_PREFIX="/sw"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
elif test -r /opt/local/include/hdf.h; then
|
|
HDF4_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${HDF4_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[HDF4 not found (needed for NeXus). Please call configure with the --with-hdf4 option.
|
|
This tells configure where to find the HDF4 C++ headers,
|
|
e.g. --with-hdf4=/usr/local/hdf]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
|
|
# checking for hdf5
|
|
AC_ARG_WITH([hdf5],
|
|
[AS_HELP_STRING([--with-hdf5],[prefix of the HDF5 installation (needed for NeXus), e.g. /usr/local/hdf5 or /opt/hdf5])],
|
|
[HDF5_PREFIX=$with_hdf5
|
|
AC_MSG_CHECKING([whether HDF5 can be found at the specified location])
|
|
if !(test -r ${HDF5_PREFIX}/include/hdf5.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([HDF5 cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])],
|
|
[AC_MSG_CHECKING([whether HDF5 is installed in a standard location])
|
|
if test -r /usr/local/include/hdf5.h; then
|
|
HDF5_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
elif test -r /usr/local/hdf5/include/hdf5.h; then
|
|
HDF5_PREFIX="/usr/local/hdf5"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
elif test -r /usr/include/hdf5/serial/hdf5.h; then
|
|
HDF5_PREFIX="/usr/include/hdf5/serial"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
elif test -r /usr/include/hdf5.h; then
|
|
HDF5_PREFIX="/usr"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
elif test -r /sw/include/hdf5.h; then
|
|
HDF5_PREFIX="/sw"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
elif test -r /opt/local/include/hdf5.h; then
|
|
HDF5_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${HDF5_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[HDF5 not found (needed for NeXus). Please call configure with the --with-hdf5 option.
|
|
This tells configure where to find the HDF5 C++ headers,
|
|
e.g. --with-hdf5=/usr/local/hdf5]
|
|
)
|
|
fi
|
|
]
|
|
)
|
|
|
|
# checking for NeXus
|
|
NEXUS_FOUND=0
|
|
AC_ARG_WITH([nexus],
|
|
[AS_HELP_STRING([--with-nexus],[prefix of the NeXus installation, e.g. /usr/local])],
|
|
[NEXUS_PREFIX=$with_nexus
|
|
AC_MSG_CHECKING([whether NeXus can be found at the specified location])
|
|
if !(test -r ${NEXUS_PREFIX}/include/nexus/napi.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([NeXus cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${NEXUS_PREFIX}])],
|
|
[PKG_CHECK_MODULES(NEXUS, nexus >= 4.4, [NEXUS_FOUND=1],
|
|
[AC_MSG_CHECKING([whether NeXus is installed in a standard location])
|
|
if test -r /usr/local/include/nexus/napi.h; then
|
|
NEXUS_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${NEXUS_PREFIX}])
|
|
elif test -r /sw/include/nexus/napi.h; then
|
|
NEXUS_PREFIX="/sw"
|
|
AC_MSG_RESULT([${NEXUS_PREFIX}])
|
|
elif test -r /opt/local/include/nexus/napi.h; then
|
|
NEXUS_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${NEXUS_PREFIX}])
|
|
elif test -r /opt/nexus/include/nexus/napi.h; then
|
|
NEXUS_PREFIX="/opt/nexus"
|
|
AC_MSG_RESULT([${NEXUS_PREFIX}])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR(
|
|
[NeXus Version >= 4.4 not found. Please call configure with the --with-nexus option.
|
|
This tells configure where to find the NeXus headers,
|
|
e.g. --with-nexus=/opt/nexus]
|
|
)
|
|
fi
|
|
]
|
|
)]
|
|
)
|
|
AC_SUBST(NEXUS_PREFIX)
|
|
if test "${NEXUS_FOUND}" != "1"; then
|
|
dnl get suffix for the NeXus library depending on the OS
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
AS_CASE([$host_os],
|
|
[linux*], [NEXUS_SUFFIX="so"],
|
|
[darwin*], [NEXUS_SUFFIX="dylib"],
|
|
[*cygwin*], [NEXUS_SUFFIX="dll"],
|
|
[AC_MSG_ERROR([NeXus check: Your platform is not currently supported])]
|
|
)
|
|
AC_MSG_NOTICE([NeXus Suffix Result: "${NEXUS_SUFFIX}"])
|
|
if test -r ${NEXUS_PREFIX}/lib/libNeXus.${NEXUS_SUFFIX}; then
|
|
NEXUS_LIB_DIR="lib"
|
|
elif test -r ${NEXUS_PREFIX}/lib64/libNeXus.${NEXUS_SUFFIX}; then
|
|
NEXUS_LIB_DIR="lib64"
|
|
else
|
|
AC_MSG_ERROR(
|
|
[Couldn't find the NeXus library.]
|
|
)
|
|
fi
|
|
|
|
NEXUS_LIBS="-L${NEXUS_PREFIX}/${NEXUS_LIB_DIR} -lNeXus"
|
|
NEXUS_CFLAGS="-I${NEXUS_PREFIX}/include/nexus"
|
|
fi
|
|
AC_SUBST(NEXUS_LIBS)
|
|
AC_SUBST(NEXUS_CFLAGS)
|
|
|
|
PNEXUS_ENABLED=1
|
|
],
|
|
[PNEXUS_ENABLED=0]
|
|
)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user if BMWlibs should be built and where to find the CUBA installation
|
|
dnl -----------------------------------------------
|
|
|
|
AC_ARG_ENABLE([BMWlibs], [AS_HELP_STRING([--enable-BMWlibs],[build optional BMW plug-ins [default=no]])],
|
|
[CUBA_FOUND=0
|
|
BUILD_CUBA=0
|
|
AC_ARG_WITH([cuba],
|
|
[AS_HELP_STRING([--with-cuba],[prefix of CUBA installation, e.g. /usr/local or /usr])],
|
|
[CUBA_PREFIX=$with_cuba
|
|
AC_MSG_CHECKING([whether CUBA can be found at the specified location])
|
|
if !(test -r ${CUBA_PREFIX}/include/cuba.h); then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([CUBA cannot be found at the specified path!])
|
|
fi
|
|
AC_MSG_RESULT([${CUBA_PREFIX}])],
|
|
[PKG_CHECK_MODULES(CUBA, cuba >= 1.6, [CUBA_FOUND=1],
|
|
[AC_MSG_CHECKING([whether CUBA is installed in a standard location])
|
|
if test -r /usr/local/include/cuba.h; then
|
|
CUBA_PREFIX="/usr/local"
|
|
AC_MSG_RESULT([${CUBA_PREFIX}])
|
|
elif test -r /usr/include/cuba.h; then
|
|
CUBA_PREFIX="/usr"
|
|
AC_MSG_RESULT([${CUBA_PREFIX}])
|
|
elif test -r /sw/include/cuba.h; then
|
|
CUBA_PREFIX="/sw"
|
|
AC_MSG_RESULT([${CUBA_PREFIX}])
|
|
elif test -r /opt/local/include/cuba.h; then
|
|
CUBA_PREFIX="/opt/local"
|
|
AC_MSG_RESULT([${CUBA_PREFIX}])
|
|
else
|
|
BUILD_CUBA=1
|
|
AC_MSG_RESULT([builtin-cuba])
|
|
fi
|
|
]
|
|
)
|
|
]
|
|
)
|
|
|
|
if test "${BUILD_CUBA}" = "1"; then
|
|
AS_IF([test "x$GCC" = "xyes"],
|
|
[case "$($CC --version 2>&1 < /dev/null)" in
|
|
*gcc*4.2* | *gcc*4.4.3*)
|
|
opt=-O0
|
|
;;
|
|
*)
|
|
opt=-O3
|
|
;;
|
|
esac
|
|
CUBA_BUILD_CFLAGS="$opt -fomit-frame-pointer -ffast-math"],
|
|
[CUBA_BUILD_CFLAGS="-O"])
|
|
|
|
AC_LANG_PUSH([C])
|
|
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_DIAGNOSE([obsolete],[The macro `AC_C_LONG_DOUBLE' is obsolete.
|
|
You should use `AC_TYPE_LONG_DOUBLE' or `AC_TYPE_LONG_DOUBLE_WIDER' instead.
|
|
])dnl
|
|
|
|
AC_TYPE_LONG_DOUBLE_WIDER
|
|
ac_cv_c_long_double=$ac_cv_type_long_double_wider
|
|
if test $ac_cv_c_long_double = yes; then
|
|
AC_DEFINE([HAVE_LONG_DOUBLE],[1],[Define to 1 if the type `long double' works and has more range or
|
|
precision than `double'.])
|
|
fi
|
|
|
|
|
|
AC_CHECK_FUNCS([powl])
|
|
AC_CHECK_FUNCS([erf])
|
|
# AC_FUNC_FORK
|
|
AC_FUNC_ALLOCA
|
|
|
|
AC_DEFUN([chk_shmget], [dnl
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
AS_CASE([$host_os],
|
|
[*cygwin*], [],
|
|
[AC_CHECK_FUNCS([shmget])])
|
|
])
|
|
chk_shmget
|
|
AC_CHECK_FUNCS([getloadavg])
|
|
|
|
MAXDIM=${MAXDIM:-16}
|
|
AC_ARG_WITH(maxdim,
|
|
[AS_HELP_STRING([--with-maxdim=N],
|
|
[[Cuba option] the maximum dimension for integration,
|
|
if variable-size array are not supported])],
|
|
[MAXDIM=$withval])
|
|
|
|
MAXCOMP=${MAXCOMP:-4}
|
|
AC_ARG_WITH(maxcomp,
|
|
[AS_HELP_STRING([--with-maxcomp=N],
|
|
[[Cuba option] the maximum number of components of the integrand,
|
|
if variable-size array are not supported])],
|
|
[MAXCOMP=$withval])
|
|
|
|
AC_MSG_CHECKING([for variable-size arrays])
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE(,[[
|
|
void test(int n)
|
|
{
|
|
char s[n];
|
|
}
|
|
]])],
|
|
[AC_MSG_RESULT([yes])],
|
|
[AC_MSG_RESULT([no, using MAXDIM=$MAXDIM and MAXCOMP=$MAXCOMP])
|
|
AC_DEFINE_UNQUOTED([NDIM], [$MAXDIM], [Maximum number of components])
|
|
AC_DEFINE_UNQUOTED([NCOMP], [$MAXCOMP], [Maximum number of dimensions])]
|
|
)
|
|
|
|
AC_LANG_POP([C])
|
|
|
|
CUBA_SRCDIR="$(pwd)/src/external/libCuba/src"
|
|
CUBA_LIBS="${CUBA_SRCDIR}/libcuba.la"
|
|
CUBA_CFLAGS="-I${CUBA_SRCDIR}"
|
|
else
|
|
if test "${CUBA_FOUND}" != "1"; then
|
|
CUBA_LIBS="-L${CUBA_PREFIX}/lib -lcuba -lm"
|
|
CUBA_CFLAGS="-I${CUBA_PREFIX}/include"
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(CUBA_PREFIX)
|
|
AC_SUBST(CUBA_LIBS)
|
|
AC_SUBST(CUBA_CFLAGS)
|
|
|
|
BUILD_BMW_LIBS=1
|
|
],
|
|
[BUILD_BMW_LIBS=0]
|
|
)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user if ASlibs should be built
|
|
dnl -----------------------------------------------
|
|
|
|
AC_ARG_ENABLE([ASlibs], [AS_HELP_STRING([--enable-ASlibs],[build optional AS plug-ins [default=no]])],[BUILD_AS_LIBS=1], [BUILD_AS_LIBS=0])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user if BNMRlibs should be built
|
|
dnl -----------------------------------------------
|
|
|
|
AC_ARG_ENABLE([BNMRlibs], [AS_HELP_STRING([--enable-BNMRlibs],[build optional BNMR plug-ins [default=no]])],[BUILD_BNMR_LIBS=1], [BUILD_BNMR_LIBS=0])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Set some paths and flags for PMusr, MusrRoot, TLemRunHeader, Class_MuSR_PSI, mud, NeXus (if enabled), etc.
|
|
dnl -----------------------------------------------
|
|
|
|
SRCDIR="$(pwd)/src"
|
|
|
|
PSIBIN_SRCDIR="${SRCDIR}/external/MuSR_software/Class_MuSR_PSI"
|
|
PSIBIN_LIBS="${PSIBIN_SRCDIR}/lib${PSIBIN_LIBRARY_NAME}.la"
|
|
PSIBIN_CFLAGS="-I${PSIBIN_SRCDIR}"
|
|
AC_SUBST(PSIBIN_LIBS)
|
|
AC_SUBST(PSIBIN_CFLAGS)
|
|
|
|
MUD_SRCDIR="${SRCDIR}/external/mud/src"
|
|
MUD_LIBS="${MUD_SRCDIR}/lib${MUD_LIBRARY_NAME}.la"
|
|
MUD_CFLAGS="-I${MUD_SRCDIR}"
|
|
AC_SUBST(MUD_LIBS)
|
|
AC_SUBST(MUD_CFLAGS)
|
|
|
|
LEM_SRCDIR="${SRCDIR}/external/TLemRunHeader"
|
|
LEM_LIBS="${LEM_SRCDIR}/lib${LEM_LIBRARY_NAME}.la"
|
|
LEM_CFLAGS="-I${LEM_SRCDIR}"
|
|
AC_SUBST(LEM_LIBS)
|
|
AC_SUBST(LEM_CFLAGS)
|
|
|
|
MUSR_ROOT_SRCDIR="${SRCDIR}/external/MusrRoot"
|
|
MUSR_ROOT_LIBS="${MUSR_ROOT_SRCDIR}/lib${MUSR_ROOT_LIBRARY_NAME}.la"
|
|
MUSR_ROOT_CFLAGS="-I${MUSR_ROOT_SRCDIR}"
|
|
AC_SUBST(MUSR_ROOT_LIBS)
|
|
AC_SUBST(MUSR_ROOT_CFLAGS)
|
|
|
|
PMUSR_LIBS="${SRCDIR}/classes/lib${MUSR_LIBRARY_NAME}.la"
|
|
PMUSR_CFLAGS="-I${SRCDIR}/include"
|
|
AC_SUBST(PMUSR_LIBS)
|
|
AC_SUBST(PMUSR_CFLAGS)
|
|
|
|
USERFCN_LIBS="${SRCDIR}/classes/lib${USERFCN_LIBRARY_NAME}.la"
|
|
AC_SUBST(USERFCN_LIBS)
|
|
|
|
if test "${PNEXUS_ENABLED}" = "1"; then
|
|
AC_DEFINE([PNEXUS_ENABLED], [1], [Define to 1 if NeXus is enabled])
|
|
PNEXUS_SRCDIR="${SRCDIR}/external/nexus"
|
|
PNEXUS_LIBS="${PNEXUS_SRCDIR}/lib${PNEXUS_LIBRARY_NAME}.la"
|
|
PNEXUS_CXXFLAGS="-I${PNEXUS_SRCDIR}"
|
|
AC_SUBST(PNEXUS_LIBS)
|
|
AC_SUBST(PNEXUS_CXXFLAGS)
|
|
fi
|
|
|
|
if test "${BUILD_BNMR_LIBS}" = "1"; then
|
|
BNMRLIBS_SRCDIR="${SRCDIR}/external/libBNMR"
|
|
BNMRLIBS_LIBS="${BNMRLIBS_SRCDIR}/libBNMR.la"
|
|
BNMRLIBS_CFLAGS="-I${BNMRLIBS_SRCDIR}"
|
|
AC_SUBST(BNMRLIBS_LIBS)
|
|
AC_SUBST(BNMRLIBS_CFLAGS)
|
|
fi
|
|
|
|
if test "${BUILD_BMW_LIBS}" = "1"; then
|
|
BMWTOOLS_SRCDIR="${SRCDIR}/external/BMWtools"
|
|
BMWTOOLS_LIBS="${BMWTOOLS_SRCDIR}/libBMWtools.la"
|
|
BMWTOOLS_CFLAGS="-I${BMWTOOLS_SRCDIR}"
|
|
AC_SUBST(BMWTOOLS_LIBS)
|
|
AC_SUBST(BMWTOOLS_CFLAGS)
|
|
|
|
FITPOFB_SRCDIR="${SRCDIR}/external/libFitPofB"
|
|
FITPOFB_LIBS="${FITPOFB_SRCDIR}/classes/libFitPofB.la"
|
|
FITPOFB_CFLAGS="-I${FITPOFB_SRCDIR}/include"
|
|
AC_SUBST(FITPOFB_LIBS)
|
|
AC_SUBST(FITPOFB_CFLAGS)
|
|
|
|
# Check for fftw3_threads-library. If available musrfit is also linked against it (used in libFitPofB).
|
|
SAVED_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $FFTW3_CFLAGS"
|
|
SAVED_LIBSS="$LIBS"
|
|
LIBS="$LIBS $FFTW3_LIBS"
|
|
AC_SEARCH_LIBS([fftw_init_threads], [fftw3_threads], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3_threads -lpthread"
|
|
AC_DEFINE([HAVE_LIBFFTW3_THREADS], [1], [Define to 1 if fftw3_threads are available])], [], [-lpthread])
|
|
# Check for fftw3f library. If it is not available the BMWlibs will not be built!
|
|
AC_SEARCH_LIBS([fftwf_malloc], [fftw3f], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3f"], [BUILD_BMW_LIBS=0
|
|
AC_MSG_ERROR([The float version of FFTW3 is not available. When building FFTW3 from source it should be configured with the options
|
|
--enable-shared --enable-float. Without this library the BMWlibs cannot be built!])], [])
|
|
if test "${BUILD_BMW_LIBS}" = "1"; then
|
|
AC_SEARCH_LIBS([fftwf_init_threads], [fftw3f_threads], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3f_threads -lpthread"
|
|
AC_DEFINE([HAVE_LIBFFTW3F_THREADS], [1], [Define to 1 if fftw3f_threads are available])], [], [-lpthread])
|
|
fi
|
|
|
|
CFLAGS="$SAVED_CFLAGS"
|
|
LIBS="$SAVED_LIBS"
|
|
fi
|
|
|
|
AC_SUBST(FFTW3_LIBS)
|
|
AC_SUBST(FFTW3_CFLAGS)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user if OpenMP support should be disabled (used for parallel chisq calculation and in libFitPofB)
|
|
dnl -----------------------------------------------
|
|
|
|
AC_ARG_ENABLE([omp], [AS_HELP_STRING([--enable-omp],[build musrfit with OpenMP support [default=yes]])])
|
|
|
|
if test "x$enable_omp" != "xno"; then
|
|
SAVED_CXXFLAGS="$CXXFLAGS"
|
|
CXXFLAGS="$CXXFLAGS -fopenmp"
|
|
SAVED_LIBSS="$LIBS"
|
|
LIBS="$LIBS -fopenmp -lgomp"
|
|
AC_SEARCH_LIBS([omp_get_num_procs], [gomp], [AC_DEFINE([HAVE_GOMP], [1], [Define to 1 if gomp is available])],
|
|
[CXXFLAGS="$SAVED_CXXFLAGS" LIBS="$SAVED_LIBS"], [])
|
|
fi
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Ask user if the building of musredit/musrgui should be disabled
|
|
dnl -----------------------------------------------
|
|
|
|
AC_ARG_ENABLE([editor], [AS_HELP_STRING([--enable-editor],[check for Qt and build musredit or musrgui [default=yes]])])
|
|
|
|
if test "x$enable_editor" != "xno"; then
|
|
|
|
echo "Additional checks for musredit/musrgui ..."
|
|
|
|
QT5MINVER=5.4
|
|
|
|
case "$host" in
|
|
*-*-cygwin)
|
|
QT4MINVER=4.5
|
|
;;
|
|
*)
|
|
QT4MINVER=4.6
|
|
;;
|
|
esac
|
|
|
|
QT3_FOUND=no
|
|
QT3MT_FOUND=no
|
|
QT4_FOUND=no
|
|
QT5_FOUND=no
|
|
QMAKEBIN=""
|
|
QTEDITOR=none
|
|
|
|
AC_ARG_WITH([qt3],
|
|
[AS_HELP_STRING([--with-qt3],[prefix of the Qt3 installation, e.g. /usr/lib/qt-3.3])],
|
|
[QT3_PREFIX=$with_qt3
|
|
AC_MSG_CHECKING([whether qmake for Qt3 can be found at the specified location])
|
|
for QMAKE in qmake qmake-qt3
|
|
do
|
|
if test -x "${QT3_PREFIX}/bin/${QMAKE}"; then
|
|
QMAKEVERSIONSTRING="$(${QT3_PREFIX}/bin/${QMAKE} -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "3."; then
|
|
QMAKEBIN="${QT3_PREFIX}/bin/${QMAKE}"
|
|
QTEDITOR=musrgui
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" != "x"; then
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([qmake for Qt3 cannot be found in ${QT3_PREFIX}/bin!])
|
|
fi]
|
|
)
|
|
|
|
AC_ARG_WITH([qt4],
|
|
[AS_HELP_STRING([--with-qt4],[prefix of the Qt4 installation, e.g. /opt/qt-4.7])],
|
|
[QT4_PREFIX=$with_qt4
|
|
AC_MSG_CHECKING([whether qmake for Qt4 can be found at the specified location])
|
|
for QMAKE in qmake qmake-qt4
|
|
do
|
|
if test -x "${QT4_PREFIX}/bin/${QMAKE}"; then
|
|
QMAKEVERSIONSTRING="$(${QT4_PREFIX}/bin/${QMAKE} -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "4."; then
|
|
QMAKEBIN="${QT4_PREFIX}/bin/${QMAKE}"
|
|
QTEDITOR=musredit
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" != "x"; then
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([qmake for Qt4 cannot be found in ${QT4_PREFIX}/bin!])
|
|
fi
|
|
|
|
if test "x${QT3PRESENT}" = "xyes"; then
|
|
AC_MSG_WARN([Qt3 and Qt4 directories have been given -- only the Qt4 information will be used and only musredit will be built!])
|
|
fi],
|
|
[if test "x${QMAKEBIN}" = "x"; then
|
|
PKG_CHECK_MODULES(QT4, QtWebKit >= $QT4MINVER QtXml >= $QT4MINVER, [QT4_FOUND=yes],
|
|
[AC_MSG_NOTICE([Qt4 (including QtWebKit and QtXml) not found!])
|
|
PKG_CHECK_MODULES(QT3, qt >= 3.3.0 qt < 4.0, [QT3_FOUND=yes],
|
|
[PKG_CHECK_MODULES(QT3MT, qt-mt >= 3.3.0 qt-mt < 4.0, [QT3MT_FOUND=yes], [QT3MT_FOUND=no])]
|
|
)]
|
|
)
|
|
fi]
|
|
)
|
|
|
|
AC_ARG_WITH([qt5],
|
|
[AS_HELP_STRING([--with-qt5],[prefix of the Qt5 installation, e.g. /usr/lib64/qt5/])],
|
|
[QT5_PREFIX=$with_qt5
|
|
AC_MSG_CHECKING([whether qmake for Qt5 can be found at the specified location])
|
|
for QMAKE in qmake qmake-qt5
|
|
do
|
|
if test -x "${QT5_PREFIX}/bin/${QMAKE}"; then
|
|
QMAKEVERSIONSTRING="$(${QT5_PREFIX}/bin/${QMAKE} -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "5."; then
|
|
QMAKEBIN="${QT5_PREFIX}/bin/${QMAKE}"
|
|
QTEDITOR=musredit_qt5
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" != "x"; then
|
|
break
|
|
fi
|
|
fi
|
|
done
|
|
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_ERROR([qmake for Qt5 cannot be found in ${QT5_PREFIX}/bin!])
|
|
fi
|
|
|
|
if test "x${QT4PRESENT}" = "xyes"; then
|
|
AC_MSG_WARN([Qt4 and Qt5 directories have been given -- only the Qt5 information will be used and only musredit will be built!])
|
|
fi],
|
|
[if test "x${QMAKEBIN}" = "x"; then
|
|
PKG_CHECK_MODULES(QT5, Qt5WebKit >= $QT5MINVER Qt5Xml >= $QT5MINVER, [QT5_FOUND=yes],
|
|
[AC_MSG_NOTICE([Qt5 (including Qt5WebKit and Qt5Xml) not found!])
|
|
PKG_CHECK_MODULES(QT3, qt >= 3.3.0 qt < 4.0, [QT3_FOUND=yes],
|
|
[PKG_CHECK_MODULES(QT3MT, qt-mt >= 3.3.0 qt-mt < 4.0, [QT3MT_FOUND=yes], [QT3MT_FOUND=no])]
|
|
)]
|
|
)
|
|
fi
|
|
if test "x${QT5_FOUND}" != "xyes"; then
|
|
PKG_CHECK_MODULES(QT5, Qt5WebEngine >= $QT5MINVER Qt5Xml >= $QT5MINVER, [QT5_FOUND=yes],
|
|
[AC_MSG_NOTICE([Qt5 (including Qt5WebEngine and Qt5Xml) not found!])
|
|
PKG_CHECK_MODULES(QT3, qt >= 3.3.0 qt < 4.0, [QT3_FOUND=yes],
|
|
[PKG_CHECK_MODULES(QT3MT, qt-mt >= 3.3.0 qt-mt < 4.0, [QT3MT_FOUND=yes], [QT3MT_FOUND=no])]
|
|
)]
|
|
)
|
|
fi]
|
|
)
|
|
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
if test "x${QT3_FOUND}" = "xno" && test "x${QT3MT_FOUND}" = "xno" && test "x${QT4_FOUND}" = "xno" && test "x${Qt5_FOUND}" = "xno"; then
|
|
AC_MSG_WARN([No suitable version of either Qt5, Qt4 or Qt3 has been found! musredit/musrgui will not be built in this stage!])
|
|
else
|
|
# Check for qmake on the basis of the pkg-config information
|
|
QTPATH=none
|
|
|
|
if test "x$QT5_FOUND" = "xyes"; then
|
|
QTPATH=$(pkg-config --variable=prefix Qt5WebKit)
|
|
QTEDITOR=musredit_qt5
|
|
elif test "x$QT4_FOUND" = "xyes"; then
|
|
QTPATH=$(pkg-config --variable=prefix QtWebKit)
|
|
QTEDITOR=musredit
|
|
elif test "x$QT3_FOUND" = "xyes"; then
|
|
QTPATH=$(pkg-config --variable=prefix qt)
|
|
QTEDITOR=musrgui
|
|
elif test "x$QT3MT_FOUND" = "xyes"; then
|
|
QTPATH=$(pkg-config --variable=prefix qt-mt)
|
|
QTEDITOR=musrgui
|
|
fi
|
|
|
|
dnl if Qt5 but Qt5WebEngine instead of Qt5WebKit
|
|
if test "x$QTPATH" = "x"; then
|
|
QTPATH=$(pkg-config --variable=prefix Qt5WebEngine)
|
|
QTEDITOR=musredit_qt5
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for qmake])
|
|
if test "x${QTPATH}" != "xnone"; then
|
|
if test "x$QTEDITOR" = "xmusredit_qt5"; then
|
|
for QMAKE in qmake-qt5 qmake-qt54 qmake-qt55
|
|
do
|
|
if test -x "${QTPATH}/bin/${QMAKE}"; then
|
|
QMAKEBIN="${QTPATH}/bin/${QMAKE}"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
if test -x "${QTPATH}/bin/qmake"; then
|
|
QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "5."; then
|
|
QMAKEBIN="${QTPATH}/bin/qmake"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
elif test "x$QTEDITOR" = "xmusredit"; then
|
|
for QMAKE in qmake-qt4 qmake-qt46 qmake-qt47 qmake-qt48
|
|
do
|
|
if test -x "${QTPATH}/bin/${QMAKE}"; then
|
|
QMAKEBIN="${QTPATH}/bin/${QMAKE}"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
if test -x "${QTPATH}/bin/qmake"; then
|
|
QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "4."; then
|
|
QMAKEBIN="${QTPATH}/bin/qmake"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
elif test "x$QTEDITOR" = "xmusrgui"; then
|
|
for QMAKE in qmake-qt3 qmake-qt33
|
|
do
|
|
if test -x "${QTPATH}/bin/${QMAKE}"; then
|
|
QMAKEBIN="${QTPATH}/bin/${QMAKE}"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
if test -x "${QTPATH}/bin/qmake"; then
|
|
QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)"
|
|
for a in $QMAKEVERSIONSTRING
|
|
do
|
|
if test "$(expr "$a" : '\(..\)')" = "3."; then
|
|
QMAKEBIN="${QTPATH}/bin/qmake"
|
|
AC_MSG_RESULT([${QMAKEBIN}])
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
fi
|
|
if test "x${QMAKEBIN}" = "x"; then
|
|
AC_MSG_RESULT([no])
|
|
AC_MSG_WARN([If Qt5, Qt4 or Qt3 are present but have not been detected, try using the --with-qt5, --with-qt4 or --with-qt3 options!])
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AM_CONDITIONAL([BUILD_MUSREDIT_QT5], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"])
|
|
AM_CONDITIONAL([BUILD_MUSREDIT], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"])
|
|
AM_CONDITIONAL([BUILD_MUSRGUI], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusrgui"])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Set host specific compiler and linker flags
|
|
dnl -----------------------------------------------
|
|
|
|
case "${host_cpu}" in
|
|
x86_64)
|
|
CPUFLAGS="-m64 -fPIC -DPIC"
|
|
;;
|
|
*)
|
|
CPUFLAGS=
|
|
;;
|
|
esac
|
|
|
|
CXXFLAGS="-std=c++11 ${CXXFLAGS}"
|
|
AC_SUBST(CXXFLAGS)
|
|
|
|
LOCAL_BIN_CXXFLAGS="${CPUFLAGS} -Wall -Wno-trigraphs"
|
|
LOCAL_LIB_CXXFLAGS="${LOCAL_BIN_CXXFLAGS}"
|
|
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}"
|
|
LOCAL_MUD_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${USER_CFLAGS}"
|
|
LOCAL_PNEXUS_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}"
|
|
LOCAL_CUBA_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${CUBA_BUILD_CFLAGS}"
|
|
LOCAL_BIN_LDFLAGS=
|
|
LOCAL_LIB_LDFLAGS=
|
|
|
|
case "$host" in
|
|
*-*-cygwin)
|
|
ARCH=CYGWIN
|
|
AC_DEFINE([_WIN32GCC], [1], [Define to 1 if host system is Cygwin])
|
|
LOCAL_BIN_CXXFLAGS="${LOCAL_BIN_CXXFLAGS}"
|
|
LOCAL_LIB_CXXFLAGS="${LOCAL_BIN_CXXFLAGS} -D_DLL"
|
|
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D_WIN32GCC"
|
|
LOCAL_MUD_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${USER_CFLAGS}"
|
|
LOCAL_PNEXUS_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}"
|
|
LOCAL_CUBA_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${CUBA_BUILD_CFLAGS}"
|
|
LOCAL_BIN_LDFLAGS="${LOCAL_BIN_LDFLAGS} -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
|
|
LOCAL_LIB_LDFLAGS="-no-undefined ${LOCAL_BIN_LDFLAGS} -Wl,--export-all-symbols"
|
|
;;
|
|
*-*-darwin*)
|
|
ARCH=DARWIN
|
|
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D_Darwin_"
|
|
LOCAL_BIN_LDFLAGS="${LOCAL_BIN_LDFLAGS} -Wl,-rpath ${ROOTLIBDIR}"
|
|
;;
|
|
*)
|
|
ARCH=OTHERUNIX
|
|
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D__linux__"
|
|
;;
|
|
esac
|
|
|
|
|
|
AC_SUBST(LOCAL_BIN_CXXFLAGS)
|
|
AC_SUBST(LOCAL_LIB_CXXFLAGS)
|
|
AC_SUBST(LOCAL_PSIBIN_LIB_CXXFLAGS)
|
|
AC_SUBST(LOCAL_MUD_LIB_CFLAGS)
|
|
AC_SUBST(LOCAL_PNEXUS_LIB_CXXFLAGS)
|
|
AC_SUBST(LOCAL_CUBA_LIB_CFLAGS)
|
|
AC_SUBST(LOCAL_BIN_LDFLAGS)
|
|
AC_SUBST(LOCAL_LIB_LDFLAGS)
|
|
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Some standard checks for header files and libraries
|
|
dnl Since these checks are not further used at the moment, they are commented
|
|
dnl -----------------------------------------------
|
|
|
|
# Checks for header files.
|
|
#AC_HEADER_STDC
|
|
#AC_CHECK_HEADERS([stddef.h stdlib.h string.h sys/time.h unistd.h])
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
#AC_HEADER_STDBOOL
|
|
#AC_C_CONST
|
|
#AC_C_INLINE
|
|
#AC_TYPE_SIZE_T
|
|
#AC_HEADER_TIME
|
|
|
|
# Checks for library functions.
|
|
#AC_FUNC_MALLOC
|
|
#AC_FUNC_STAT
|
|
#AC_CHECK_FUNCS([floor gettimeofday memset pow sqrt strstr])
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Determine the installation directory for the documentation
|
|
dnl -----------------------------------------------
|
|
|
|
if test "x${prefix}" = "xNONE"
|
|
then
|
|
INSTALLDIR="/usr/local"
|
|
else
|
|
INSTALLDIR="${prefix}"
|
|
fi
|
|
|
|
dnl only define DOCDIR if not already present. This allows
|
|
dnl to feed DOCDIR on the configure level which is useful when
|
|
dnl for instance building a rpm. DOCDIR2 is needed for rpmbuild only
|
|
if test "x${DOCDIR}" = "x"
|
|
then
|
|
if test -d "${INSTALLDIR}/doc"
|
|
then
|
|
DOCDIR="${INSTALLDIR}/doc/musrfit"
|
|
else
|
|
DOCDIR="${INSTALLDIR}/share/doc/musrfit"
|
|
fi
|
|
else
|
|
if test -d "${INSTALLDIR}/doc"
|
|
then
|
|
DOCDIR2="${INSTALLDIR}/doc/musrfit"
|
|
else
|
|
DOCDIR2="${INSTALLDIR}/share/doc/musrfit"
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(DOCDIR)
|
|
|
|
dnl -----------------------------------------------
|
|
dnl Specify the files that are going to be created by configure
|
|
dnl -----------------------------------------------
|
|
|
|
AM_CONDITIONAL([IS_DARWIN], [test "${ARCH}" = "DARWIN"])
|
|
AM_CONDITIONAL([IS_CYGWIN], [test "${ARCH}" = "CYGWIN"])
|
|
|
|
AM_CONDITIONAL([PNEXUS_ENABLED], [test "${PNEXUS_ENABLED}" = "1"])
|
|
AM_CONDITIONAL([BUILD_CUBALIB], [test "${BUILD_CUBA}" = "1"])
|
|
AM_CONDITIONAL([BUILD_BMWLIBS], [test "${BUILD_BMW_LIBS}" = "1"])
|
|
AM_CONDITIONAL([BUILD_ASLIBS], [test "${BUILD_AS_LIBS}" = "1"])
|
|
AM_CONDITIONAL([BUILD_BNMRLIBS], [test "${BUILD_BNMR_LIBS}" = "1"])
|
|
|
|
AC_CONFIG_FILES([Makefile \
|
|
src/Makefile \
|
|
src/classes/Makefile \
|
|
src/classes/PMusr.pc \
|
|
src/classes/PUserFcnBase.pc \
|
|
src/external/Makefile \
|
|
src/external/MusrRoot/Makefile \
|
|
src/external/MusrRoot/TMusrRunHeader.pc \
|
|
src/external/TLemRunHeader/Makefile \
|
|
src/external/TLemRunHeader/TLemRunHeader.pc \
|
|
src/external/MuSR_software/Makefile \
|
|
src/external/MuSR_software/Class_MuSR_PSI/Makefile \
|
|
src/external/MuSR_software/Class_MuSR_PSI/Class_MuSR_PSI.pc \
|
|
src/external/mud/Makefile \
|
|
src/external/mud/src/Makefile \
|
|
src/external/mud/src/mud.pc \
|
|
src/external/nexus/Makefile \
|
|
src/external/nexus/PNeXus.pc \
|
|
src/external/libCuba/Makefile \
|
|
src/external/libCuba/src/Makefile \
|
|
src/external/libCuba/src/cuba.pc \
|
|
src/external/libCuba/src/cuhre/Makefile \
|
|
src/external/libCuba/src/divonne/Makefile \
|
|
src/external/libCuba/src/suave/Makefile \
|
|
src/external/libCuba/src/vegas/Makefile \
|
|
src/external/libCuba/src/common/Makefile \
|
|
src/external/BMWtools/Makefile \
|
|
src/external/libFitPofB/Makefile \
|
|
src/external/libFitPofB/classes/Makefile \
|
|
src/external/libLFRelaxation/Makefile \
|
|
src/external/libZFRelaxation/Makefile \
|
|
src/external/libGapIntegrals/Makefile \
|
|
src/external/libCalcMeanFieldsLEM/Makefile \
|
|
src/external/Nonlocal/Makefile \
|
|
src/external/MagProximity/Makefile \
|
|
src/external/libSpinValve/Makefile \
|
|
src/external/libSpinValve/classes/Makefile \
|
|
src/external/libPhotoMeissner/Makefile \
|
|
src/external/libPhotoMeissner/classes/Makefile \
|
|
src/external/libGbGLF/Makefile \
|
|
src/external/libBNMR/Makefile \
|
|
src/external/libBNMR/libLineProfile/Makefile \
|
|
src/musredit_qt5/Makefile \
|
|
src/musredit/Makefile \
|
|
src/musrgui/Makefile \
|
|
src/musrgui/musrgui_startup.xml])
|
|
|
|
AC_OUTPUT
|
|
|
|
if test "x$enable_editor" != "xno" && test "x$QMAKEBIN" != "x"; then
|
|
|
|
echo "Configuring ${QTEDITOR} ..."
|
|
|
|
if test "x${QTEDITOR}" = "xmusredit_qt5"; then
|
|
QTEDITOR_PRO="musredit"
|
|
else
|
|
QTEDITOR_PRO=${QTEDITOR}
|
|
fi
|
|
|
|
echo "Changing directory to src/${QTEDITOR} and calling"
|
|
echo "${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro"
|
|
cd src/${QTEDITOR}
|
|
${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro
|
|
cd ../..
|
|
|
|
fi
|
|
|
|
echo ""
|
|
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
echo "+ +"
|
|
echo "+ Summary +"
|
|
echo "+ +"
|
|
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
|
echo ""
|
|
|
|
echo " System:"
|
|
echo " -------"
|
|
echo ""
|
|
echo " $host"
|
|
echo ""
|
|
echo ""
|
|
echo " Requirements:"
|
|
echo " -------------"
|
|
echo ""
|
|
if test "${FFTW3_FOUND}" = "1"; then
|
|
echo " FFTW3 found in $(pkg-config --variable=prefix fftw3)"
|
|
else
|
|
echo " FFTW3 found in ${FFTW3_PREFIX}"
|
|
fi
|
|
if test "${GSL_FOUND}" = "1"; then
|
|
echo " GSL found in $(pkg-config --variable=prefix gsl)"
|
|
else
|
|
echo " GSL found in ${GSL_PREFIX}"
|
|
fi
|
|
if test "${BOOST_FOUND}" = "1"; then
|
|
echo " BOOST header files found in $(pkg-config --variable=prefix boost)"
|
|
else
|
|
echo " BOOST header files found in ${BOOST_INCLUDE}"
|
|
fi
|
|
if test "${LIBXML2_FOUND}" = "1"; then
|
|
echo " LIBXML2 found in $(pkg-config --variable=prefix libxml2)"
|
|
else
|
|
echo " LIBXML2 found in ${LIBXML2_PREFIX}"
|
|
fi
|
|
echo " ROOT found in ${ROOTLIBDIR%/lib}"
|
|
echo ""
|
|
if test "${PNEXUS_ENABLED}" -eq 1; then
|
|
echo " HDF4 found in ${HDF4_PREFIX}"
|
|
echo " HDF5 found in ${HDF5_PREFIX}"
|
|
if test "${NEXUS_FOUND}" = "1"; then
|
|
echo " NeXus found in $(pkg-config --variable=prefix nexus)"
|
|
else
|
|
echo " NeXus found in ${NEXUS_PREFIX}"
|
|
fi
|
|
else
|
|
echo " HDF4 not needed (NeXus support disabled)"
|
|
echo " HDF5 not needed (NeXus support disabled)"
|
|
echo " NeXus not needed (NeXus support disabled)"
|
|
fi
|
|
echo ""
|
|
if test "${BUILD_CUBA}" = "1"; then
|
|
echo " CUBA will be built"
|
|
elif test "${BUILD_CUBA}" != "1" && test "${BUILD_BMW_LIBS}" -eq 1; then
|
|
if test "${CUBA_FOUND}" = "1"; then
|
|
echo " CUBA found in $(pkg-config --variable=prefix cuba)"
|
|
else
|
|
echo " CUBA found in ${CUBA_PREFIX}"
|
|
fi
|
|
else
|
|
echo " CUBA not needed (BMWlibs disabled)"
|
|
fi
|
|
echo ""
|
|
if test "${enable_editor}" != "xno"; then
|
|
if test "x${QMAKEBIN}" != "x"; then
|
|
echo " Qt qmake found at ${QMAKEBIN}"
|
|
else
|
|
echo " Qt qmake not found"
|
|
fi
|
|
else
|
|
echo " Qt not needed (Qt editors disabled)"
|
|
fi
|
|
echo ""
|
|
echo ""
|
|
echo " Features:"
|
|
echo " ---------"
|
|
echo ""
|
|
echo " musrfit (including musrfit, musrview, musrt0,"
|
|
echo " msr2msr, msr2data, any2many, dump_header,"
|
|
echo " musrRootValidation, write_musrRoot_runHeader): yes"
|
|
echo ""
|
|
echo " Supported muSR file formats:"
|
|
echo " MusrRoot: yes"
|
|
echo " ROOT (LEM): yes"
|
|
echo " MUD: yes"
|
|
echo " PSI-BIN: yes"
|
|
echo " PSI-MDU: yes"
|
|
echo " WKM: yes"
|
|
if test "${PNEXUS_ENABLED}" -eq 1; then
|
|
echo " NeXus: yes"
|
|
else
|
|
echo " NeXus: no"
|
|
fi
|
|
echo ""
|
|
echo " External user-function libraries:"
|
|
if test "${BUILD_AS_LIBS}" -eq 1; then
|
|
echo " ASlibs: yes"
|
|
else
|
|
echo " ASlibs: no"
|
|
fi
|
|
if test "${BUILD_BNMR_LIBS}" -eq 1; then
|
|
echo " BNMRlibs: yes"
|
|
else
|
|
echo " BNMRlibs: no"
|
|
fi
|
|
if test "${BUILD_BMW_LIBS}" -eq 1; then
|
|
echo " BMWlibs: yes"
|
|
else
|
|
echo " BMWlibs: no"
|
|
fi
|
|
echo ""
|
|
echo " Qt musrfit editors:"
|
|
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"; then
|
|
echo " musredit (Qt5): yes"
|
|
else
|
|
echo " musredit (Qt5): no"
|
|
fi
|
|
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"; then
|
|
echo " musredit (Qt4): yes"
|
|
else
|
|
echo " musredit (Qt4): no"
|
|
fi
|
|
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusrgui"; then
|
|
echo " musrgui (Qt3): yes"
|
|
else
|
|
echo " musrgui (Qt3): no"
|
|
fi
|
|
echo ""
|
|
echo ""
|
|
echo " Installation directories:"
|
|
echo " -------------------------"
|
|
echo ""
|
|
echo " Programs: ${INSTALLDIR}/bin"
|
|
echo " XML configuration files: ${HOME}/.musrfit"
|
|
echo " Documentation: ${DOCDIR}"
|
|
echo ""
|
|
|
|
dnl --------------
|
|
dnl create header file that musredit knows at runtime where to find the documentation
|
|
dnl the DOCDIR2 tag is used for rpmbuild only
|
|
dnl --------------
|
|
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"; then
|
|
echo \#define MUSRFIT_PREFIX \"${INSTALLDIR}\" > src/musredit_qt5/musrfit-info.h
|
|
if test "x$DOCDIR2" = "x"; then
|
|
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR}\" >> src/musredit_qt5/musrfit-info.h
|
|
else
|
|
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR2}\" >> src/musredit_qt5/musrfit-info.h
|
|
fi
|
|
fi
|
|
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"; then
|
|
echo \#define MUSRFIT_PREFIX \"${INSTALLDIR}\" > src/musredit/musrfit-info.h
|
|
if test "x$DOCDIR2" = "x"; then
|
|
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR}\" >> src/musredit/musrfit-info.h
|
|
else
|
|
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR2}\" >> src/musredit/musrfit-info.h
|
|
fi
|
|
fi
|