fbida: build with meson

Add meason features options for the PACKAGECONFIG choices. Remove patches that
target the Autotools/gnumake style build.

Signed-off-by: Wolfgang Meyer <Wolfgang.Meyer@gossenmetrawatt.com>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Wolfgang Meyer 2022-09-16 15:44:12 +02:00 committed by Khem Raj
parent b0c8cb29a1
commit 2f863abae7
4 changed files with 157 additions and 73 deletions

View File

@ -12,58 +12,27 @@ DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev
PV = "2.14+git${SRCPV}"
SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \
file://0001-Avoid-using-host-path.patch \
file://fix-preprocessor.patch \
file://support-jpeg-turbo.patch \
file://fbida-gcc10.patch \
file://0001-meson.build-install-fbgs-shell-script.patch \
file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \
"
SRCREV = "ac9005bf0bbf50f14dc1b368be5084c8e0510a5d"
S = "${WORKDIR}/git"
inherit pkgconfig features_check
inherit meson pkgconfig features_check
# Depends on libepoxy
REQUIRED_DISTRO_FEATURES = "opengl"
EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile"
PACKAGECONFIG ??= "gif png"
PACKAGECONFIG[gif] = ",,giflib"
PACKAGECONFIG[png] = ",,libpng"
PACKAGECONFIG[tiff] = ",,tiff"
PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
PACKAGECONFIG[webp] = ",,libwebp"
PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib"
PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
PACKAGECONFIG[motif] = "-Dmotif=enabled,-Dmotif=disabled,libx11 libxext libxpm libxt openmotif"
PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
do_compile() {
sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk
sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile
# Be sure to respect preferences (force to "no")
# Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH}
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then
sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then
sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then
sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then
sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then
sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile
fi
oe_runmake
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
}
RDEPENDS:${PN} = "ttf-dejavu-sans-mono"

View File

