blob: 4d38632e256caaa3dab45ebd005832e51b10e3b1 [file] [log] [blame]
Patrick Williamsddad1a12017-02-23 20:36:32 -06001SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
2DESCRIPTION = "DirectFB is a thin library that provides developers \
3with hardware graphics acceleration, input device handling and \
4abstraction, an integrated windowing system with support for \
5translucent windows and multiple display layers on top of the \
6Linux framebuffer device."
7SECTION = "libs"
Andrew Geissler9aee5002022-03-30 16:27:02 +00008LICENSE = "LGPL-2.1-only"
Patrick Williamsddad1a12017-02-23 20:36:32 -06009LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
10
11HOMEPAGE = "http://directfb.org"
12DEPENDS = "jpeg libpng freetype zlib sysfsutils"
13
14SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \
15 file://configurefix.patch \
16 file://fusion.patch \
17 file://bashism.patch \
18 file://0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch \
19 file://compar_fn_t.patch \
20 file://union-sigval.patch \
21 file://use-PTHREAD_MUTEX_RECURSIVE.patch \
22 file://fix-client-gfx_state-initialisation.patch \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080023 file://fix-tslib-version-check.patch \
Brad Bishope42b3e32020-01-15 22:08:42 -050024 file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
Andrew Geissler4b7c1152020-11-30 19:55:29 -060025 file://0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch \
Patrick Williams03514f12024-04-05 07:04:11 -050026 file://0001-include-libgen.h-for-basename.patch \
Brad Bishope42b3e32020-01-15 22:08:42 -050027 "
Patrick Williamsddad1a12017-02-23 20:36:32 -060028
29S = "${WORKDIR}/DirectFB-${PV}"
30
Patrick Williams213cb262021-08-07 19:21:33 -050031LDFLAGS:append = " -lm"
Patrick Williamsddad1a12017-02-23 20:36:32 -060032
Patrick Williams213cb262021-08-07 19:21:33 -050033CXXFLAGS:append:toolchain-clang = " -Wno-error=dtor-typedef"
Andrew Geisslerbffdb3e2020-08-21 16:13:29 -050034
Patrick Williamsddad1a12017-02-23 20:36:32 -060035# Workaround for linking issues seen with armv7a + gold
Patrick Williams213cb262021-08-07 19:21:33 -050036LDFLAGS:append:arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
Patrick Williamsddad1a12017-02-23 20:36:32 -060037
38BINCONFIG = "${bindir}/directfb-config"
39
40inherit autotools binconfig-disabled pkgconfig
41
42PACKAGECONFIG ??= "linuxinput"
43PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
44PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
45PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
46PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
47PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
48PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,,"
49PACKAGECONFIG[noinput] = "--with-inputdrivers=none,,"
Brad Bishop316dfdd2018-06-25 12:45:53 -040050PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa,"
51PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg,"
Patrick Williamsddad1a12017-02-23 20:36:32 -060052
53EXTRA_OECONF = "\
54 --with-gfxdrivers=none \
55 --enable-freetype=yes \
56 --enable-zlib \
57 --disable-imlib2 \
Patrick Williamsddad1a12017-02-23 20:36:32 -060058 --disable-sdl \
59 --disable-vnc \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050060 --disable-x11vdpau \
61 --disable-xine-vdpau \
Patrick Williamsddad1a12017-02-23 20:36:32 -060062"
63
64#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
65#this will cause directfb build failure on x86 arch, so filter out it.
Patrick Williams213cb262021-08-07 19:21:33 -050066TARGET_CFLAGS:remove:x86 = "-fno-omit-frame-pointer"
Patrick Williamsddad1a12017-02-23 20:36:32 -060067
68#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
69#
Patrick Williams213cb262021-08-07 19:21:33 -050070#python populate_packages:prepend () {
Patrick Williamsddad1a12017-02-23 20:36:32 -060071# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
72# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
73#}
74
75# NOTE: monolithic packaging for now, should improve that eventually
76
Patrick Williams213cb262021-08-07 19:21:33 -050077FILES:${PN}-dev += "\
Patrick Williamsddad1a12017-02-23 20:36:32 -060078 ${bindir}/directfb-config \
79 ${libdir}/directfb-${RV}/systems/*.la \
80 ${libdir}/directfb-${RV}/inputdrivers/*.la \
81 ${libdir}/directfb-${RV}/interfaces/*/*.la \
82 ${libdir}/directfb-${RV}/wm/*.la \
83"
84
Patrick Williams213cb262021-08-07 19:21:33 -050085FILES:${PN} += "\
Patrick Williamsddad1a12017-02-23 20:36:32 -060086 ${libdir}/directfb-${RV}/systems/*.so \
87 ${libdir}/directfb-${RV}/inputdrivers/*.so \
88 ${libdir}/directfb-${RV}/interfaces/*/*.so \
89 ${libdir}/directfb-${RV}/wm/*.so \
90 ${datadir}/directfb-${PV} \
91"