https://github.com/jeremyd2019 updated 
https://github.com/llvm/llvm-project/pull/138587

>From 052580cd9ee141cd8c79e9588ad1c71e31f58cb3 Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Mon, 5 May 2025 14:11:44 -0700
Subject: [PATCH 1/7] [CMake] respect LLVMConfig.cmake's LLVM_DEFINITIONS

In #138329, _GNU_SOURCE was added for Cygwin, but when building Clang
standalone against an installed LLVM this definition was not picked up,
resulting in undefined strnlen.  Follow the documentation in
https://llvm.org/docs/CMake.html#developing-llvm-passes-out-of-source
and add the LLVM_DEFINITIONS in standalone projects' cmakes.
---
 clang/CMakeLists.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index f12712f55fb96..ab2ac9bc6b9ad 100644
--- a/clang/CMakeLists.txt
+++ b/clang/CMakeLists.txt
@@ -68,6 +68,10 @@ if(CLANG_BUILT_STANDALONE)
   option(CLANG_ENABLE_BOOTSTRAP "Generate the clang bootstrap target" OFF)
   option(LLVM_ENABLE_LIBXML2 "Use libxml2 if available." ON)
 
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(AddLLVM)
   include(TableGen)
   include(HandleLLVMOptions)

>From a59bbb92c54d81d06754d49190d7a46ba269b1ef Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:24:55 -0700
Subject: [PATCH 2/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

bolt
---
 bolt/CMakeLists.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/bolt/CMakeLists.txt b/bolt/CMakeLists.txt
index 52c796518ac05..5c7d51e1e398c 100644
--- a/bolt/CMakeLists.txt
+++ b/bolt/CMakeLists.txt
@@ -46,6 +46,10 @@ if(BOLT_BUILT_STANDALONE)
   set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
   set(LLVM_LIBRARY_OUTPUT_INTDIR 
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
 
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(AddLLVM)
   include(TableGen)
   include_directories(${LLVM_INCLUDE_DIRS})

>From 595f483ff1403f282217ff4999f7640465b5dada Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:27:53 -0700
Subject: [PATCH 3/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

flang
---
 flang/CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt
index f358a93fdd792..56a96f590f0a3 100644
--- a/flang/CMakeLists.txt
+++ b/flang/CMakeLists.txt
@@ -140,6 +140,11 @@ if (FLANG_STANDALONE_BUILD)
   if (NOT DEFINED LLVM_MAIN_SRC_DIR)
     set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
   endif()
+
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(AddLLVM)
   include(HandleLLVMOptions)
   include(VersionFromVCS)

>From 8eeb00ff57a90ae7e4a775f7fa85a4d3529f143d Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:28:22 -0700
Subject: [PATCH 4/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

lld
---
 lld/CMakeLists.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
index 9b202cc5d4899..80e25204a65ee 100644
--- a/lld/CMakeLists.txt
+++ b/lld/CMakeLists.txt
@@ -39,6 +39,10 @@ if(LLD_BUILT_STANDALONE)
   set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
   set(LLVM_LIBRARY_OUTPUT_INTDIR 
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
 
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(AddLLVM)
   include(TableGen)
   include(HandleLLVMOptions)

>From e2510293883ff6499890de1a4a5de4c1d53beac3 Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:31:01 -0700
Subject: [PATCH 5/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

lldb
---
 lldb/cmake/modules/LLDBStandalone.cmake | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lldb/cmake/modules/LLDBStandalone.cmake 
b/lldb/cmake/modules/LLDBStandalone.cmake
index c9367214848fd..1a4cdbfbb1cc7 100644
--- a/lldb/cmake/modules/LLDBStandalone.cmake
+++ b/lldb/cmake/modules/LLDBStandalone.cmake
@@ -85,6 +85,10 @@ endif()
 # CMake modules to be in that directory as well.
 list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}")
 
+separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+add_definitions(${LLVM_DEFINITIONS_LIST})
+list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
 include(AddLLVM)
 include(TableGen)
 include(HandleLLVMOptions)

>From f9f30f2871fd3f5eedcf90b6f41c8e17b9d19ff3 Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:31:41 -0700
Subject: [PATCH 6/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

mlir
---
 mlir/CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
index 9e786154a2b40..daedc2be22588 100644
--- a/mlir/CMakeLists.txt
+++ b/mlir/CMakeLists.txt
@@ -21,6 +21,11 @@ set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to 
conform to")
 if(MLIR_STANDALONE_BUILD)
   find_package(LLVM CONFIG REQUIRED)
   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
+
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(HandleLLVMOptions)
   include(AddLLVM)
   include(TableGen)

>From be29dee4f077212da72ffa28815dafe9a0491f85 Mon Sep 17 00:00:00 2001
From: Jeremy Drake <git...@jdrake.com>
Date: Wed, 7 May 2025 11:32:11 -0700
Subject: [PATCH 7/7] fixup! [CMake] respect LLVMConfig.cmake's
 LLVM_DEFINITIONS

polly
---
 polly/CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/polly/CMakeLists.txt b/polly/CMakeLists.txt
index c3232752d307c..52d1be6fe295a 100644
--- a/polly/CMakeLists.txt
+++ b/polly/CMakeLists.txt
@@ -13,6 +13,11 @@ if(POLLY_STANDALONE_BUILD)
   # Where is LLVM installed?
   find_package(LLVM CONFIG REQUIRED)
   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
+
+  separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+  add_definitions(${LLVM_DEFINITIONS_LIST})
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LLVM_DEFINITIONS_LIST})
+
   include(HandleLLVMOptions)
   include(AddLLVM)
 

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to