Commit Graph

30 Commits

Author SHA1 Message Date
Thomas Petazzoni
e64573c47f cairo, harfbuzz: rework atomic dependencies
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>
2016-02-06 11:16:00 +01:00
Anton Kolesov
da2f182237 cairo: add dependency on atomic operations
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>
2014-08-18 10:58:21 +02:00
Thomas De Schampheleire
2b468f1bd9 libglib2: needs MMU support
Fixes http://autobuild.buildroot.net/results/2e0/2e032c6e44e10f2912935715741c3680a19b9b51/

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-22 12:14:33 +01:00
Thomas De Schampheleire
be084204eb Config.in files: add missing dependencies to toolchain option comments
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>
2013-11-10 23:59:57 +01:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
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>
2013-10-14 22:45:57 +02:00
Spenser Gilliland
51788521b7 libglib2: needs threads
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>
2013-07-27 17:13:37 +02:00
Spenser Gilliland
4b3d949b8a libgtk2: bump to version 2.24.18 and drop DirectFB
* Drop DirectFB support from libgtk2
* bump libgtk2 to version 2.24.18

[Peter: fixup patch whitespace changes]
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-08 22:49:42 +02:00
Peter Korsgaard
0e0e42176d libgtk2: warn that directfb backend is deprecated
And will go away in the future, as discussed here:

http://lists.busybox.net/pipermail/buildroot/2013-February/067977.html

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-28 13:20:47 +01:00
Thomas Petazzoni
0e55b8dc8a libgtk2: replace dependency on X.org server by dependency on libraries
libgtk2 is a X client library, so it doesn't make sense for it to
depend on the X.org server. Instead, it should depend on the X client
libraries.

This patch therefore replaces the dependency on the X server by a
dependency on libX11, libXext, libXrender and fontconfig, that are the
mandatory requirements to build the X backend of Gtk.

