Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6
@ 2012-02-26 12:13 Ismael Luceno
  2012-02-26 12:13 ` [Buildroot] [PATCH 2/3] qt: Fix compilation of generic atomic routines Ismael Luceno
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ismael Luceno @ 2012-02-26 12:13 UTC (permalink / raw)
  To: buildroot

---
 package/qt/qt.mk |   42 +++++++++++++++++++++---------------------
 1 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/package/qt/qt.mk b/package/qt/qt.mk
index 5414947..f0045de 100644
--- a/package/qt/qt.mk
+++ b/package/qt/qt.mk
@@ -28,8 +28,11 @@ ifneq ($(QT_CONFIG_FILE),)
 QT_CONFIGURE_OPTS += -config buildroot
 endif
 
-QT_CFLAGS = $(TARGET_CFLAGS)
-QT_CXXFLAGS = $(TARGET_CXXFLAGS)
+QT_FLAGS = -march=$(BR2_GCC_TARGET_ARCH) -mcpu=$(BR2_GCC_TARGET_TUNE)
+
+# XXX: The following flag is a workaround for a GCC bug, detailed by
+# <http://gcc.gnu.org/ml/gcc-patches/2010-11/msg02245.html>
+QT_FLAGS += -fno-strict-volatile-bitfields
 
 ifeq ($(BR2_LARGEFILE),y)
 QT_CONFIGURE_OPTS += -largefile
@@ -39,8 +42,7 @@ QT_CONFIGURE_OPTS += -no-largefile
 # embedded sqlite module forces FILE_OFFSET_BITS=64 unless this is defined
 # webkit internally uses this module as well
 ifneq ($(BR2_PACKAGE_QT_SQLITE_QT)$(BR2_PACKAGE_QT_WEBKIT),)
-QT_CFLAGS += -DSQLITE_DISABLE_LFS
-QT_CXXFLAGS += -DSQLITE_DISABLE_LFS
+QT_FLAGS += -DSQLITE_DISABLE_LFS
 endif
 
 endif
@@ -443,20 +445,18 @@ QT_QMAKE:=$(HOST_DIR)/usr/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++
 #
 # Argument 1 is the variable name
 # Argument 2 is the value to set variable to
-# Argument 3 is the base source directory of Qt
+# Argument 3 is a flag, set it to + to append values
 #
 # E.G. use like this:
 # $(call QT_QMAKE_SET,variable,value,directory)
 ################################################################################
 define QT_QMAKE_SET
-	$(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf
-	$(SED) '/include.*qws.conf/a$(1) = $(2)' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf
+	$(SED) '/$(1)/d;/include.*qws.conf/a$(1) $(3)= $(2)' $(@D)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf
 endef
 
 ifneq ($(BR2_INET_IPV6),y)
 define QT_CONFIGURE_IPV6
-	$(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/' $(@D)/configure
-	$(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(@D)/configure
+	$(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/;s/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' $(@D)/configure
 endef
 endif
 
@@ -471,18 +471,18 @@ define QT_CONFIGURE_CMDS
 	$(QT_CONFIGURE_IPV6)
 	$(QT_CONFIGURE_CONFIG_FILE)
 	# Fix compiler path
-	$(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D))
-	$(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D))
-	$(call QT_QMAKE_SET,QMAKE_LFLAGS,$(TARGET_LDFLAGS),$(@D))
-	$(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/usr/bin/pkg-config,$(@D))
+	$(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC))
+	$(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX))
+	$(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX))
+	$(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX))
+	$(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs)
+	$(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TAGET_OBJCOPY))
+	$(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB))
+	$(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP))
+	$(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_FLAGS) $(TARGET_CFLAGS),+)
+	$(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_FLAGS) $(TARGET_CXXFLAGS),+)
+	$(call QT_QMAKE_SET,QMAKE_LFLAGS,$(TARGET_LDFLAGS),+)
+	$(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/usr/bin/pkg-config)
 # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
 # instead of the host then. So set PKG_CONFIG* manually.
 	(cd $(@D); \
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/3] qt: Fix compilation of generic atomic routines
  2012-02-26 12:13 [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Ismael Luceno
@ 2012-02-26 12:13 ` Ismael Luceno
  2012-02-26 12:13 ` [Buildroot] [PATCH 3/3] qt: Patch to disable some tools that give link-time issues Ismael Luceno
  2012-02-26 21:31 ` [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Ismael Luceno @ 2012-02-26 12:13 UTC (permalink / raw)
  To: buildroot

---
 package/qt/qt-gcc-4.6.2-fixes.patch |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
 create mode 100644 package/qt/qt-gcc-4.6.2-fixes.patch

diff --git a/package/qt/qt-gcc-4.6.2-fixes.patch b/package/qt/qt-gcc-4.6.2-fixes.patch
new file mode 100644
index 0000000..6918f33
--- /dev/null
+++ b/package/qt/qt-gcc-4.6.2-fixes.patch
@@ -0,0 +1,11 @@
+--- a/src/corelib/arch/qatomic_generic.h	2012-02-20 07:24:17.299239630 -0200
++++ b/src/corelib/arch/qatomic_generic.h	2012-02-20 07:23:32.634562979 -0200
+@@ -194,7 +194,7 @@
+ {
+     union { T * volatile * typed; void * volatile * voidp; } pointer;
+     pointer.typed = &_q_value;
+-    return QBasicAtomicPointer_testAndSetOrdered(pointer.voidp, expectedValue, newValue);
++    return QBasicAtomicPointer_testAndSetOrdered(pointer.voidp, (void *)expectedValue, (void *)newValue);
+ }
+ 
+ template <typename T>
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 3/3] qt: Patch to disable some tools that give link-time issues
  2012-02-26 12:13 [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Ismael Luceno
  2012-02-26 12:13 ` [Buildroot] [PATCH 2/3] qt: Fix compilation of generic atomic routines Ismael Luceno
@ 2012-02-26 12:13 ` Ismael Luceno
  2012-02-26 21:31 ` [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Ismael Luceno @ 2012-02-26 12:13 UTC (permalink / raw)
  To: buildroot

---
 package/qt/qt-tools-qml-only.patch |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 package/qt/qt-tools-qml-only.patch

diff --git a/package/qt/qt-tools-qml-only.patch b/package/qt/qt-tools-qml-only.patch
new file mode 100644
index 0000000..c61db55
--- /dev/null
+++ b/package/qt/qt-tools-qml-only.patch
@@ -0,0 +1,20 @@
+--- a/tools/tools.pro	2012-02-20 23:18:32.978137903 -0200
++++ b/tools/tools.pro	2012-02-20 23:18:08.283955958 -0200
+@@ -8,6 +8,6 @@
+             SUBDIRS = designer
+         } else:wince* {
+             SUBDIRS = qtestlib designer
+-        } else {
++        } else:!embedded {
+             SUBDIRS = assistant \
+                       pixeltool \
+@@ -29,8 +29,8 @@
+     }
+ }
+ 
+-!wince*:!symbian:SUBDIRS += linguist
++!embedded:!wince*:!symbian:SUBDIRS += linguist
+ 
+ mac {
+     SUBDIRS += macdeployqt
+ }
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6
  2012-02-26 12:13 [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Ismael Luceno
  2012-02-26 12:13 ` [Buildroot] [PATCH 2/3] qt: Fix compilation of generic atomic routines Ismael Luceno
  2012-02-26 12:13 ` [Buildroot] [PATCH 3/3] qt: Patch to disable some tools that give link-time issues Ismael Luceno
@ 2012-02-26 21:31 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2012-02-26 21:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Ismael" == Ismael Luceno <ismael.luceno@gmail.com> writes:

Please don't mix unrelated changes in the same commit. I already added
the gcc 4.6 workaround in a seperate commit. What does 'impvore' mean?

Also please don't forget to add your signed-off-by when you resend,
thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-26 21:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-26 12:13 [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Ismael Luceno
2012-02-26 12:13 ` [Buildroot] [PATCH 2/3] qt: Fix compilation of generic atomic routines Ismael Luceno
2012-02-26 12:13 ` [Buildroot] [PATCH 3/3] qt: Patch to disable some tools that give link-time issues Ismael Luceno
2012-02-26 21:31 ` [Buildroot] [PATCH 1/3] qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6 Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox