[libc-commits] [PATCH] D138040: [libc] Fix tablegen when using a runtimes build
Joseph Huber via Phabricator via libc-commits
libc-commits at lists.llvm.org
Tue Nov 15 08:29:07 PST 2022
jhuber6 created this revision.
jhuber6 added reviewers: sivachandra, lntue, michaelrj, tianshilei1992.
Herald added subscribers: libc-commits, ecnelises, tschuett.
Herald added projects: libc-project, All.
jhuber6 requested review of this revision.
When using `LLVM_ENABLE_RUNTIMES=libc` we need to perform a few extra
steps to include LLVM utilities similar to if we were performing a
standalone build. Libc depends on the tablegen utilities and the LLVM
libraries when performing a full build. When using an
`LLVM_ENABLE_PROJECTS=libc` build these are included as a part of the
greater LLVM build, but here we need to perform it maunally. This patch
should allow using `LLVM_LIBC_FULL_BUILD=ON` when building with
runtimes.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D138040
Files:
libc/CMakeLists.txt
libc/utils/HdrGen/CMakeLists.txt
libc/utils/LibcTableGenUtil/CMakeLists.txt
Index: libc/utils/LibcTableGenUtil/CMakeLists.txt
===================================================================
--- libc/utils/LibcTableGenUtil/CMakeLists.txt
+++ libc/utils/LibcTableGenUtil/CMakeLists.txt
@@ -4,4 +4,4 @@
APIIndexer.h
LINK_COMPONENTS Support TableGen
)
-target_include_directories(LibcTableGenUtil PUBLIC ${LIBC_SOURCE_DIR})
+target_include_directories(LibcTableGenUtil PUBLIC ${LIBC_SOURCE_DIR} ${LLVM_LIBC_INCLUDE_DIRS})
Index: libc/utils/HdrGen/CMakeLists.txt
===================================================================
--- libc/utils/HdrGen/CMakeLists.txt
+++ libc/utils/HdrGen/CMakeLists.txt
@@ -12,7 +12,7 @@
PublicAPICommand.h
)
-target_include_directories(libc-hdrgen PRIVATE ${LIBC_SOURCE_DIR})
+target_include_directories(libc-hdrgen PRIVATE ${LIBC_SOURCE_DIR} ${LLVM_LIBC_INCLUDE_DIRS})
target_link_libraries(libc-hdrgen PRIVATE LibcTableGenUtil)
add_subdirectory(PrototypeTestGen)
Index: libc/CMakeLists.txt
===================================================================
--- libc/CMakeLists.txt
+++ libc/CMakeLists.txt
@@ -14,6 +14,12 @@
# The top-level directory in which libc is being built.
set(LIBC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
+# For a runtimes build we need to manually include tablgen and LLVM directories.
+if ("libc" IN_LIST LLVM_ENABLE_RUNTIMES)
+ include(TableGen)
+ set(LLVM_LIBC_INCLUDE_DIRS ${LLVM_MAIN_INCLUDE_DIR} ${LLVM_BINARY_DIR}/include)
+endif()
+
# Path libc/scripts directory.
set(LIBC_BUILD_SCRIPTS_DIR "${LIBC_SOURCE_DIR}/utils/build_scripts")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D138040.475494.patch
Type: text/x-patch
Size: 1554 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20221115/a62f0eb0/attachment.bin>
More information about the libc-commits
mailing list