[MinGW] Don't currently set visibility=hidden when building for MinGW
authorMartin Storsjö <martin@martin.st>
Wed, 20 Jul 2022 10:39:33 +0000 (13:39 +0300)
committerMartin Storsjö <martin@martin.st>
Thu, 21 Jul 2022 20:16:33 +0000 (23:16 +0300)
commit606348cc72389de481c014afb0f15af7360fc950
tree83ff2c2513ec993483a88b5559401cfd080f1ec2
parent83993d666bc9a2b2056bb57196044b21bd52ea45
[MinGW] Don't currently set visibility=hidden when building for MinGW

If we build the Target libraries with -fvisibility=hidden, then
LLVM_EXTERNAL_VISIBILITY must also be able to override it back
to default visibility.

Currently, the LLVM_EXTERNAL_VISIBILITY define is a no-op for
mingw targets, thus set CMAKE_CXX_VISIBILITY_PRESET correspondingly.

This unbreaks the mingw dylib build, if the compiler actually
takes hidden visiblity into account (e.g. after D130121).

(Later, once hidden visiblity can be used for MinGW targets, we
can make LLVM_EXTERNAL_VISIBILITY and LLVM_LIBRARY_VISIBILITY expand
to actual attributes, and reverse this commit.)

Differential Revision: https://reviews.llvm.org/D130200
llvm/lib/Target/CMakeLists.txt