Skip to contentSkip to conversation

gtk+3: set proper FLAGS for native

PATCH In review Robert Yang 2 participants 4 messages Mar 30, 2014 – Apr 3, 2014

lore
Share & tools
lore
#0 lore raw

cover gtk+3: set proper FLAGS for native

The following changes since commit 2a33669ee0bd8a5d79489cafbff7309320de8d36:

packagegroup-toolset-native: remove it (2014-03-29 00:12:30 -0400)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/gtk
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/gtk

Robert Yang (1):
gtk+3: set proper FLAGS for native

 .../gtk+/gtk+3/fix-flags-for-native.patch          |   40 ++++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.10.7.bb            |    4 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 gtk+3: set proper FLAGS for native

The target gtk+3 does a native build in its "native" directory, we need set proper FLAGS for it, otherwise, there might be build failures.

[YOCTO #6070]

---
 .../gtk+/gtk+3/fix-flags-for-native.patch          |   40 ++++++++++++++++++++
 meta/recipes-gnome/gtk+/gtk+3_3.10.7.bb            |    4 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch new file +40 -0
new file mode 100644
index 0000000..800f52c
@@ -0,0 +1,40 @@
+From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001
+From: Robert Yang <[email protected]>
+Date: Fri, 28 Mar 2014 03:10:12 +0000
+Subject: [PATCH] gtk/native/Makefile.am: set proper FLAGS for native
+
+This Makefile.am has set:
+CC = @CC_FOR_BUILD@
+It shoudl also set:
+CFLAGS = @CFLAGS_FOR_BUILD@
+
+Otherwise there might be build failures when doing cross build, for example,
+several CFLAGS are special to arm or mips, and the native gcc can't recognize
+them.
+
+The similar to CPPFLAGS and LDFLAGS.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ gtk/native/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am
+index 64899e9..a1c814a 100644
+--- a/gtk/native/Makefile.am
++++ b/gtk/native/Makefile.am
+@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@
+ CPP = @CPP_FOR_BUILD@
+ AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@
+ AM_LDFLAGS = @LDFLAGS_FOR_BUILD@
++CFLAGS = @CFLAGS_FOR_BUILD@
++CPPFLAGS = @CPPFLAGS_FOR_BUILD@
++LDFLAGS = @LDFLAGS_FOR_BUILD@
+ 
+ if CROSS_COMPILING
+ if !USE_EXTERNAL_ICON_CACHE
+-- 
+1.8.3.4
+
meta/recipes-gnome/gtk+/gtk+3_3.10.7.bb +3 -1
index 9f8c6ab..d0174f6 100644
@@ -4,7 +4,9 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://hardcoded_libtool.patch \
-           file://fix-build-when-wayland-backend-enabled.patch"
+           file://fix-build-when-wayland-backend-enabled.patch \
+           file://fix-flags-for-native.patch \
+          "
 
 SRC_URI[md5sum] = "18a81944a8506231529a76bf2b68372b"
 SRC_URI[sha256sum] = "b7e9de15385031cff43897e7e59f6692eaabf500f36eef80e6b9d6486ad49427"
Signature · 1 line
1.7.10.4
#2 lore raw
Quoted 3 lines · Robert Yang

++CFLAGS = @CFLAGS_FOR_BUILD@
++CPPFLAGS = @CPPFLAGS_FOR_BUILD@
++LDFLAGS = @LDFLAGS_FOR_BUILD@

So the problem is that the environment is providing a CFLAGS variable that automake is then using for native builds alongside CFLAGS_FOR_BUILD. Instead of replicating the variables, which this will do, would it be better to unset CFLAGS/CPPFLAGS/LDFLAGS in this makefile so the environment variables are not used? (as makefile assignments override environment assignments).

Ross

#3 lore raw
Quoted 5 lines · Ross
Quoted 3 lines · Robert Yang

++CFLAGS = @CFLAGS_FOR_BUILD@
++CPPFLAGS = @CPPFLAGS_FOR_BUILD@
++LDFLAGS = @LDFLAGS_FOR_BUILD@

Quoted 7 lines

So the problem is that the environment is providing a CFLAGS variable that automake is then using for native builds alongside CFLAGS_FOR_BUILD. Instead of replicating the variables, which this will do, would it be better to unset CFLAGS/CPPFLAGS/LDFLAGS in this makefile so the environment variables are not used? (as makefile assignments override environment assignments).

Sounds good, updated:

git://git.openembedded.org/openembedded-core-contrib rbt/gtk
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/gtk

meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch new file +33 -0
new file mode 100644
index 0000000..9ae1088
@@ -0,0 +1,33 @@
+From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001
+From: Robert Yang <[email protected]>
+Date: Fri, 28 Mar 2014 03:10:12 +0000
+Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build
+
+The target gtk+3 does a native build in its "native" directory, we need
+unset the target FLAGS for native build, otherwise, there might be build
+failures.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ gtk/native/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am
+index 64899e9..a1c814a 100644
+--- a/gtk/native/Makefile.am
++++ b/gtk/native/Makefile.am
+@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@
+ CPP = @CPP_FOR_BUILD@
+ AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@
+ AM_LDFLAGS = @LDFLAGS_FOR_BUILD@
++CFLAGS =
++CPPFLAGS =
++LDFLAGS =
+
+ if CROSS_COMPILING
+ if !USE_EXTERNAL_ICON_CACHE
+--
+1.8.3.4
+
meta/recipes-gnome/gtk+/gtk+3_3.10.7.bb +0 -0
index 9f8c6ab..d0174f6 100644
@@ -4,7 +4,9 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = 
"http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \
            file://hardcoded_libtool.patch \
-           file://fix-build-when-wayland-backend-enabled.patch"
+           file://fix-build-when-wayland-backend-enabled.patch \
+           file://fix-flags-for-native.patch \

+ "

SRC_URI[md5sum] = "18a81944a8506231529a76bf2b68372b" SRC_URI[sha256sum] =
"b7e9de15385031cff43897e7e59f6692eaabf500f36eef80e6b9d6486ad49427"

Signature · 3 lines
1.8.3.1

// Robert
Quoted 3 lines

Ross