mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-14 03:39:53 +03:00
51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
From af17f55202e285d4d3d502078e5b6a41bcca90fb Mon Sep 17 00:00:00 2001
|
|
From: Ramiro Polla <ramiro.polla@gmail.com>
|
|
Date: Thu, 29 Aug 2024 15:40:00 +0200
|
|
Subject: [PATCH 1/1] configure: improve check for POSIX ioctl
|
|
|
|
Instead of relying on system #ifdefs which may or may not be correct,
|
|
detect the POSIX ioctl signature at configure time.
|
|
|
|
(cherry picked from commit 00b64fca55a3a009c9d0e391c85f4fd3291e5d12)
|
|
Signed-off-by: Brad Smith <brad@comstyle.com>
|
|
---
|
|
configure | 2 ++
|
|
libavdevice/v4l2.c | 2 +-
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/configure b/configure
|
|
index c89d3ad1ec..175b70e207 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -2340,6 +2340,7 @@ HAVE_LIST="
|
|
opencl_vaapi_intel_media
|
|
perl
|
|
pod2man
|
|
+ posix_ioctl
|
|
texi2html
|
|
"
|
|
|
|
@@ -6616,6 +6617,7 @@ rsync --help 2> /dev/null | grep -q 'contimeout' && enable rsync_contimeout || d
|
|
check_headers linux/fb.h
|
|
check_headers linux/videodev2.h
|
|
test_code cc linux/videodev2.h "struct v4l2_frmsizeenum vfse; vfse.discrete.width = 0;" && enable_sanitized struct_v4l2_frmivalenum_discrete
|
|
+test_code cc sys/ioctl.h "int ioctl(int, int, ...)" && enable posix_ioctl
|
|
|
|
# check V4L2 codecs available in the API
|
|
if enabled v4l2_m2m; then
|
|
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
|
|
index 1dcbe04bb1..f90490eebf 100644
|
|
--- a/libavdevice/v4l2.c
|
|
+++ b/libavdevice/v4l2.c
|
|
@@ -95,7 +95,7 @@ struct video_data {
|
|
int (*open_f)(const char *file, int oflag, ...);
|
|
int (*close_f)(int fd);
|
|
int (*dup_f)(int fd);
|
|
-#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */
|
|
+#if HAVE_POSIX_IOCTL
|
|
int (*ioctl_f)(int fd, int request, ...);
|
|
#else
|
|
int (*ioctl_f)(int fd, unsigned long int request, ...);
|
|
--
|
|
2.25.1
|
|
|