Mesa (master): meson/configure: detect endian.h instead of trying to guess when it's available

Eric Engeström eric_engestrom at kemper.freedesktop.org
Fri Mar 23 11:50:02 UTC 2018


Module: Mesa
Branch: master
Commit: cbee1bfb34274668a05995b9d4c78ddec9e5ea4c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbee1bfb34274668a05995b9d4c78ddec9e5ea4c

Author: Eric Engestrom <eric.engestrom at imgtec.com>
Date:   Wed Mar 21 17:04:06 2018 +0000

meson/configure: detect endian.h instead of trying to guess when it's available

Cc: Maxin B. John <maxin.john at gmail.com>
Cc: Khem Raj <raj.khem at gmail.com>
Cc: Rob Herring <robh at kernel.org>
Suggested-by: Jon Turney <jon.turney at dronecode.org.uk>
Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
Cc: <mesa-stable at lists.freedesktop.org>

---

 Android.common.mk   | 1 +
 configure.ac        | 1 +
 meson.build         | 2 +-
 scons/gallium.py    | 3 +++
 src/util/u_endian.h | 2 +-
 5 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Android.common.mk b/Android.common.mk
index 52dc7bff3b..e8aed48c31 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -70,6 +70,7 @@ LOCAL_CFLAGS += \
 	-DHAVE_DLADDR \
 	-DHAVE_DL_ITERATE_PHDR \
 	-DHAVE_LINUX_FUTEX_H \
+	-DHAVE_ENDIAN_H \
 	-DHAVE_ZLIB \
 	-DMAJOR_IN_SYSMACROS \
 	-fvisibility=hidden \
diff --git a/configure.ac b/configure.ac
index 29d3c3457a..36c56da787 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 871b0d8d22..041d2bfc70 100644
--- a/meson.build
+++ b/meson.build
@@ -916,7 +916,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/scons/gallium.py b/scons/gallium.py
index 75200b89c1..6cb20efcbf 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']
+
         if check_functions(env, ['strtod_l', 'strtof_l']):
             cppdefines += ['HAVE_STRTOD_L']
 
diff --git a/src/util/u_endian.h b/src/util/u_endian.h
index 22d011ec00..e11b381588 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
 #include <endian.h>
 
 #if __BYTE_ORDER == __LITTLE_ENDIAN




More information about the mesa-commit mailing list