summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-10-21 00:36:28 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-10-21 00:36:28 +0000
commit14e55b16dfc37df6e7fb0725ea697c32e7c7beb3 (patch)
tree0fabe512f610efddac72dcad50c524edc0d2c886
parent82805eb232b901d54f9d2271877f17aa53888d79 (diff)
downloadllvm-14e55b16dfc37df6e7fb0725ea697c32e7c7beb3.tar.gz
Teach lit to filter the host LDFLAGS down from the build system and into
the CGO build environment. This lets things like -rpath propagate down to the C++ code that is built along side the Go bindings when testing them. Patch by Peter Collingbourne, and verified that it works by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220252 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--cmake/modules/AddLLVM.cmake1
-rw-r--r--test/Bindings/Go/go.test2
-rw-r--r--test/Bindings/Go/lit.local.cfg1
-rw-r--r--test/Makefile1
-rw-r--r--test/lit.site.cfg.in1
5 files changed, 5 insertions, 1 deletions
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index 127d5389d19d..81b21fbfb6f4 100644
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -657,6 +657,7 @@ function(configure_lit_site_cfg input output)
set(HOST_CC "${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
set(HOST_CXX "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}")
+ set(HOST_LDFLAGS "${CMAKE_EXE_LINKER_FLAGS}")
configure_file(${input} ${output} @ONLY)
endfunction()
diff --git a/test/Bindings/Go/go.test b/test/Bindings/Go/go.test
index ec860ba4acc6..ff0cf90e1d8f 100644
--- a/test/Bindings/Go/go.test
+++ b/test/Bindings/Go/go.test
@@ -2,7 +2,7 @@
; RUN: env CGO_CPPFLAGS="$(llvm-config --cppflags)" \
; RUN: CGO_CXXFLAGS=-std=c++11 \
; RUN: CGO_LDFLAGS="$(llvm-config --ldflags --libs --system-libs \
-; RUN: $(../build.sh --print-components))" \
+; RUN: $(../build.sh --print-components)) $CGO_LDFLAGS" \
; RUN: %go test -tags byollvm .
; REQUIRES: shell
diff --git a/test/Bindings/Go/lit.local.cfg b/test/Bindings/Go/lit.local.cfg
index f366397a2b2c..e86595b8cb56 100644
--- a/test/Bindings/Go/lit.local.cfg
+++ b/test/Bindings/Go/lit.local.cfg
@@ -54,3 +54,4 @@ def fixup_compiler_path(compiler):
config.environment['CC'] = fixup_compiler_path(config.host_cc)
config.environment['CXX'] = fixup_compiler_path(config.host_cxx)
+config.environment['CGO_LDFLAGS'] = config.host_ldflags
diff --git a/test/Makefile b/test/Makefile
index 546266a838f1..156009d026c1 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -136,6 +136,7 @@ lit.site.cfg: FORCE
@$(ECHOPATH) s=@GO_EXECUTABLE@=$(GO)=g >> lit.tmp
@$(ECHOPATH) s!@HOST_CC@!$(CC)!g >> lit.tmp
@$(ECHOPATH) s!@HOST_CXX@!$(CXX)!g >> lit.tmp
+ @$(ECHOPATH) s!@HOST_LDFLAGS@!$(LDFLAGS)!g >> lit.tmp
@$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp
@$(ECHOPATH) s=@ENABLE_ASSERTIONS@=$(ENABLE_ASSERTIONS)=g >> lit.tmp
@$(ECHOPATH) s=@TARGETS_TO_BUILD@=$(TARGETS_TO_BUILD)=g >> lit.tmp
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index 65551c03a874..f3141df3268b 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -22,6 +22,7 @@ config.host_os = "@HOST_OS@"
config.host_arch = "@HOST_ARCH@"
config.host_cc = "@HOST_CC@"
config.host_cxx = "@HOST_CXX@"
+config.host_ldflags = "@HOST_LDFLAGS@"
config.llvm_use_intel_jitevents = "@LLVM_USE_INTEL_JITEVENTS@"
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
config.have_zlib = "@HAVE_LIBZ@"