Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables
@ 2013-11-14 13:40 Fatih Aşıcı
  2013-11-14 13:40 ` [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled Fatih Aşıcı
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-14 13:40 UTC (permalink / raw)
  To: buildroot

In additon to the simplification of code, this change is a preparation
to solve problems occurring when QMAKE_CXX is prepended with ccache path.

Upstream patch is needed by configure to parse device options correctly.

Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
---
 .../qt5/qt5base/qt5base-0002-mkspecs-files.patch   | 39 ++--------------------
 ...igure-Parse-device-option-value-correctly.patch | 36 ++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     | 18 +++-------
 3 files changed, 43 insertions(+), 50 deletions(-)
 create mode 100644 package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch

diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
index e406cfc..3fddeac 100644
--- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
+++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
@@ -14,50 +14,17 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 ===================================================================
 --- /dev/null
 +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
-@@ -0,0 +1,44 @@
-+MAKEFILE_GENERATOR      = UNIX
-+CONFIG                 += incremental gdb_dwarf_index
-+QMAKE_INCREMENTAL_STYLE = sublib
-+
-+include(../../common/linux.conf)
-+include(../../common/gcc-base-unix.conf)
-+include(../../common/g++-unix.conf)
-+
-+load(device_config)
-+
-+QT_QPA_DEFAULT_PLATFORM = eglfs
-+
-+BUILDROOT_CROSS_COMPILE =
-+BUILDROOT_COMPILER_CFLAGS =
-+BUILDROOT_COMPILER_CXXFLAGS =
-+BUILDROOT_INCLUDE_PATH =
-+
-+# modifications to g++.conf
-+QMAKE_CC                = $${BUILDROOT_CROSS_COMPILE}gcc
-+QMAKE_CXX               = $${BUILDROOT_CROSS_COMPILE}g++
-+QMAKE_LINK              = $${QMAKE_CXX}
-+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
-+
-+# modifications to linux.conf
-+QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
-+QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
-+QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
-+QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
+@@ -0,0 +1,11 @@
++include(../common/linux_device_pre.conf)
 +
 +#modifications to gcc-base.conf
 +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
 +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
 +QMAKE_CXXFLAGS_RELEASE += -O3
-+INCLUDEPATH            += $${BUILDROOT_INCLUDE_PATH}
 +
 +QMAKE_LIBS             += -lrt -lpthread -ldl
 +
-+# device specific glue code
-+EGLFS_PLATFORM_HOOKS_SOURCES =
-+
-+# Sanity check
-+deviceSanityCheckCompiler()
-+
++include(../common/linux_device_post.conf)
 +load(qt_config)
 Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
 ===================================================================
diff --git a/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
new file mode 100644
index 0000000..7eb9229
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
@@ -0,0 +1,36 @@
+From 4723f3fd04edf1aad6750ca91fd4648216d8b408 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
+Date: Sat, 21 Sep 2013 00:14:39 +0300
+Subject: [PATCH] configure: Parse -device-option value correctly
+
+The regular expression does not parse correctly when a device option value
+contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64").
+
+In order to break string at the first equal sign and to simplify code,
+use "cut" command as in other places in configure script.
+
+Task-number: QTBUG-33584
+Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
+---
+ configure | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 64568dd..388899e 100755
+--- a/configure
++++ b/configure
+@@ -1609,8 +1609,8 @@ while [ "$#" -gt 0 ]; do
+         [ "$XPLATFORM" = "undefined" ] && exit 101
+         ;;
+     device-option)
+-        DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
+-        DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
++        DEV_VAR=`echo $VAL | cut -d '=' -f 1`
++        DEV_VAL=`echo $VAL | cut -d '=' -f 2-`
+         DeviceVar set $DEV_VAR "$DEV_VAL"
+         ;;
+     qpa)
+-- 
+1.8.4.rc3
+
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index ce78d31..febdc9b 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -152,21 +152,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
-# Ideally, we could use -device-option to substitute variable values
-# in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
-# nicely support variable values that contain spaces. So we use the
-# good old sed solution here.
-define QT5BASE_CONFIG_SET
-	$(SED) 's%^$(1).*%$(1) = $(2)%g' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
-endef
-
 define QT5BASE_CONFIGURE_CMDS
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_CROSS_COMPILE,$(TARGET_CROSS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CFLAGS,$(TARGET_CFLAGS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CXXFLAGS,$(TARGET_CXXFLAGS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_INCLUDE_PATH,$(STAGING_DIR)/usr/include)
-	$(call QT5BASE_CONFIG_SET,EGLFS_PLATFORM_HOOKS_SOURCES, \
-		$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES))
 	(cd $(@D); \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
 		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
@@ -181,6 +167,10 @@ define QT5BASE_CONFIGURE_CMDS
 		-no-rpath \
 		-nomake examples -nomake tests \
 		-device buildroot \
+		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
+		-device-option BUILDROOT_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
+		-device-option BUILDROOT_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
+		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
 		-no-c++11 \
 		$(QT5BASE_CONFIGURE_OPTS) \
 	)
-- 
1.8.4.rc3

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

* [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled
  2013-11-14 13:40 [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Fatih Aşıcı
@ 2013-11-14 13:40 ` Fatih Aşıcı
  2013-11-28 22:11   ` Peter Korsgaard
  2013-11-18 22:41 ` [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Arnout Vandecappelle
  2013-11-20 12:17 ` [Buildroot] [PATCH v2] " Fatih Aşıcı
  2 siblings, 1 reply; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-14 13:40 UTC (permalink / raw)
  To: buildroot

For now, it doesn't use ccache when compiling host tools (e.g. qmake).
It seems the fix is not trivial.

Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
---
 package/qt5/qt5base/qt5base-0002-mkspecs-files.patch | 6 +++++-
 package/qt5/qt5base/qt5base.mk                       | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
index 3fddeac..6fa8a92 100644
--- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
+++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
@@ -14,9 +14,13 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 ===================================================================
 --- /dev/null
 +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
-@@ -0,0 +1,11 @@
+@@ -0,0 +1,15 @@
 +include(../common/linux_device_pre.conf)
 +
++# modifications to g++.conf
++QMAKE_CC                = $${BUILDROOT_CCACHE} $${QMAKE_CC}
++QMAKE_CXX               = $${BUILDROOT_CCACHE} $${QMAKE_CXX}
++
 +#modifications to gcc-base.conf
 +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
 +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index febdc9b..a1d5dba 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -168,6 +168,7 @@ define QT5BASE_CONFIGURE_CMDS
 		-nomake examples -nomake tests \
 		-device buildroot \
 		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
+		-device-option BUILDROOT_CCACHE="$(CCACHE)" \
 		-device-option BUILDROOT_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
 		-device-option BUILDROOT_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
 		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
-- 
1.8.4.rc3

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

* [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables
  2013-11-14 13:40 [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Fatih Aşıcı
  2013-11-14 13:40 ` [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled Fatih Aşıcı
@ 2013-11-18 22:41 ` Arnout Vandecappelle
  2013-11-20 12:22   ` Fatih Aşıcı
  2013-11-20 12:17 ` [Buildroot] [PATCH v2] " Fatih Aşıcı
  2 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2013-11-18 22:41 UTC (permalink / raw)
  To: buildroot

On 14/11/13 14:40, Fatih A??c? wrote:
> In additon to the simplification of code, this change is a preparation
> to solve problems occurring when QMAKE_CXX is prepended with ccache path.

  Please also mention that you replace part of our custom qmake.conf with 
linux_device_pre.conf.

>
> Upstream patch is needed by configure to parse device options correctly.
>
> Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
> ---
>   .../qt5/qt5base/qt5base-0002-mkspecs-files.patch   | 39 ++--------------------
>   ...igure-Parse-device-option-value-correctly.patch | 36 ++++++++++++++++++++
>   package/qt5/qt5base/qt5base.mk                     | 18 +++-------
>   3 files changed, 43 insertions(+), 50 deletions(-)
>   create mode 100644 package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
>
> diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> index e406cfc..3fddeac 100644
> --- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> +++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> @@ -14,50 +14,17 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
>   ===================================================================
>   --- /dev/null
>   +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
> -@@ -0,0 +1,44 @@
> -+MAKEFILE_GENERATOR      = UNIX
> -+CONFIG                 += incremental gdb_dwarf_index
> -+QMAKE_INCREMENTAL_STYLE = sublib
> -+
> -+include(../../common/linux.conf)
> -+include(../../common/gcc-base-unix.conf)
> -+include(../../common/g++-unix.conf)
> -+
> -+load(device_config)
> -+
> -+QT_QPA_DEFAULT_PLATFORM = eglfs
> -+
> -+BUILDROOT_CROSS_COMPILE =
> -+BUILDROOT_COMPILER_CFLAGS =
> -+BUILDROOT_COMPILER_CXXFLAGS =
> -+BUILDROOT_INCLUDE_PATH =
> -+
> -+# modifications to g++.conf
> -+QMAKE_CC                = $${BUILDROOT_CROSS_COMPILE}gcc
> -+QMAKE_CXX               = $${BUILDROOT_CROSS_COMPILE}g++
> -+QMAKE_LINK              = $${QMAKE_CXX}
> -+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
> -+
> -+# modifications to linux.conf
> -+QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
> -+QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
> -+QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
> -+QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
> +@@ -0,0 +1,11 @@
> ++include(../common/linux_device_pre.conf)
>   +
>   +#modifications to gcc-base.conf
>   +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
>   +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
>   +QMAKE_CXXFLAGS_RELEASE += -O3
> -+INCLUDEPATH            += $${BUILDROOT_INCLUDE_PATH}

  I guess this is indeed redundant, since it just adds 
$(STAGING_DIR)/usr/include which is unnecessary. But you should at least 
mention this explicitly in the commit message.

>   +
>   +QMAKE_LIBS             += -lrt -lpthread -ldl
>   +
> -+# device specific glue code
> -+EGLFS_PLATFORM_HOOKS_SOURCES =
> -+
> -+# Sanity check
> -+deviceSanityCheckCompiler()
> -+
> ++include(../common/linux_device_post.conf)

  Unfortunately, linux_device_post.conf is broken. It contains:

contains(DISTRO_OPTS, hard-float) {
     COMPILER_FLAGS += -mfloat-abi=hard
} else {
     COMPILER_FLAGS += -mfloat-abi=softfp
}

  It seems this file is ARM-specific, and it's only used by imx6, 
raspberrypi and tegra2. Note that linux_device_pre.conf is also only used 
by these three, but that one looks generic enough :-)

  So I propose that you leave the last part as it was.

>   +load(qt_config)
>   Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>   ===================================================================
> diff --git a/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
> new file mode 100644
> index 0000000..7eb9229
> --- /dev/null
> +++ b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
> @@ -0,0 +1,36 @@
> +From 4723f3fd04edf1aad6750ca91fd4648216d8b408 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
> +Date: Sat, 21 Sep 2013 00:14:39 +0300
> +Subject: [PATCH] configure: Parse -device-option value correctly
> +
> +The regular expression does not parse correctly when a device option value
> +contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64").
> +
> +In order to break string at the first equal sign and to simplify code,
> +use "cut" command as in other places in configure script.
> +
> +Task-number: QTBUG-33584
> +Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
> +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>

  You should still add your own Signed-off-by, even if this is not 
required by upstream.


  Regards,
  Arnout

> +---
> + configure | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 64568dd..388899e 100755
> +--- a/configure
> ++++ b/configure
> +@@ -1609,8 +1609,8 @@ while [ "$#" -gt 0 ]; do
> +         [ "$XPLATFORM" = "undefined" ] && exit 101
> +         ;;
> +     device-option)
> +-        DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
> +-        DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
> ++        DEV_VAR=`echo $VAL | cut -d '=' -f 1`
> ++        DEV_VAL=`echo $VAL | cut -d '=' -f 2-`
> +         DeviceVar set $DEV_VAR "$DEV_VAL"
> +         ;;
> +     qpa)
> +--
> +1.8.4.rc3
> +
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index ce78d31..febdc9b 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -152,21 +152,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
>
>   QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
>
> -# Ideally, we could use -device-option to substitute variable values
> -# in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
> -# nicely support variable values that contain spaces. So we use the
> -# good old sed solution here.
> -define QT5BASE_CONFIG_SET
> -	$(SED) 's%^$(1).*%$(1) = $(2)%g' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
> -endef
> -
>   define QT5BASE_CONFIGURE_CMDS
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_CROSS_COMPILE,$(TARGET_CROSS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CFLAGS,$(TARGET_CFLAGS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CXXFLAGS,$(TARGET_CXXFLAGS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_INCLUDE_PATH,$(STAGING_DIR)/usr/include)
> -	$(call QT5BASE_CONFIG_SET,EGLFS_PLATFORM_HOOKS_SOURCES, \
> -		$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES))
>   	(cd $(@D); \
>   		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
>   		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
> @@ -181,6 +167,10 @@ define QT5BASE_CONFIGURE_CMDS
>   		-no-rpath \
>   		-nomake examples -nomake tests \
>   		-device buildroot \
> +		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
> +		-device-option BUILDROOT_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
> +		-device-option BUILDROOT_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
> +		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
>   		-no-c++11 \
>   		$(QT5BASE_CONFIGURE_OPTS) \
>   	)
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

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

* [Buildroot] [PATCH v2] qt5base: use -device-option to set mkspec variables
  2013-11-14 13:40 [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Fatih Aşıcı
  2013-11-14 13:40 ` [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled Fatih Aşıcı
  2013-11-18 22:41 ` [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Arnout Vandecappelle
@ 2013-11-20 12:17 ` Fatih Aşıcı
  2013-11-20 22:18   ` Arnout Vandecappelle
  2 siblings, 1 reply; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-20 12:17 UTC (permalink / raw)
  To: buildroot

Simplify our custom qmake.conf:
  - Include linux_device_{pre,post}.conf to inherit common device
    configuration.
  - Do not add $(STAGING_DIR)/usr/include to include path. It is
    redundant.

In additon to the simplification of code, this change is a preparation
to solve problems occurring when QMAKE_CXX is prepended with ccache path.

Upstream patch is needed by configure to parse device options correctly.
Another upstream patch is needed to remove ARM specific parts from
linux_device_post.conf.

Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
---
Changes v1 -> v2:
  - mentioned the modified parts of qmake.conf in commit message (suggested by
    Arnout Vandecappelle)
  - added an upstream patch to remove ARM specific configuration from
    linux_device_post.conf (issue noticed by Arnout Vandecappelle)
  - Add "Signed-off-by" lines to new patches (suggested by Arnout Vandecappelle)
---
 .../qt5/qt5base/qt5base-0002-mkspecs-files.patch   |  39 +-------
 ...igure-Parse-device-option-value-correctly.patch |  37 +++++++
 ...cs-devices-linux_device_post.conf-for-non.patch | 107 +++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |  18 +---
 4 files changed, 151 insertions(+), 50 deletions(-)
 create mode 100644 package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
 create mode 100644 package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch

diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
index e406cfc..3fddeac 100644
--- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
+++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
@@ -14,50 +14,17 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 ===================================================================
 --- /dev/null
 +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
-@@ -0,0 +1,44 @@
-+MAKEFILE_GENERATOR      = UNIX
-+CONFIG                 += incremental gdb_dwarf_index
-+QMAKE_INCREMENTAL_STYLE = sublib
-+
-+include(../../common/linux.conf)
-+include(../../common/gcc-base-unix.conf)
-+include(../../common/g++-unix.conf)
-+
-+load(device_config)
-+
-+QT_QPA_DEFAULT_PLATFORM = eglfs
-+
-+BUILDROOT_CROSS_COMPILE =
-+BUILDROOT_COMPILER_CFLAGS =
-+BUILDROOT_COMPILER_CXXFLAGS =
-+BUILDROOT_INCLUDE_PATH =
-+
-+# modifications to g++.conf
-+QMAKE_CC                = $${BUILDROOT_CROSS_COMPILE}gcc
-+QMAKE_CXX               = $${BUILDROOT_CROSS_COMPILE}g++
-+QMAKE_LINK              = $${QMAKE_CXX}
-+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
-+
-+# modifications to linux.conf
-+QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
-+QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
-+QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
-+QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
+@@ -0,0 +1,11 @@
++include(../common/linux_device_pre.conf)
 +
 +#modifications to gcc-base.conf
 +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
 +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
 +QMAKE_CXXFLAGS_RELEASE += -O3
-+INCLUDEPATH            += $${BUILDROOT_INCLUDE_PATH}
 +
 +QMAKE_LIBS             += -lrt -lpthread -ldl
 +
-+# device specific glue code
-+EGLFS_PLATFORM_HOOKS_SOURCES =
-+
-+# Sanity check
-+deviceSanityCheckCompiler()
-+
++include(../common/linux_device_post.conf)
 +load(qt_config)
 Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
 ===================================================================
diff --git a/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
new file mode 100644
index 0000000..aaf1d35
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
@@ -0,0 +1,37 @@
+From 4723f3fd04edf1aad6750ca91fd4648216d8b408 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
+Date: Sat, 21 Sep 2013 00:14:39 +0300
+Subject: [PATCH] configure: Parse -device-option value correctly
+
+The regular expression does not parse correctly when a device option value
+contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64").
+
+In order to break string at the first equal sign and to simplify code,
+use "cut" command as in other places in configure script.
+
+Task-number: QTBUG-33584
+Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
+Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
+---
+ configure | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 64568dd..388899e 100755
+--- a/configure
++++ b/configure
+@@ -1609,8 +1609,8 @@ while [ "$#" -gt 0 ]; do
+         [ "$XPLATFORM" = "undefined" ] && exit 101
+         ;;
+     device-option)
+-        DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
+-        DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
++        DEV_VAR=`echo $VAL | cut -d '=' -f 1`
++        DEV_VAL=`echo $VAL | cut -d '=' -f 2-`
+         DeviceVar set $DEV_VAR "$DEV_VAL"
+         ;;
+     qpa)
+-- 
+1.8.4.rc3
+
diff --git a/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch b/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch
new file mode 100644
index 0000000..7eeea38
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch
@@ -0,0 +1,107 @@
+From f2a611ce6cb0f86d9331641a804de6a507900db7 Mon Sep 17 00:00:00 2001
+From: Tomasz Olszak <olszak.tomasz@gmail.com>
+Date: Thu, 18 Jul 2013 20:45:47 +0000
+Subject: [PATCH] Fixed mkspecs/devices/linux_device_post.conf for non-arm
+ platforms.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Now arm specific -mfloat-abi flag is added to compiler flags
+only for arm architecture in linux_arm_device_post.conf.
+
+Change-Id: Ie77ac6e0717d9d1fd9c14e1d6a26e86f08ab418c
+Reviewed-by: Jaros?aw Staniek <staniek@kde.org>
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
+Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
+---
+ mkspecs/devices/common/linux_arm_device_post.conf | 7 +++++++
+ mkspecs/devices/common/linux_device_post.conf     | 6 ------
+ mkspecs/devices/linux-imx53qsb-g++/qmake.conf     | 2 +-
+ mkspecs/devices/linux-imx6-g++/qmake.conf         | 2 +-
+ mkspecs/devices/linux-rasp-pi-g++/qmake.conf      | 2 +-
+ mkspecs/devices/linux-tegra2-g++/qmake.conf       | 2 +-
+ 6 files changed, 11 insertions(+), 10 deletions(-)
+ create mode 100644 mkspecs/devices/common/linux_arm_device_post.conf
+
+diff --git a/mkspecs/devices/common/linux_arm_device_post.conf b/mkspecs/devices/common/linux_arm_device_post.conf
+new file mode 100644
+index 0000000..7ce4759
+--- /dev/null
++++ b/mkspecs/devices/common/linux_arm_device_post.conf
+@@ -0,0 +1,7 @@
++contains(DISTRO_OPTS, hard-float) {
++    COMPILER_FLAGS += -mfloat-abi=hard
++} else {
++    COMPILER_FLAGS += -mfloat-abi=softfp
++}
++
++include(linux_device_post.conf)
+diff --git a/mkspecs/devices/common/linux_device_post.conf b/mkspecs/devices/common/linux_device_post.conf
+index f8dbf76..548e75a 100644
+--- a/mkspecs/devices/common/linux_device_post.conf
++++ b/mkspecs/devices/common/linux_device_post.conf
+@@ -3,12 +3,6 @@ contains(DISTRO_OPTS, deb-multi-arch) {
+                       -Wl,-rpath-link,$$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP}
+ }
+ 
+-contains(DISTRO_OPTS, hard-float) {
+-    COMPILER_FLAGS += -mfloat-abi=hard
+-} else {
+-    COMPILER_FLAGS += -mfloat-abi=softfp
+-}
+-
+ QMAKE_CFLAGS       += $$COMPILER_FLAGS
+ QMAKE_CXXFLAGS     += $$COMPILER_FLAGS
+ 
+diff --git a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
+index 0a5ed89..3a9766c 100644
+--- a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
++++ b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
+@@ -32,6 +32,6 @@ QMAKE_CXXFLAGS_RELEASE += $$IMX5_CFLAGS_RELEASE
+ QMAKE_CFLAGS_DEBUG     += $$IMX5_CFLAGS
+ QMAKE_CXXFLAGS_DEBUG   += $$IMX5_CFLAGS
+ 
+-include(../common/linux_device_post.conf)
++include(../common/linux_arm_device_post.conf)
+ 
+ load(qt_config)
+diff --git a/mkspecs/devices/linux-imx6-g++/qmake.conf b/mkspecs/devices/linux-imx6-g++/qmake.conf
+index 20f6d11..2b8dbf6 100644
+--- a/mkspecs/devices/linux-imx6-g++/qmake.conf
++++ b/mkspecs/devices/linux-imx6-g++/qmake.conf
+@@ -34,6 +34,6 @@ QMAKE_CXXFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE
+ QMAKE_CFLAGS_DEBUG     += $$IMX6_CFLAGS
+ QMAKE_CXXFLAGS_DEBUG   += $$IMX6_CFLAGS
+ 
+-include(../common/linux_device_post.conf)
++include(../common/linux_arm_device_post.conf)
+ 
+ load(qt_config)
+diff --git a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
+index d6fea47..5f923ad 100644
+--- a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
++++ b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
+@@ -42,6 +42,6 @@ QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
+ EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_pi.cpp
+ EGLFS_PLATFORM_HOOKS_LIBS = -lbcm_host
+ 
+-include(../common/linux_device_post.conf)
++include(../common/linux_arm_device_post.conf)
+ 
+ load(qt_config)
+diff --git a/mkspecs/devices/linux-tegra2-g++/qmake.conf b/mkspecs/devices/linux-tegra2-g++/qmake.conf
+index 1c7a8cc..320e1b8 100644
+--- a/mkspecs/devices/linux-tegra2-g++/qmake.conf
++++ b/mkspecs/devices/linux-tegra2-g++/qmake.conf
+@@ -26,6 +26,6 @@ TEGRA2_CFLAGS           = -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-a
+ QMAKE_CFLAGS           += $$TEGRA2_CFLAGS
+ QMAKE_CXXFLAGS         += $$TEGRA2_CFLAGS
+ 
+-include(../common/linux_device_post.conf)
++include(../common/linux_arm_device_post.conf)
+ 
+ load(qt_config)
+-- 
+1.8.4.rc3
+
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index ce78d31..febdc9b 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -152,21 +152,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
-# Ideally, we could use -device-option to substitute variable values
-# in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
-# nicely support variable values that contain spaces. So we use the
-# good old sed solution here.
-define QT5BASE_CONFIG_SET
-	$(SED) 's%^$(1).*%$(1) = $(2)%g' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
-endef
-
 define QT5BASE_CONFIGURE_CMDS
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_CROSS_COMPILE,$(TARGET_CROSS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CFLAGS,$(TARGET_CFLAGS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CXXFLAGS,$(TARGET_CXXFLAGS))
-	$(call QT5BASE_CONFIG_SET,BUILDROOT_INCLUDE_PATH,$(STAGING_DIR)/usr/include)
-	$(call QT5BASE_CONFIG_SET,EGLFS_PLATFORM_HOOKS_SOURCES, \
-		$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES))
 	(cd $(@D); \
 		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
 		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
@@ -181,6 +167,10 @@ define QT5BASE_CONFIGURE_CMDS
 		-no-rpath \
 		-nomake examples -nomake tests \
 		-device buildroot \
+		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
+		-device-option BUILDROOT_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
+		-device-option BUILDROOT_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
+		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
 		-no-c++11 \
 		$(QT5BASE_CONFIGURE_OPTS) \
 	)
-- 
1.8.4.rc3

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

* [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables
  2013-11-18 22:41 ` [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Arnout Vandecappelle
@ 2013-11-20 12:22   ` Fatih Aşıcı
  0 siblings, 0 replies; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-20 12:22 UTC (permalink / raw)
  To: buildroot

On Tuesday 19 November 2013 00:41:01 Arnout Vandecappelle wrote:
> On 14/11/13 14:40, Fatih A??c? wrote:
> > In additon to the simplification of code, this change is a preparation
> > to solve problems occurring when QMAKE_CXX is prepended with ccache path.
> 
>   Please also mention that you replace part of our custom qmake.conf with
> linux_device_pre.conf.

Done.

> > Upstream patch is needed by configure to parse device options correctly.
> > 
> > Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
> > ---
> > 
> >   .../qt5/qt5base/qt5base-0002-mkspecs-files.patch   | 39
> >   ++--------------------
> >   ...igure-Parse-device-option-value-correctly.patch | 36
> >   ++++++++++++++++++++ package/qt5/qt5base/qt5base.mk                   
> >    | 18 +++------- 3 files changed, 43 insertions(+), 50 deletions(-)
> >   create mode 100644
> >   package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-c
> >   orrectly.patch
> > 
> > diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> > b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch index
> > e406cfc..3fddeac 100644
> > --- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> > +++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> > @@ -14,50 +14,17 @@ Index:
> > b/mkspecs/devices/linux-buildroot-g++/qmake.conf
> > 
> >   ===================================================================
> >   --- /dev/null
> >   +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
> > 
> > -@@ -0,0 +1,44 @@
> > -+MAKEFILE_GENERATOR      = UNIX
> > -+CONFIG                 += incremental gdb_dwarf_index
> > -+QMAKE_INCREMENTAL_STYLE = sublib
> > -+
> > -+include(../../common/linux.conf)
> > -+include(../../common/gcc-base-unix.conf)
> > -+include(../../common/g++-unix.conf)
> > -+
> > -+load(device_config)
> > -+
> > -+QT_QPA_DEFAULT_PLATFORM = eglfs
> > -+
> > -+BUILDROOT_CROSS_COMPILE =
> > -+BUILDROOT_COMPILER_CFLAGS =
> > -+BUILDROOT_COMPILER_CXXFLAGS =
> > -+BUILDROOT_INCLUDE_PATH =
> > -+
> > -+# modifications to g++.conf
> > -+QMAKE_CC                = $${BUILDROOT_CROSS_COMPILE}gcc
> > -+QMAKE_CXX               = $${BUILDROOT_CROSS_COMPILE}g++
> > -+QMAKE_LINK              = $${QMAKE_CXX}
> > -+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
> > -+
> > -+# modifications to linux.conf
> > -+QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
> > -+QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
> > -+QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
> > -+QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
> > +@@ -0,0 +1,11 @@
> > ++include(../common/linux_device_pre.conf)
> > 
> >   +
> >   +#modifications to gcc-base.conf
> >   +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
> >   +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
> >   +QMAKE_CXXFLAGS_RELEASE += -O3
> > 
> > -+INCLUDEPATH            += $${BUILDROOT_INCLUDE_PATH}
> 
>   I guess this is indeed redundant, since it just adds
> $(STAGING_DIR)/usr/include which is unnecessary. But you should at least
> mention this explicitly in the commit message.

Done.

> >   +
> >   +QMAKE_LIBS             += -lrt -lpthread -ldl
> >   +
> > 
> > -+# device specific glue code
> > -+EGLFS_PLATFORM_HOOKS_SOURCES =
> > -+
> > -+# Sanity check
> > -+deviceSanityCheckCompiler()
> > -+
> > ++include(../common/linux_device_post.conf)
> 
>   Unfortunately, linux_device_post.conf is broken. It contains:
> 
> contains(DISTRO_OPTS, hard-float) {
>      COMPILER_FLAGS += -mfloat-abi=hard
> } else {
>      COMPILER_FLAGS += -mfloat-abi=softfp
> }
> 
>   It seems this file is ARM-specific, and it's only used by imx6,
> raspberrypi and tegra2. Note that linux_device_pre.conf is also only used
> by these three, but that one looks generic enough :-)
> 
>   So I propose that you leave the last part as it was.

Added an upstream patch which removes ARM specific parts.
 
> >   +load(qt_config)
> >   Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
> >   ===================================================================
> > 
> > diff --git
> > a/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-c
> > orrectly.patch
> > b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-c
> > orrectly.patch new file mode 100644
> > index 0000000..7eb9229
> > --- /dev/null
> > +++
> > b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-c
> > orrectly.patch @@ -0,0 +1,36 @@
> > +From 4723f3fd04edf1aad6750ca91fd4648216d8b408 Mon Sep 17 00:00:00 2001
> > +From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
> > +Date: Sat, 21 Sep 2013 00:14:39 +0300
> > +Subject: [PATCH] configure: Parse -device-option value correctly
> > +
> > +The regular expression does not parse correctly when a device option
> > value +contains the character '=' (e.g.
> > QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64"). +
> > +In order to break string at the first equal sign and to simplify code,
> > +use "cut" command as in other places in configure script.
> > +
> > +Task-number: QTBUG-33584
> > +Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
> > +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
> 
>   You should still add your own Signed-off-by, even if this is not
> required by upstream.

Done.

Thanks for the review. I have sent v2 of the first patch.

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

* [Buildroot] [PATCH v2] qt5base: use -device-option to set mkspec variables
  2013-11-20 12:17 ` [Buildroot] [PATCH v2] " Fatih Aşıcı
@ 2013-11-20 22:18   ` Arnout Vandecappelle
  0 siblings, 0 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2013-11-20 22:18 UTC (permalink / raw)
  To: buildroot

On 20/11/13 13:17, Fatih A??c? wrote:
> Simplify our custom qmake.conf:
>    - Include linux_device_{pre,post}.conf to inherit common device
>      configuration.
>    - Do not add $(STAGING_DIR)/usr/include to include path. It is
>      redundant.
>
> In additon to the simplification of code, this change is a preparation
> to solve problems occurring when QMAKE_CXX is prepended with ccache path.
>
> Upstream patch is needed by configure to parse device options correctly.
> Another upstream patch is needed to remove ARM specific parts from
> linux_device_post.conf.
>
> Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

  Build-tested on x86_64.


  Regards,
  Arnout

> ---
> Changes v1 -> v2:
>    - mentioned the modified parts of qmake.conf in commit message (suggested by
>      Arnout Vandecappelle)
>    - added an upstream patch to remove ARM specific configuration from
>      linux_device_post.conf (issue noticed by Arnout Vandecappelle)
>    - Add "Signed-off-by" lines to new patches (suggested by Arnout Vandecappelle)
> ---
>   .../qt5/qt5base/qt5base-0002-mkspecs-files.patch   |  39 +-------
>   ...igure-Parse-device-option-value-correctly.patch |  37 +++++++
>   ...cs-devices-linux_device_post.conf-for-non.patch | 107 +++++++++++++++++++++
>   package/qt5/qt5base/qt5base.mk                     |  18 +---
>   4 files changed, 151 insertions(+), 50 deletions(-)
>   create mode 100644 package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
>   create mode 100644 package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch
>
> diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> index e406cfc..3fddeac 100644
> --- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> +++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
> @@ -14,50 +14,17 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
>   ===================================================================
>   --- /dev/null
>   +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
> -@@ -0,0 +1,44 @@
> -+MAKEFILE_GENERATOR      = UNIX
> -+CONFIG                 += incremental gdb_dwarf_index
> -+QMAKE_INCREMENTAL_STYLE = sublib
> -+
> -+include(../../common/linux.conf)
> -+include(../../common/gcc-base-unix.conf)
> -+include(../../common/g++-unix.conf)
> -+
> -+load(device_config)
> -+
> -+QT_QPA_DEFAULT_PLATFORM = eglfs
> -+
> -+BUILDROOT_CROSS_COMPILE =
> -+BUILDROOT_COMPILER_CFLAGS =
> -+BUILDROOT_COMPILER_CXXFLAGS =
> -+BUILDROOT_INCLUDE_PATH =
> -+
> -+# modifications to g++.conf
> -+QMAKE_CC                = $${BUILDROOT_CROSS_COMPILE}gcc
> -+QMAKE_CXX               = $${BUILDROOT_CROSS_COMPILE}g++
> -+QMAKE_LINK              = $${QMAKE_CXX}
> -+QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
> -+
> -+# modifications to linux.conf
> -+QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
> -+QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
> -+QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
> -+QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
> +@@ -0,0 +1,11 @@
> ++include(../common/linux_device_pre.conf)
>   +
>   +#modifications to gcc-base.conf
>   +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
>   +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
>   +QMAKE_CXXFLAGS_RELEASE += -O3
> -+INCLUDEPATH            += $${BUILDROOT_INCLUDE_PATH}
>   +
>   +QMAKE_LIBS             += -lrt -lpthread -ldl
>   +
> -+# device specific glue code
> -+EGLFS_PLATFORM_HOOKS_SOURCES =
> -+
> -+# Sanity check
> -+deviceSanityCheckCompiler()
> -+
> ++include(../common/linux_device_post.conf)
>   +load(qt_config)
>   Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
>   ===================================================================
> diff --git a/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
> new file mode 100644
> index 0000000..aaf1d35
> --- /dev/null
> +++ b/package/qt5/qt5base/qt5base-0008-configure-Parse-device-option-value-correctly.patch
> @@ -0,0 +1,37 @@
> +From 4723f3fd04edf1aad6750ca91fd4648216d8b408 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
> +Date: Sat, 21 Sep 2013 00:14:39 +0300
> +Subject: [PATCH] configure: Parse -device-option value correctly
> +
> +The regular expression does not parse correctly when a device option value
> +contains the character '=' (e.g. QMAKE_CFLAGS="-D_FILE_OFFSET_BITS=64").
> +
> +In order to break string at the first equal sign and to simplify code,
> +use "cut" command as in other places in configure script.
> +
> +Task-number: QTBUG-33584
> +Change-Id: I05b474d2ba6bff84c1e40d00475963bab36d94b6
> +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
> +Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
> +---
> + configure | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 64568dd..388899e 100755
> +--- a/configure
> ++++ b/configure
> +@@ -1609,8 +1609,8 @@ while [ "$#" -gt 0 ]; do
> +         [ "$XPLATFORM" = "undefined" ] && exit 101
> +         ;;
> +     device-option)
> +-        DEV_VAR=`echo $VAL | sed "s,^\(.*\)=.*,\1,"`
> +-        DEV_VAL=`echo $VAL | sed "s,^.*=\(.*\),\1,"`
> ++        DEV_VAR=`echo $VAL | cut -d '=' -f 1`
> ++        DEV_VAL=`echo $VAL | cut -d '=' -f 2-`
> +         DeviceVar set $DEV_VAR "$DEV_VAL"
> +         ;;
> +     qpa)
> +--
> +1.8.4.rc3
> +
> diff --git a/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch b/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch
> new file mode 100644
> index 0000000..7eeea38
> --- /dev/null
> +++ b/package/qt5/qt5base/qt5base-0009-Fixed-mkspecs-devices-linux_device_post.conf-for-non.patch
> @@ -0,0 +1,107 @@
> +From f2a611ce6cb0f86d9331641a804de6a507900db7 Mon Sep 17 00:00:00 2001
> +From: Tomasz Olszak <olszak.tomasz@gmail.com>
> +Date: Thu, 18 Jul 2013 20:45:47 +0000
> +Subject: [PATCH] Fixed mkspecs/devices/linux_device_post.conf for non-arm
> + platforms.
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Now arm specific -mfloat-abi flag is added to compiler flags
> +only for arm architecture in linux_arm_device_post.conf.
> +
> +Change-Id: Ie77ac6e0717d9d1fd9c14e1d6a26e86f08ab418c
> +Reviewed-by: Jaros?aw Staniek <staniek@kde.org>
> +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
> +Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
> +---
> + mkspecs/devices/common/linux_arm_device_post.conf | 7 +++++++
> + mkspecs/devices/common/linux_device_post.conf     | 6 ------
> + mkspecs/devices/linux-imx53qsb-g++/qmake.conf     | 2 +-
> + mkspecs/devices/linux-imx6-g++/qmake.conf         | 2 +-
> + mkspecs/devices/linux-rasp-pi-g++/qmake.conf      | 2 +-
> + mkspecs/devices/linux-tegra2-g++/qmake.conf       | 2 +-
> + 6 files changed, 11 insertions(+), 10 deletions(-)
> + create mode 100644 mkspecs/devices/common/linux_arm_device_post.conf
> +
> +diff --git a/mkspecs/devices/common/linux_arm_device_post.conf b/mkspecs/devices/common/linux_arm_device_post.conf
> +new file mode 100644
> +index 0000000..7ce4759
> +--- /dev/null
> ++++ b/mkspecs/devices/common/linux_arm_device_post.conf
> +@@ -0,0 +1,7 @@
> ++contains(DISTRO_OPTS, hard-float) {
> ++    COMPILER_FLAGS += -mfloat-abi=hard
> ++} else {
> ++    COMPILER_FLAGS += -mfloat-abi=softfp
> ++}
> ++
> ++include(linux_device_post.conf)
> +diff --git a/mkspecs/devices/common/linux_device_post.conf b/mkspecs/devices/common/linux_device_post.conf
> +index f8dbf76..548e75a 100644
> +--- a/mkspecs/devices/common/linux_device_post.conf
> ++++ b/mkspecs/devices/common/linux_device_post.conf
> +@@ -3,12 +3,6 @@ contains(DISTRO_OPTS, deb-multi-arch) {
> +                       -Wl,-rpath-link,$$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP}
> + }
> +
> +-contains(DISTRO_OPTS, hard-float) {
> +-    COMPILER_FLAGS += -mfloat-abi=hard
> +-} else {
> +-    COMPILER_FLAGS += -mfloat-abi=softfp
> +-}
> +-
> + QMAKE_CFLAGS       += $$COMPILER_FLAGS
> + QMAKE_CXXFLAGS     += $$COMPILER_FLAGS
> +
> +diff --git a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
> +index 0a5ed89..3a9766c 100644
> +--- a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
> ++++ b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf
> +@@ -32,6 +32,6 @@ QMAKE_CXXFLAGS_RELEASE += $$IMX5_CFLAGS_RELEASE
> + QMAKE_CFLAGS_DEBUG     += $$IMX5_CFLAGS
> + QMAKE_CXXFLAGS_DEBUG   += $$IMX5_CFLAGS
> +
> +-include(../common/linux_device_post.conf)
> ++include(../common/linux_arm_device_post.conf)
> +
> + load(qt_config)
> +diff --git a/mkspecs/devices/linux-imx6-g++/qmake.conf b/mkspecs/devices/linux-imx6-g++/qmake.conf
> +index 20f6d11..2b8dbf6 100644
> +--- a/mkspecs/devices/linux-imx6-g++/qmake.conf
> ++++ b/mkspecs/devices/linux-imx6-g++/qmake.conf
> +@@ -34,6 +34,6 @@ QMAKE_CXXFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE
> + QMAKE_CFLAGS_DEBUG     += $$IMX6_CFLAGS
> + QMAKE_CXXFLAGS_DEBUG   += $$IMX6_CFLAGS
> +
> +-include(../common/linux_device_post.conf)
> ++include(../common/linux_arm_device_post.conf)
> +
> + load(qt_config)
> +diff --git a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
> +index d6fea47..5f923ad 100644
> +--- a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
> ++++ b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
> +@@ -42,6 +42,6 @@ QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
> + EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_pi.cpp
> + EGLFS_PLATFORM_HOOKS_LIBS = -lbcm_host
> +
> +-include(../common/linux_device_post.conf)
> ++include(../common/linux_arm_device_post.conf)
> +
> + load(qt_config)
> +diff --git a/mkspecs/devices/linux-tegra2-g++/qmake.conf b/mkspecs/devices/linux-tegra2-g++/qmake.conf
> +index 1c7a8cc..320e1b8 100644
> +--- a/mkspecs/devices/linux-tegra2-g++/qmake.conf
> ++++ b/mkspecs/devices/linux-tegra2-g++/qmake.conf
> +@@ -26,6 +26,6 @@ TEGRA2_CFLAGS           = -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-a
> + QMAKE_CFLAGS           += $$TEGRA2_CFLAGS
> + QMAKE_CXXFLAGS         += $$TEGRA2_CFLAGS
> +
> +-include(../common/linux_device_post.conf)
> ++include(../common/linux_arm_device_post.conf)
> +
> + load(qt_config)
> +--
> +1.8.4.rc3
> +
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index ce78d31..febdc9b 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -152,21 +152,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
>
>   QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
>
> -# Ideally, we could use -device-option to substitute variable values
> -# in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
> -# nicely support variable values that contain spaces. So we use the
> -# good old sed solution here.
> -define QT5BASE_CONFIG_SET
> -	$(SED) 's%^$(1).*%$(1) = $(2)%g' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
> -endef
> -
>   define QT5BASE_CONFIGURE_CMDS
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_CROSS_COMPILE,$(TARGET_CROSS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CFLAGS,$(TARGET_CFLAGS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_COMPILER_CXXFLAGS,$(TARGET_CXXFLAGS))
> -	$(call QT5BASE_CONFIG_SET,BUILDROOT_INCLUDE_PATH,$(STAGING_DIR)/usr/include)
> -	$(call QT5BASE_CONFIG_SET,EGLFS_PLATFORM_HOOKS_SOURCES, \
> -		$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES))
>   	(cd $(@D); \
>   		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
>   		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
> @@ -181,6 +167,10 @@ define QT5BASE_CONFIGURE_CMDS
>   		-no-rpath \
>   		-nomake examples -nomake tests \
>   		-device buildroot \
> +		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
> +		-device-option BUILDROOT_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
> +		-device-option BUILDROOT_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
> +		-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
>   		-no-c++11 \
>   		$(QT5BASE_CONFIGURE_OPTS) \
>   	)
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

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

* [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled
  2013-11-14 13:40 ` [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled Fatih Aşıcı
@ 2013-11-28 22:11   ` Peter Korsgaard
  2013-11-29  7:10     ` Fatih Aşıcı
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2013-11-28 22:11 UTC (permalink / raw)
  To: buildroot

>>>>> "Fatih" == Fatih A??c? <fatih.asici@gmail.com> writes:

 > For now, it doesn't use ccache when compiling host tools (e.g. qmake).
 > It seems the fix is not trivial.

 > Signed-off-by: Fatih A??c? <fatih.asici@gmail.com>
 > ---
 >  package/qt5/qt5base/qt5base-0002-mkspecs-files.patch | 6 +++++-
 >  package/qt5/qt5base/qt5base.mk                       | 1 +
 >  2 files changed, 6 insertions(+), 1 deletion(-)

 > diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
 > index 3fddeac..6fa8a92 100644
 > --- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
 > +++ b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch
 > @@ -14,9 +14,13 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 >  ===================================================================
 >  --- /dev/null
 >  +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 > -@@ -0,0 +1,11 @@
 > +@@ -0,0 +1,15 @@
 >  +include(../common/linux_device_pre.conf)
 >  +
 > ++# modifications to g++.conf
 > ++QMAKE_CC                = $${BUILDROOT_CCACHE} $${QMAKE_CC}
 > ++QMAKE_CXX               = $${BUILDROOT_CCACHE} $${QMAKE_CXX}
 > ++
 >  +#modifications to gcc-base.conf
 >  +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
 >  +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
 > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
 > index febdc9b..a1d5dba 100644
 > --- a/package/qt5/qt5base/qt5base.mk
 > +++ b/package/qt5/qt5base/qt5base.mk
 > @@ -168,6 +168,7 @@ define QT5BASE_CONFIGURE_CMDS
 >  		-nomake examples -nomake tests \
 >  		-device buildroot \
 >  		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
 > +		-device-option BUILDROOT_CCACHE="$(CCACHE)" \

Can't we just pass it in CROSS_COMPILE?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled
  2013-11-28 22:11   ` Peter Korsgaard
@ 2013-11-29  7:10     ` Fatih Aşıcı
  2013-11-29  8:14       ` Peter Korsgaard
  0 siblings, 1 reply; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-29  7:10 UTC (permalink / raw)
  To: buildroot

On Friday 29 November 2013 00:11:35 Peter Korsgaard wrote:
>  >  --- /dev/null
>  >  +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
>  > 
>  > -@@ -0,0 +1,11 @@
>  > +@@ -0,0 +1,15 @@
>  > 
>  >  +include(../common/linux_device_pre.conf)
>  >  +
>  > 
>  > ++# modifications to g++.conf
>  > ++QMAKE_CC                = $${BUILDROOT_CCACHE} $${QMAKE_CC}
>  > ++QMAKE_CXX               = $${BUILDROOT_CCACHE} $${QMAKE_CXX}
>  > ++
>  > 
>  >  +#modifications to gcc-base.conf
>  >  +QMAKE_CFLAGS           += $${BUILDROOT_COMPILER_CFLAGS}
>  >  +QMAKE_CXXFLAGS         += $${BUILDROOT_COMPILER_CXXFLAGS}
>  > 
>  > diff --git a/package/qt5/qt5base/qt5base.mk
>  > b/package/qt5/qt5base/qt5base.mk index febdc9b..a1d5dba 100644
>  > --- a/package/qt5/qt5base/qt5base.mk
>  > +++ b/package/qt5/qt5base/qt5base.mk
>  > @@ -168,6 +168,7 @@ define QT5BASE_CONFIGURE_CMDS
>  > 
>  >  		-nomake examples -nomake tests \
>  >  		-device buildroot \
>  >  		-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
>  > 
>  > +		-device-option BUILDROOT_CCACHE="$(CCACHE)" \
> 
> Can't we just pass it in CROSS_COMPILE?

No. linux_device_pre.conf uses CROSS_COMPILE for other tools, too (ar, 
objcopy, ...).

# modifications to g++-unix.conf
QMAKE_CC                = $${CROSS_COMPILE}gcc
QMAKE_CXX               = $${CROSS_COMPILE}g++
QMAKE_LINK              = $${QMAKE_CXX}
QMAKE_LINK_SHLIB        = $${QMAKE_CXX}

# modifications to linux.conf
QMAKE_AR                = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
QMAKE_NM                = $${CROSS_COMPILE}nm -P
QMAKE_STRIP             = $${CROSS_COMPILE}strip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131129/258754f8/attachment.html>

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

* [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled
  2013-11-29  7:10     ` Fatih Aşıcı
@ 2013-11-29  8:14       ` Peter Korsgaard
  2013-11-29  8:26         ` Fatih Aşıcı
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2013-11-29  8:14 UTC (permalink / raw)
  To: buildroot

>>>>> "Fatih" == Fatih A??c? <fatih.asici@gmail.com> writes:

Hi,

 >> > + -device-option BUILDROOT_CCACHE="$(CCACHE)" \

 >> Can't we just pass it in CROSS_COMPILE?

>> No. linux_device_pre.conf uses CROSS_COMPILE for other tools, too (ar, objcopy,

Yes, but ccache then just becomes a NOOP - E.G:

./output/host/usr/bin/ccache ./output/host/usr/bin/arm-linux-objdump -v
GNU objdump (GNU Binutils) 2.21.1
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

We do the same for E.G. the Linux kernel and other packages using
CROSS_COMPILE:

git grep 'CCACHE.*TARGET_CROSS'
boot/barebox/barebox.mk:BAREBOX_MAKE_FLAGS = ARCH=$(BAREBOX_ARCH) CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)"
boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk:              CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
boot/uboot/uboot.mk:    CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
linux/linux.mk: CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
package/freescale-imx/imx-lib/imx-lib.mk:       CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
package/libebml/libebml.mk:     $(MAKE) -C $(@D)/make/linux CROSS="$(CCACHE) $(TARGET_CROSS)"
package/libmatroska/libmatroska.mk:     $(MAKE) -C $(@D)/make/linux CROSS="$(CCACHE) $(TARGET_CROSS)"

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled
  2013-11-29  8:14       ` Peter Korsgaard
@ 2013-11-29  8:26         ` Fatih Aşıcı
  0 siblings, 0 replies; 10+ messages in thread
From: Fatih Aşıcı @ 2013-11-29  8:26 UTC (permalink / raw)
  To: buildroot

On Friday 29 November 2013 10:14:34 Peter Korsgaard wrote:
> >>>>> "Fatih" == Fatih A??c? <fatih.asici@gmail.com> writes:
> Hi,
> 
>  >> > + -device-option BUILDROOT_CCACHE="$(CCACHE)" \
>  >> 
>  >> Can't we just pass it in CROSS_COMPILE?
> >> 
> >> No. linux_device_pre.conf uses CROSS_COMPILE for other tools, too (ar,
> >> objcopy,
> 
> Yes, but ccache then just becomes a NOOP - E.G:

I did not know this. Will send a new patch if it works.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131129/cc2a009c/attachment.html>

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

end of thread, other threads:[~2013-11-29  8:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-14 13:40 [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Fatih Aşıcı
2013-11-14 13:40 ` [Buildroot] [PATCH 2/2] qt5base: use ccache if enabled Fatih Aşıcı
2013-11-28 22:11   ` Peter Korsgaard
2013-11-29  7:10     ` Fatih Aşıcı
2013-11-29  8:14       ` Peter Korsgaard
2013-11-29  8:26         ` Fatih Aşıcı
2013-11-18 22:41 ` [Buildroot] [PATCH 1/2] qt5base: use -device-option to set mkspec variables Arnout Vandecappelle
2013-11-20 12:22   ` Fatih Aşıcı
2013-11-20 12:17 ` [Buildroot] [PATCH v2] " Fatih Aşıcı
2013-11-20 22:18   ` Arnout Vandecappelle

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