cairo, harfbuzz: rework atomic dependencies
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 2 Feb 2016 15:31:28 +0000 (16:31 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 6 Feb 2016 10:16:00 +0000 (11:16 +0100)
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>
34 files changed:
package/cairo/Config.in
package/cairo/cairo.mk
package/cairomm/Config.in
package/cwiid/Config.in
package/directfb/Config.in
package/enlightenment/Config.in
package/gstreamer/gst-plugins-bad/Config.in
package/gstreamer/gst-plugins-base/Config.in
package/gstreamer/gst-plugins-good/Config.in
package/gstreamer1/gst1-plugins-bad/Config.in
package/gstreamer1/gst1-plugins-base/Config.in
package/gstreamer1/gst1-plugins-good/Config.in
package/gtkmm3/Config.in
package/harfbuzz/Config.in
package/libevas-generic-loaders/Config.in
package/libfm/Config.in
package/libgail/Config.in
package/libgdiplus/Config.in
package/libgtk2/Config.in
package/libgtk3/Config.in
package/librsvg/Config.in
package/libsvg-cairo/Config.in
package/openbox/Config.in
package/opencv/Config.in
package/opencv3/Config.in
package/pango/Config.in
package/pangomm/Config.in
package/pcmanfm/Config.in
package/pinentry/Config.in
package/rrdtool/Config.in
package/webkit/Config.in
package/webkitgtk24/Config.in
package/weston/Config.in
package/xscreensaver/Config.in

index 38570d6f4c0169dc1408291c775c2c3607318fde..0c87a2904b286aa6532a734489629298aa469537 100644 (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
index d80d0686614db253bb25bcd564cc82bcfe7f5886..205250d95013492cef4e467e4310a460412e48c7 100644 (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
index 4477b37fe8ebb7ae79bed0bf03697d7c5dcceabd..c0d5ccd1df14db025631c74f011f3f6f298bf8fd 100644 (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
index 1b64f0a79d69cfb81ca957e5efa4dd4dc0128747..03b7dbbcdb8024c2223e03009acc8f012ce09203 100644 (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
index 638e4e167bc9986f36c395b256407f13863ef917..2aed63f1e817b547530ede3558597b067345df45 100644 (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
index fc1f469aa84b41dacd1124ef019d33b7d9770870..05ee6fc619c91290ed6220a7cb4ef67bfc4f65c0 100644 (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
index 43849e2a71f6b5df096daa8f83802c0fd78893c6..d95edaa572e3734cfaa5861c47bafc2d329890f4 100644 (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"
index 8ececea5ad058ad7831265f6dd5cabc1a55552cb..8ad9a8ef8192cd7ee459284159d660bfbe3079ac 100644 (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)"
index 36ab6cb4f9a9b90fc952994482842e777d908ae3..65f74e819d716da28ad9688dabbbcd5dde2bf120 100644 (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
 
index 0aafea0985d0cb9940b8b07e587364f8150edb08..f02be3439a3e82a020d05a5d1f3b015bae3e47eb 100644 (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"
index 44367eb7e5aea22a757983a613f7604b93d46284..b19fa59b92156a6277de384d3261330a1f6cea8c 100644 (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)"
index 2606b86fd3ee0ba402c0eaeff458cad2b81d3fe1..a59033a24ed3e83274e25edd00dac8e3add1b530 100644 (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
index 80dbbde24a47b49ddd76aea01b9fd0d2b2a1ab2f..238a8cdeba6986566719bc08e0e2d39757e92b3e 100644 (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
index 7a864e9b7a2ec83ff65e17ecd9579a9795c3b227..a6db9840ccf8283ab0d966855b638dd8ceb4e01e 100644 (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
index 1d5b71797797ed0552f5884f39451742de67a1fa..c171d47193e7a01a472b1657987a658d329cb72f 100644 (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
 
index c6cfcf6d4886aa3f36b6d3e693a7c26767c0f903..603b4d51ee678583da96b449f2c1fa560245e9f1 100644 (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
index 5e4f03bdaf55499da5d163e3f656c28cd129d719..821a922fa5d3c3501d96a09fe91dcd864dc488aa 100644 (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
index f860ab339469706d4fca2a14dc96385dae061552..68625031e265ca40e55b8d8e370d9aaa79f3106b 100644 (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
index 9326f442099ec4366c20d093e639dd2848f0cc7b..b6cf37e191075fda1bfe5355be12db442e7244d0 100644 (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
index 02c7aaf0c74c17028ca6d3d4cd335f3d70385d0b..ac56b85a6991603b556a86db6ba7b18752978898 100644 (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
index 03e5cf3aae2fc4b6de0f85b02c7cf8a0261aa2a1..7ce9d063a849f360443cde6fe982f26733ba6215 100644 (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
index d69a6b9259adea322c8893d528163117d24ef49c..9577c69bf0370901b0cb3b153e59eee6b5363b22 100644 (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
index f5475bf827481c962ec5ea0c0b92f1f6f70e3018..3ddd37680397d41547c9b8615525fa43de94ce00 100644 (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
index 679ce6fb957deb8c0933e133250ed25858c73f12..8bc6c347790ed53fcef059a47982496fb8cd6746 100644 (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
 
index 873680515b1d3fff462db1e0476292fd8136f085..3a185d687197bc84b8ed5154810ea2f61c2806e0 100644 (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
index e9c3040b1f045b4d90288ee514d41a32e4b10ecc..7813c4ebaff667f009aaf214598de1adc6c4c967 100644 (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
index 6a84c424fd20064d70d71c61910eb001d513ca99..a7c41a008f2de1e231ce93b246dd6dcb64cfcf42 100644 (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
index 4289785b4ae1772c930489bb632f599a909994f1..149a595448c86bf48faef14ac1fd3776c7da6ba6 100644 (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
index edf3316322cd66a2b7c6601db8a6fdead4cf4dc4..f5a81597626452132a4a38dd5c41286b096df724 100644 (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
 
index b07c446cd9b12b407f4bab9ba0bc9c422db6ab1b..631ed32847c1064914b88b0679855f4864f77934 100644 (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
index 7f0d1e4edb885499d80be67468b14d03935382ef..c139f5212c840cd0530748986b9d93e472af3048 100644 (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
index 0a30bac7ac2b343d7e0329fe8a9e26714a8f6ff6..3c7c3300b9aad672c9f680c4d024babe333a80fa 100644 (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
index 3fd798121a7e7a4602b19d127a6a0fed3334d1e6..c5525e1bee7858c7daa5e393c3357085b715777d 100644 (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.
index 59b19c5eb11c571d9a3fe5b4dfc9368ef3e40c52..5213ce369563d98b440121d436577d5b174db854 100644 (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