Message ID | 1384436438-2119-2-git-send-email-fatih.asici@gmail.com |
---|---|
State | Superseded |
Headers | show |
>>>>> "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?
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
>>>>> "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)"
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.
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)" \
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(-)