libepoxy: convert to meson build

Add a patch to work around absence of dlvsym() on musl
(wasn't previously a problem as autotools weren't building tests by default)

(From OE-Core rev: aaa523e87c73abc2cf8cf3ea55d9e2c6789d3b9a)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2018-01-04 15:12:33 +02:00
committed by Richard Purdie
parent 7e1df9f68a
commit 043f021849
2 changed files with 63 additions and 4 deletions

View File

@@ -0,0 +1,55 @@
From 7bcefd311cd696955376fe2c5298ec85e8f954ce Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 15 Nov 2017 12:48:27 +0200
Subject: [PATCH] Make it possible to disable the use of dlvsym() (needed for
musl)
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meson_options.txt | 3 +++
test/meson.build | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
index 244476a..071f0b6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,6 +1,9 @@
option('enable-docs',
type: 'boolean', value: false,
description: 'Enable generating the Epoxy API reference (depends on Doxygen)')
+option('has-dlvsym',
+ type: 'boolean', value: true,
+ description: 'Whether dlvsym() is available (it is not when using musl C library)')
option('enable-glx',
type: 'combo',
choices: [ 'auto', 'yes', 'no' ],
diff --git a/test/meson.build b/test/meson.build
index 2340fc6..bc4330b 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -86,8 +86,8 @@ if build_glx
[ 'glx_has_extension_nocontext', [ 'glx_has_extension_nocontext.c' ], [], [], true ],
[ 'glx_static', [ 'glx_static.c' ], [ '-DNEEDS_TO_BE_STATIC'], [ '-static' ], libtype == 'static' ],
[ 'glx_shared_znow', [ 'glx_static.c', ], [], [ '-Wl,-z,now' ], has_znow ],
- [ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple ],
- [ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple ],
+ [ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and get_option('has-dlvsym') == true ],
+ [ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and get_option('has-dlvsym') == true ],
]
foreach test: glx_tests
@@ -108,7 +108,7 @@ if build_glx
endif
endforeach
- if not build_apple
+ if not build_apple and get_option('has-dlvsym') == true
# GLX/EGL tests
if build_egl
glx_egl_sources = [
--
2.15.0

View File

@@ -6,17 +6,21 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
file://Add-fallback-definition-for-EGL-CAST.patch"
file://Add-fallback-definition-for-EGL-CAST.patch \
file://0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch \
"
SRC_URI[md5sum] = "af4c3ce0fb1143bdc4e43f85695a9bed"
SRC_URI[sha256sum] = "0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6"
UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
inherit autotools pkgconfig distro_features_check
inherit meson pkgconfig distro_features_check
REQUIRED_DISTRO_FEATURES = "opengl"
DEPENDS = "util-macros"
PACKAGECONFIG[egl] = "--enable-egl, --disable-egl, virtual/egl"
PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11"
PACKAGECONFIG[egl] = "-Denable-egl=yes, -Denable-egl=no, virtual/egl"
PACKAGECONFIG[x11] = "-Denable-glx=yes, -Denable-glx=no, virtual/libx11"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
EXTRA_OEMESON_append_libc-musl = " -Dhas-dlvsym=false "