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.
qt: fix plugin installation and change plugin path
Since the conversion of Qt to GENTARGETS in 421cda1fd078f5fa7902f05bd1d2021fd101d9ea, 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.
then, the Makefile in package/config inherits from HOSTCC/HOSTCXX
values with the ccache prefix. However, if we start from a cleaned
build (after make clean), ccache is not compiled yet, so things break.
To solve this, we pass a noccache variant of HOSTCC/HOSTCXX down to
the package/config Makefile.
Gustavo Zacarias [Mon, 14 Mar 2011 17:33:48 +0000 (14:33 -0300)]
openssl: fix compilation for i386
Closes #3445.
OpenSSL emits bswap instructions when building for i386 targets which
unfortunately is only available on 486+ class processors.
Since the normal workaround is detected at build time and we are cross
compiling we need to specify this.
Martin Hicks [Mon, 21 Mar 2011 17:39:43 +0000 (13:39 -0400)]
linux: Add support to specify special Kernel Image make target
This is useful for ARCHes like PowerPC that have a whole lot of
special targets for each different board. The kernel image target
tells make which OpenFirmware machine description file is combined into
the kernel binary.
Mike Frysinger [Mon, 28 Mar 2011 07:18:47 +0000 (03:18 -0400)]
hostcc/hostcxx: fix noccache variant setting
The current code accidentally sets up HOSTCC_NOCCACHE and HOSTCXX_NOCCACHE
only when the respective HOSTCC or HOSTCXX values are not set. So if you
do something like:
make HOSTCC=gcc menuconfig
The build fails because HOSTCC_NOCCACHE is not set anywhere.
Sonic Zhang [Thu, 10 Mar 2011 11:12:41 +0000 (19:12 +0800)]
external toolchain: Only prefix path if specified
Only prefix the external toolchain calls with its absolute path if
BR2_TOOLCHAIN_EXTERNAL_PATH is set, otherwise just assume it will
be available in the path.
Thomas Petazzoni [Sun, 20 Mar 2011 14:19:12 +0000 (15:19 +0100)]
qt: convert to the GENTARGETS infrastructure
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 Korsgaard [Sun, 27 Mar 2011 20:09:07 +0000 (22:09 +0200)]
webkit: prefer X11 backend if both directfb and x11 are available
This shouldn't happen with any sane configuration, but is possible with
randpackageconfig builds, where it breaks the build as libgtk would prefer
X11 and webkit directfb, causing it to fail with:
Peter Korsgaard [Sun, 27 Mar 2011 19:20:04 +0000 (21:20 +0200)]
pkg-config: add usr/share/pkgconfig to search path as well
A few packages (like xlib_xtrans) install their .pc files here, and
upstream pkg-config defaults to searching both /usr/lib/pkgconfig and
/usr/share/pkgconfig, so add it as well.
Peter Korsgaard [Mon, 14 Mar 2011 22:59:10 +0000 (23:59 +0100)]
alsa-utils: fix dependencies
Most alsa utilites depend on specific alsa-lib options, so ensure those
are selected. Arecord is furthermore just a symlink to aplay these days,
so get rid of the option.
Peter Korsgaard [Sun, 13 Mar 2011 20:42:06 +0000 (21:42 +0100)]
grub: fix download URL
The Debian package snapshot service moved to an official debian.org
address last year (http://www.debian.org/News/2010/20100412) with a
slightly different URL structure, so adjust the download URL to match.
Hector Oron [Sun, 13 Mar 2011 20:33:53 +0000 (21:33 +0100)]
alsamixergui: fix download URL
Closes #3457
The Debian package snapshot service moved to an official debian.org
address last year (http://www.debian.org/News/2010/20100412) with a
slightly different URL structure, so adjust the download URL to match.
Hector Oron [Sun, 13 Mar 2011 20:28:18 +0000 (21:28 +0100)]
fakeroot: fix download URL
Closes #3451
The Debian package snapshot service moved to an official debian.org
address last year (http://www.debian.org/News/2010/20100412) with a
slightly different URL structure, so adjust the download URL to match.
Peter Korsgaard [Sat, 12 Mar 2011 21:24:34 +0000 (22:24 +0100)]
makedevs: don't call /bin/sync after creating nodes
Closes #3475
There's no real reason to sync after creating the device nodes,
and it slows down the file system image creating quite a lot on
busy systems, so get rid of it.
Peter Korsgaard [Sat, 12 Mar 2011 21:10:56 +0000 (22:10 +0100)]
Makefile.package.in: make <pkg>_SOURCE optional
For packages where the sources are included in buildroot (E.G. makedevs).
We unfortunately already use no <pkg>_SOURCE to mean <pkg>_<version>.tar.gz,
in several packages (and for git/svn/bzr support), so you need to
define <pkg>_SOURCE to the empty string to use it.
These patches do not build with more recent versions of uClibc
going back as far as at least 2008. More recent compiler versions
seem to do fine without these patches, so lets remove them so
libstdc++ locale support will actually build for gcc 4.2.4.
Peter Korsgaard [Thu, 10 Mar 2011 10:36:18 +0000 (11:36 +0100)]
pkg-config: only prepend sysroot to includedir / libdir
Only append sysroot to includedir / libdir, and not to other variables,
when a variable is requested (--variable=<name>), similar to how it
is done for the -I / -L flags in cflags/ldflags.
The problem is that pkg-config doesn't have any explicit cross compilation
support, so there's some confusion about what are host paths and what are
target ones. Includedir / libdir are paths for the (cross) compiler, so
those should normally have sysroot prepended, but other variables might
refer to target paths instead.
This fixes the installation of the xfonts-* packages, which uses
pkg-config --variable=fontrootdir fontutil to figure out the target
installation location for fonts.
Readd legacy LZMA support since older patched kernels might be using it.
Introduce an XZ target filesystem option for the new format.
[Peter: add a seperate xz target for squashfs-target as well] Signed-off-by: Gustavo Zacarias <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>