ENH: Merging changes from KWSys-IOS-bp to KWSys-IOS-b2t-1-mp to main tree. This corresponds to the same merge in KWSys. Fixes for bootstrapping on cygwin are also included.
This commit is contained in:
parent
032d1d8652
commit
ef96274a08
303
bootstrap
303
bootstrap
|
@ -61,7 +61,7 @@ KWSYS_FILES="\
|
|||
RegularExpression.hxx \
|
||||
SystemTools.hxx"
|
||||
|
||||
KWSYS_STD_FILES="
|
||||
KWSYS_IOS_FILES="
|
||||
fstream \
|
||||
iosfwd \
|
||||
iostream \
|
||||
|
@ -111,7 +111,8 @@ cmake_version()
|
|||
# Get CMake version
|
||||
CMAKE_VERSION=""
|
||||
for a in MAJOR MINOR PATCH; do
|
||||
CMake_VERSION=`cat "${cmake_source_dir}/CMakeLists.txt" | grep "SET(CMake_VERSION_${a} *[0-9]*)" | sed "s/SET(CMake_VERSION_${a} *\([0-9]*\))/\1/"`
|
||||
CMake_VERSION=`cat "${cmake_source_dir}/CMakeLists.txt" | \
|
||||
grep "SET(CMake_VERSION_${a} *[0-9]*)" | sed "s/SET(CMake_VERSION_${a} *\([0-9]*\))/\1/"`
|
||||
CMAKE_VERSION="${CMAKE_VERSION}.${CMake_VERSION}"
|
||||
done
|
||||
CMAKE_VERSION=`echo $CMAKE_VERSION | sed "s/\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1.\2-\3/"`
|
||||
|
@ -121,16 +122,18 @@ cmake_version()
|
|||
# Display CMake bootstrap error, display the log file and exit
|
||||
cmake_error()
|
||||
{
|
||||
res=$1
|
||||
shift 1
|
||||
echo "---------------------------------------------"
|
||||
echo "Error when bootstrapping CMake:"
|
||||
echo "$*"
|
||||
echo "---------------------------------------------"
|
||||
if [ -f cmake_bootstrap.log ]; then
|
||||
echo "Log of errors:"
|
||||
cat cmake_bootstrap.log
|
||||
echo "Log of errors: `pwd`/cmake_bootstrap.log"
|
||||
#cat cmake_bootstrap.log
|
||||
echo "---------------------------------------------"
|
||||
fi
|
||||
exit 1
|
||||
exit ${res}
|
||||
}
|
||||
|
||||
# Replace KWSYS_NAMESPACE with cmsys
|
||||
|
@ -152,10 +155,40 @@ cmake_replace_string ()
|
|||
fi
|
||||
fi
|
||||
else
|
||||
cmake_error "Cannot find file ${INFILE}"
|
||||
cmake_error 1 "Cannot find file ${INFILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
cmake_kwsys_config_replace_string ()
|
||||
{
|
||||
INFILE="$1"
|
||||
OUTFILE="$2"
|
||||
shift 2
|
||||
APPEND="$*"
|
||||
if [ -f "${INFILE}" ]; then
|
||||
echo "${APPEND}" > "${OUTFILE}.tmp"
|
||||
cat "${INFILE}" |
|
||||
sed "/./ {s/\@KWSYS_NAMESPACE\@/cmsys/g;
|
||||
s/@KWSYS_BUILD_SHARED@/${KWSYS_BUILD_SHARED}/g;
|
||||
s/@KWSYS_NAME_IS_KWSYS@/${KWSYS_NAME_IS_KWSYS}/g;
|
||||
s/@KWSYS_IOS_HAVE_ANSI@/${KWSYS_IOS_HAVE_ANSI}/g;
|
||||
s/@KWSYS_IOS_HAVE_STD@/${KWSYS_IOS_HAVE_STD}/g;
|
||||
s/@KWSYS_IOS_HAVE_SSTREAM@/${KWSYS_IOS_HAVE_SSTREAM}/g;
|
||||
s/@KWSYS_IOS_HAVE_STRSTREAM_H@/${KWSYS_IOS_HAVE_STRSTREAM_H}/g;
|
||||
s/@KWSYS_IOS_HAVE_STRSTREA_H@/${KWSYS_IOS_HAVE_STRSTREA_H}/g;
|
||||
s/@KWSYS_STL_HAVE_STD@/${KWSYS_STL_HAVE_STD}/g;}" >> "${OUTFILE}.tmp"
|
||||
if [ -f "${OUTFILE}.tmp" ]; then
|
||||
if diff "${OUTFILE}" "${OUTFILE}.tmp" > /dev/null 2> /dev/null ; then
|
||||
#echo "Files are the same"
|
||||
rm -f "${OUTFILE}.tmp"
|
||||
else
|
||||
mv -f "${OUTFILE}.tmp" "${OUTFILE}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
cmake_error 2 "Cannot find file ${INFILE}"
|
||||
fi
|
||||
}
|
||||
# Write string into a file
|
||||
cmake_report ()
|
||||
{
|
||||
|
@ -202,20 +235,21 @@ cmake_try_run ()
|
|||
"${COMPILER}" ${FLAGS} "${TESTFILE}" -o "${TMPFILE}"
|
||||
RES=$?
|
||||
if [ "${RES}" -ne "0" ]; then
|
||||
echo "${COMPILER} does not work";return 1
|
||||
echo "Test failed to compile"
|
||||
return 1
|
||||
fi
|
||||
if [ ! -f "${TMPFILE}" ] && [ ! -f "${TMPFILE}.exe" ]; then
|
||||
echo "${COMPILER} does not produce output"
|
||||
echo "Test failed to produce executable"
|
||||
return 2
|
||||
fi
|
||||
./${TMPFILE}
|
||||
RES=$?
|
||||
rm -f "${TMPFILE}"
|
||||
if [ "${RES}" -ne "0" ]; then
|
||||
echo "${COMPILER} produces strange executable"
|
||||
echo "Test produced non-zero return code"
|
||||
return 3
|
||||
fi
|
||||
echo "${COMPILER} works"
|
||||
echo "Test succeded"
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -301,19 +335,21 @@ echo "`cmake_version`"
|
|||
# Make bootstrap directory
|
||||
[ -d "${cmake_bootstrap_dir}" ] || mkdir "${cmake_bootstrap_dir}"
|
||||
if [ ! -d "${cmake_bootstrap_dir}" ]; then
|
||||
cmake_error "Cannot create directory ${cmake_bootstrap_dir} to bootstrap CMake."
|
||||
cmake_error 3 "Cannot create directory ${cmake_bootstrap_dir} to bootstrap CMake."
|
||||
fi
|
||||
cd "${cmake_bootstrap_dir}"
|
||||
|
||||
[ -d "cmsys" ] || mkdir "cmsys"
|
||||
if [ ! -d "cmsys" ]; then
|
||||
cmake_error "Cannot create directory ${cmake_bootstrap_dir}/cmsys"
|
||||
cmake_error 4 "Cannot create directory ${cmake_bootstrap_dir}/cmsys"
|
||||
fi
|
||||
|
||||
[ -d "cmsys/std" ] || mkdir "cmsys/std"
|
||||
if [ ! -d "cmsys/std" ]; then
|
||||
cmake_error "Cannot create directory ${cmake_bootstrap_dir}/cmsys/std"
|
||||
fi
|
||||
for a in stl ios; do
|
||||
[ -d "cmsys/${a}" ] || mkdir "cmsys/${a}"
|
||||
if [ ! -d "cmsys/${a}" ]; then
|
||||
cmake_error 5 "Cannot create directory ${cmake_bootstrap_dir}/cmsys/${a}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Delete all the bootstrap files
|
||||
rm -f "${cmake_bootstrap_dir}/cmake_bootstrap.log"
|
||||
|
@ -344,14 +380,15 @@ int main()
|
|||
}
|
||||
EOF
|
||||
for a in ${cmake_c_compilers}; do
|
||||
if [ -z "${cmake_c_compiler}" ] && cmake_try_run "${a}" "${cmake_c_flags}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||
if [ -z "${cmake_c_compiler}" ] && \
|
||||
cmake_try_run "${a}" "${cmake_c_flags}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_c_compiler="${a}"
|
||||
fi
|
||||
done
|
||||
rm -f "${TMPFILE}.c"
|
||||
|
||||
if [ -z "${cmake_c_compiler}" ]; then
|
||||
cmake_error "Cannot find apropriate C compiler on this system.
|
||||
cmake_error 6 "Cannot find appropriate C compiler on this system.
|
||||
Please specify one using environment variable CC."
|
||||
fi
|
||||
echo "C compiler on this system is: ${cmake_c_compiler} ${cmake_c_flags}"
|
||||
|
@ -371,7 +408,12 @@ fi
|
|||
# Check if C++ compiler works
|
||||
TMPFILE=`cmake_tmp_file`
|
||||
cat > "${TMPFILE}.cxx" <<EOF
|
||||
#include <stdio.h>
|
||||
#if defined(TEST1)
|
||||
# include <iostream>
|
||||
#else
|
||||
# include <iostream.h>
|
||||
#endif
|
||||
|
||||
class NeedCXX
|
||||
{
|
||||
public:
|
||||
|
@ -383,19 +425,26 @@ private:
|
|||
int main()
|
||||
{
|
||||
NeedCXX c;
|
||||
printf("%d\n", c.GetFoo());
|
||||
#ifdef TEST3
|
||||
cout << c.GetFoo() << endl;
|
||||
#else
|
||||
std::cout << c.GetFoo() << std::endl;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
for a in ${cmake_cxx_compilers}; do
|
||||
if [ -z "${cmake_cxx_compiler}" ] && cmake_try_run "${a}" "${cmake_cxx_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_cxx_compiler="${a}"
|
||||
fi
|
||||
for b in 1 2 3; do
|
||||
if [ -z "${cmake_cxx_compiler}" ] && \
|
||||
cmake_try_run "${a}" "${cmake_cxx_flags} -DTEST${b}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_cxx_compiler="${a}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
rm -f "${TMPFILE}.cxx"
|
||||
|
||||
if [ -z "${cmake_cxx_compiler}" ]; then
|
||||
cmake_error "Cannot find apropriate C++ compiler on this system.
|
||||
cmake_error 7 "Cannot find appropriate C++ compiler on this system.
|
||||
Please specify one using environment variable CXX."
|
||||
fi
|
||||
echo "C++ compiler on this system is: ${cmake_cxx_compiler} ${cmake_cxx_flags}"
|
||||
|
@ -436,7 +485,7 @@ cd "${cmake_bootstrap_dir}"
|
|||
rm -rf "${cmake_bootstrap_dir}/${TMPFILE}"
|
||||
|
||||
if [ -z "${cmake_make_processor}" ]; then
|
||||
cmake_error "Cannot find apropriate Makefile processor on this system.
|
||||
cmake_error 8 "Cannot find appropriate Makefile processor on this system.
|
||||
Please specify one using environment variable MAKE."
|
||||
fi
|
||||
echo "Make processor on this system is: ${cmake_make_processor}"
|
||||
|
@ -454,10 +503,12 @@ if [ "x${cmake_system}" = "xIRIX64" ]; then
|
|||
int main() { std::cout << "No need for ${cmake_test_flags}" << std::endl; return 0;}
|
||||
EOF
|
||||
cmake_need_lang_std=0
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
:
|
||||
else
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_need_lang_std=1
|
||||
fi
|
||||
fi
|
||||
|
@ -480,7 +531,8 @@ if [ "x${cmake_system}" = "xOSF1" ]; then
|
|||
int main() { std::cout << "We need ${cmake_test_flags}" << std::endl; return 0;}
|
||||
EOF
|
||||
cmake_need_flags=1
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
:
|
||||
else
|
||||
cmake_need_flags=0
|
||||
|
@ -504,7 +556,8 @@ if [ "x${cmake_system}" = "xOSF1" ]; then
|
|||
int main() { std::cout << "We need ${cmake_test_flags}" << std::endl; return 0;}
|
||||
EOF
|
||||
cmake_need_flags=1
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} ${cmake_test_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
:
|
||||
else
|
||||
cmake_need_flags=0
|
||||
|
@ -530,7 +583,8 @@ EOF
|
|||
if cmake_try_run "${cmake_c_compiler}" "${cmake_c_flags}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||
:
|
||||
else
|
||||
if cmake_try_run "${cmake_c_compiler}" "${cmake_c_flags} ${cmake_test_flags}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_c_compiler}" \
|
||||
"${cmake_c_flags} ${cmake_test_flags}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_need_Ae=1
|
||||
fi
|
||||
fi
|
||||
|
@ -544,82 +598,134 @@ EOF
|
|||
fi
|
||||
cmake_test_flags=
|
||||
|
||||
# Test for kwsys features
|
||||
KWSYS_NAME_IS_KWSYS=0
|
||||
KWSYS_BUILD_SHARED=0
|
||||
KWSYS_IOS_HAVE_STRSTREAM_H=0
|
||||
KWSYS_IOS_HAVE_STRSTREA_H=0
|
||||
KWSYS_IOS_HAVE_STD=0
|
||||
KWSYS_IOS_HAVE_SSTREAM=0
|
||||
KWSYS_IOS_HAVE_ANSI=0
|
||||
KWSYS_STL_HAVE_STD=0
|
||||
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_STL_HAVE_STD" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_STL_HAVE_STD=1
|
||||
echo "${cmake_cxx_compiler} has STL in std:: namespace"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have STL in std:: namespace"
|
||||
fi
|
||||
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_IOS_HAVE_ANSI" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_IOS_HAVE_ANSI=1
|
||||
echo "${cmake_cxx_compiler} has ANSI streams"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have ANSI streams"
|
||||
fi
|
||||
|
||||
if [ "x$KWSYS_IOS_HAVE_ANSI" = "x1" ]; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_IOS_HAVE_STD" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_IOS_HAVE_STD=1
|
||||
echo "${cmake_cxx_compiler} has streams in std:: namespace"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have streams in std:: namespace"
|
||||
fi
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_IOS_HAVE_SSTREAM" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_IOS_HAVE_SSTREAM=1
|
||||
echo "${cmake_cxx_compiler} has sstream"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have sstream"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "x$KWSYS_IOS_HAVE_SSTREAM" = "x0" ]; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_IOS_HAVE_STRSTREAM_H" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_IOS_HAVE_STRSTREAM_H=1
|
||||
echo "${cmake_cxx_compiler} has strstream.h"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have strstream.h"
|
||||
fi
|
||||
if [ "x$KWSYS_IOS_HAVE_STRSTREAM_H" = "x0" ]; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags} -DTEST_KWSYS_IOS_HAVE_STRSTREA_H" \
|
||||
"${cmake_source_dir}/Source/kwsys/kwsysPlatformCxxTests.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
KWSYS_IOS_HAVE_STRSTREA_H=1
|
||||
echo "${cmake_cxx_compiler} has strstrea.h"
|
||||
else
|
||||
echo "${cmake_cxx_compiler} does not have strstrea.h"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Just to be safe, let us store compiler and flags to the header file
|
||||
|
||||
cmake_report cmConfigure.h.tmp "/*"
|
||||
cmake_report cmConfigure.h.tmp " * Generated by ${cmake_source_dir}/bootstrap"
|
||||
cmake_report cmConfigure.h.tmp " * Binary directory: ${cmake_bootstrap_dir}"
|
||||
cmake_report cmConfigure.h.tmp " * C compiler: ${cmake_c_compiler}"
|
||||
cmake_report cmConfigure.h.tmp " * C flags: ${cmake_c_flags}"
|
||||
cmake_report cmConfigure.h.tmp " *"
|
||||
cmake_report cmConfigure.h.tmp " * C++ compiler: ${cmake_cxx_compiler}"
|
||||
cmake_report cmConfigure.h.tmp " * C++ flags: ${cmake_cxx_flags}"
|
||||
cmake_report cmConfigure.h.tmp " *"
|
||||
cmake_report cmConfigure.h.tmp " * Make: ${cmake_make_processor}"
|
||||
cmake_report cmConfigure.h.tmp " *"
|
||||
cmake_report cmConfigure.h.tmp " * Sources:"
|
||||
cmake_report cmConfigure.h.tmp " * ${CMAKE_CXX_SOURCES} ${CMAKE_C_SOURCES}"
|
||||
cmake_report cmConfigure.h.tmp " * kwSys Sources:"
|
||||
cmake_report cmConfigure.h.tmp " * ${KWSYS_CXX_SOURCES} ${KWSYS_C_SOURCES}"
|
||||
cmake_report cmConfigure.h.tmp " */"
|
||||
cmake_bootstrap_version='$Revision$'
|
||||
cmake_compiler_settings_comment="/*
|
||||
* Generated by ${cmake_source_dir}/bootstrap
|
||||
* Version: ${cmake_bootstrap_version}
|
||||
*
|
||||
* Source directory: ${cmake_source_dir}
|
||||
* Binary directory: ${cmake_bootstrap_dir}
|
||||
*
|
||||
* C compiler: ${cmake_c_compiler}
|
||||
* C flags: ${cmake_c_flags}
|
||||
*
|
||||
* C++ compiler: ${cmake_cxx_compiler}
|
||||
* C++ flags: ${cmake_cxx_flags}
|
||||
*
|
||||
* Make: ${cmake_make_processor}
|
||||
*
|
||||
* Sources:
|
||||
* ${CMAKE_CXX_SOURCES} ${CMAKE_C_SOURCES}
|
||||
* kwSys Sources:
|
||||
* ${KWSYS_CXX_SOURCES} ${KWSYS_C_SOURCES}
|
||||
*/
|
||||
"
|
||||
|
||||
# Test for STD namespace
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_dir}/Modules/TestForSTDNamespace.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_report cmConfigure.h.tmp "${cmake_compiler_settings_comment}"
|
||||
|
||||
if [ "x$KWSYS_STL_HAVE_STD" = "x1" ]; then
|
||||
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_STD_NAMESPACE */"
|
||||
cmake_report cmConfigure.h.tmp "#define cmsys_std std"
|
||||
echo "${cmake_cxx_compiler} has STD namespace"
|
||||
else
|
||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_STD_NAMESPACE 1"
|
||||
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_STD_NAMESPACE"
|
||||
cmake_report cmConfigure.h.tmp "#define cmsys_std"
|
||||
echo "${cmake_cxx_compiler} does not have STD namespace"
|
||||
fi
|
||||
|
||||
# Test for ANSI stream headers
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_dir}/Modules/TestForANSIStreamHeaders.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if [ "x$KWSYS_IOS_HAVE_ANSI" = "x1" ]; then
|
||||
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_ANSI_STREAM_HEADERS */"
|
||||
echo "${cmake_cxx_compiler} has ANSI stream headers"
|
||||
else
|
||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STREAM_HEADERS 1"
|
||||
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_ANSI_STREAM_HEADERS 1"
|
||||
cmake_report cmConfigure.h.tmp "#define cmsys_NO_ANSI_STREAM_HEADERS"
|
||||
echo "${cmake_cxx_compiler} does not have ANSI stream headers"
|
||||
fi
|
||||
|
||||
# Test for ansi string streams
|
||||
TMPFILE=`cmake_tmp_file`
|
||||
cat>${TMPFILE}.cxx<<EOF
|
||||
#include <sstream>
|
||||
int main() { return 0;}
|
||||
EOF
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if [ "x$KWSYS_IOS_HAVE_SSTREAM" = "x1" ]; then
|
||||
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_ANSI_STRING_STREAM */"
|
||||
echo "${cmake_cxx_compiler} has ANSI string streams"
|
||||
else
|
||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_STRING_STREAM 1"
|
||||
cmake_report cmConfigure.h.tmp "#define KWSYS_NO_ANSI_STRING_STREAM 1"
|
||||
cmake_report cmConfigure.h.tmp "#define cmsys_NO_ANSI_STRING_STREAM 1"
|
||||
echo "${cmake_cxx_compiler} does not have ANSI string streams"
|
||||
fi
|
||||
rm -f "${TMPFILE}.cxx"
|
||||
|
||||
# Test for ansi FOR scope
|
||||
if cmake_try_run "${cmake_cxx_compiler}" "${cmake_cxx_flags}" "${cmake_source_dir}/Modules/TestForAnsiForScope.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
if cmake_try_run "${cmake_cxx_compiler}" \
|
||||
"${cmake_cxx_flags}" \
|
||||
"${cmake_source_dir}/Modules/TestForAnsiForScope.cxx" >> cmake_bootstrap.log 2>&1; then
|
||||
cmake_report cmConfigure.h.tmp "/* #undef CMAKE_NO_ANSI_FOR_SCOPE */"
|
||||
echo "${cmake_cxx_compiler} has ANSI for scoping"
|
||||
else
|
||||
cmake_report cmConfigure.h.tmp "#define CMAKE_NO_ANSI_FOR_SCOPE 1"
|
||||
echo "${cmake_cxx_compiler} does not have ANSI for scoping"
|
||||
fi
|
||||
cmake_report cmConfigure.h.tmp "/* Defined if std namespace is the GCC hack. */"
|
||||
cmake_report cmConfigure.h.tmp "#if defined(__GNUC__) && (__GNUC__ < 3)"
|
||||
cmake_report cmConfigure.h.tmp "# define cmsys_FAKE_STD_NAMESPACE"
|
||||
cmake_report cmConfigure.h.tmp "#endif"
|
||||
cmake_report cmConfigure.h.tmp "#define kwsys_std cmsys_std"
|
||||
|
||||
# Write CMake version
|
||||
for a in MAJOR MINOR PATCH; do
|
||||
CMake_VERSION=`cat "${cmake_source_dir}/CMakeLists.txt" | grep "SET(CMake_VERSION_${a} *[0-9]*)" | sed "s/SET(CMake_VERSION_${a} *\([0-9]*\))/\1/"`
|
||||
CMake_VERSION=`cat "${cmake_source_dir}/CMakeLists.txt" | \
|
||||
grep "SET(CMake_VERSION_${a} *[0-9]*)" | sed "s/SET(CMake_VERSION_${a} *\([0-9]*\))/\1/"`
|
||||
cmake_report cmConfigure.h.tmp "#define CMake_VERSION_${a} ${CMake_VERSION}"
|
||||
done
|
||||
cmake_report cmConfigure.h.tmp "#define CMAKE_ROOT_DIR \"${cmake_source_dir}\""
|
||||
|
@ -631,31 +737,38 @@ if diff cmConfigure.h cmConfigure.h.tmp > /dev/null 2> /dev/null; then
|
|||
rm -f cmConfigure.h.tmp
|
||||
else
|
||||
mv -f cmConfigure.h.tmp cmConfigure.h
|
||||
cp cmConfigure.h cmsys/Configure.hxx
|
||||
fi
|
||||
|
||||
# Prepare KWSYS
|
||||
cmake_kwsys_config_replace_string \
|
||||
"${cmake_source_dir}/Source/kwsys/Configure.hxx.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/Configure.hxx" \
|
||||
"${cmake_compiler_settings_comment}"
|
||||
cmake_kwsys_config_replace_string \
|
||||
"${cmake_source_dir}/Source/kwsys/Configure.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/Configure.h" \
|
||||
"${cmake_compiler_settings_comment}"
|
||||
|
||||
for a in ${KWSYS_FILES}; do
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/${a}.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/${a}" KWSYS_NAMESPACE cmsys
|
||||
done
|
||||
for a in ${KWSYS_STD_FILES}; do
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_std_${a}.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/std/${a}" KWSYS_NAMESPACE cmsys
|
||||
|
||||
for a in ${KWSYS_IOS_FILES}; do
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_ios_${a}.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/ios/${a}" KWSYS_NAMESPACE cmsys
|
||||
done
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_std.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/std/stl.h.in" KWSYS_NAMESPACE cmsys
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/Configure.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/Configure.h.in" KWSYS_NAMESPACE cmsys
|
||||
cmake_replace_string "${cmake_bootstrap_dir}/cmsys/Configure.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/Configure.h" KWSYS_BUILD_SHARED 0
|
||||
|
||||
cmake_replace_string "${cmake_source_dir}/Source/kwsys/kwsys_stl.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/stl/stl.h.in" KWSYS_NAMESPACE cmsys
|
||||
|
||||
for a in string vector; do
|
||||
cmake_replace_string "${cmake_bootstrap_dir}/cmsys/std/stl.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/std/${a}" KWSYS_STL_HEADER ${a}
|
||||
cmake_replace_string "${cmake_bootstrap_dir}/cmsys/stl/stl.h.in" \
|
||||
"${cmake_bootstrap_dir}/cmsys/stl/${a}" KWSYS_STL_HEADER ${a}
|
||||
done
|
||||
|
||||
# Generate Makefile
|
||||
dep="cmConfigure.h `cmake_escape \"${cmake_source_dir}\"`/Source/*.h"
|
||||
dep="cmConfigure.h cmsys/Configure.hxx cmsys/Configure.h `cmake_escape \"${cmake_source_dir}\"`/Source/*.h"
|
||||
objs=""
|
||||
for a in ${CMAKE_CXX_SOURCES} ${CMAKE_C_SOURCES} ${KWSYS_CXX_SOURCES} ${KWSYS_C_SOURCES}; do
|
||||
objs="${objs} ${a}.o"
|
||||
|
@ -673,8 +786,10 @@ if [ "x${cmake_cxx_flags}" != "x" ]; then
|
|||
cmake_cxx_flags="${cmake_cxx_flags} "
|
||||
fi
|
||||
|
||||
cmake_c_flags="${cmake_c_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` -I`cmake_escape \"${cmake_bootstrap_dir}\"`"
|
||||
cmake_cxx_flags="${cmake_cxx_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` -I`cmake_escape \"${cmake_bootstrap_dir}\"`"
|
||||
cmake_c_flags="${cmake_c_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` \
|
||||
-I`cmake_escape \"${cmake_bootstrap_dir}\"`"
|
||||
cmake_cxx_flags="${cmake_cxx_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` \
|
||||
-I`cmake_escape \"${cmake_bootstrap_dir}\"`"
|
||||
echo "cmake: ${objs}" > "${cmake_bootstrap_dir}/Makefile"
|
||||
echo " ${cmake_cxx_compiler} ${LDFLAGS} ${cmake_cxx_flags} ${objs} -o cmake" >> "${cmake_bootstrap_dir}/Makefile"
|
||||
for a in ${CMAKE_CXX_SOURCES}; do
|
||||
|
@ -731,7 +846,7 @@ else
|
|||
fi
|
||||
RES=$?
|
||||
if [ "${RES}" -ne "0" ]; then
|
||||
cmake_error "Problem while bootstrapping CMake"
|
||||
cmake_error 9 "Problem while running ${cmake_make_processor}"
|
||||
fi
|
||||
cd "${cmake_binary_dir}"
|
||||
|
||||
|
|
Loading…
Reference in New Issue