On 30/04/11 1:03 PM, Diogo Franco wrote:
FreeBSD, unlike (whatever OS the default -D are trying to fix),
defines every symbol by default; conformance defines are supposed to
restrict FreeBSD's definitions to only the requested specification.

Fix this by defining conformance flags only when we are not building
against FreeBSD's libc.
---
  configure |    5 ++++-
  1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index 2b5aeab..0d39f07 100755
--- a/configure
+++ b/configure
@@ -2310,7 +2310,6 @@ if test "$?" != 0; then
      die "C compiler test failed."
  fi

-add_cppflags -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112
  check_cflags -std=c99
  check_cc -D_FILE_OFFSET_BITS=64<<EOF&&  add_cppflags -D_FILE_OFFSET_BITS=64
  #include<stdlib.h>
@@ -2376,9 +2375,11 @@ case $target_os in
      dragonfly)
          enable malloc_aligned
          disable symver
+        fbsd_libc=1
          ;;
      freebsd)
          enable malloc_aligned
+        fbsd_libc=1
          ;;
      bsd/os)
          add_extralibs -lpoll -lgnugetopt
@@ -2499,6 +2500,8 @@ case $target_os in
          ;;
  esac

+test -z "$fbsd_libc"&&  add_cppflags -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112
+
  echo 
"config:$arch:$subarch:$cpu:$target_os:$cc_ident:$LIBAV_CONFIGURATION">config.fate

  check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || 
defined(PIC)"&&  enable pic

This isn't specific to just FreeBSD but all BSD and derived OS's. .e.g. FreeBSD, OpenBSD, NetBSD, DragonFly and OS X. Also _ISOC99_SOURCE isn't an issue, just defining _POSIX_C_SOURCE. Then the hacks in libavdevice/bktr.c and libavutil/ppc/cpu.c can be removed and
the -D_XOPEN_SOURCE=600 for NetBSD which didn't actually fix
anything at the time it was added.

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to