Commit 56b8d106 authored by Jörg Krause's avatar Jörg Krause Committed by Michael Niedermayer

configure: Refactor setting of feature test macro _XOPEN_SOURCE

Some C libraries, eg glibc, uclibc, and musl, uses feature test macros
to expose definitions conforming to the standards ISO C, POSIX and
extensions. According to which feature test macros are defined by the
user or the compiler, a header file, eg <features.h>, used by these
libraries internally defines various other macros.

glibc and uclibc also defines release test macros, eg __GLIBC__ and
__UCLIBC__ in <features.h>. musl does not have (and does not want) a
macro __MUSL__. Therefore it is not possible to check for the musl
library.

However, building FFmpeg with musl needs the feature test macro
_XOPEN_SOURCE=600 to be defined.
Signed-off-by: 's avatarJörg Krause <jkrause@posteo.de>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent eb7a6d08
......@@ -4229,6 +4229,9 @@ probe_libc(){
elif check_${pfx}cpp_condition sys/brand.h "defined LABELED_BRAND_NAME"; then
eval ${pfx}libc_type=solaris
add_${pfx}cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
# FFmpeg needs a POSIX.1-2001/XSI compliant C library
else
add_${pfx}cppflags -D_XOPEN_SOURCE=600
fi
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment