[llvm] [llvm] statically link TableGenTests (PR #147577)
Andrew Rogers via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 8 10:55:41 PDT 2025
https://github.com/andrurogerz created https://github.com/llvm/llvm-project/pull/147577
## Purpose
Statically link `TableGenTests` so it can still build when linked against an LLVM Windows DLL.
## Background
The effort to build LLVM as a WIndows DLL is tracked in #109483. Additional context is provided in [this discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307).
If `TableGenTests` is linked against LLVM built as a DLL on Windows, it will fail due to a large number of duplicate symbols found in both the LLVM DLL and TableGen libraries. This is because `LLVMTableGenBasic` and `LLVMTableGenCommon` are linked statically against LLVM (using `DISABLE_LLVM_LINK_LLVM_DYLIB`) so already contain a sub-set of symbols also exported from the LLVM DLL.
This patch was originally part of #145448.
>From c23f3be86757b1379417e58cc37d7f46fb97df8e Mon Sep 17 00:00:00 2001
From: Andrew Rogers <andrurogerz at gmail.com>
Date: Tue, 8 Jul 2025 09:43:47 -0700
Subject: [PATCH] [llvm] statically link TableGenTests
---
llvm/unittests/TableGen/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/llvm/unittests/TableGen/CMakeLists.txt b/llvm/unittests/TableGen/CMakeLists.txt
index 57b237306b19c..854f6c0f9b162 100644
--- a/llvm/unittests/TableGen/CMakeLists.txt
+++ b/llvm/unittests/TableGen/CMakeLists.txt
@@ -13,6 +13,8 @@ add_llvm_unittest(TableGenTests
AutomataTest.cpp
CodeExpanderTest.cpp
ParserEntryPointTest.cpp
+
+ DISABLE_LLVM_LINK_LLVM_DYLIB
)
target_link_libraries(TableGenTests PRIVATE LLVMTableGenCommon LLVMTableGen)
More information about the llvm-commits
mailing list