diff options
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 61 |
1 files changed, 40 insertions, 21 deletions
@@ -224,8 +224,8 @@ cmake_doc_dir_default="`cmake_install_dest_default DOC ${cmake_doc_dir_keyword}` cmake_man_dir_default="`cmake_install_dest_default MAN ${cmake_man_dir_keyword}`" cmake_xdgdata_dir_default="`cmake_install_dest_default XDGDATA ${cmake_xdgdata_dir_keyword}`" -CMAKE_KNOWN_C_COMPILERS="cc gcc xlc icc tcc" -CMAKE_KNOWN_CXX_COMPILERS="aCC xlC CC g++ c++ icc como " +CMAKE_KNOWN_C_COMPILERS="cc gcc clang xlc icc tcc" +CMAKE_KNOWN_CXX_COMPILERS="aCC xlC CC g++ clang++ c++ icc como " CMAKE_KNOWN_MAKE_PROCESSORS="gmake make" CMAKE_PROBLEMATIC_FILES="\ @@ -311,6 +311,7 @@ CMAKE_CXX_SOURCES="\ cmFindProgramCommand \ cmForEachCommand \ cmFunctionCommand \ + cmFSPermissions \ cmGeneratedFileStream \ cmGeneratorExpression \ cmGeneratorExpressionContext \ @@ -417,6 +418,7 @@ CMAKE_CXX_SOURCES="\ cmTryRunCommand \ cmUnexpectedCommand \ cmUnsetCommand \ + cmUVHandlePtr \ cmVersion \ cmWhileCommand \ cmWorkingDirectory \ @@ -980,6 +982,11 @@ if [ -z "${CC}" -a -z "${CXX}" ]; then cmake_toolchain_detect fi +thread_flags='' +case "${cmake_system}" in + *AIX*) thread_flags='-pthread' ;; +esac + #----------------------------------------------------------------------------- # Test C compiler cmake_c_compiler= @@ -1000,6 +1007,10 @@ echo ' # error "The CMAKE_C_COMPILER is set to a C++ compiler" #endif +#if defined(_AIX) && defined(__GNUC__) && !defined(_THREAD_SAFE) +#error "On AIX with GNU we need the -pthread flag." +#endif + #if defined(__sun) && __STDC_VERSION__ < 199901L #error "On Solaris we need C99." #endif @@ -1013,16 +1024,18 @@ int main(int argc, char* argv[]) } ' > "${TMPFILE}.c" for std in 11 99 90; do - try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`" + std_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`" for compiler in ${cmake_c_compilers}; do - for flag in '' $try_flags; do - echo "Checking whether '${compiler} ${cmake_c_flags} ${flag}' works." >> cmake_bootstrap.log 2>&1 - if cmake_try_run "${compiler}" "${cmake_c_flags} ${flag}" \ - "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then - cmake_c_compiler="${compiler}" - cmake_c_flags="${cmake_c_flags} ${flag}" - break 3 - fi + for std_flag in '' $std_flags; do + for thread_flag in '' $thread_flags; do + echo "Checking whether '${compiler} ${cmake_c_flags} ${std_flag} ${thread_flag}' works." >> cmake_bootstrap.log 2>&1 + if cmake_try_run "${compiler}" "${cmake_c_flags} ${std_flag} ${thread_flag}" \ + "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then + cmake_c_compiler="${compiler}" + cmake_c_flags="${cmake_c_flags} ${std_flag} ${thread_flag}" + break 3 + fi + done done done done @@ -1062,6 +1075,10 @@ echo ' #error "Compiler is not in a mode aware of C++11." #endif +#if defined(_AIX) && defined(__GNUC__) && !defined(_THREAD_SAFE) +#error "On AIX with GNU we need the -pthread flag." +#endif + #if defined(__SUNPRO_CC) && __SUNPRO_CC < 0x5140 #error "SunPro <= 5.13 mode not supported due to bug in move semantics." #endif @@ -1081,16 +1098,18 @@ int main() } ' > "${TMPFILE}.cxx" for std in 17 14 11; do - try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" CXX \"${std}\"`" + std_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" CXX \"${std}\"`" for compiler in ${cmake_cxx_compilers}; do - for flag in '' $try_flags; do - echo "Checking whether '${compiler} ${cmake_cxx_flags} ${flag}' works." >> cmake_bootstrap.log 2>&1 - if cmake_try_run "${compiler}" "${cmake_cxx_flags} ${flag}" \ - "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then - cmake_cxx_compiler="${compiler}" - cmake_cxx_flags="${cmake_cxx_flags} ${flag} " - break 3 - fi + for std_flag in '' $std_flags; do + for thread_flag in '' $thread_flags; do + echo "Checking whether '${compiler} ${cmake_cxx_flags} ${std_flag} ${thread_flag}' works." >> cmake_bootstrap.log 2>&1 + if cmake_try_run "${compiler}" "${cmake_cxx_flags} ${std_flag} ${thread_flag}" \ + "${TMPFILE}.cxx" >> cmake_bootstrap.log 2>&1; then + cmake_cxx_compiler="${compiler}" + cmake_cxx_flags="${cmake_cxx_flags} ${std_flag} ${thread_flag} " + break 3 + fi + done done done done @@ -1320,7 +1339,7 @@ else uv_c_flags="${uv_c_flags} -DCMAKE_BOOTSTRAP" case "${cmake_system}" in *AIX*) - uv_c_flags="${uv_c_flags} -D_ALL_SOURCE -D_XOPEN_SOURCE=500 -D_LINUX_SOURCE_COMPAT -D_THREAD_SAFE" + uv_c_flags="${uv_c_flags} -D_ALL_SOURCE -D_XOPEN_SOURCE=500 -D_LINUX_SOURCE_COMPAT" libs="${libs} -lperfstat" ;; *Darwin*) |