diff --git a/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch new file mode 100644 index 0000000000..acff107438 --- /dev/null +++ b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch @@ -0,0 +1,44 @@ +From 5e74a15ce1e093b4d8e83cdade60a43b09d698de Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +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 +--- + 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 +