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: Jörg Krause <jkra...@posteo.de> --- Changes v2 -> v3: - set _XOPEN_SOURCE as default in case no C library can be detected Changes v1 -> v2: - do not set _XOPEN_SOURCE twice for glibc and uclibc --- configure | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure b/configure index 110a3fd..b9707c5 100755 --- a/configure +++ b/configure @@ -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 } -- 2.1.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel