[llvm] 9447077 - [CMAKE] Fix cross-compilation build

Vladislav Vinogradov via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 23 03:23:48 PDT 2021


Author: Vladislav Vinogradov
Date: 2021-03-23T13:24:08+03:00
New Revision: 94470777af8bdd77017ad43c88c1b876d1d8a398

URL: https://github.com/llvm/llvm-project/commit/94470777af8bdd77017ad43c88c1b876d1d8a398
DIFF: https://github.com/llvm/llvm-project/commit/94470777af8bdd77017ad43c88c1b876d1d8a398.diff

LOG: [CMAKE] Fix cross-compilation build

Call `get_errc_messages` only if `LLVM_INCLUDE_TESTS` was set.

Reviewed By: zero9178, abhina.sreeskantharajan, jhenderson

Differential Revision: https://reviews.llvm.org/D98861

Added: 
    

Modified: 
    llvm/CMakeLists.txt
    llvm/cmake/modules/GetErrcMessages.cmake

Removed: 
    


################################################################################
diff  --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 51ed113f58c5f..ddd81d608caef 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -507,9 +507,6 @@ if (MSVC_IDE OR XCODE)
 endif()
 set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
 
-include(GetErrcMessages)
-get_errc_messages(LLVM_LIT_ERRC_MESSAGES)
-
 # On Win32 hosts, provide an option to specify the path to the GnuWin32 tools.
 if( WIN32 AND NOT CYGWIN )
   set(LLVM_LIT_TOOLS_DIR "" CACHE PATH "Path to GnuWin32 tools")
@@ -762,6 +759,11 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin )
 set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
 set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
 
+if(LLVM_INCLUDE_TESTS)
+  include(GetErrcMessages)
+  get_errc_messages(LLVM_LIT_ERRC_MESSAGES)
+endif()
+
 # For up-to-date instructions for installing the Tensorflow dependency, refer to
 # the bot setup script: https://github.com/google/ml-compiler-opt/blob/master/buildbot/buildbot_init.sh
 # In this case, the latest C API library is available for download from

diff  --git a/llvm/cmake/modules/GetErrcMessages.cmake b/llvm/cmake/modules/GetErrcMessages.cmake
index 2db1e0304ba09..b04f269d79d24 100644
--- a/llvm/cmake/modules/GetErrcMessages.cmake
+++ b/llvm/cmake/modules/GetErrcMessages.cmake
@@ -4,6 +4,11 @@
 # Messages are semi colon separated.
 # Keep amount, order and tested error codes in sync with llvm/utils/lit/lit/llvm/config.py.
 function(get_errc_messages outvar)
+    if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR AND NOT DEFINED errc_exit_code)
+        set(${outvar} "" PARENT_SCOPE)
+        message(STATUS "Can't get errc messages in cross-compilation mode")
+        return()
+    endif()
 
     set(errc_test_code ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/getErrc.cpp)
 


        


More information about the llvm-commits mailing list