xref: /aosp_15_r20/external/pytorch/cmake/CheckAbi.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Workerif(DEFINED GLIBCXX_USE_CXX11_ABI)
2*da0073e9SAndroid Build Coastguard Worker  message(STATUS "_GLIBCXX_USE_CXX11_ABI=${GLIBCXX_USE_CXX11_ABI} is already defined as a cmake variable")
3*da0073e9SAndroid Build Coastguard Worker  return()
4*da0073e9SAndroid Build Coastguard Workerendif()
5*da0073e9SAndroid Build Coastguard Worker
6*da0073e9SAndroid Build Coastguard Worker# XXX This ABI check cannot be run with arm-linux-androideabi-g++
7*da0073e9SAndroid Build Coastguard Workermessage(STATUS "${CMAKE_CXX_COMPILER} ${PROJECT_SOURCE_DIR}/torch/abi-check.cpp -o ${CMAKE_BINARY_DIR}/abi-check")
8*da0073e9SAndroid Build Coastguard Workerexecute_process(
9*da0073e9SAndroid Build Coastguard Worker  COMMAND
10*da0073e9SAndroid Build Coastguard Worker  "${CMAKE_CXX_COMPILER}"
11*da0073e9SAndroid Build Coastguard Worker  "${PROJECT_SOURCE_DIR}/torch/abi-check.cpp"
12*da0073e9SAndroid Build Coastguard Worker  "-o"
13*da0073e9SAndroid Build Coastguard Worker  "${CMAKE_BINARY_DIR}/abi-check"
14*da0073e9SAndroid Build Coastguard Worker  RESULT_VARIABLE ABI_CHECK_COMPILE_RESULT)
15*da0073e9SAndroid Build Coastguard Workerif(ABI_CHECK_COMPILE_RESULT)
16*da0073e9SAndroid Build Coastguard Worker  message(FATAL_ERROR "Could not compile ABI Check: ${ABI_CHECK_COMPILE_RESULT}")
17*da0073e9SAndroid Build Coastguard Worker  set(GLIBCXX_USE_CXX11_ABI 0)
18*da0073e9SAndroid Build Coastguard Workerendif()
19*da0073e9SAndroid Build Coastguard Workerexecute_process(
20*da0073e9SAndroid Build Coastguard Worker  COMMAND "${CMAKE_BINARY_DIR}/abi-check"
21*da0073e9SAndroid Build Coastguard Worker  RESULT_VARIABLE ABI_CHECK_RESULT
22*da0073e9SAndroid Build Coastguard Worker  OUTPUT_VARIABLE GLIBCXX_USE_CXX11_ABI)
23*da0073e9SAndroid Build Coastguard Workerif(ABI_CHECK_RESULT)
24*da0073e9SAndroid Build Coastguard Worker  message(WARNING "Could not run ABI Check: ${ABI_CHECK_RESULT}")
25*da0073e9SAndroid Build Coastguard Worker  set(GLIBCXX_USE_CXX11_ABI 0)
26*da0073e9SAndroid Build Coastguard Workerendif()
27*da0073e9SAndroid Build Coastguard Workermessage(STATUS "Determined _GLIBCXX_USE_CXX11_ABI=${GLIBCXX_USE_CXX11_ABI}")
28