summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.rules16
-rw-r--r--unittests/CMakeLists.txt4
-rw-r--r--unittests/Makefile.unittest8
3 files changed, 20 insertions, 8 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 410a1422a8..21686aa242 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -392,6 +392,17 @@ endif
LD.Flags += -Wl,--no-relax
endif
+# GNU ld/PECOFF accepts but ignores them below;
+# --version-script
+# --export-dynamic
+# --rpath
+# FIXME: autoconf should be aware of them.
+ifneq (,$(filter $(HOST_OS),Cygwin MingW))
+ HAVE_LINK_VERSION_SCRIPT := 0
+ RPATH :=
+ RDYNAMIC := -Wl,--export-all-symbols
+endif
+
#--------------------------------------------------------------------
# Directory locations
#--------------------------------------------------------------------
@@ -949,11 +960,6 @@ ifdef EXPORTED_SYMBOL_FILE
# First, set up the native export file, which may differ from the source
# export file.
-# The option --version-script is not effective on GNU ld win32.
-ifneq (,$(filter $(HOST_OS),Cygwin MingW))
- HAVE_LINK_VERSION_SCRIPT := 0
-endif
-
ifeq ($(HOST_OS),Darwin)
# Darwin convention prefixes symbols with underscores.
NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).sed
diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
index 41e20cfc90..7953fac3bf 100644
--- a/unittests/CMakeLists.txt
+++ b/unittests/CMakeLists.txt
@@ -82,6 +82,10 @@ endif()
add_llvm_unittest(JIT ${JITTestsSources})
+if(MINGW)
+ set_property(TARGET JITTests PROPERTY LINK_FLAGS -Wl,--export-all-symbols)
+endif()
+
add_llvm_unittest(Transforms
Transforms/Utils/Cloning.cpp
)
diff --git a/unittests/Makefile.unittest b/unittests/Makefile.unittest
index 9a75b2c2eb..8be6174cb9 100644
--- a/unittests/Makefile.unittest
+++ b/unittests/Makefile.unittest
@@ -35,9 +35,11 @@ endif
TESTLIBS = -lGoogleTest -lUnitTestMain
ifeq ($(ENABLE_SHARED), 1)
- # Add the absolute path to the dynamic library. This is ok because
- # we'll never install unittests.
- LD.Flags += $(RPATH) -Wl,$(SharedLibDir)
+ ifneq (,$(RPATH))
+ # Add the absolute path to the dynamic library. This is ok because
+ # we'll never install unittests.
+ LD.Flags += $(RPATH) -Wl,$(SharedLibDir)
+ endif
# Also set {DYLD,LD}_LIBRARY_PATH because OSX ignores the rpath most
# of the time.
Run.Shared := $(SHLIBPATH_VAR)="$(SharedLibDir)$${$(SHLIBPATH_VAR):+:}$$$(SHLIBPATH_VAR)"