Skip to contentSkip to conversation

bitbake.conf: Stop exporting TARGET_ flags variables

PATCH In review Mike Crowe 3 participants 4 messages Jun 25, 2019 – Jul 2, 2019

lore
Share & tools
lore

Mike Crowe

author
#0 lore raw

PATCH 1/1 bitbake.conf: Stop exporting TARGET_ flags variables

Way back in
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html
a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be support for this idea, and I modified our tree to not do so. I then seem to have dropped the ball. :( We've been running like that for over five years, and not observed any problems.

It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and TARGET_CXXFLAGS too.

I've successfully compile-tested core-image-minimal and core-image-sato for x86_64 and qemuarm64 with these changes.

---
 meta/conf/bitbake.conf | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
meta/conf/bitbake.conf +4 -4
index 4b907d6820..5e93f5c223 100644
@@ -569,17 +569,17 @@ PATCHRESOLVE = "noop"
 export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
 BUILDSDK_CPPFLAGS = ""
 export CPPFLAGS = "${TARGET_CPPFLAGS}"
-export TARGET_CPPFLAGS = ""
+TARGET_CPPFLAGS = ""
 
 export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
 BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION} ${DEBUG_PREFIX_MAP}"
 export CFLAGS = "${TARGET_CFLAGS}"
-export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
 
 export BUILD_CXXFLAGS = "${BUILD_CFLAGS}"
 BUILDSDK_CXXFLAGS = "${BUILDSDK_CFLAGS}"
 export CXXFLAGS = "${TARGET_CXXFLAGS}"
-export TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
+TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
 
 export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
                         -L${STAGING_BASE_LIBDIR_NATIVE} \
@@ -601,7 +601,7 @@ TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_
 ASNEEDED ?= "-Wl,--as-needed"
 
 export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
+TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
 
 # Pass parallel make options to the compile task
 EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
Signature · 1 line
2.20.1
#1 lore raw
Quoted 7 lines · Mike Crowe

Way back in
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html
a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be support for this idea, and I modified our tree to not do so. I then seem to have dropped the ball. :( We've been running like that for over five years, and not observed any problems.

Quoted 5 lines

It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and TARGET_CXXFLAGS too.

I've successfully compile-tested core-image-minimal and core-image-sato for x86_64 and qemuarm64 with these changes.

FWIW I'm really happy to see this!

Cheers,

Richard

#2 lore raw
Quoted 9 lines · Richard Purdie
Quoted 7 lines · Mike Crowe

Way back in
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html
a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be support for this idea, and I modified our tree to not do so. I then seem to have dropped the ball. :( We've been running like that for over five years, and not observed any problems.

Quoted 7 lines
Quoted 5 lines

It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and TARGET_CXXFLAGS too.

I've successfully compile-tested core-image-minimal and core-image-sato for x86_64 and qemuarm64 with these changes.

FWIW I'm really happy to see this!

Yes, good too see this. Does it mean we're also now ready to address (e.g. remove or poison?) these variables for -native and -nativesdk as well? Or is that still considered too risky?

#3 lore raw
Quoted 21 lines · Andre McCurdy
Quoted 19 lines · Richard Purdie
Quoted 17 lines · Mike Crowe

Way back in
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/210138.html
a few of us discussed not exporting TARGET_LDFLAGS. There seemed to be
support for this idea, and I modified our tree to not do so. I then seem to
have dropped the ball. :( We've been running like that for over five years,
and not observed any problems.

It seems sensible to stop exporting TARGET_CPPFLAGS, TARGET_CFLAGS and
TARGET_CXXFLAGS too.

I've successfully compile-tested core-image-minimal and core- image-sato for
x86_64 and qemuarm64 with these changes.

Quoted 5 lines
Quoted 1 line

FWIW I'm really happy to see this!

Yes, good too see this. Does it mean we're also now ready to address (e.g. remove or poison?) these variables for -native and -nativesdk as well? Or is that still considered too risky?

Initially I thought you meant they were being exported and they're not.

There aren't many references to TARGET_CFLAGS in recipes, it wouldn't be hard to clean up the remaining references (the cross recipe references are needed and can stay), then we could look at deleting them in those classes...

If we don't do it now it may be worth a bug so we remember.

Cheers,

Richard