[Peter: don't add an empty line before gtk demo help text]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-12 22:44:51 +01:00
Thomas Petazzoni
0710636813 libgtk2: add option to install the gtk-demo program
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2011-05-18 18:22:42 +02:00
Thomas Petazzoni
35b4322ee8 libgtk2: bump to version 2.22.0 and undeprecate Gtk/DirectFB
Finally, we bump Gtk from the old and ancient 2.12 version to the
latest 2.22.0 version currently available.

The DirectFB support is Gtk 2.22 compiles again thanks to the work of
Lionel Landwerlin (it was broken in every Gtk version between 2.12 and
2.20). Therefore, Gtk on DirectFB is no longer marked as deprecated.

In addition to this, we :

 * Upgrade the "reduce-dependencies" patch

 * Remove the "configure" and "no-tests" patches which do not seem to
   be useful anymore

 * Add a libtool patch

We also remove references to a non-existant 2.15 gtk version in
libgtk2.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-10-18 09:25:05 -04:00
Thomas Petazzoni
bb915b1d35 package: add gdk-pixbuf package (splitted out from GTK+)
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
2010-10-18 09:22:10 -04:00
Peter Korsgaard
1c4dbb5fa7 pango: needs C++ for freetype handling
Pango was recently updated to v1.28 as a dependency of webkit, but its
freetype support has unfortunately been rewritten with parts in C++
(since pango 1.25), so adjust dependencies of pango and users of it to
require C++ support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-30 10:09:52 +02:00
Thomas Petazzoni
ad520824a2 libgtk2: mark DirectFB backend as deprecated
libgtk2 on DirectFB is deprecated because it is no longer supported in
recent versions of Gtk. We will remove support for Gtk over DirectFB
in the next Buildroot version unless support for DirectFB in mainline
Gtk is improved in the mean time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-28 12:13:45 +02:00
Peter Korsgaard
b730010c90 package: gettext needs WCHAR support
gettext needs WCHAR support in the toolchain, and as libglib2 depends on
gettext and lots of stuff depends on libglib2, quite a lot of packages
needs to have their dependencies adjusted.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-25 23:38:44 +02:00
Thomas Petazzoni
cc76043bd4 xorg: simplify dependencies on X.org
Many packages used to depend on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7,
but this is useless since BR2_PACKAGE_XORG is a non-existing
configuration option. So, these depencies gets simplified to
BR2_PACKAGE_XORG7 only.

Some others were depending on BR2_PACKAGE_TINYX (which doesn't) exist
or BR2_PACKAGE_XSERVER_xorg || BR2_PACKAGE_XSERVER_tiny ||
BR2_PACKAGE_XSERVER_x11r7. Replace all that mess by a simple
dependency on BR2_PACKAGE_XORG7.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 14:34:22 +02:00
Peter Korsgaard
77754571b2 pkgconfig: add pkgconfig package for target
The host versions shouldn't be visible in Kconfig, so remove the
reference to BR2_PACKAGE_PKGCONFIG everywhere and prefix the host targets
with host-.

At the same time add pkgconfig for the target (E.G. for development) and
let BR2_PACKAGE_PKGCONFIG control that package.

Notice: all defconfigs in the tree have been updated, but make sure to
disable the pkgconfig package (unless you want it) if you use an external
config, otherwise you'll end up with pkgconfig and glib2 in the target.
2009-03-18 19:19:10 +00:00
Peter Korsgaard
bcbd144287 cairo: more fine grained configutation and fix dependencies 2009-03-12 10:21:21 +00:00
Peter Korsgaard
87e333010c libgtk: don't list cups/png/jpeg/tiff as hard dependencies
GTK can be compiled without the above, so don't list them as hard
dependencies, and simply adjust the build depending on what the user
has enabled.
2008-12-26 15:36:12 +00:00
Daniel Laird
d2f7a4abe8 select CUPS if XORG/XORG7/TINYX.
This makes the behaviour the same as before for X users. 
Although is CUPS a necessary dependancy?

Daniel Laird
2008-08-26 13:45:39 +00:00
Daniel Laird
b46a591b91 The changes below add better support for DirectFB and libgtk2.
Should be no different for X builds.

 Config.in  |    3 +--
 libgtk2.mk |    7 +++----
 2 files changed, 4 insertions(+), 6 deletions(-)

Signed-off-by: daniel.j.laird@nxp.com

package/libgtk2/Config.in
Allow DirectFB to turn on LIBGTK2 support without X being enabled.
Disable autoselection of cups.  May not be wanted (Can cause crosscompilation issues).

package/libgtk2/libgtk2.mk
Remove unnessary redefine of PKG_CONFIG_*
Pass $(DISABLE_LARGEFILE) to configure (supports large file or not)
Move 'cups' to X extra dependencies instead of general.
2008-08-26 12:19:29 +00:00
Peter Korsgaard
4683420c4c Kconfig: remove 'default n'
'default n' is the default, so there's no need to say it explicitly.
2008-07-17 20:01:44 +00:00
Ulf Samuelsson
13a88249e5 Remove duplicated select LIBPNG and use alphabetical order for selects 2008-07-07 11:09:20 +00:00
Peter Korsgaard
565e05c8a1 packages: fix pkgconfig depencies and select pkgconfig where needed 2008-06-14 21:01:16 +00:00
John Voltz
5b5cf3bf36 updated libgtk2 2008-03-06 18:15:42 +00:00
Ulf Samuelsson
20af51a7d7 Reintroduce dependencies on tinyx for libgtk[1]2 and cairo 2007-08-11 17:03:04 +00:00
Eric Andersen
a7e49eb2af Merge in X11R7 patches from Julien Letessier, posted 04 Jul 2007. Doesn't
quite work yet for me, but this clearly is a huge project and not having it
quite work on the first pass is hardly unexpected.  We definately want this
stuff in buildroot.
2007-08-10 19:07:51 +00:00
Peter Korsgaard
a47fd558f6 PNG package is called BR2_PACKAGE_LIBPNG 2007-01-17 11:27:14 +00:00
Eric Andersen
50deed8023 select XORG rather than depend on it. 2007-01-17 00:04:21 +00:00
Eric Andersen
8b9d738e49 add Gtk+ version 2 2007-01-11 08:42:34 +00:00