v4l-utils: unbreak musl build (take 3): portability fixes from Alpine.

This commit is contained in:
Juan RP 2015-05-08 11:48:12 +02:00
parent 31828cadd6
commit ba558c6519
2 changed files with 79 additions and 1 deletions

View File

@ -0,0 +1,77 @@
--- lib/libv4l1/v4l1compat.c
+++ lib/libv4l1/v4l1compat.c
@@ -62,7 +62,7 @@
return fd;
}
-#ifdef linux
+#ifdef __GLIBC__
LIBV4L_PUBLIC int open64(const char *file, int oflag, ...)
{
int fd;
@@ -94,7 +94,11 @@
return v4l1_dup(fd);
}
+#ifdef __GLIBC__
LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...)
+#else
+LIBV4L_PUBLIC int ioctl(int fd, int request, ...)
+#endif
{
void *arg;
va_list ap;
@@ -117,7 +121,7 @@
return v4l1_mmap(start, length, prot, flags, fd, offset);
}
-#ifdef linux
+#ifdef __GLIBC__
LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd,
__off64_t offset)
{
--- lib/libv4l2/v4l2convert.c
+++ lib/libv4l2/v4l2convert.c
@@ -86,7 +86,7 @@
return fd;
}
-#ifdef linux
+#ifdef __GLIBC__
LIBV4L_PUBLIC int open64(const char *file, int oflag, ...)
{
int fd;
@@ -121,7 +121,11 @@
return v4l2_dup(fd);
}
+#ifdef __GLIBC__
LIBV4L_PUBLIC int ioctl(int fd, unsigned long int request, ...)
+#else
+LIBV4L_PUBLIC int ioctl(int fd, int request, ...)
+#endif
{
void *arg;
va_list ap;
@@ -144,7 +148,7 @@
return v4l2_mmap(start, length, prot, flags, fd, offset);
}
-#ifdef linux
+#ifdef __GLIBC__
LIBV4L_PUBLIC void *mmap64(void *start, size_t length, int prot, int flags, int fd,
__off64_t offset)
{
--- lib/libv4lconvert/libv4lsyscall-priv.h
+++ lib/libv4lconvert/libv4lsyscall-priv.h
@@ -41,7 +41,9 @@
#include <linux/ioctl.h>
/* On 32 bits archs we always use mmap2, on 64 bits archs there is no mmap2 */
#ifdef __NR_mmap2
+#ifndef SYS_mmap2
#define SYS_mmap2 __NR_mmap2
+#endif
#define MMAP2_PAGE_SHIFT 12
#else
#define SYS_mmap2 SYS_mmap

View File

@ -17,7 +17,8 @@ checksum=164abf5c1befcd27e8e6ef824a82d4015bdfb5d99ae82daa00e77d895ff9864c
case "$XBPS_TARGET_MACHINE" in
*-musl) makedepends+=" argp-standalone"
CFLAGS="-D__off_t=off_t -D__off64_t=off_t"
LDFLAGS="-largp";;
LDFLAGS="-largp"
;;
esac
pre_configure() {