[FFmpeg-devel] [PATCHv2] configure: add -D_DEFAULT_SOURCE to silence -Wcpp
Ganesh Ajjanagadde
gajjanagadde at gmail.com
Thu Sep 17 00:55:39 CEST 2015
Glibc 2.20 onwards generates a deprecation warning for usage of _BSD_SOURCE and _SVID_SOURCE.
The solution from man feature_test_macros is to define both _DEFAULT_SOURCE and the old macros.
This change is done in configure while testing for Glibc. Doing it in source code
would require __UCLIBC__ checks, etc since uclibc also defines __GLIBC__ and __GLIBC_MINOR__,
so placing it in configure avoids the repeated checks.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
---
configure | 6 ++++++
libavformat/os_support.c | 1 -
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index cd6f629..0cd0a6c 100755
--- a/configure
+++ b/configure
@@ -4520,6 +4520,12 @@ probe_libc(){
elif check_${pfx}cpp_condition features.h "defined __GLIBC__"; then
eval ${pfx}libc_type=glibc
add_${pfx}cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
+ # define _DEFAULT_SOURCE for glibc 2.20 onwards to silence deprecation
+ # warnings for _BSD_SOURCE and _SVID_SOURCE.
+ if check_${pfx}cpp_condition features.h "(__GLIBC__ == 2 && __GLIBC_MINOR__ >= 20) \
+ || (__GLIBC__ > 2)"; then
+ add_${pfx}cppflags -D_DEFAULT_SOURCE
+ fi
# MinGW headers can be installed on Cygwin, so check for newlib first.
elif check_${pfx}cpp_condition newlib.h "defined _NEWLIB_VERSION"; then
eval ${pfx}libc_type=newlib
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 7950e44..3c22631 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -21,7 +21,6 @@
*/
/* needed by inet_aton() */
-#define _DEFAULT_SOURCE
#define _SVID_SOURCE
#include "config.h"
--
2.5.2
More information about the ffmpeg-devel
mailing list