mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-15 08:56:34 -05:00
Replace the CFLAGS-checking code with a common macro from xine-lib.
Instead of writing custom code to check for cflags checking, import a copy of attributes.m4 from xine-lib's repository and use the CC_CHECK_CFLAGS macro. The advantage lies not only in being able to reduce the custom code in configure.ac, but also in the fact that the CC_CHECK_CFLAGS macro caches the results, making ./configure -C quite faster on second run. Check for the CFLAGS for any compiler and not just GCC, if the compiler does support the flag it is better to u se it anyway, otherwise it will be skipped.
This commit is contained in:
parent
a6e4507a4b
commit
81969a73a4
2 changed files with 263 additions and 23 deletions
28
configure.ac
28
configure.ac
|
|
@ -98,30 +98,12 @@ if test "x$M4" = xno ; then
|
|||
AC_MSG_ERROR([m4 missing])
|
||||
fi
|
||||
|
||||
# GCC flags
|
||||
dnl Compiler flags
|
||||
DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math"
|
||||
|
||||
test_gcc_flag() {
|
||||
AC_LANG_CONFTEST([int main(int argc, char*argv[]) {}])
|
||||
$CC -c conftest.c $CFLAGS -o conftest.o > /dev/null 2> /dev/null
|
||||
ret=$?
|
||||
rm -f conftest.o
|
||||
return $ret
|
||||
}
|
||||
|
||||
# If using GCC specify some additional parameters
|
||||
if test "x$GCC" = "xyes" ; then
|
||||
DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math"
|
||||
|
||||
for flag in $DESIRED_FLAGS ; do
|
||||
AC_MSG_CHECKING([whether $CC accepts $flag])
|
||||
if test_gcc_flag $flag ; then
|
||||
CFLAGS="$CFLAGS $flag"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
done
|
||||
fi
|
||||
for flag in $DESIRED_FLAGS ; do
|
||||
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
|
||||
done
|
||||
|
||||
# Native atomic operation support
|
||||
AC_ARG_ENABLE([atomic-arm-linux-helpers],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue