[llvm] 080ade0 - [llvm] statically link TableGenTests (#147577)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 9 09:37:37 PDT 2025


Author: Andrew Rogers
Date: 2025-07-09T09:37:33-07:00
New Revision: 080ade03ac21f493f6bacb27021bf708a4554891

URL: https://github.com/llvm/llvm-project/commit/080ade03ac21f493f6bacb27021bf708a4554891
DIFF: https://github.com/llvm/llvm-project/commit/080ade03ac21f493f6bacb27021bf708a4554891.diff

LOG: [llvm] statically link TableGenTests (#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.

Added: 
    

Modified: 
    llvm/unittests/TableGen/CMakeLists.txt

Removed: 
    


################################################################################
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