1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-17 15:32:10 +08:00

bootstrap: Require a standard C compiler

This commit is contained in:
Daniel Pfeifer
2017-08-15 21:59:06 +02:00
parent dc0befb6a1
commit d12837afe6

View File

@@ -935,35 +935,26 @@ echo '
# error "The CMAKE_C_COMPILER is set to a C++ compiler" # error "The CMAKE_C_COMPILER is set to a C++ compiler"
#endif #endif
#include<stdio.h> #include <stdio.h>
#if defined(__CLASSIC_C__)
int main(argc, argv)
int argc;
char* argv[];
#else
int main(int argc, char* argv[]) int main(int argc, char* argv[])
#endif
{ {
printf("%d%c", (argv != 0), (char)0x0a); printf("%d%c", (argv != 0), (char)0x0a);
return argc-1; return argc - 1;
} }
' > "${TMPFILE}.c" ' > "${TMPFILE}.c"
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
cmake_c_compiler="${a}"
fi
done
for std in 11 99 90; do for std in 11 99 90; do
try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`" try_flags="`cmake_extract_standard_flags \"${cmake_toolchain}\" C \"${std}\"`"
for flag in $try_flags; do for compiler in ${cmake_c_compilers}; do
echo "Checking whether ${cmake_c_compiler} supports ${flag}" >> cmake_bootstrap.log 2>&1 for flag in '' $try_flags; do
if cmake_try_run "${cmake_c_compiler}" "${cmake_c_flags} ${flag}" \ echo "Checking whether '${compiler} ${cmake_c_flags} ${flag}' works." >> cmake_bootstrap.log 2>&1
"${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then if cmake_try_run "${compiler}" "${cmake_c_flags} ${flag}" \
cmake_c_flags="${cmake_c_flags} ${flag}" "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
break 2 cmake_c_compiler="${compiler}"
fi cmake_c_flags="${cmake_c_flags} ${flag}"
break 3
fi
done
done done
done done
rm -f "${TMPFILE}.c" rm -f "${TMPFILE}.c"