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>
This commit is contained in:
Thomas Petazzoni 2016-02-02 16:31:28 +01:00
parent ab73b9284e
commit e64573c47f
34 changed files with 56 additions and 59 deletions

View File

@ -1,6 +1,5 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7

View File

@ -16,6 +16,12 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
CAIRO_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DCAIRO_NO_MUTEX=1"
endif
# cairo can use C++11 atomics when available, so we need to link with
# libatomic for the architectures who need libatomic.
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8),y)
CAIRO_CONF_ENV += LIBS="-latomic"
endif
CAIRO_CONF_OPTS = \
--enable-trace=no \
--enable-interpreter=no

View File

@ -3,7 +3,6 @@ config BR2_PACKAGE_CAIROMM
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBSIGC
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_WCHAR # libglib2
@ -16,6 +15,5 @@ config BR2_PACKAGE_CAIROMM
comment "cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP

View File

@ -14,7 +14,7 @@ config BR2_PACKAGE_CWIID
if BR2_PACKAGE_CWIID
config BR2_PACKAGE_CWIID_WMGUI
bool "wmgui"
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk3 -> pango -> harfbuzz
depends on BR2_PACKAGE_XORG7 # libgtk2
depends on BR2_USE_WCHAR # libgtk2 -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2

View File

@ -4,7 +4,7 @@ config BR2_PACKAGE_DIRECTFB
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
depends on !BR2_TOOLCHAIN_USES_MUSL # sigval_t issue
depends on !BR2_sparc # needs atomic operation __sync_fetch_and_add
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_ZLIB
help
@ -147,7 +147,6 @@ config BR2_PACKAGE_DIRECTFB_PNG
config BR2_PACKAGE_DIRECTFB_SVG
bool "enable SVG support"
depends on BR2_ARCH_HAS_ATOMICS # cairo
default y
select BR2_PACKAGE_LIBSVG_CAIRO
@ -163,6 +162,6 @@ config BR2_PACKAGE_DIRECTFB_TESTS
endif # BR2_PACKAGE_DIRECTFB
comment "directfb needs a (e)glibc or uClibc toolchain w/ C++, threads, gcc >= 4.5"
depends on !BR2_sparc # needs atomic operation __sync_fetch_and_add
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || BR2_TOOLCHAIN_USES_MUSL

View File

@ -10,8 +10,8 @@ config BR2_PACKAGE_ENLIGHTENMENT
depends on BR2_USE_MMU
depends on BR2_PACKAGE_EFL
depends on BR2_PACKAGE_XORG7
# libevas-generic-loaders-svg -> librsvg -> pango -> cairo
depends on BR2_ARCH_HAS_ATOMICS
# libevas-generic-loaders-svg -> librsvg -> pango -> harfbuzz
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_EFL_X_XLIB
select BR2_PACKAGE_EFL_JPEG # needed at runtime by enlightenment_start
select BR2_PACKAGE_EFL_PNG # needed at runtime by enlightenment_start
@ -31,4 +31,4 @@ config BR2_PACKAGE_ENLIGHTENMENT
comment "enlightenment needs a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4

View File

@ -298,12 +298,12 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_OPUS
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RSVG
bool "rsvg"
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
depends on BR2_ARCH_HAS_ATOMICS # librsvg -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
comment "rsvg plugin needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDL
bool "sdl"

View File

@ -85,12 +85,12 @@ config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_OGG
config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO
bool "pango font renderer"
depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
depends on BR2_ARCH_HAS_ATOMICS # pango -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
select BR2_PACKAGE_PANGO
comment "pango plugin needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA
bool "theora (*.ogg video)"

View File

@ -174,7 +174,6 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG

View File

@ -623,14 +623,14 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG
bool "rsvg"
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
depends on BR2_ARCH_HAS_ATOMICS # librsvg -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
help
RSVG plugin library
comment "rsvg plugin needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
bool "gl"

View File

@ -129,14 +129,14 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG
config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO
bool "pango font renderer"
depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
depends on BR2_ARCH_HAS_ATOMICS # pango -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
select BR2_PACKAGE_PANGO
help
Pango-based text rendering and overlay
comment "pango plugin needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA
bool "theora (*.ogg video)"

View File

@ -281,7 +281,6 @@ comment "v4l2 needs a toolchain w/ headers >= 3.0"
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
help

