[Buildroot] [PATCH v2] package/boost: fixup Optimization flag in boost build

Michael Nosthoff buildroot at heine.tech
Fri Aug 7 08:58:12 UTC 2020


When building with Boost Build the CXXFLAGS are extended depending
on the optimization level set. When not defined explicitly the
optimization level depends on the <variant>. For release it's 'speed'
and for debug it's set to 'off'

These flags overwrite the -O flag passed in with TARGET_CXXFLAGS as
it is appended when calling g++.

This commit sets the Optimization flags generated by Boost Build
to the value of TARGET_OPTIMIZATION no matter what level is used.

As Boost Build offers no nice way to alter those values the gcc
toolchain file is altered directly.

Signed-off-by: Michael Nosthoff <buildroot at heine.tech>
---

v1 -> v2:
  - use sed to manipulate gcc.jam directly
  - remove extending user-config.jam

---
 package/boost/boost.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index ef638fc9df..323802488d 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -134,6 +134,7 @@ define BOOST_CONFIGURE_CMDS
 	(cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS))
 	echo "using gcc : `$(TARGET_CC) -dumpversion` : $(TARGET_CXX) : <cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
 	echo "" >> $(@D)/user-config.jam
+	sed -i "s/: -O.* ;/: $(TARGET_OPTIMIZATION) ;/" $(@D)/tools/build/src/tools/gcc.jam
 endef
 
 define BOOST_BUILD_CMDS
-- 
2.25.1




More information about the buildroot mailing list