On 8/29/2024 2:18 PM, Ramiro Polla wrote:
On Thu, Aug 29, 2024 at 7:10 PM James Almer <jamr...@gmail.com> wrote:
On 8/29/2024 10:40 AM, Ramiro Polla wrote:
Instead of relying on system #ifdefs which may or may not be correct,
detect the POSIX ioctl signature at configure time.
---
   configure          | 2 ++
   libavdevice/v4l2.c | 2 +-
   2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 63f0429b02..ebbec49993 100755
--- a/configure
+++ b/configure
@@ -2524,6 +2524,7 @@ HAVE_LIST="
       opencl_videotoolbox
       perl
       pod2man
+    posix_ioctl
       texi2html
       xmllint
       zlib_gzip
@@ -7158,6 +7159,7 @@ xmllint --version  > /dev/null 2>&1 && enable xmllint   
|| disable xmllint
   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

Is this check going to fail for the targets where ioctl_f has request as
an unsigned long int?

Yes. This is from config.log:

/tmp/ffconf.S7gHklXc/test.c: In function 'main':
/tmp/ffconf.S7gHklXc/test.c:2:22: error: conflicting types for
'ioctl'; have 'int(int,  int, ...)'
     2 | int main(void) { int ioctl(int, int, ...);; return 0; }
       |                      ^~~~~
In file included from /tmp/ffconf.S7gHklXc/test.c:1:
/usr/include/x86_64-linux-gnu/sys/ioctl.h:42:12: note: previous
declaration of 'ioctl' with type 'int(int,  long unsigned int, ...)'
    42 | extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
       |            ^~~~~

Cool. Should be ok then. Just remove the colon at the end of the check since test_code() will add one. Some compiler settings like -pedantic may complain about it, so better safe than sorry.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to