uvcdynctrl: compile with meson
authorRosen Penev <redacted>
Thu, 9 Jun 2022 22:28:42 +0000 (15:28 -0700)
committerRosen Penev <redacted>
Fri, 10 Jun 2022 04:45:34 +0000 (21:45 -0700)
meson's iconv support actually works.

Signed-off-by: Rosen Penev <redacted>
utils/uvcdynctrl/Makefile
utils/uvcdynctrl/patches/010-iconv.patch [deleted file]
utils/uvcdynctrl/patches/010-meson.patch [new file with mode: 0644]
utils/uvcdynctrl/patches/020-static.patch [deleted file]

index eb569b931ddf5b8c98a13c9926d9f46406a63963..c78adda4df742c1ee37d1c82dfb9fdc66cdc3576 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uvcdynctrl
 PKG_VERSION:=0.2.5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=libwebcam-src-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/libwebcam
@@ -22,7 +22,7 @@ PKG_LICENSE_FILES:=uvcdynctrl/COPYING
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
-include $(INCLUDE_DIR)/cmake.mk
+include $(INCLUDE_DIR)/meson.mk
 
 define Package/uvcdynctrl
   SECTION:=utils
diff --git a/utils/uvcdynctrl/patches/010-iconv.patch b/utils/uvcdynctrl/patches/010-iconv.patch
deleted file mode 100644 (file)
index 5f0e535..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/uvcdynctrl/CMakeLists.txt
-+++ b/uvcdynctrl/CMakeLists.txt
-@@ -77,7 +77,7 @@ include_directories (../common/include)
- include_directories (${CMAKE_CURRENT_BINARY_DIR})
- link_directories (${LIBWEBCAM_BINARY_DIR}/webcam)
--target_link_libraries (uvcdynctrl webcam)
-+target_link_libraries (uvcdynctrl webcam iconv)
- # Compiler flags
- set_target_properties (uvcdynctrl PROPERTIES
diff --git a/utils/uvcdynctrl/patches/010-meson.patch b/utils/uvcdynctrl/patches/010-meson.patch
new file mode 100644 (file)
index 0000000..2a08059
--- /dev/null
@@ -0,0 +1,47 @@
+--- /dev/null
++++ b/libwebcam/meson.build
+@@ -0,0 +1,9 @@
++iconv_dep = dependency('iconv')
++
++libwebcam = static_library('webcam',
++  'test.c',
++  'libwebcam.c',
++  'dynctrl.c',
++  dependencies: [ iconv_dep, xml_dep ],
++  include_directories: incdirs,
++)
+--- /dev/null
++++ b/meson.build
+@@ -0,0 +1,9 @@
++project('libwebcam', 'c', version: '0.25', meson_version: '>=0.60')
++
++incdirs = include_directories('common/include')
++xml_dep = dependency('libxml-2.0')
++
++add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
++
++subdir('libwebcam')
++subdir('uvcdynctrl')
+--- /dev/null
++++ b/uvcdynctrl/meson.build
+@@ -0,0 +1,20 @@
++cdata = configuration_data()
++cdata.set_quoted('UVCDYNCTRL_DATA_DIR', get_option('prefix') / 'share' / 'uvcdynctrl')
++cdata.set_quoted('UVCDYNCTRL_VERSION', meson.project_version())
++cfile = configure_file(
++  input: 'config.h.cmake',
++  output: 'config.h',
++  format: 'cmake',
++  configuration: cdata,
++)
++
++uvc = executable('uvcdynctrl',
++  'cmdline.c',
++  'controls.c',
++  'main.c',
++  include_directories: incdirs,
++  install : true,
++  link_with: libwebcam,
++)
++
++install_subdir('data', install_dir: 'share/uvcdynctrl')
diff --git a/utils/uvcdynctrl/patches/020-static.patch b/utils/uvcdynctrl/patches/020-static.patch
deleted file mode 100644 (file)
index 78304ca..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/uvcdynctrl/CMakeLists.txt
-+++ b/uvcdynctrl/CMakeLists.txt
-@@ -77,7 +77,7 @@ include_directories (../common/include)
- include_directories (${CMAKE_CURRENT_BINARY_DIR})
- link_directories (${LIBWEBCAM_BINARY_DIR}/webcam)
--target_link_libraries (uvcdynctrl webcam iconv)
-+target_link_libraries (uvcdynctrl webcam_static iconv)
- # Compiler flags
- set_target_properties (uvcdynctrl PROPERTIES
git clone https://git.99rst.org/PROJECT