qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6
PATCH 1/3 qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6
--- package/qt/qt.mk | 42 +++++++++++++++++++++--------------------- 1 files changed, 21 insertions(+), 21 deletions(-)
package/qt/qt.mk +21 -21
@@ -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); \
Signature · 1 line
1.7.9.1
PATCH 2/3 qt: Fix compilation of generic atomic routines
--- 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
package/qt/qt-gcc-4.6.2-fixes.patch new file +11 -0
@@ -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>
Signature · 1 line
1.7.9.1
PATCH 3/3 qt: Patch to disable some tools that give link-time issues
In reply to Ismael Luceno--- 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
package/qt/qt-tools-qml-only.patch new file +20 -0
@@ -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 + }
Signature · 1 line
1.7.9.1
PATCH 1/3 qt: Add optimization flags, GCC 4.6 fix, and impvore QT_MAKE_SET and QT_CONFIGURE_IPV6
In reply to Ismael LucenoQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Ismael" == Ismael Luceno <[email protected]> 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.
Signature · 1 line
Bye, Peter Korsgaard