[clang-tools-extra] 4baae16 - [pseudo] Fix pseudo-gen usage when cross-compiling
Shoaib Meenai via cfe-commits
cfe-commits at lists.llvm.org
Wed May 25 11:08:28 PDT 2022
Author: Shoaib Meenai
Date: 2022-05-25T11:08:21-07:00
New Revision: 4baae166ce33ac763bfc1813cf56b8d26e07fb1f
URL: https://github.com/llvm/llvm-project/commit/4baae166ce33ac763bfc1813cf56b8d26e07fb1f
DIFF: https://github.com/llvm/llvm-project/commit/4baae166ce33ac763bfc1813cf56b8d26e07fb1f.diff
LOG: [pseudo] Fix pseudo-gen usage when cross-compiling
Use the LLVM build system's cross-compilation support for the tool, so
that the build works for both host and cross-compilation scenarios.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D126397
Added:
Modified:
clang-tools-extra/pseudo/include/CMakeLists.txt
Removed:
################################################################################
diff --git a/clang-tools-extra/pseudo/include/CMakeLists.txt b/clang-tools-extra/pseudo/include/CMakeLists.txt
index a79dd0dab8184..e4265b18c2b2e 100644
--- a/clang-tools-extra/pseudo/include/CMakeLists.txt
+++ b/clang-tools-extra/pseudo/include/CMakeLists.txt
@@ -1,25 +1,35 @@
# The cxx.bnf grammar file
set(cxx_bnf ${CMAKE_CURRENT_SOURCE_DIR}/../lib/cxx.bnf)
+# Using CMAKE_CROSSCOMPILING and not LLVM_USE_HOST_TOOLS because the latter is
+# also set for LLVM_OPTIMIZED_TABLEGEN, which we don't care about here.
+if(CMAKE_CROSSCOMPILING)
+ build_native_tool(pseudo-gen pseudo_gen)
+ set(pseudo_gen_target "${pseudo_gen}")
+else()
+ set(pseudo_gen $<TARGET_FILE:pseudo-gen>)
+ set(pseudo_gen_target pseudo-gen)
+endif()
+
# Generate inc files.
set(cxx_symbols_inc ${CMAKE_CURRENT_BINARY_DIR}/CXXSymbols.inc)
add_custom_command(OUTPUT ${cxx_symbols_inc}
- COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/pseudo-gen"
+ COMMAND "${pseudo_gen}"
--grammar ${cxx_bnf}
--emit-symbol-list
-o ${cxx_symbols_inc}
COMMENT "Generating nonterminal symbol file for cxx grammar..."
- DEPENDS pseudo-gen
+ DEPENDS ${pseudo_gen_target}
VERBATIM)
set(cxx_bnf_inc ${CMAKE_CURRENT_BINARY_DIR}/CXXBNF.inc)
add_custom_command(OUTPUT ${cxx_bnf_inc}
- COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/pseudo-gen"
+ COMMAND "${pseudo_gen}"
--grammar ${cxx_bnf}
--emit-grammar-content
-o ${cxx_bnf_inc}
COMMENT "Generating bnf string file for cxx grammar..."
- DEPENDS pseudo-gen
+ DEPENDS ${pseudo_gen_target}
VERBATIM)
# add_custom_command does not create a new target, we need to deine a target
More information about the cfe-commits
mailing list