Bug 6656 - Build Qt5 with ccache
Summary: Build Qt5 with ccache
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 minor
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-04 18:14 UTC by espenfk
Modified: 2014-01-07 07:34 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description espenfk 2013-11-04 18:14:02 UTC
Hello.

I have tried to get Buildroot (latest from git) to build Qt5 with ccache. Some of the packages (at least) does it by defining the compiler to be something like "$(CCACHE) $(TARGET_CROSS)". I tried to change the package/qt/qt5base/qt5base.mk file to change the output/build/qt5base-5.1.1/mkspecs/devices/linux-buildroot-g++/qmake.conf file in such a way that ccache will work, but it fails.

It fails with:
Running configuration tests...
Failed to process makespec for platform 'devices/linux-buildroot-g++'
Project ERROR: CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=<path>
Could not read qmake configuration file /home/espenfk/imx6/buildroot/output/build/qt5base-5.1.1/mkspecs/devices/linux-buildroot-g++/qmake.conf.
Error processing project file: /dev/null

I have tried many things from the most obious and easy: patch line 230 in package/qt/qt5base/qt5base.mk to:
$(call QT5BASE_CONFIG_SET,BUILDROOT_CROSS_COMPILE,$(CCACHE) $(TARGET_CROSS))

to use $(notdir $(TARGET_CROSS)) and adding $(dir $(TARGET_CROSS)) to the path (also without ccache). But the only thing that seems to work is to have the original setup and that does not work with ccache.
Comment 1 Thomas Petazzoni 2014-01-07 07:34:33 UTC
Support for building Qt5 with ccache has been added in:

commit cb08d7b05db54eb7b2c52deabbd57c541777a422
Author: Fatih Aşıcı <fatih.asici@gmail.com>
Date:   Fri Nov 29 10:47:49 2013 +0200

    qt5base: use ccache if enabled
    
    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>
    Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

So I'm marking this bug as fixed.