Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 1 | SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device" |
| 2 | DESCRIPTION = "DirectFB is a thin library that provides developers \ |
| 3 | with hardware graphics acceleration, input device handling and \ |
| 4 | abstraction, an integrated windowing system with support for \ |
| 5 | translucent windows and multiple display layers on top of the \ |
| 6 | Linux framebuffer device." |
| 7 | SECTION = "libs" |
| 8 | LICENSE = "LGPLv2.1" |
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" |
| 10 | |
| 11 | HOMEPAGE = "http://directfb.org" |
| 12 | DEPENDS = "jpeg libpng freetype zlib sysfsutils" |
| 13 | |
| 14 | SRC_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 Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 23 | file://fix-tslib-version-check.patch \ |
Brad Bishop | e42b3e3 | 2020-01-15 22:08:42 -0500 | [diff] [blame] | 24 | file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ |
Andrew Geissler | 4b7c115 | 2020-11-30 19:55:29 -0600 | [diff] [blame] | 25 | file://0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch \ |
Brad Bishop | e42b3e3 | 2020-01-15 22:08:42 -0500 | [diff] [blame] | 26 | " |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 27 | |
| 28 | S = "${WORKDIR}/DirectFB-${PV}" |
| 29 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 30 | LDFLAGS:append = " -lm" |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 31 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 32 | CXXFLAGS:append:toolchain-clang = " -Wno-error=dtor-typedef" |
Andrew Geissler | bffdb3e | 2020-08-21 16:13:29 -0500 | [diff] [blame] | 33 | |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 34 | # Workaround for linking issues seen with armv7a + gold |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 35 | LDFLAGS:append:arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 36 | |
| 37 | BINCONFIG = "${bindir}/directfb-config" |
| 38 | |
| 39 | inherit autotools binconfig-disabled pkgconfig |
| 40 | |
| 41 | PACKAGECONFIG ??= "linuxinput" |
| 42 | PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper" |
| 43 | PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm" |
| 44 | PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" |
| 45 | PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" |
| 46 | PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib" |
| 47 | PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,," |
| 48 | PACKAGECONFIG[noinput] = "--with-inputdrivers=none,," |
Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 49 | PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa," |
| 50 | PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg," |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 51 | |
| 52 | EXTRA_OECONF = "\ |
| 53 | --with-gfxdrivers=none \ |
| 54 | --enable-freetype=yes \ |
| 55 | --enable-zlib \ |
| 56 | --disable-imlib2 \ |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 57 | --disable-sdl \ |
| 58 | --disable-vnc \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 59 | --disable-x11vdpau \ |
| 60 | --disable-xine-vdpau \ |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 61 | " |
| 62 | |
| 63 | #Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default |
| 64 | #this will cause directfb build failure on x86 arch, so filter out it. |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 65 | TARGET_CFLAGS:remove:x86 = "-fno-omit-frame-pointer" |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 66 | |
| 67 | #PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*" |
| 68 | # |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 69 | #python populate_packages:prepend () { |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 70 | # inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers') |
| 71 | # do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s') |
| 72 | #} |
| 73 | |
| 74 | # NOTE: monolithic packaging for now, should improve that eventually |
| 75 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 76 | FILES:${PN}-dev += "\ |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 77 | ${bindir}/directfb-config \ |
| 78 | ${libdir}/directfb-${RV}/systems/*.la \ |
| 79 | ${libdir}/directfb-${RV}/inputdrivers/*.la \ |
| 80 | ${libdir}/directfb-${RV}/interfaces/*/*.la \ |
| 81 | ${libdir}/directfb-${RV}/wm/*.la \ |
| 82 | " |
| 83 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 84 | FILES:${PN} += "\ |
Patrick Williams | ddad1a1 | 2017-02-23 20:36:32 -0600 | [diff] [blame] | 85 | ${libdir}/directfb-${RV}/systems/*.so \ |
| 86 | ${libdir}/directfb-${RV}/inputdrivers/*.so \ |
| 87 | ${libdir}/directfb-${RV}/interfaces/*/*.so \ |
| 88 | ${libdir}/directfb-${RV}/wm/*.so \ |
| 89 | ${datadir}/directfb-${PV} \ |
| 90 | " |