summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in490
1 files changed, 490 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000000..b7b0acb0be
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,490 @@
+# 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
+AC_PROG_RANLIB
+AC_PROG_INSTALL
+AC_PATH_XTRA
+
+fullSrcDir=`cd $srcdir; pwd`
+CMAKE_ROOT_DIR=$fullSrcDir
+AC_SUBST(CMAKE_ROOT_DIR)
+
+# get byte swapping info
+AC_C_BIGENDIAN
+if test $ac_cv_c_bigendian = yes; then
+ CMAKE_WORDS_BIGENDIAN=1
+fi
+AC_SUBST(CMAKE_WORDS_BIGENDIAN)
+
+
+# some stuff Tcl uses
+#
+AC_CHECK_HEADER(limits.h, HAVE_LIMITS_H=-DHAVE_LIMITS_H,HAVE_LIMITS_H="")
+AC_SUBST(CMAKE_HAVE_LIMITS_H)
+AC_HAVE_HEADERS(unistd.h, HAVE_UNISTD_H=-DHAVE_UNISTD_H,HAVE_UNISTD_H="")
+AC_SUBST(CMAKE_HAVE_UNISTD_H)
+
+# Step 1: set the variable "system" to hold the name and version number
+# for the system. This can usually be done via the "uname" command, but
+# there are a few systems, like Next, where this doesn't work.
+
+AC_MSG_CHECKING([system version (for dynamic loading)])
+if test -f /usr/lib/NextStep/software_version; then
+ system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
+else
+ system=`uname -s`-`uname -r`
+ if test "$?" -ne 0 ; then
+ AC_MSG_RESULT([unknown (can't find uname command)])
+ system=unknown
+ else
+ # Special check for weird MP-RAS system (uname returns weird
+ # results, and the version is kept in special file).
+
+ if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
+ system=MP-RAS-`awk '{print $3}' /etc/.relid'`
+ fi
+ AC_MSG_RESULT($system)
+ fi
+fi
+
+#
+# use shared libs
+#
+
+
+CMAKE_shared_ok="yes"
+# the following is an excerpt from the tcl7.5b2 configure.in
+#--------------------------------------------------------------------
+# The statements below define a collection of symbols related to
+# dynamic loading and shared libraries:
+#
+# CMAKE_SHLIB_CFLAGS - Flags to pass to cc when compiling the components
+# of a shared library (may request position-independent
+# code, among other things).
+# CMAKE_SHLIB_LD_LIBS - Dependent libraries for the linker to scan when
+# creating shared libraries. This symbol typically
+# goes at the end of the "ld" commands that build
+# shared libraries. The value of the symbol if
+# "${LIBS}" if all of the dependent libraries should
+# be specified when creating a shared library. If
+# dependent libraries should not be specified (as on
+# SunOS 4.x, where they cause the link to fail, or in
+# general if Tcl and Tk aren't themselves shared
+# libraries), then this symbol has an empty string
+# as its value.
+# CMAKE_SHLIB_SUFFIX - Suffix to use for the name of the shared library. An
+# empty string means we don't know how to use shared
+# libraries on this platform.
+# CMAKE_SHLIB_BUILD_FLAGS -
+# Flags to use when building a shared library.
+# CMAKE_SHLIB_LINK_FLAGS -
+# Flags to pass to the compiler when linking object
+# files into an executable application binary such
+# as tclsh.
+#--------------------------------------------------------------------
+
+
+# Step 2: check for existence of -ldl library. This is needed because
+# Linux can use either -ldl or -ldld for dynamic loading.
+
+AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no)
+
+# Step 4: set configuration options based on system name and version.
+
+fullSrcDir=`cd $srcdir; pwd`
+AC_SUBST(fullSrcDir)
+case $system in
+ AIX-*)
+ # AIX: can't link shared library extensions unless Tcl and Tk are
+ # also shared libraries.
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS='${LIBS}'
+ CMAKE_SHLIB_SUFFIX="..o"
+ CMAKE_DL_LIBS=""
+ AC_CHECK_LIB(ld,printf, CMAKE_DL_LIBS="-lld")
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
+ CMAKE_SHLIB_CFLAGS="+z"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".sl"
+ CMAKE_DL_LIBS="-ldld"
+ CMAKE_SHLIB_BUILD_FLAGS='+Z -Wl,-E -Wl,-b'
+ CMAKE_SHLIB_LINK_FLAGS='-Wl,+s -Wl,+b,${LIB_RUNTIME_DIR}'
+ if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+ CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-E -Wl,-b'
+ CMAKE_SHLIB_LINK_FLAGS='-Wl,+s -Wl,+b,${LIB_RUNTIME_DIR}'
+ fi
+ ;;
+ IRIX-5.*)
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_BUILD_FLAGS="-shared -rdata_shared"
+ ;;
+ IRIX-6* | IRIX64-6* | IRIX-64-6*)
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_BUILD_FLAGS="-shared -rdata_shared"
+ ;;
+ Linux*)
+ CMAKE_SHLIB_CFLAGS="-fPIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_SHLIB_BUILD_FLAGS="-shared"
+ if test "$have_dl" = yes; then
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_LINK_FLAGS="-rdynamic"
+ else
+ AC_CHECK_HEADER(dld.h, [
+ CMAKE_DL_LIBS="-ldld"
+ CMAKE_SHLIB_LINK_FLAGS=""])
+ fi
+ ;;
+ CYGWIN_NT*)
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_DL_LIBS="-lgdi32"
+ CMAKE_SHLIB_SUFFIX=".dll"
+ CMAKE_SHLIB_LINK_FLAGS="-shared"
+ ;;
+ MP-RAS-02*)
+ CMAKE_SHLIB_CFLAGS="-K PIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ MP-RAS-*)
+ CMAKE_SHLIB_CFLAGS="-K PIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_LINK_FLAGS="-Wl,-Bexport"
+ ;;
+ NetBSD-*|FreeBSD-*)
+ # Not available on all versions: check for include file.
+ if test -f /usr/include/dlfcn.h; then
+ CMAKE_SHLIB_CFLAGS="-fpic"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS="-shared"
+ else
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX="..o"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS=""
+ fi
+ ;;
+ NEXTSTEP-*)
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ OSF1-1.[012])
+ # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1
+ CMAKE_SHLIB_CFLAGS=""
+ # Hack: make package name same as library name
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ OSF1-1.*)
+ # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
+ CMAKE_SHLIB_CFLAGS="-fpic"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ OSF1-V*)
+ # Digital OSF/1
+ CMAKE_SHLIB_CFLAGS=""
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-expect_unresolved,"*"'
+ CMAKE_SHLIB_LINK_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ ;;
+ RISCos-*)
+ CMAKE_SHLIB_CFLAGS="-G 0"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX="..o"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS="-Wl,-D,08000000"
+ ;;
+ SCO_SV-3.2*)
+ # Note, dlopen is available only on SCO 3.2.5 and greater. However,
+ # this test works, since "uname -s" was non-standard in 3.2.4 and
+ # below.
+ CMAKE_SHLIB_CFLAGS="-Kpic -belf"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS="-belf -Wl,-Bexport"
+ ;;
+ SINIX*5.4*)
+ CMAKE_SHLIB_CFLAGS="-K PIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_LINK_FLAGS=""
+ ;;
+ SunOS-4*)
+ CMAKE_SHLIB_CFLAGS="-PIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_BUILD_FLAGS='-shared -Wl,-r -nostdlib'
+ CMAKE_SHLIB_LINK_FLAGS='-Wl,-L${LIB_RUNTIME_DIR}'
+ ;;
+ SunOS-5*)
+ CMAKE_SHLIB_CFLAGS="-KPIC"
+ CMAKE_SHLIB_LD_LIBS='${LIBS}'
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_BUILD_FLAGS='-G'
+ CMAKE_SHLIB_LINK_FLAGS='-R ${LIB_RUNTIME_DIR}'
+ if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+ CMAKE_SHLIB_BUILD_FLAGS='-Wl,-G'
+ CMAKE_SHLIB_LINK_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
+ fi
+ ;;
+ ULTRIX-4.*)
+ CMAKE_SHLIB_CFLAGS="-G 0"
+ CMAKE_SHLIB_SUFFIX="..o"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_DL_LIBS=""
+ CMAKE_SHLIB_LINK_FLAGS="-Wl,-D,08000000"
+ ;;
+ UNIX_SV*)
+ CMAKE_SHLIB_CFLAGS="-K PIC"
+ CMAKE_SHLIB_LD_LIBS=""
+ CMAKE_SHLIB_SUFFIX=".so"
+ CMAKE_DL_LIBS="-ldl"
+ CMAKE_SHLIB_LINK_FLAGS="-Wl,-Bexport"
+ ;;
+esac
+export CMAKE_SHLIB_SUFFIX
+
+# If we're running gcc, then change the C flags for compiling shared
+# libraries to the right flags for gcc, instead of those for the
+# standard manufacturer compiler.
+if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+ CMAKE_SHLIB_CFLAGS="-fPIC"
+fi
+# if running on cygwin remove -fPIC flag
+case $system in
+ CYGWIN_NT*)
+ CMAKE_SHLIB_CFLAGS=""
+ ;;
+esac
+
+CMAKE_SHLIB_CFLAGS="${SHLIB_CFLAGS}"
+CMAKE_LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS}"
+
+
+AC_SUBST(CMAKE_SHLIB_LINK_FLAGS)
+AC_SUBST(CMAKE_SHLIB_BUILD_FLAGS)
+AC_SUBST(CMAKE_SHLIB_CFLAGS)
+AC_SUBST(CMAKE_LIB_EXT)
+AC_SUBST(CMAKE_DL_LIBS)
+AC_SUBST(CMAKE_SHLIB_LD_LIBS)
+AC_SUBST(CMAKE_SHLIB_SUFFIX)
+
+
+##########################
+## ##
+## Check thread support ##
+## ##
+##########################
+# initialize thread vars
+CMAKE_THREAD_LIBS=""
+use_sproc=no
+CMAKE_USE_SPROC=0
+CMAKE_USE_PTHREADS=0
+CMAKE_HP_PTHREADS=0
+
+##########################
+## ##
+## sproc ##
+## ##
+##########################
+# check for sproc
+force_sproc=no
+AC_ARG_WITH(sproc,
+ [ --with-sproc use sproc instead of pthreads if possible],
+ if test "$withval" = yes; then
+ force_sproc=yes
+ fi,)
+
+
+
+AC_CHECK_HEADERS(sys/prctl.h, [use_sproc=yes])
+if test "$use_sproc" = "yes"; then
+case $system in
+ Linux* | IRIX64-6.5 | IRIX-6.5)
+ if test "$force_sproc" = "yes"; then
+ CMAKE_USE_SPROC=1
+ else
+ use_sproc=no
+ fi
+ ;;
+ IRIX*)
+ CMAKE_USE_SPROC=1
+ ;;
+esac
+fi
+use_pthreads=no
+AC_CHECK_HEADERS(pthread.h, [use_pthreads=yes])
+if test "$use_pthreads" = "yes"; then
+ if test "$use_sproc" = "no"; then
+ AC_CHECK_LIB(pthreads, pthread_create, CMAKE_THREAD_LIBS="-lpthreads")
+ AC_CHECK_LIB(pthread, pthread_create, CMAKE_THREAD_LIBS="-lpthread")
+# Work around Solaris 5.6 and 5.7 bug:
+ if test "`uname -s -r`" = "SunOS 5.6"; then
+ AC_CHECK_LIB(thread, thr_create, CMAKE_THREAD_LIBS="$CMAKE_THREAD_LIBS -lthread")
+ fi
+ if test "`uname -s -r`" = "SunOS 5.7"; then
+ AC_CHECK_LIB(thread, thr_create, CMAKE_THREAD_LIBS="$CMAKE_THREAD_LIBS -lthread")
+ fi
+ CMAKE_USE_PTHREADS=1
+ fi
+fi
+
+# on an HP with pthread we need to use -lcma
+# on dec alphas we have had problems as well
+if test "$use_pthreads" = "yes"; then
+case $system in
+ HP-UX-*.10.*)
+ CMAKE_THREAD_LIBS="-lcma"
+ CMAKE_USE_PTHREADS=1
+ CMAKE_HP_PTHREADS=1
+ ;;
+ OSF1-V*)
+ CMAKE_USE_PTHREADS=0
+ CMAKE_THREAD_LIBS=""
+ ;;
+ FreeBSD*)
+ CMAKE_USE_PTHREADS=0
+ CMAKE_THREAD_LIBS=""
+ ;;
+esac
+fi
+
+
+AC_SUBST(CMAKE_USE_SPROC)
+AC_SUBST(CMAKE_USE_PTHREADS)
+AC_SUBST(CMAKE_HP_PTHREADS)
+AC_SUBST(CMAKE_THREAD_LIBS)
+
+
+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*
+ ;;
+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 )
+ echo "******"
+ rm -rf conftest.*
+ cat > conftest.cc <<!
+#include <iostream>
+!
+ if test -z "`${CXX} -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 stl is in the std namespace
+if test $ac_cv_prog_gxx = no; then
+ echo "******"
+ 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} -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
+
+
+if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then
+ SHLIB_CFLAGS="-fPIC"
+fi
+
+# find make to use to build cmake, prefer gmake
+AC_PATH_PROGS(RUNMAKE, gmake make)
+AC_PATH_PROGS(CMAKE_AR, ar)
+AC_SUBST(CMAKE_AR)
+
+# generate output files.
+# create mkdir files just to make some of the directories
+
+AC_OUTPUT(Makefile Source/Makefile)
+