qmake is built during the execution of Qt ./configure script, so it is
built just with a normal make, not taking advantage of parallel
compilation. Passing MAKEFLAGS=-j$(BR2_JLEVEL) allows to speed up the
qmake compilation process quite a bit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Since the conversion of Qt to GENTARGETS in
421cda1fd0, plugin installation could
break in some situations, for example if SQL support was enabled, but
without any SQL driver: the sql plugin directory doesn't exist, but
our qt.mk wanted to copy it.
This patches simplifies the plugin handling a bit, and basically
copies all Qt plugins installed in the $(STAGING_DIR) to the
$(TARGET_DIR), assuming Qt has only built and installed the needed
plugins.
Moreover, instead of installing plugins to usr/plugins, which is a odd
location, we install them in usr/lib/qt/plugins. This requires a small
patch to Qt ./configure script so that even when -hostprefix is used,
the -plugindir option is taken into account.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In addition to converting the qt package to the GENTARGETS
infrastructure, this commit also does the following (related) things
in the Qt package:
* Create a BR2_PACKAGE_QT_CONFIG_FILE option, which can be used to
pass a custom Qt configuration file, such as the ones found in
src/corelib/global/qconfig-*.h. This used to be possible, but
required changing qt.mk directly, which isn't really how we
configure things in Buildroot.
* Remove the BR2_PACKAGE_QT_EMB_PLATFORM option, the embedded
platform name is now computed directly in qt.mk.
* The QT_CONFIGURE variable, which hosted all ./configure options,
has been renamed to QT_CONFIGURE_OPTS, for consistency with what we
do in the AUTOTARGETS infrastructure.
* The QT_DEP_LIBS variable has been renamed to QT_DEPENDENCIES, so
that dependencies are properly handled by the GENTARGETS
infrastructures.
* The QT_QMAKE_SET macro (used to adjust the path/flags of the
compiler/linker) has been extended with an additional argument,
which allows to pass the source directory of Qt.
* All the installation procedure has been rewritten to fit within the
GENTARGETS mechanism.
[Peter: fixed minor issues pointed out by Will]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Will Wagner <willw@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Seems I somehow got this wrong back in December (bff5248202).
At the same time fix a typo in the comment.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add an option to use the system sqlite library.
Also drop sqlite2 stub since it's pointless.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Allow the user to build Qt with the QT_NO_QWS_CURSOR macro set.
Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The Qt build system installs all host programs (uic, rcc, moc, qmake,
etc.) in the same base directory as the headers and libraries, but
that's not great for Buildroot.
So we now move the host programs and the mkspecs files to the
$(HOST_DIR), and create a qt.conf, which tells qmake where everything
is located.
Tested with Qmake and Cmake as build system for a simple Qt
application.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#2371
Bug 2371 was a Qt compilation issue when MySQL support was enabled,
because the Qt configuration tests were looking at host MySQL
libraries.
Even though I couldn't reproduce the bug with MySQL libraries
installed on my host, there was clearly a problem since
-I/usr/include/mysql and -L/usr/lib/mysql were part of the compilation
flags when building those tests.
This was caused by the fact that /usr/bin/mysql_config was used
instead of $(STAGING_DIR)/usr/bin/mysql_config. We fix this by passing
the path to the correct mysql_config script using the -mysql_config Qt
./configure argument. Since this mysql_config script returns the
correct flags for libraries and headers path, the hardcoded -I and -L
flag in qt.mk are no longer needed.
With this in place, Qt is no longer compiled with -I/usr/include/mysql
and -L/usr/lib/mysql, which presumably should fix the problem reported
in bug 2371.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Building WebKit or Script engine support would select JIT support
in JavaScriptCore. Not all platforms support JIT, so remove the
selects to allow the option to be modified by users.
Signed-off-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Also add option to build example and demo code
[Peter: fix patch handling]
Signed-off-by: Paul Jones <paul@pauljones.id.au>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
qt's configure script is getting confused now that we're passing --sysroot=
in QMAKE_CC / QMAKE_CXX, causing misdetection of features and runtime
breakage.
Fix it by passing --sysroot in CFLAGS/CXXFLAGS instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
If BR2_PACKAGE_QT_AUDIO_BACKEND=y, QtMultimedia requires the audio backend
to be already in staging in order to compile.
The backend is system-dependent, but since buildroot builds Linux systems
only, it is safe to assume that the it will always be ALSA.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We don't have the needed dependencies in BR for most of the SQL drivers,
so mark those options as broken.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
With BR2_PACKAGE_QT_MULTIMEDIA=y, libQtMultimedia.so.* was not
copied to the target directory.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Gstreamer has complicated dependencies (because of glib2), so use
depends on rather than select. At the same time default phonon support
to Y if gstreamer is available, as this support is likely wanted.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The recent change to use config.guess to figure out GNU_HOST_NAME
broken the x86x86fix detection for 32bit hosts, as config.guess
returns something like i686-pc-linux-gnu rather than something with
*-unknown-linux-* like we used to use.
Fix it by simply looking for "linux" instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Instead of having a configuration option BR2_GNU_BUILD_SUFFIX, let's
use config.guess to guess the build system type.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
qt 4.6.x has a number of new configure options, and needs a patch to
work on uClibc.
Signed-off-by: Frederik Vannoote <frederik.vannoote@barco.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
I know 4.6.0 is out, but I don't have a setup to test it at the moment,
so lets stick with 4.5.x for now.
There's apparently no .tar.bz2 of 4.5.3.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
get.qtsoftware.com doesn't seem to work any more. The links on the Qt
website now points to get.qt.nokia.com, so use that instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit f98547622 (make sure to install all Qt-fonts and true-type-fonts)
changed Qt to install all .qpf fonts to the target instead of only a
hardcoded subset. Some of those fonts are unfortunately quite big (1-2MB)
and are not always needed (japanese, unicode).
Instead add a font selection in Kconfig similar to how it is done for
pixel depths, and default to the subset we were previously using.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
It looks like that nobody is using the commercial license option
because the code is broken (BR2_QT_COMMERCIAL_PASSWORD typo) and
dist.trolltech.com became silent long ago and nobody complained about.
So remove the broken and unused stuff.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The Kconfig menu "Pixel depths" of Qt provides a list with all
selectable pixel depths and additionally the option "all".
When "all" is selected, the list with all available pixel depths
disappears.
Because this disappearing of available pixel depths makes no sense
under usability aspects, simply remove the option "all".
The user could enable all available pixel depths by selecting each
individual depth anyway. So no functionality is lost.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
ccache and precompiled headers don't work together, so disable
precompiled headers when ccache is enabled.
The benefit of ccache compiling Qt a second or more time is much
higher than the costs of disabled precompiled headers in the first run.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Qt gained some more qpf-fonts and also provides some true-type-fonts.
Make sure to install them all inclusive ttf-fonts when freetype-support
is enabled. Additionally the empty 'fontdir' file is really not needed.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The Qt configure script gained the option '-no-xinerama' in the
meantime. So use it instead hacking the script itself using sed.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
QT_CONFIGURE can never gain double quotes, so there
is no point to remove some.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In Qt there are virtually hundreds of internal debug flags like
TSLIBMOUSEHANDLER_DEBUG for every module or even C++ class. There
is no reason to enable a single such flag when Qt is build with
debugging symbols and others not.
Signed-off-by: Michael Roth <mroth@nessie.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>