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

Emil Velikov emil.l.velikov at gmail.com
Wed Mar 21 17:53:08 UTC 2018


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>

-Emil


More information about the mesa-dev mailing list