summaryrefslogtreecommitdiff
path: root/packaging/Debian/debian/patches/configure.patch
blob: 0cf1434b29d37b637f7353c93798fea6e0c62f25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
diff -uNr samba-3.0alpha21.orig/source/configure.in samba-3.0alpha21/source/configure.in
--- samba-3.0alpha21.orig/source/configure.in	2003-02-16 13:01:45.000000000 -0600
+++ samba-3.0alpha21/source/configure.in	2003-02-16 13:04:03.000000000 -0600
@@ -481,6 +481,28 @@
 #endif
 }
 ], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross])
+	if test x$LINUX_LFS_SUPPORT = xyes ; then
+          AC_TRY_RUN([
+#include <unistd.h>
+#include <sys/types.h>
+#include <fcntl.h>
+main() {
+   unsigned int *padding;
+   struct flock foo_lock = {F_WRLCK, SEEK_SET, 0, 1, 0};
+   int fd = open("/dev/null", O_RDWR);
+
+   /* Yes, we're depending on the internals of the Linux flock structure
+      here -- but this test is explicitly Linux-specific to begin with. */
+   padding = (unsigned int *)&foo_lock;
+   padding[1] = 0xffffffff;
+   foo_lock.l_start = 0;
+   if (fcntl(fd, F_SETLK, &foo_lock) < 0)
+      exit(1);
+
+   exit(0);
+}
+], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross])
+	fi
         CPPFLAGS="$old_CPPFLAGS"
         if test x$LINUX_LFS_SUPPORT = xyes ; then
           CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS"