1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-19 11:18:40 +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

@@ -937,35 +937,26 @@ echo '
#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
if cmake_try_run "${compiler}" "${cmake_c_flags} ${flag}" \
"${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then "${TMPFILE}.c" >> cmake_bootstrap.log 2>&1; then
cmake_c_compiler="${compiler}"
cmake_c_flags="${cmake_c_flags} ${flag}" cmake_c_flags="${cmake_c_flags} ${flag}"
break 2 break 3
fi fi
done done
done done
done
rm -f "${TMPFILE}.c" rm -f "${TMPFILE}.c"
if [ -z "${cmake_c_compiler}" ]; then if [ -z "${cmake_c_compiler}" ]; then