View File

@ -5,7 +5,7 @@ config BR2_PACKAGE_GTKMM3
# and GCC >= 5.3.
# https://sourceware.org/bugzilla/show_bug.cgi?id=19405
depends on !BR2_nios2
depends on BR2_ARCH_HAS_ATOMICS # libcairomm/libgtk3/libpangomm -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pangomm, libgtk3 -> pango -> harfbuzz
depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/libgtk3 -> libglib2
@ -24,6 +24,6 @@ config BR2_PACKAGE_GTKMM3
comment "gtkmm3 needs a toolchain w/ C++, wchar, threads, gcc >= 4.8"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -1,6 +1,7 @@
config BR2_PACKAGE_HARFBUZZ
bool "harfbuzz"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_SYNC_4
help
HarfBuzz is an OpenType text shaping engine
@ -10,4 +11,5 @@ config BR2_PACKAGE_HARFBUZZ
glib2 and icu packages if they are selected.
comment "harfbuzz needs a toolchain w/ C++"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP

View File

@ -27,14 +27,14 @@ config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
depends on BR2_USE_WCHAR # librsvg -> glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
select BR2_PACKAGE_CAIRO
help
This option enables the Evas generic SVG loader
comment "SVG loader needs a toolchain w/ wchar, threads, C++"
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP

View File

@ -9,7 +9,7 @@ config BR2_PACKAGE_LIBFM
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_INSTALL_LIBSTDCPP # libgtk2
depends on BR2_ARCH_HAS_ATOMICS # libgtk2
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz
help
A glib/gio-based library providing some file management
utilities and related-widgets missing in gtk+/glib. This is
@ -23,6 +23,6 @@ config BR2_PACKAGE_LIBFM
comment "libfm needs X.org and a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_XORG7

View File

@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBGAIL
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
depends on BR2_USE_MMU # pango -> libglib2
depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
depends on BR2_ARCH_HAS_ATOMICS # pango -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
depends on BR2_PACKAGE_LIBGTK2
depends on BR2_DEPRECATED_SINCE_2015_08
select BR2_PACKAGE_PANGO
@ -27,5 +27,5 @@ comment "libgail needs a toolchain w/ C++, wchar, threads"
depends on BR2_PACKAGE_LIBGTK2
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_DEPRECATED_SINCE_2015_08

View File

@ -8,7 +8,6 @@ config BR2_PACKAGE_LIBGDIPLUS
depends on BR2_USE_WCHAR # libglib2 -> gettext
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_ARCH_HAS_ATOMICS # cairo
help
An Open Source implementation of the GDI+ API.
@ -16,6 +15,5 @@ config BR2_PACKAGE_LIBGDIPLUS
comment "libgdiplus needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_PACKAGE_XORG7
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -17,7 +17,7 @@ config BR2_PACKAGE_LIBGTK2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
help
The GTK+ version 2 graphical user interface library
@ -35,7 +35,7 @@ endif
comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_PACKAGE_XORG7
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS

View File

@ -15,7 +15,7 @@ config BR2_PACKAGE_LIBGTK3
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
help
The GTK+ version 3 graphical user interface library
@ -84,6 +84,6 @@ endif
comment "libgtk3 needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS

View File

@ -11,7 +11,7 @@ config BR2_PACKAGE_LIBRSVG
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
help
The rsvg library is an efficient renderer for Scalable
Vector Graphics (SVG) pictures.
@ -20,5 +20,5 @@ config BR2_PACKAGE_LIBRSVG
comment "librsvg needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP

View File

@ -1,6 +1,5 @@
config BR2_PACKAGE_LIBSVG_CAIRO
bool "libsvg-cairo"
depends on BR2_ARCH_HAS_ATOMICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_SVG
select BR2_PACKAGE_LIBSVG

View File

@ -4,7 +4,7 @@ config BR2_PACKAGE_OPENBOX
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_USE_WCHAR # glib2
depends on BR2_ARCH_HAS_ATOMICS # pango -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
depends on BR2_INSTALL_LIBSTDCPP # pango -> freetype
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBXML2
@ -21,7 +21,7 @@ config BR2_PACKAGE_OPENBOX
comment "openbox needs a toolchain w/ C++, threads, wchar"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
!BR2_INSTALL_LIBSTDCPP
depends on BR2_PACKAGE_XORG7

