On Wed, May 04, 2011 at 03:38:28PM +0100, Måns Rullgård wrote:
> Luca Barbato <lu_z...@gentoo.org> writes:
> 
> > On 5/4/11 2:50 PM, Diego Biurrun wrote:
> >> On Wed, May 04, 2011 at 12:04:09PM +0100, Måns Rullgård wrote:
> >>> Diego Biurrun<di...@biurrun.de>  writes:
> >>>
> >>>> On Wed, May 04, 2011 at 11:23:16AM +0100, Måns Rullgård wrote:
> >>>>> Diego Biurrun<di...@biurrun.de>  writes:
> >>>>>
> >>>>>> On Wed, May 04, 2011 at 10:23:17AM +0100, Måns Rullgård wrote:
> >>>>>>> Diego Biurrun<di...@biurrun.de>  writes:
> >>>>>>>
> >>>>>>>> On some (BSD) systems _POSIX_C_SOURCE masks function definitions in
> >>>>>>>> system header files.  Avoid the #define in that case.
> >>>>>>>> This allows eliminating some BSD-specific hacks.
> >>>>>>>>
> >>>>>>>> --- a/configure
> >>>>>>>> +++ b/configure
> >>>>>>>> @@ -2310,7 +2310,9 @@ if test "$?" != 0; then
> >>>>>>>>
> >>>>>>>> -add_cppflags -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112
> >>>>>>>> +add_cppflags -D_ISOC99_SOURCE
> >>>>>>>> +check_func_headers unistd.h swab -D_POSIX_C_SOURCE=200112&&
> >>>>>>>> +    add_cppflags -D_POSIX_C_SOURCE=200112
> >>>>>>>
> >>>>>>> We need to be more careful here since this will omit the define on any
> >>>>>>> system lacking that function entirely.  This could be any non-POSIX
> >>>>>>> system or a POSIX system without the X/Open extensions.  Defining
> >>>>>>> _POSIX_C_SOURCE for non-POSIX systems is of course a bit odd.
> >>>>>>
> >>>>>> What about running a two-staged test then: Pick some function to test
> >>>>>> for and see if it is available without but not available with the
> >>>>>> POSIX flag set.  If both of these conditions trigger, skip adding
> >>>>>> the POSIX flag to our CPPFLAGS.
> >>>>>
> >>>>> That's what I was thinking.  Perhaps something slightly less obscure
> >>>>> than swab() could be chosen though.  Pick something with an XSI label
> >>>>> from 
> >>>>> http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html
> >>>>> gethostid, lockf, nice, or sync might be good choices.
> >>>>
> >>>> None of these are actually used in Libav either.  I don't see any
> >>>> better choice right now though.  Do you have a suggestion which
> >>>> one of those four is the most common and thus least likely to
> >>>> be missing on some strange system?
> >>>
> >>> Do a google code search: http://www.google.com/codesearch
> >>
> >> This is practically useless since it does not allow regular expressions.
> >> I get matches for unix_lockf, lockfile_foo and lockfile_bar and about
> >> a trillion hits for stuff with sync in the name.
> >
> > [^:alpha:]sync*[^:alpha:]\( lang:c
> >
> > seems working fine (even if I'm not sure I used the most correct syntax)
> 
> function:^sync$ does the trick too.

lockf has the most hits, so I went for lockf - please test on your
obscure machines..

Diego
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to