[Mesa-dev] [PATCH mesa] meson/configure: detect endian.h instead of trying to guess when it's available

Eric Engestrom eric at engestrom.ch
Wed Mar 21 18:55:26 UTC 2018



On March 21, 2018 6:47:48 PM UTC, Dylan Baker <dylan at pnwbakers.com> wrote:
> Quoting Emil Velikov (2018-03-21 10:53:08)
> > On 21 March 2018 at 17:09, Eric Engestrom
> <eric.engestrom at imgtec.com> wrote:
> > > Cc: Maxin B. John <maxin.john at gmail.com>
> > > Cc: Khem Raj <raj.khem at gmail.com>
> > > Suggested-by: Jon Turney <jon.turney at dronecode.org.uk>
> > > Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
> > > ---
> > >  configure.ac        | 1 +
> > >  meson.build         | 2 +-
> > >  src/util/u_endian.h | 2 +-
> > >  3 files changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/configure.ac b/configure.ac
> > > index 29d3c3457a7cdaefc36a..36c56da787e4fab5a355 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -865,6 +865,7 @@ fi
> > >  AC_HEADER_MAJOR
> > >  AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES
> -DHAVE_XLOCALE_H"])
> > >  AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES
> -DHAVE_SYS_SYSCTL_H"])
> > > +AC_CHECK_HEADER([endian.h], [DEFINES="$DEFINES -DHAVE_ENDIAN_H"])
> > >  AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"])
> > >  AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"])
> > >  AC_CHECK_FUNC([timespec_get], [DEFINES="$DEFINES
> -DHAVE_TIMESPEC_GET"])
> > Just hit me - why are we using any of these instead of
> AC_CHECK_FUNCS
> > and AC_CHECK_HEADERS (note the S at the end).
> > Those take a list + automatically set the HAVE_ macros for us.
> > 
> > Off the top of my head - we could even use the _ONCE version which
> > should lead to smaller configure file + faster runtime.
> > 
> > I'm thinking out loud here ^^, no changes needed ;-)
> > 
> > > diff --git a/meson.build b/meson.build
> > > index 88518ec0f0e9b81759a7..1132b4bd37075d8c9d21 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -904,7 +904,7 @@ elif cc.has_header_symbol('sys/mkdev.h',
> 'major')
> > >    pre_args += '-DMAJOR_IN_MKDEV'
> > >  endif
> > >
> > > -foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h']
> > > +foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h',
> 'endian.h']
> > >    if cc.compiles('#include <@0@>'.format(h), name : '@0@
> works'.format(h))
> > >      pre_args += '-DHAVE_ at 0@'.format(h.to_upper().underscorify())
> > >    endif
> > > diff --git a/src/util/u_endian.h b/src/util/u_endian.h
> > > index 22d011ec0086ee77e11c..e11b381588dbc960e8c3 100644
> > > --- a/src/util/u_endian.h
> > > +++ b/src/util/u_endian.h
> > > @@ -27,7 +27,7 @@
> > >  #ifndef U_ENDIAN_H
> > >  #define U_ENDIAN_H
> > >
> > > -#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__)
> > > +#ifdef HAVE_ENDIAN_H
> > I'd either keep the ANDROID hunk here, or add -DHAVE_ENDIAN_H to
> > Android.common.mk
> > With slight inclination towards the latter ;-)
> > 
> > With that the patch is
> > Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
> > Cc: <mesa-stable at lists.freedesktop.org>
> > 
> 
> With Emil's fixes,
> Reviewed-by: Dylan Baker <dylan at pnwbakers.com>

Thanks!
I have the Android.common.mk hunk that I sent in the other email applied locally; this is what I'll push tomorrow, I'm just giving RobHer some time to shout if I'm doing it wrong.

Cheers,
  Eric


More information about the mesa-dev mailing list