This commit handles the reverse dependency tree of cairo in terms of
atomic dependencies. There are two main changes:
- cairo in fact no longer needs atomic operations. It can perfectly
build without any __sync built-in, as was tested using an ARC
toolchain without atomics, and a SPARC toolchain. Optionally, Cairo
can use the __atomic builtins provided by gcc >= 4.7, so support
for this is added as well. Thanks to this change, the
BR2_ARCH_HAS_ATOMICS dependency is removed from cairo and all its
reverse dependencies.
- harfbuzz does require the __sync built-in for 4 bytes integers, so
we add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 to harfbuzz and all
its reverse dependency, the main one being the pango package. Due
to this, the vast majority of gtk-related packages are moved to a
dependency on BR2_ARCH_HAS_ATOMICS (which used to be due to cairo)
to a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (due to pango ->
harfbuzz).
In detail:
- cairo
Remove BR2_ARCH_HAS_ATOMICS dependency, link against -latomic when
gcc >= 4.8 in order to use the __atomic functions.
- harfbuzz
Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4
- cairomm, gst-plugins-good, gst1-plugins-good, libgdiplus,
libsvg-cairo, weston
Remove BR2_ARCH_HAS_ATOMICS dependency (since cairo no longer needs
atomics)
- enlightenment, cwiid, gst-plugins-bad, gst-plugins-base,
gst1-plugins-bad, gst1-plugins-base, gtkmm3,
libevas-generic-loaders, libfm, libgail, libgtk2, libgtk3, librsvg,
openbox, opencv, opencv3, pango, pangomm, pcmanfm, pinentry,
rrdtool, webkit, webkitgtk24, xscreensaver
Switch from a BR2_ARCH_HAS_ATOMICS dependency to a
BR2_TOOLCHAIN_HAS_SYNC_4 (they depend on pango, harfbuzz, gtk, or
some other related package)
- directfb
Remove BR2_ARCH_ATOMICS dependency of the BR2_PACKAGE_DIRECTFB_SVG
(since cairo can build without atomics), but add a
BR2_TOOLCHAIN_HAS_SYNC_4 dependency on BR2_PACKAGE_DIRECTFB itself
since it does use __sync built-ins. This replaces the !BR2_sparc
dependency.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mark webkit as deprecated now that midori has been updated to use
webkitgtk24.
It has multiple CVEs under it's belt and is no longer maintained
upstream.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Move this option to package/pkg-autotools.mk so it applies to all packages.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The webkit package is not available on ARM < v5, so this commit
switches to using the newly introduced BR2_ARM_CPU_ARM* options
instead of per ARM core options.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
--disable-dependency-tracking was added globally to
package/pkg-autotools.mk by this commit:
http://git.buildroot.net/buildroot/commit/?id=3e37b0fc6cbbe2245e39fedb247a381fb4e0d992
This causes a failure in webkit because some source files are generated
after the Makefile is created. To fix this, we add
--enable-dependency-tracking to the configure options.
Fixes:
http://autobuild.buildroot.net/results/5beea967b02df202bca1d42afd6fa8c2c13383d5/
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_AUTORECONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_AUTORECONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_INSTALL_STAGING_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_INSTALL_STAGING_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_INSTALL_TARGET_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_INSTALL_TARGET_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings;
fix weston's comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When selecting an option of a package, that package must also be
selected, otherwise the package is not built.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Otherwise it shows up indirectly when toolchain options aren't enough
and then vanishes when they are fulfilled.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b2a061930c1/
This patch indeed fixes several problems based on the autobuilder-defconfig used.
1) Add missing dependencies when opengl is detected by webkit to satisfy autobuilder:
checking which GPU acceleration backend to use... opengl
checking for XCOMPOSITE... yes
checking for XDAMAGE... no
configure: error: Package requirements (xdamage) were not met:
2) ... but opengl should not have been detected with the used defconfig:
$ grep MESA .config
BR2_PACKAGE_MESA3D=y
which will lead to a link error although webkit configure found all dependencies:
/home/br2/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.7.3/../../../../mips-linux-gnu/bin/ld: cannot find -lGL
3) same is valid for glx, having GL/glx.h means nothing
4) add some configure options for gles/egl as well, just to make sure ;)
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The toolchain currently doesn't build for nommu ARM and is in need of
serious work.
Problem is there are no emulation targets and real ARM(7TDMI/720T/740T)
hardware that's capable of running linux (enough memory, having a
memory controller...) is VERY rare and uses very old versions to
make it usable.
The ARM nommu focus should go into Cortex M series processors that are
obtainable at reasonable cost on modern hardware that has external
memory controllers.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add icu to the comment-list of packages requiring threads.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Because mmu dependency was not propagated move it to
BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS to automatically propagate it.
It can ben moved to BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS because like
target architecture dependencies it doesn't modify the comment string.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A number of packages that select Pango (which depends on BR2_USE_MMU)
forget to also depends on BR2_USE_MMU. This commit fixes that.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
icu does not recognize 'uclinux' as a supported platform. While making
it recognize uclinux is easy, there is another problem down the road:
icu does very weird things to generate an ELF library containing
static data (libicudata.a), and the generated library being ELF, it is
not compatible with the FLAT binary format expected by uclinux
platforms such as Blackfin in FLAT format.
Therefore, we simply disallow the selection of icu on FLAT
platforms.
Note that adding a dependency on BR2_BINFMT_ELF doesn't work, because
BR2_BINFMT_FDPIC is considered to be separate (even if technically
FDPIC is a derivative of ELF). That's why the dependency we're adding
is "depends on !BR2_BINFMT_FLAT" and not "depends on BR2_BINFMT_ELF".
Fixes:
http://autobuild.buildroot.org/results/b41/b415fed7fae4012bad7d8b53a481bd71bdab716f/build-end.log
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
webkit needs the ARM blx instruction, which is only available on >=
ARMv5t, so we have to make sure the webkit package cannot be enabled
on < ARMv5t. In order to achieve this, this commit introduces the
BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS hidden Config.in knob, which avoids
duplicating all over the place the complex architecture dependencies
of webkit.
Fixes:
http://autobuild.buildroot.org/results/fdf/fdf8bc7660ac251792d0542d2729ea22753d3789/build-end.log
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.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>
Apply a patch from upstream.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 33a9d34ff3 fixed the staging
install for webkit, which was hanging due to deadlock during parallel
make install.
This problem also afflicts the target install, which is fixed by this patch.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
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>
Parallel 'make install' seems to deadlock here (make 3.81). Work around it
by disabling parallel make for the install step.
We only disable parallel make for the install step, as the build step works
with parallel make, and webkit is a huge package, so build time goes up
significantly with make -j1.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Also apply the following patches:
- upstream fix for 32-bit autotools
- upstream fix for conditional gstreamer build of gtklauncher
- upstream fix for detecting the latest harfbuzz
- Update existing patch for disabling docs
- Update existing patch for execinfo_h
- upstream patch for the MIPS DFG support. This fixes
compilation problems on MIPS.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The comment should only be displayed if BR2_PACKAGE_LIBGTK2
is not selected.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
See Source/WTF/wtf/Platform.h. Webkit is only supported for
arm, armeb, i386, mips, mipsel, powerpc, sh, sparc, x86_64.
[Thomas P: propagate dependency to the midori package.]
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a dependency of the libglib2 package on thread
support in the toolchain, since upstream libglib2 doesn't build
without thread support. The commit is rather large as it involves
propagating the dependency on thread support to all reverse
dependencies of the libglib2 package.
[Thomas: squash all patches into one, make a few minor fixes, the most
important one being to not add comments about MMU requirement when a
package doesn't work on !MMU platforms.]
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Remove bison-2.6-compat patch as it has been incorporated upstream.
Remove fix build issue with old gtk as gtk has been bumped to a newer
version.
Remove fix-build-with-gcc-4-6 as it has incorporated upstream.
Remove directfb patches due to depreciation
Remove pool patch as it is no longer required
Remove pthread_getattr_np as webkit no longer uses this function.
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Michael J. Hammel <mjhammel@graphics-muse.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixes:
http://autobuild.buildroot.net/results/86534588d192fe1515ce520c109e884864871d94/
and others.
Webkit includes X11 headers even when configuerd for DirecfFB, because
the test within GNUmakefile.in does not work properly. Autoreconfigure
fails because of incompatibility with buildroot's autotools version.
For now a patch for GNUmakefile.in fixes this problem.
Since webkit release is quite old it doesn't seem to be worth doing more,
on the long run we should bump the version.
Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
WebKit 1.2.7 does not build with Bison 2.6, but Bison 2.6 is our
host-bison, so if the build machine has bison 2.6, or if by chance it
gets built before webkit, then the build fails with errors such as:
http://autobuild.buildroot.org/results/0b7cfbebd4388cabfa243b5ef74e3b6316fd9fd9/build-end.log
(the real error is not visible due to the overwhelming number of
warnings).
So, we add a patch that modifies WebKit to make it compatible with
Bison 2.6 (patch taken from upstream), and we also add 'host-bison' to
the WebKit dependencies, so that we are sure that a well-known version
of bison is used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Building webkit with a recent gcc versions gives gazillions of
warnings such as 'warning: cast from 'WTF::AlignedBufferChar* {aka
char*}' to 'JSC::Identifier*' increases required alignment of target
type [-Wcast-align]'.
Those make the webkit build very noise, and hard to debug, so let's
silence those warnings.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This fixes the "Unknown parameter for tags/attrs" build error.
Backported from commit 88e08c43d0200a4b06a298b7d2541965eebc0afe
[PATCH] 2011-04-17 Thierry Reding
<thierry.reding@avionic-design.de>
Reviewed by Adam Barth.
Fix build with GCC 4.6.
* dom/make_names.pl: Execute preprocessor without the -P option. The
preprocessor in GCC 4.6 eats empty lines, effectively breaking the
parsing performed by this script. Dropping the -P option when invoking
the preprocessor keeps the empty lines but as a side-effect also adds
additional linemarkers.
From the cpp manpage:
-P Inhibit generation of linemarkers in the output from the
preprocessor. This might be useful when running the preprocessor
on something that is not C code, and will be sent to a program
which might be confused by the linemarkers.
The linemarkers are not problematic, however, because the script
properly handles them by ignoring all lines starting with a #.
Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
Tested-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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:
No package 'gtk+-directfb-2.0' found
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Bump to version 1.2.6 which includes security fixes for:
CVE-2010-1791, CVE-2010-3812, CVE-2010-3813, CVE-2010-4197,
CVE-2010-4198, CVE-2010-4204 and CVE-2010-4206.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>