e64573c47f
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>
168 lines
4.6 KiB
Plaintext
168 lines
4.6 KiB
Plaintext
config BR2_PACKAGE_DIRECTFB
|
|
bool "directfb"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
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_TOOLCHAIN_HAS_SYNC_4
|
|
select BR2_PACKAGE_FREETYPE
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
DirectFB (Direct Frame Buffer) is a set of graphics APIs implemented
|
|
on top of the Linux Frame Buffer (fbdev) abstraction layer. It is an
|
|
alternative to X11 with a smaller memory footprint that still has an
|
|
integrated windowing system. As of 4 October 2015, DirectFB's website
|
|
http://www.directfb.org/ is down. See alternative site listed below.
|
|
|
|
http://elinux.org/DirectFB
|
|
|
|
if BR2_PACKAGE_DIRECTFB
|
|
|
|
config BR2_PACKAGE_DIRECTFB_MULTI
|
|
bool "directfb multi application"
|
|
select BR2_PACKAGE_LINUX_FUSION
|
|
depends on BR2_USE_MMU # madvise()
|
|
depends on BR2_LINUX_KERNEL
|
|
help
|
|
Enable use of multiple concurrent DirectFB applications
|
|
|
|
comment "directfb multi application needs a Linux kernel to be built"
|
|
depends on !BR2_LINUX_KERNEL
|
|
|
|
config BR2_PACKAGE_DIRECTFB_DEBUG_SUPPORT
|
|
bool "directfb debugging support"
|
|
default y
|
|
help
|
|
Compile DirectFB with debugging support. It provides
|
|
functions to print debug information, for DirectFB as well as
|
|
external DirectFB drivers.
|
|
|
|
When disabled, DirectFB does not print any debug information.
|
|
The drivers will be installed to and loaded from
|
|
/usr/lib/directfb-<version>-pure instead of
|
|
/usr/lib/directfb-<version>.
|
|
|
|
config BR2_PACKAGE_DIRECTFB_DEBUG
|
|
bool "directfb debugging"
|
|
depends on BR2_PACKAGE_DIRECTFB_DEBUG_SUPPORT
|
|
help
|
|
Compile DirectFB with lots of debug output
|
|
|
|
config BR2_PACKAGE_DIRECTFB_TRACE
|
|
bool "directfb call trace support"
|
|
help
|
|
Enable call tracing for DirectFB applications
|
|
|
|
config BR2_PACKAGE_DIRECTFB_DIVINE
|
|
bool "divine"
|
|
help
|
|
Enable the DiVine feature (virtual input)
|
|
|
|
config BR2_PACKAGE_DIRECTFB_SAWMAN
|
|
bool "sawman"
|
|
help
|
|
Enable the SawMan feature (window manager)
|
|
|
|
config BR2_PACKAGE_DIRECTFB_ATI128
|
|
bool "compile ati128 graphics driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
config BR2_PACKAGE_DIRECTFB_MATROX
|
|
bool "compile matrox graphics driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
config BR2_PACKAGE_DIRECTFB_PXA3XX
|
|
bool "compile pxa3xx graphics driver"
|
|
depends on BR2_arm
|
|
help
|
|
The Marvell PXA3xx Processor Family is a system-on-chip based
|
|
on XScale® microarchitecture. This option enables the graphic
|
|
driver support for the PXA3xx processor family.
|
|
|
|
http://www.marvell.com/application-processors/pxa-family/
|
|
|
|
config BR2_PACKAGE_DIRECTFB_EP9X
|
|
bool "compile ep9x graphics driver"
|
|
depends on BR2_arm
|
|
help
|
|
Enable the graphic driver support for the EP93xx ARMv9 based
|
|
processors from Cirrus Logic.
|
|
|
|
http://cirrus.com/en/products/arm9.html
|
|
|
|
config BR2_PACKAGE_DIRECTFB_I830
|
|
bool "compile i830 graphics driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
config BR2_PACKAGE_DIRECTFB_LINUXINPUT
|
|
bool "compile /dev/input/eventX input driver"
|
|
default y
|
|
|
|
config BR2_PACKAGE_DIRECTFB_KEYBOARD
|
|
bool "compile keyboard input driver"
|
|
default y
|
|
|
|
config BR2_PACKAGE_DIRECTFB_PS2MOUSE
|
|
bool "compile PS2 mouse input driver"
|
|
default y
|
|
|
|
config BR2_PACKAGE_DIRECTFB_SERIALMOUSE
|
|
bool "compile serial mouse input driver"
|
|
default y
|
|
|
|
config BR2_PACKAGE_DIRECTFB_TSLIB
|
|
bool "enable touchscreen support"
|
|
depends on !BR2_STATIC_LIBS # tslib
|
|
default y
|
|
select BR2_PACKAGE_TSLIB
|
|
|
|
comment "touchscreen support needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_DIRECTFB_GIF
|
|
bool "enable GIF support"
|
|
default y
|
|
|
|
config BR2_PACKAGE_DIRECTFB_TIFF
|
|
bool "enable TIFF support"
|
|
select BR2_PACKAGE_TIFF
|
|
|
|
config BR2_PACKAGE_DIRECTFB_IMLIB2
|
|
bool "enable IMLIB2 support"
|
|
select BR2_PACKAGE_IMLIB2
|
|
depends on !BR2_STATIC_LIBS
|
|
|
|
comment "imlib2 support needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_DIRECTFB_JPEG
|
|
bool "enable JPEG support"
|
|
default y
|
|
select BR2_PACKAGE_JPEG
|
|
|
|
config BR2_PACKAGE_DIRECTFB_PNG
|
|
bool "enable PNG support"
|
|
default y
|
|
select BR2_PACKAGE_LIBPNG
|
|
|
|
config BR2_PACKAGE_DIRECTFB_SVG
|
|
bool "enable SVG support"
|
|
default y
|
|
select BR2_PACKAGE_LIBSVG_CAIRO
|
|
|
|
config BR2_PACKAGE_DIRECTFB_DITHER_RGB16
|
|
bool "enable advanced dithering of RGB16 surfaces"
|
|
help
|
|
Enable dithering when loading images to RGB16 surfaces.
|
|
This increases the data section by 64 KBytes.
|
|
|
|
config BR2_PACKAGE_DIRECTFB_TESTS
|
|
bool "build directfb tests"
|
|
|
|
endif # BR2_PACKAGE_DIRECTFB
|
|
|
|
comment "directfb needs a (e)glibc or uClibc toolchain w/ C++, threads, gcc >= 4.5"
|
|
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
|