There are two possible configurations for Qt4 installation: standard
(with X11) and embedded (for framebuffer). Both configurations cannot be
used together for one installation and some options are specific to one
configuration or the other.
Add a choice to select the standard or the embedded installation to add
X11 support.
The integration is done in order to make maximum use of the current
configuration logic, for example by using the same mkspecs files.
Signed-off-by: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently in Buildroot we have a BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
variable indicating which architectures support Qt Webkit. We also make
Qt Script depending on that variable, so we are assuming that Qt Script
is supported for exactly the same architectures which support Qt Webkit,
and that's not true.
For instance, Qt Webkit is not supported for MIPS64 when
using the n32 ABI, but Qt Script is actually supported. So, if we make
BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT depending on !BR2_MIPS_NABI32 we
will also disable Qt Script, because as I said before, Qt Script depends
on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT, and we don't want that because
Qt Script works.
We fix this by creating another variable called
BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT to state which architectures support
Qt Script, so now we can differentiate them from the ones supporting Qt
Webkit.
Related:
http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Qt Webkit Module uses pthread_getattr_np() which is implemented in
toolchains with NPTL. Otherwise the compilation will fail showing this
error message:
wtf/StackBounds.cpp: In member function ‘void
WTF::StackBounds::initialize()’:
wtf/StackBounds.cpp:172:38: error: ‘pthread_getattr_np’ was not declared
in this scope
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Qt Script Module uses pthread_getattr_np() which is implemented in
toolchains with NPTL. Otherwise the compilation will fail showing this
error message:
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp: In
function ‘void* QTJSC::currentThreadStackBase()’:
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp:692:42:
error: ‘pthread_getattr_np’ was not declared in this scope
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 93917b6980 (2013.11) introduced
the installation of the binary .qm translation files, unconditionally.
However, the installed size is very large for some embedded systems
(about 8 MB), and they are not needed in many cases.
In order to avoid such a waste of storage space, commit
2ff329412f (2014.08) made this
installation an option that could be disabled. For backward
compatibility, the option default was set to yes.
Given the size of these files, and that they had never been installed
by Buildroot versions before 2013.11, change the default to not
installing them.
Interested users can still activate it as needed.
Also update and improve the help text.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 93917b6980 introduced the
installation of the binary .qm translation files, unconditionally.
This patch introduces an option to disable this behavior, saving
almost 8MB of space.
[Thomas: rename option to BR2_PACKAGE_QT_TRANSLATION_FILES instead of
BR2_PACKAGE_QT_INSTALL_TRANSLATION_FILES, and move its definition
around the installation of examples/demos rather than in the middle of
the options for the different modules.]
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When building Qt in a minimal configuration, a couple of Qt modules
(QtNetwork, QtSql, QtTest and QtXml) are built in addition to QtCore,
so they are installed in the sysroot but they are not copied into the
target tree.
Among these modules that could be built but optionally installed, only
QtTest had no option to allow being installed in the target fs.
Thus, programs linking against QtTest would successfully build, but
would miserably fail at runtime due to this missing dependency.
So far, the only package triggering this issue is OpenCV (the highgui
module built with Qt support).
A followup patch will add this missing dependency in OpenCV using this
new option.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since qt's version has been bumped to 4.8.6 we can add support for
webkit on MIPS64 architectures (both big and little endian). It wasn't
possible on 4.8.5 because QtScript wasn't supported on MIPS64, but that
has been fixed on 4.8.6.
With reference to:
https://codereview.qt-project.org/#change,73022
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <Markos.Chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libegl to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libgles to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The BR2_PACKAGE_QT_JAVASCRIPTCORE option was available to force the
activation or disabling of the JIT compiler in the Qt Javascript
interpreter. However, the JIT compiler is not available for all
architectures, so forcing its activation does not always
work. Moreover, Qt knows by itself for which architectures JIT support
is possible, and will automatically enable it if possible.
Therefore, this option was in fact useless, and causing build problems
when enabled on architectures for which the JIT support was not
available. This commit removes this option and there is no
replacement: Qt will enable JIT at compile time when possible.
Fixes:
http://autobuild.buildroot.org/results/aae/aaeb82753b7654eeca679ded5d0211ceebda3ea2/build-end.loghttp://autobuild.buildroot.org/results/367/3670e4f03ff0ce114c90bd7139243d82c427b52a/build-end.log
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
WebKit has some architecture specific support, and therefore is not
necessarily available for all architectures. Make sure the Qt WebKit
option cannot be selected on those architectures that are not
supported.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Use the following to test:
/usr/share/qt/examples/opengl/hellogl_es2/hellogl_es2 -qws -display powervr
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Sundareson, Prabindh <prabu@ti.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Sinan Akpolat <sinan@linkas.com.tr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In order to solve
http://autobuild.buildroot.org/results/34f6843137efda20626af72714c110280ec577d7/build-end.log,
this patch makes the D-Bus package as well as all the packages that
select the D-Bus package 'depends on BR2_USE_MMU'.
In addition, for the specific case of gvfs, the missing
BR2_TOOLCHAIN_HAS_THREADS dependency is added (threads are required by
D-Bus, so they are also required by gvfs which selects D-Bus).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Some parts of alsa-lib correctly use threads only when available, but
some other parts, especially certain PCM plugins, unconditionally
require threads. While it would certainly be possible to fix alsa-lib
to only use threads when available, it probably doesn't make much
sense, since on an embedded system that has audio, we are probably
powerful enough to enable thread support in the C library.
Fixes:
http://autobuild.buildroot.org/results/e14469be7f6171f4c8c0c09c8e32943819f7938b/build-end.log
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
As can be seen on the build result at
http://autobuild.buildroot.org/results/20f1078ef7dc5f187b04c63ef70e8b43acf9bb3a/build-end.log,
D-Bus requires thread support in the toolchain.
This commit adjusts the Kconfig dependencies of D-Bus and all its
reverse dependencies to depend on thread support in the toolchain.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Otherwise configure errors out with:
Error: QtDeclarative was requested, but it can't be built due to
QtScript or QtGui being disabled.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The QtScriptTools library depends on the QtGui library, as can be seen
in the src/src.pro file of the Qt sources :
!contains(QT_CONFIG, no-gui):contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
If the scripttools are enabled in the Qt configuration, but not the
gui, then the scripttools library is not built by Qt, and the
Buildroot build process fails with:
cp: cannot stat `/home/test/outputs/test-502/host/usr/sh4-unknown-linux-gnu/sysroot/usr/lib/libQtScriptTools.so.*': No such file or directory
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>
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>
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>
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>
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>
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>