]> git.alsa-project.org Git - alsa-lib.git/commitdiff
configure: add --with-lfs option
authorJaroslav Kysela <perex@perex.cz>
Fri, 20 May 2022 07:52:54 +0000 (09:52 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 20 May 2022 07:55:17 +0000 (09:55 +0200)
We are forcibly use the LFS (64-bit) calls in the source now. Add a new
check to the configure script and use compatibility defines when those
calls are not available for a reason.

Fixes: https://github.com/alsa-project/alsa-lib/pull/223
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
configure.ac
include/local.h

index 2d780788be36275778a8a2f580134eeea2b68e9c..d7e7653df2b0b5555ffe50262f856b537086d36f 100644 (file)
@@ -235,6 +235,26 @@ if test "$softfloat" != "yes"; then
   ALSA_DEPLIBS="-lm"
 fi
 
+dnl Check for scandir64
+AC_MSG_CHECKING(for LFS calls)
+lfs=
+AC_ARG_WITH(lfs,
+  AS_HELP_STRING([--with-lfs], [Use LFS calls (default = yes)]),
+  [ have_lfs="$withval" ], [ have_lfs="yes" ])
+HAVE_LIBDL=
+if test "$have_lfs" = "yes"; then
+  AC_TRY_LINK([#include <dirent.h>],
+    [struct dirent64 a; ],
+    [have_lfs=yes],
+    [have_lfs=no])
+fi
+if test "$have_lfs" = "yes"; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE([HAVE_LFS], 1, [Have LFS])
+else
+  AC_MSG_RESULT(no)
+fi
+
 dnl Check for libdl
 AC_MSG_CHECKING(for libdl)
 AC_ARG_WITH(libdl,
index f64fe9d8f4ad462896282c09744d31851141a35d..51fa4063afa74247d3e20b2b4538bbf6bdd84080 100644 (file)
 #error "Unsupported endian..."
 #endif
 
+#ifndef HAVE_LFS
+#define stat64 stat
+#define lstat64 lstat
+#define dirent64 dirent
+#define readdir64 readdir
+#define scandir64 scandir
+#define versionsort64 versionsort
+#define alphasort64 alphasort
+#endif
+
 #define _snd_config_iterator list_head
 #define _snd_interval snd_interval
 #define _snd_pcm_info snd_pcm_info