@ -1,34 +0,0 @@
From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001
From: Marek Vasut <marex@denx.de>
Date: Fri, 7 Apr 2017 23:26:09 +0200
Subject: [PATCH] Avoid using host-path
Remove the explicit reference to /usr/local/* , this is completely
bogus and causes trouble during cross-compilation.
Signed-off-by: Marek Vasut <marex@denx.de>
Upstream-Status: Inappropriate [upstream requires this]
---
mk/Variables.mk | 6 ------
1 file changed, 6 deletions(-)
diff --git a/mk/Variables.mk b/mk/Variables.mk
index 99f787c..3ffd87a 100644
--- a/mk/Variables.mk
+++ b/mk/Variables.mk
@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \
-Wpointer-arith -Wunused
CXXFLAGS += -Wall -Wpointer-arith -Wunused
-# add /usr/local to the search path if something is in there ...
-ifneq ($(wildcard /usr/local/include/*.h),)
- CFLAGS += -I/usr/local/include
- LDFLAGS += -L/usr/local/$(LIB)
-endif
-
# fixup include path for $(srcdir) != "."
ifneq ($(srcdir),.)
CFLAGS += -I. -I$(srcdir)
--
2.11.0

View File

@ -0,0 +1,26 @@
From f9c455e81ad4d870c8ae20b9af8598139231ad26 Mon Sep 17 00:00:00 2001
From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
Date: Fri, 9 Sep 2022 09:32:22 +0200
Subject: [PATCH] meson.build: install fbgs shell script
---
meson.build | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meson.build b/meson.build
index cbed982..2129896 100644
--- a/meson.build
+++ b/meson.build
@@ -124,6 +124,9 @@ executable('fbpdf',
sources : fbpdf_srcs,
dependencies : fbpdf_deps,
install : true)
+install_data('fbgs',
+ install_dir : get_option('bindir'),
+ install_mode : 'rwxr--r--')
# build kbdtest
executable('kbdtest',
--
2.37.3

View File

@ -0,0 +1,123 @@
From fa60c06cadd6acd8abede91e75254e7250a087a3 Mon Sep 17 00:00:00 2001
From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
Date: Fri, 16 Sep 2022 13:40:25 +0200
Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp,
and motif
---
meson.build | 41 +++++++++++++++++++++++++++--------------
meson_options.txt | 5 +++++
selections.c | 4 ++++
3 files changed, 36 insertions(+), 14 deletions(-)
create mode 100644 meson_options.txt
diff --git a/meson.build b/meson.build
index cbed982..e66ee48 100644
--- a/meson.build
+++ b/meson.build
@@ -21,9 +21,9 @@ drm_dep = dependency('libdrm')
gbm_dep = dependency('gbm')
epoxy_dep = dependency('epoxy')
exif_dep = dependency('libexif')
-png_dep = dependency('libpng')
-tiff_dep = dependency('libtiff-4')
-webp_dep = dependency('libwebp', required : false)
+png_dep = dependency('libpng', required: get_option('png'))
+tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
+webp_dep = dependency('libwebp', required : get_option('webp'))
udev_dep = dependency('libudev')
input_dep = dependency('libinput')
@@ -32,20 +32,20 @@ cc = meson.get_compiler('c')
jpeg_dep = cc.find_library('jpeg')
math_dep = cc.find_library('m', required : false)
pcd_dep = cc.find_library('pcd', required : false)
-gif_dep = cc.find_library('gif', required : false)
+gif_dep = cc.find_library('gif', required: get_option('gif'))
# motif + x11 libs
-motif_dep = cc.find_library('Xm', required : false)
-xpm_dep = cc.find_library('Xpm', required : false)
-xt_dep = cc.find_library('Xt', required : false)
-xext_dep = cc.find_library('Xext', required : false)
-x11_dep = cc.find_library('X11', required : false)
+motif_dep = cc.find_library('Xm', required : get_option('motif'))
+xpm_dep = cc.find_library('Xpm', required : get_option('motif'))
+xt_dep = cc.find_library('Xt', required : get_option('motif'))
+xext_dep = cc.find_library('Xext', required : get_option('motif'))
+x11_dep = cc.find_library('X11', required : get_option('motif'))
# image formats
read_srcs = [ 'readers.c', 'rd/read-ppm.c', 'rd/read-bmp.c',
- 'rd/read-jpeg.c', 'rd/read-png.c', 'rd/read-tiff.c' ]
+ 'rd/read-jpeg.c' ]
write_srcs = [ 'writers.c', 'wr/write-ppm.c', 'wr/write-ps.c',
- 'wr/write-jpeg.c', 'wr/write-png.c', 'wr/write-tiff.c' ]
+ 'wr/write-jpeg.c' ]
image_deps = [ jpeg_dep, png_dep, tiff_dep,
pcd_dep, gif_dep, webp_dep ]
@@ -53,11 +53,21 @@ if pcd_dep.found()
read_srcs += 'rd/read-pcd.c'
config.set('HAVE_LIBPCD', true)
endif
-if gif_dep.found()
+if get_option('png').enabled()
+ read_srcs += 'rd/read-png.c'
+ write_srcs += 'wr/write-png.c'
+ config.set('HAVE_LIBPNG', true)
+endif
+if get_option('tiff').enabled()
+ read_srcs += 'rd/read-tiff.c'
+ write_srcs += 'wr/write-tiff.c'
+ config.set('HAVE_LIBTIFF', true)
+endif
+if get_option('gif').enabled()
read_srcs += 'rd/read-gif.c'
config.set('HAVE_LIBGIF', true)
endif
-if webp_dep.found()
+if get_option('webp').enabled()
read_srcs += 'rd/read-webp.c'
config.set('HAVE_LIBWEBP', true)
endif
@@ -153,7 +166,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c',
ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep,
motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ]
-if motif_dep.found()
+if get_option('motif').enabled()
executable('ida',
sources : ida_srcs,
dependencies : ida_deps,
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..ce37188
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,5 @@
+option('gif', type: 'feature', value : 'enabled')
+option('png', type: 'feature', value : 'enabled')
+option('tiff', type: 'feature', value : 'enabled')
+option('webp', type: 'feature', value : 'disabled')
+option('motif', type: 'feature', value : 'disabled')
diff --git a/selections.c b/selections.c
index 7b16264..ccdc686 100644
--- a/selections.c
+++ b/selections.c
@@ -609,8 +609,12 @@ void ipc_init()
#ifdef HAVE_LIBGIF
targets[ntargets++] = MIME_IMAGE_GIF;
#endif
+#ifdef HAVE_LIBPNG
targets[ntargets++] = MIME_IMAGE_PNG;
+#endif
+#ifdef HAVE_LIBTIFF
targets[ntargets++] = MIME_IMAGE_TIFF;
+#endif
targets[ntargets++] = XA_PIXMAP;
targets[ntargets++] = XA_STRING;
--
2.37.3