diff options
author | Ken Martin <ken.martin@kitware.com> | 2001-05-21 13:32:11 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2001-05-21 13:32:11 (GMT) |
commit | 619864c09eac7b4d87e3607c017a52c0499fdc11 (patch) | |
tree | 66d23cad33de8aa096e53bdc2bd9c03bb1fefe43 | |
parent | e2a555e1e177f364137c85ba326e4c91b7d89611 (diff) | |
download | CMake-619864c09eac7b4d87e3607c017a52c0499fdc11.zip CMake-619864c09eac7b4d87e3607c017a52c0499fdc11.tar.gz CMake-619864c09eac7b4d87e3607c017a52c0499fdc11.tar.bz2 |
new out of place builds
-rw-r--r-- | CMakeSystemConfig.cmake.in | 29 | ||||
-rw-r--r-- | Source/Makefile.in | 12 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 15 | ||||
-rw-r--r-- | Source/cmUnixMakefileGenerator.cxx | 31 | ||||
-rw-r--r-- | Source/cmake.cxx | 6 | ||||
-rw-r--r-- | configure.in.sample | 503 |
6 files changed, 26 insertions, 570 deletions
diff --git a/CMakeSystemConfig.cmake.in b/CMakeSystemConfig.cmake.in deleted file mode 100644 index a502ea9..0000000 --- a/CMakeSystemConfig.cmake.in +++ /dev/null @@ -1,29 +0,0 @@ -# -# CMakeLocal.make.in should be in the directory where you run configure -# in, which need not be the source directory -# -SET (CMAKE_WORDS_BIGENDIAN @CMAKE_WORDS_BIGENDIAN@ ) -SET (CMAKE_USE_SPROC @CMAKE_USE_SPROC@ CACHE_NO_REPLACE BOOL) -SET (CMAKE_USE_PTHREADS @CMAKE_USE_PTHREADS@ CACHE_NO_REPLACE BOOL) -SET (CMAKE_HP_PTHREADS @CMAKE_HP_PTHREADS@ CACHE_NO_REPLACE BOOL) -SET (CMAKE_LIB_EXT @CMAKE_LIB_EXT@ CACHE_NO_REPLACE ) -SET (CMAKE_RANLIB "@RANLIB@" CACHE_NO_REPLACE ) -SET (CMAKE_AR "@CMAKE_AR@" CACHE_NO_REPLACE ) -SET (CMAKE_CXX_COMPILER "@CXX@" CACHE_NO_REPLACE FILEPATH) -SET (CMAKE_CXX_FLAGS "@CXXFLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_TEMPLATE_FLAGS "@CMAKE_TEMPLATE_FLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_C_COMPILER "@CC@" CACHE_NO_REPLACE FILEPATH) -SET (CMAKE_C_FLAGS "@CFLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_CFLAGS "@CMAKE_SHLIB_CFLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_BUILD_FLAGS "@CMAKE_SHLIB_BUILD_FLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_SUFFIX @CMAKE_SHLIB_SUFFIX@ CACHE_NO_REPLACE ) -SET (CMAKE_THREAD_LIBS "@CMAKE_THREAD_LIBS@" CACHE_NO_REPLACE ) -SET (CMAKE_DL_LIBS "@CMAKE_DL_LIBS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_LINK_FLAGS "@CMAKE_SHLIB_LINK_FLAGS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_LD_LIBS "@CMAKE_SHLIB_LD_LIBS@" CACHE_NO_REPLACE ) -SET (CMAKE_SHLIB_LD_LIBS "@CMAKE_SHLIB_LD_LIBS@" CACHE_NO_REPLACE_NO_REPLACE ) -# support for X11 -SET (CMAKE_X_LIBS "@X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@" CACHE_NO_REPLACE ) -SET (CMAKE_X_CFLAGS "@X_CFLAGS@" CACHE_NO_REPLACE) -SET (CMAKE_HAS_X "@CMAKE_HAS_X@" CACHE_NO_REPLACE) - diff --git a/Source/Makefile.in b/Source/Makefile.in index 4b68a2b..d0fadb8 100644 --- a/Source/Makefile.in +++ b/Source/Makefile.in @@ -7,12 +7,14 @@ CXXFLAGS = -DCMAKE_ROOT_DIR='"@CMAKE_ROOT_DIR@"' @CXXFLAGS@ -DCMAKE_HAS_AUT .SUFFIXES: .cxx .java .class +all: cmake + .cxx.o: ${CXX} ${CXXFLAGS} -c $< -o $@ OBJS = \ -CMakeBuildTargets.o \ +cmake.o \ cmMakeDepend.o \ cmMakefile.o \ cmMakefileGenerator.o \ @@ -28,10 +30,10 @@ cmCacheManager.o \ cmCableClassSet.o \ cmSourceGroup.o -DEPENDS = $(srcdir)/*.h ${CMAKE_CONFIG_DIR}/CMake/Source/cmConfigure.h +DEPENDS = $(srcdir)/*.h cmConfigure.h cmCollectFlags.o : $(DEPENDS) -CMakeBuildTargets.o : $(DEPENDS) +cmake.o : $(DEPENDS) cmMakeDepend.o : $(DEPENDS) cmMakefile.o : $(DEPENDS) cmMakefileGenerator.o : $(DEPENDS) @@ -49,6 +51,6 @@ cmSourceGroup.o : $(DEPENDS) -CMakeBuildTargets: ${OBJS} - ${CXX} ${OBJS} ${CXX_FLAGS} -o CMakeBuildTargets +cmake: ${OBJS} + ${CXX} ${OBJS} ${CXX_FLAGS} -o cmake diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 436146c..41a0ffa 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -64,13 +64,6 @@ cmMakefile::cmMakefile() this->AddDefaultCommands(); this->AddDefaultDefinitions(); cmCacheManager::GetInstance()->DefineCache(this); -#if defined(_WIN32) && !defined(__CYGWIN__) - const char* cacheValue - = cmCacheManager::GetInstance()->GetCacheValue("CMAKE_ROOT"); - std::string fpath = cacheValue; - fpath += "/Templates/CMakeWindowsSystemConfig.cmake"; - this->ReadListFile(NULL,fpath.c_str()); -#endif } void cmMakefile::AddDefaultCommands() @@ -346,6 +339,7 @@ void cmMakefile::SetMakefileGenerator(cmMakefileGenerator* mf) { delete m_MakefileGenerator; m_MakefileGenerator = mf; + mf->SetMakefile(this); } // Generate the output file @@ -353,8 +347,6 @@ void cmMakefile::GenerateMakefile() { // do all the variable expansions here this->ExpandVariables(); - // set the makefile on the generator - m_MakefileGenerator->SetMakefile(this); // give all the commands a chance to do something // after the file has been parsed before generation for(std::vector<cmCommand*>::iterator i = m_UsedCommands.begin(); @@ -868,11 +860,6 @@ void cmMakefile::SetHomeOutputDirectory(const char* lib) m_HomeOutputDirectory = lib; cmSystemTools::ConvertToUnixSlashes(m_HomeOutputDirectory); this->AddDefinition("CMAKE_BINARY_DIR", this->GetHomeOutputDirectory()); -#if !defined(_WIN32) || defined(__CYGWIN__) - std::string fpath = lib; - fpath += "/CMakeSystemConfig.cmake"; - this->ReadListFile(NULL,fpath.c_str()); -#endif } diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index 306da35..d1490a4 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -517,7 +517,8 @@ OutputSubDirectoryVars(std::ostream& fout, fout << target << "_" << subdir.c_str() << ":\n"; if(target1) { - fout << "\tcd " << SubDirectories[i].c_str() + fout << "\tif test ! -d " << SubDirectories[i].c_str() << "; then ${MAKE} rebuild_cache; fi\n" + "\tcd " << SubDirectories[i].c_str() << "; ${MAKE} -${MAKEFLAGS} " << target1 << "\n"; } if(target2) @@ -802,43 +803,35 @@ void cmUnixMakefileGenerator::OutputMakeRules(std::ostream& fout) "Rule to build the Makefile", "Makefile", "${CMAKE_COMMAND} ${CMAKE_MAKEFILE_SOURCES} ", - "${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE}/CMakeLists.txt " + "${CMAKE_COMMAND} " "-S${CMAKE_CURRENT_SOURCE} -O${CMAKE_CURRENT_BINARY} " "-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}"); this->OutputMakeRule(fout, "Rule to build the cmake.depends", "cmake.depends", "${CMAKE_COMMAND} ${CMAKE_MAKEFILE_SOURCES} ", - "${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE}/CMakeLists.txt " + "${CMAKE_COMMAND} " "-S${CMAKE_CURRENT_SOURCE} -O${CMAKE_CURRENT_BINARY} " "-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}"); this->OutputMakeRule(fout, "Rule to force the build of cmake.depends", "depend", "${SUBDIR_DEPEND}", - "${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE}/CMakeLists.txt " + "${CMAKE_COMMAND} " "-S${CMAKE_CURRENT_SOURCE} -O${CMAKE_CURRENT_BINARY} " "-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}"); - - this->OutputMakeRule(fout, - "rule to build cmake from source", - "${CMAKE_COMMAND}", "${CMAKE_SOURCE_DIR}/CMake/Source/*.cxx " - "${CMAKE_SOURCE_DIR}/CMake/Source/*.h", - "cd ${CMAKE_BINARY_DIR}/CMake/Source; " - "${MAKE} CMakeBuildTargets"); this->OutputMakeRule(fout, "Rebuild the cache", "rebuild_cache", "${CMAKE_BINARY_DIR}/CMakeCache.txt", - "${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR}/CMakeLists.txt " - "-MakeCache -S${CMAKE_SOURCE_DIR} -O${CMAKE_BINARY_DIR} " + "${CMAKE_COMMAND} " "-H${CMAKE_SOURCE_DIR} -B${CMAKE_BINARY_DIR}"); - // this->OutputMakeRule(fout, - // "Rebuild cmake dummy rule", - // "${CMAKE_COMMAND}", - // 0, - // "echo \"cmake might be out of date\""); - + this->OutputMakeRule(fout, + "Rebuild cmake dummy rule", + "${CMAKE_COMMAND}", + 0, + "echo \"cmake might be out of date\""); + } void cmUnixMakefileGenerator::OutputMakeRule(std::ostream& fout, diff --git a/Source/cmake.cxx b/Source/cmake.cxx index bb3a90d..d9a5c24 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -134,6 +134,12 @@ void cmake::SetArgs(cmMakefile& builder, int ac, char** av) m_Verbose = true; } } + + if (!m_Local) + { + builder.SetStartDirectory(builder.GetHomeDirectory()); + builder.SetStartOutputDirectory(builder.GetHomeOutputDirectory()); + } } // at the end of this CMAKE_ROOT and CMAAKE_COMMAND should be added to the cache diff --git a/configure.in.sample b/configure.in.sample deleted file mode 100644 index 75048a4..0000000 --- a/configure.in.sample +++ /dev/null @@ -1,503 +0,0 @@ -# Process this file with autoconf to produce a configure script. -AC_INIT() - -AC_CONFIG_HEADER(CMake/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 - - -# 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( -CMakeSystemConfig.cmake:CMake/CMakeSystemConfig.cmake.in -CMake/makedir:CMake/dummy.in -CMake/Source/Makefile -) - -# build the CMakeBuildTargets program -(cd CMake/Source; $RUNMAKE CMakeBuildTargets) - -# run CMakeBuildTargets in make cache mode so the -# cache file can have the most recent changes from configure -# in it. -echo CMake/Source/CMakeBuildTargets ${fullSrcDir}/CMakeLists.txt -MakeCache -S${fullSrcDir} -O${CMAKE_CONFIG_DIR} -H${fullSrcDir} -B${CMAKE_CONFIG_DIR} -CMake/Source/CMakeBuildTargets ${fullSrcDir}/CMakeLists.txt -MakeCache -S${fullSrcDir} -O${CMAKE_CONFIG_DIR} -H${fullSrcDir} -B${CMAKE_CONFIG_DIR} -DRUN_CONFIGURE - -echo CMakeCache.txt location: ${CMAKE_CONFIG_DIR}/CMakeCache.txt - - |