CMake/configure.in

130 lines
3.4 KiB
Plaintext

# Process this file with autoconf to produce a configure script.
AC_INIT()
AC_CONFIG_HEADER(Source/cmConfigure.h)
CMAKE_CONFIG_DIR=`pwd`
AC_SUBST(CMAKE_CONFIG_DIR)
#
# check for some programs we use
#
AC_PROG_CC
AC_PROG_CXX
fullSrcDir=`cd $srcdir; pwd`
CMAKE_ROOT_DIR=$fullSrcDir
AC_SUBST(CMAKE_ROOT_DIR)
CMAKE_ANSI_CFLAGS=""
# on hp use -Aa for ansi
if test $ac_cv_prog_gxx = no; then
case $system in
HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
echo $ac_n "checking whether ${CC} accepts -Aa""... $ac_c" 1>&6
echo 'void f(){}' > conftest.c
if test -z "`${CC} -Aa -c conftest.c 2>&1`"; then
echo "$ac_t""yes" 1>&6
CMAKE_ANSI_CFLAGS="-Aa"
else
echo "$ac_t""no" 1>&6
fi
rm -f conftest*
;;
IRIX-6* | IRIX64-6* | IRIX-64-6*)
echo $ac_n "checking whether ${CC} accepts -LANG:std""... $ac_c" 1>&6
echo 'void f(){}' > conftest.c
if test -z "`${CC} -LANG:std -c conftest.c 2>&1`"; then
echo "$ac_t""yes" 1>&6
CMAKE_ANSI_CFLAGS="-LANG:std"
else
echo "$ac_t""no" 1>&6
fi
rm -f conftest*
;;
esac
fi
AC_SUBST(CMAKE_ANSI_CFLAGS)
# if we are not running g++ then we might need some other flags
# to get the templates compiled correctly
CMAKE_TEMPLATE_FLAGS=""
if test $ac_cv_prog_gxx = no; then
echo $ac_n "checking whether ${CXX} accepts -ptused -no_prelink""... $ac_c" 1>&6
echo 'void f(){}' > conftest.cc
if test -z "`${CXX} -ptused -no_prelink -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
CMAKE_TEMPLATE_FLAGS="-ptused -no_prelink"
else
echo "$ac_t""no" 1>&6
fi
rm -f conftest*
echo $ac_n "checking whether ${CXX} accepts -instances=semiexplicit""... $ac_c" 1>&6
echo 'void f(){}' > conftest.cc
if test -z "`${CXX} -instances=static -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
CMAKE_TEMPLATE_FLAGS="-instances=static"
else
echo "$ac_t""no" 1>&6
fi
fi
AC_SUBST(CMAKE_TEMPLATE_FLAGS)
# check no g++ compilers to see if they have the standard
# ansi stream files (without the .h)
if test $ac_cv_prog_gxx = no; then
AC_MSG_CHECKING( ansi standard C++ stream headers )
rm -rf conftest.*
cat > conftest.cc <<!
#include <iostream>
!
if test -z "`${CXX} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
AC_DEFINE(CMAKE_NO_ANSI_STREAM_HEADERS)
echo "$ac_t""no" 1>&6
fi
fi
# check to see if stl is in the std namespace
if test $ac_cv_prog_gxx = no; then
AC_MSG_CHECKING( ansi standard namespace support )
rm -rf conftest.*
cat > conftest.cc <<!
#include <list>
void foo() { std::list<int> l; }
!
if test -z "`${CXX} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
AC_DEFINE(CMAKE_NO_STD_NAMESPACE)
echo "$ac_t""no" 1>&6
fi
fi
# check to see if for scoping is supported
if test $ac_cv_prog_gxx = no; then
AC_MSG_CHECKING( ansi for scope support )
rm -rf conftest.*
cat > conftest.cc <<!
void foo() { for(int i;;); for(int i;;); }
!
if test -z "`${CXX} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>&1`"; then
echo "$ac_t""yes" 1>&6
else
AC_DEFINE(CMAKE_NO_ANSI_FOR_SCOPE)
echo "$ac_t""no" 1>&6
fi
fi
# find make to use to build cmake, prefer gmake
AC_PATH_PROGS(RUNMAKE, gmake make)
AC_OUTPUT(Makefile Source/Makefile)
# build cmake
$RUNMAKE
# run cmake
./Source/cmake $fullSrcDir
# run cmake depends
$RUNMAKE depend