endif()
endif()
-IF(CMAKE_CROSSCOMPILING)
- IF(WIN32)
- set(windows_context "yes")
- set(IS_WINDOWS 1)
- ENDIF()
-ELSE()
+IF(NOT CMAKE_CROSSCOMPILING)
file(REMOVE "${CMAKE_BINARY_DIR}/testprog*")
file(REMOVE ${CMAKE_BINARY_DIR}/conftestval)
set(MCSC_buildcmd ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c ${mcsc_flags} -o testprog)
message(STATUS "mcsc: ${mcsc}")
ENDIF()
-if(mcsc MATCHES "no" AND pthread)
- if(HAVE_WINDOWS_H)
- set(windows_context "yes")
- set(IS_WINDOWS 1)
- elseif(HAVE_WINDOWS_H)
- message(FATAL_ERROR "no appropriate backend found")
- endif()
-endif()
-
#Only windows
if(WIN32)
endif()
endif()
-if(windows_context MATCHES "yes")
- message(STATUS "Context change to windows")
-endif()
-
#If can have both context
if(mcsc)
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
${CMAKE_BINARY_DIR}
${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_stackgrowth.c
+ RUN_OUTPUT_VARIABLE stack
)
- if (RUN_makecontext_VAR)
- file(READ "${CMAKE_BINARY_DIR}/conftestval" stack)
- if(stack MATCHES "down")
- set(PTH_STACKGROWTH "-1")
- endif()
- if(stack MATCHES "up")
- set(PTH_STACKGROWTH "1")
- endif()
- endif()
endif()
-if(NOT PTH_STACKGROWTH)
+if("${stack}" STREQUAL "down")
+ set(PTH_STACKGROWTH "-1")
+elseif("${stack}" STREQUAL "up")
+ set(PTH_STACKGROWTH "1")
+else()
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
set(PTH_STACKGROWTH "-1")
+ elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i686")
+ set(PTH_STACKGROWTH "-1")
else()
message(ERROR "Could not figure the stack direction.")
endif()
#AC_PROG_MAKE_SET
-if(CMAKE_CROSSCOMPILING)
- set(RUN_PRINTF_NULL_VAR "cross")
- set(COMPILE_PRINTF_NULL_VAR "cross")
-else()
- #AC_PRINTF_NULL FIXME: this is too ancient to survive!
- try_run(RUN_PRINTF_NULL_VAR COMPILE_PRINTF_NULL_VAR
- ${CMAKE_BINARY_DIR}
- ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_printf_null.c
- )
-endif()
-
-if(RUN_PRINTF_NULL_VAR MATCHES "FAILED_TO_RUN")
- SET(PRINTF_NULL_WORKING "0")
-else()
- SET(PRINTF_NULL_WORKING "1")
-endif()
-
#AC_CHECK_VA_COPY
set(diff_va "va_copy((d),(s))"