[Mesa-dev] [PATCH mesa] meson/configure: detect endian.h instead of trying to guess when it's available
Dylan Baker
dylan at pnwbakers.com
Wed Mar 21 18:45:32 UTC 2018
Quoting Emil Velikov (2018-03-21 10:57:09)
> On 21 March 2018 at 17:54, Eric Engestrom <eric.engestrom at imgtec.com> wrote:
> > On Wednesday, 2018-03-21 10:45:35 -0700, Dylan Baker wrote:
> >> Quoting Eric Engestrom (2018-03-21 10:09:17)
> >> > 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"])
> >> > 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
> >>
> >> is it really safe to remove the `defined(ANDROID)` check here?
> >
> > I'm clearly too tired to do this...
> >
> > Cc'ing Rob; can you tell us if defining HAVE_ENDIAN_H unconditionally in
> > Android.mk seems reasonable? Or is there a way to detect headers on Android?
> >
> Pretty sure it's safe - we've been doing that for a long time ;-)
>
> > I also forgot to add the check in scons; I just added this to the commit
> > locally:
> > ----8<----
> > diff --git a/scons/gallium.py b/scons/gallium.py
> > index 75200b89c1fe6d751980..6cb20efcbf4b8c997f60 100755
> > --- a/scons/gallium.py
> > +++ b/scons/gallium.py
> > @@ -354,6 +354,9 @@ def generate(env):
> > if check_header(env, 'xlocale.h'):
> > cppdefines += ['HAVE_XLOCALE_H']
> >
> > + if check_header(env, 'endian.h'):
> > + cppdefines += ['HAVE_ENDIAN_H']
> > +
> Wondering if anyone uses scons on POSIX platforms. Regardless - thanks
> for updating it.
We do build test scons on Linux, it gives a pretty good indication when someone
has broken the build on Windows (or is going to).
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180321/e99cf62b/attachment.sig>
More information about the mesa-dev
mailing list