[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