summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorMike Frysinger <vapier@chromium.org>2015-10-09 17:47:40 -0400
committerTakashi Iwai <tiwai@suse.de>2015-10-12 10:36:15 +0200
commit99dc70f023cf118f1e23125301d9fd38fb805f6d (patch)
tree64172c5ff01a3d356db10f907ff37553098b49e2 /configure.ac
parent08c4b3b0adf1ab0c920dde5ffe5f914785686e54 (diff)
downloadalsa-lib-99dc70f023cf118f1e23125301d9fd38fb805f6d.tar.gz
fix _GNU_SOURCE handling & header inclusion
The configure script blindly adds -D_GNU_SOURCE to all build settings, even on non-GNU systems. This isn't too much of a big deal (even if it uses the wrong variable -- CFLAGS instead of CPPFLAGS), except that the alsa-lib source itself determines whether to use GNU features when this is defined (such as versionsort). So when we build on non-glibc systems, we get build failures like: src/ucm/parser.c:1268:18: error: 'versionsort' undeclared (first use in this function) #define SORTFUNC versionsort ^ src/ucm/parser.c:1272:54: note: in expansion of macro 'SORTFUNC' err = scandir(filename, &namelist, filename_filter, SORTFUNC); ^ The correct way to add these flags is to use the autoconf helper AC_USE_SYSTEM_EXTENSIONS. Unfortunately, that triggers some more bugs in the alsa build. This macro adds defines to config.h and not directly to CPPFLAGS, so it relies on files correctly including config.h before anything else. A number of alsa files do not do this leading to build failures. The fix there is to shuffle the includes around so that the local ones come first. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac4
1 files changed, 1 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index a14e52de..9cb86142 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,11 +27,9 @@ AC_PREFIX_DEFAULT(/usr)
dnl Checks for programs.
-CFLAGS="$CFLAGS -D_GNU_SOURCE"
-
-
AC_PROG_CC
AC_PROG_CPP
+AC_USE_SYSTEM_EXTENSIONS
AC_PROG_INSTALL
AC_PROG_LN_S
AC_DISABLE_STATIC