45 lines
1.9 KiB
Diff
45 lines
1.9 KiB
Diff
|
From 5e74a15ce1e093b4d8e83cdade60a43b09d698de Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
Date: Sun, 20 Aug 2017 15:25:06 +0200
|
||
|
Subject: [PATCH] m4/boost.m4: fix rpath option check for static linking
|
||
|
|
||
|
When statically linking, the order in which -l options are passed is
|
||
|
important. The contents of the LIBS option passed to the configure
|
||
|
environment should be passed *after* other -l options used internally
|
||
|
by the package.
|
||
|
|
||
|
For example, libboost_program_options may used symbols from the
|
||
|
libatomic library, and in this case, one need to pass LIBS="-latomic"
|
||
|
to cc-tool's configure script. When using dynamic linking, this works
|
||
|
fine, because the rpath test does "-latomic
|
||
|
-lboost_program_options". However, when statically linking, this
|
||
|
doesn't work because libboost_program_options uses symbols from
|
||
|
libatomic, so -latomic must be passed *after* -lboost_program_options.
|
||
|
|
||
|
Therefore, this commit inverts the list of variables used to construct
|
||
|
LIBS before doing the _BOOST_AC_LINK_IFELSE() test detecting the rpath
|
||
|
option to be used. Indeed, $boost_save_LIBS contains the previously
|
||
|
saved LIBS variable, and should be passed after $Boost_lib_LIBS.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
---
|
||
|
m4/boost.m4 | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/m4/boost.m4 b/m4/boost.m4
|
||
|
index be470a7..f1825ba 100644
|
||
|
--- a/m4/boost.m4
|
||
|
+++ b/m4/boost.m4
|
||
|
@@ -479,7 +479,7 @@ dnl generated only once above (before we start the for loops).
|
||
|
*)
|
||
|
for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
|
||
|
LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
|
||
|
- LIBS="$boost_save_LIBS $Boost_lib_LIBS"
|
||
|
+ LIBS="$Boost_lib_LIBS $boost_save_LIBS"
|
||
|
_BOOST_AC_LINK_IFELSE([],
|
||
|
[boost_rpath_link_ldflag_found=yes
|
||
|
break],
|
||
|
--
|
||
|
2.9.4
|
||
|
|