| SUMMARY = "Modern 3D graphics API with associated utility APIs" |
| DESCRIPTION = "Cogl is a small open source library for using 3D graphics \ |
| hardware for rendering. The API departs from the flat state machine style of \ |
| OpenGL and is designed to make it easy to write orthogonal components that \ |
| can render without stepping on each others toes." |
| HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl" |
| LICENSE = "MIT" |
| |
| inherit clutter features_check upstream-version-is-even gobject-introspection |
| # cogl-1.0 needs opengl to build |
| REQUIRED_DISTRO_FEATURES ?= "opengl" |
| |
| DEPENDS = "glib-2.0 gdk-pixbuf" |
| PACKAGES =+ "${PN}-examples \ |
| libcogl libcogl-gles2 libcogl-pango libcogl-path \ |
| " |
| AUTOTOOLS_AUXDIR = "${S}/build" |
| |
| # Extra DEPENDS for PACKAGECONFIG |
| EDEPENDS_GL = "virtual/libgl libdrm" |
| EDEPENDS_GLES2 = "virtual/libgles2" |
| EDEPENDS_KMS = "libdrm virtual/egl" |
| EDEPENDS_EGL = "virtual/egl" |
| EDEPENDS_X11 = "virtual/libx11 libxcomposite libxdamage libxfixes libxrandr" |
| EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland" |
| |
| # Extra RDEPENDS for PACKAGECONFIG |
| # This has to be explictly listed, because cogl dlopens the backends |
| ERDEPENDS_GL = "libgl" |
| ERDEPENDS_GLES2 = "libgles2" |
| |
| # GLESv1 is rarely tested, so disable it |
| EXTRA_OECONF += "--enable-examples-install \ |
| --enable-debug \ |
| --disable-gles1 \ |
| --disable-cairo \ |
| " |
| DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized" |
| |
| # OpenGL/GLX |
| PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}" |
| |
| # GLESv2 |
| PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}" |
| |
| # EGL backends |
| PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}" |
| PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform" |
| PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}" |
| PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}" |
| |
| # Wayland (server-side) |
| PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}" |
| |
| # Support rendering text directly with Pango |
| PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango" |
| |
| # Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by |
| # default. |
| PACKAGECONFIG ??= "cogl-pango gles2 \ |
| ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \ |
| ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \ |
| " |
| |
| do_compile:prepend() { |
| export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs" |
| } |
| |
| FILES:${PN} = "" |
| FILES:${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*" |
| FILES:libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib" |
| FILES:libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}" |
| FILES:libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib" |
| |
| FILES:libcogl-path = "${libdir}/libcogl-path${SOLIBS}" |
| |
| # For backwards compatibility after Debian-renaming |
| RPROVIDES:libcogl = "cogl-1.0" |
| RCONFLICTS:libcogl = "cogl-1.0" |
| RREPLACES:libcogl = "cogl-1.0" |
| |
| RDEPENDS:${PN}-dev = "libcogl" |
| |
| COMPATIBLE_HOST:armv4 = 'null' |