1
1

Add an option for enabling/disabling the compatible support for windows xp. For example, the InterlockedCompareExchange64 support, which doesn't exist on XP. Enabling this option can make sure that the binary built on a Windows 7/Vista could also be run on Windows XP correctly.

This commit was SVN r25724.
Этот коммит содержится в:
Shiqing Fan 2012-01-17 16:12:19 +00:00
родитель 1e95d8b1e2
Коммит 0ecdeff87b
3 изменённых файлов: 19 добавлений и 9 удалений

Просмотреть файл

@ -151,11 +151,15 @@ IF(NOT MICROSOFT_CHECK_DONE)
# exported by kernel32.dll. If we force the usage of TRY_RUN
# here we will check for both in same time: compilation and run.
IF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease Exchange64)
ELSE(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
IF(OMPI_WANT_XP_COMPATIBLE)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease)
ENDIF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
ELSE(OMPI_WANT_XP_COMPATIBLE)
IF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease Exchange64)
ELSE(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease)
ENDIF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
ENDIF((OMPI_WANT_XP_COMPATIBLE))
FOREACH(FUNCTION ${FUNCTION_LIST})
MESSAGE( STATUS "Checking for InterlockedCompare${FUNCTION}...")

Просмотреть файл

@ -95,11 +95,15 @@ IF(NOT MINGW_CHECK_DONE)
# exported by kernel32.dll. If we force the usage of TRY_RUN
# here we will check for both in same time: compilation and run.
#IF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease Exchange64)
#ELSE(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
# SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease)
#ENDIF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
IF(OMPI_WANT_XP_COMPATIBLE)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease)
ELSE(OMPI_WANT_XP_COMPATIBLE)
IF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease Exchange64)
ELSE(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
SET(FUNCTION_LIST Exchange ExchangeAcquire ExchangeRelease)
ENDIF(${CMAKE_SYSTEM_VERSION} GREATER 5.1)
ENDIF((OMPI_WANT_XP_COMPATIBLE))
FOREACH(FUNCTION ${FUNCTION_LIST})
MESSAGE( STATUS "Checking for InterlockedCompare${FUNCTION}...")

Просмотреть файл

@ -253,6 +253,8 @@ OMPI_DEF_OPT(OPAL_EVENT_HAVE_THREAD_SUPPORT "Whether we want to enable event lib
OMPI_DEF_OPT(OMPI_RELEASE_BUILD "Whether it is a build for binary release (this will skip the path settings in mca_installdirs_config)." OFF)
OMPI_DEF_OPT(OMPI_WANT_XP_COMPATIBLE "Whether we want to build with Windows XP compatible functions (with InterlockedCompareExchange64 suooprt)." ON)
IF (NOT MSVC)
###################################################################