kumquat-buildroot/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch

71 lines
2.6 KiB
Diff
Raw Normal View History

From 4135bd2e13880866deb0440855d1a869397e5024 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 4 Nov 2016 19:44:37 +0100
Subject: [PATCH] Fix endianess detection with musl-based toolchains
Musl does not define __GLIBC__ and will not provide a __MUSL__ macro:
http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F
This patch checks for the presence of endian.h and promotes the result
to src/amd/Makefile.addrlib.am which executes the broken build command.
Fixes compile errors detected by the autobuilder infrastructure of the
buildroot project:
http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/
http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/
Patch sent upstream: https://patchwork.freedesktop.org/patch/119961/
[Bernd: rebase on mesa 18.0.0]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Romain: rebase on mesa 17.3.1]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
configure.ac | 1 +
src/amd/Makefile.addrlib.am | 1 +
src/util/u_endian.h | 2 +-
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index a02173f244..ee03d6f582 100644
--- a/configure.ac
+++ b/configure.ac
@@ -791,6 +791,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([memfd_create], [DEFINES="$DEFINES -DHAVE_MEMFD_CREATE"])
diff --git a/src/amd/Makefile.addrlib.am b/src/amd/Makefile.addrlib.am
index 46689637f9..508edfd0d5 100644
--- a/src/amd/Makefile.addrlib.am
+++ b/src/amd/Makefile.addrlib.am
@@ -29,7 +29,8 @@
-I$(srcdir)/addrlib/inc/chip/gfx9 \
-I$(srcdir)/addrlib/inc/chip/r800 \
-I$(srcdir)/addrlib/gfx9/chip \
- -I$(srcdir)/addrlib/r800/chip
+ -I$(srcdir)/addrlib/r800/chip \
+ $(DEFINES)
addrlib_libamdgpu_addrlib_la_CXXFLAGS = \
$(VISIBILITY_CXXFLAGS) $(CXX11_CXXFLAGS)
diff --git a/src/util/u_endian.h b/src/util/u_endian.h
index 9e09f80181..038a28fac9 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__)
+#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__) || defined(HAVE_ENDIAN_H)
#include <endian.h>
#if __BYTE_ORDER == __LITTLE_ENDIAN
--
2.14.3