View File

@ -179,7 +179,7 @@ config BR2_PACKAGE_OPENCV_WITH_GTK
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # libgtk2 -> glib2
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz
depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
select BR2_PACKAGE_LIBGTK2

View File

@ -69,7 +69,7 @@ config BR2_PACKAGE_OPENCV3_WITH_GTK
comment "gtk2 support needs libgtk2"
depends on BR2_USE_MMU # libgtk2 -> glib2
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK2
config BR2_PACKAGE_OPENCV3_WITH_GTK3
@ -78,7 +78,7 @@ config BR2_PACKAGE_OPENCV3_WITH_GTK3
comment "gtk3 support needs libgtk3"
depends on BR2_USE_MMU # libgtk3 -> glib2
depends on BR2_ARCH_HAS_ATOMICS # libgtk3 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK3
config BR2_PACKAGE_OPENCV3_WITH_QT

View File

@ -4,7 +4,7 @@ config BR2_PACKAGE_PANGO
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # freetype support
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_CAIRO
@ -24,6 +24,6 @@ config BR2_PACKAGE_PANGO
comment "pango needs a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_INSTALL_LIBSTDCPP

View File

@ -4,7 +4,7 @@ config BR2_PACKAGE_PANGOMM
select BR2_PACKAGE_GLIBMM
select BR2_PACKAGE_PANGO
select BR2_PACKAGE_LIBSIGC
depends on BR2_ARCH_HAS_ATOMICS # libcairomm/pango -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2
@ -17,6 +17,6 @@ config BR2_PACKAGE_PANGOMM
comment "pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -9,7 +9,7 @@ config BR2_PACKAGE_PCMANFM
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_INSTALL_LIBSTDCPP # libgtk2
depends on BR2_ARCH_HAS_ATOMICS # libgtk2
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz
help
PCMan File Manager (PCManFM) is a file manager application developed
by Hong Jen Yee from Taiwan which is meant to be a replacement for
@ -19,6 +19,6 @@ config BR2_PACKAGE_PCMANFM
comment "pcmanfm needs X.org and a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_XORG7

View File

@ -23,7 +23,7 @@ config BR2_PACKAGE_PINENTRY_GTK2
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz
select BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
@ -31,7 +31,7 @@ config BR2_PACKAGE_PINENTRY_GTK2
comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++"
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_XORG7 || !BR2_USE_WCHAR || \
!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -15,7 +15,7 @@ if BR2_PACKAGE_RRDTOOL
config BR2_PACKAGE_RRDTOOL_RRDGRAPH
bool "rrd_graph"
default y
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
depends on BR2_INSTALL_LIBSTDCPP # freetype support from pango
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PDF

View File

@ -18,7 +18,7 @@ config BR2_PACKAGE_WEBKIT
depends on BR2_PACKAGE_LIBGTK2
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
@ -47,7 +47,7 @@ config BR2_PACKAGE_WEBKIT
comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
depends on BR2_DEPRECATED_SINCE_2015_08
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on BR2_ARCH_HAS_ATOMICS # cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU

View File

@ -11,7 +11,7 @@ config BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
comment "webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >=4.8"
depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_LIBGTK2 || !BR2_PACKAGE_XORG7 || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
@ -25,7 +25,7 @@ config BR2_PACKAGE_WEBKITGTK24
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on (BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_XORG7)
depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT

View File

@ -1,5 +1,4 @@
comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
depends on BR2_ARCH_HAS_ATOMICS
depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
!BR2_ENABLE_LOCALE
@ -19,7 +18,6 @@ config BR2_PACKAGE_WESTON
depends on !BR2_STATIC_LIBS # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
depends on BR2_ARCH_HAS_ATOMICS # cairo
# Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG
# Make sure at least one compositor is selected.

View File

@ -5,7 +5,7 @@ config BR2_PACKAGE_XSCREENSAVER
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> glib2
depends on BR2_USE_WCHAR # libgtk2 -> glib2
depends on BR2_USE_MMU # libgtk2 -> glib2
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk2 -> pango -> harfbuzz
select BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_LIBGLADE
select BR2_PACKAGE_JPEG
@ -25,6 +25,6 @@ config BR2_PACKAGE_XSCREENSAVER
comment "xscreensaver needs a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_MMU
depends on BR2_ARCH_HAS_ATOMICS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR