On Mon, Sep 5, 2016 at 3:03 AM, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > This just ports the simpler endian detection bits, addrlib > sharing wants this outside gallium. > --- > src/gallium/include/pipe/p_config.h | 40 ++--------------------- > src/util/Makefile.sources | 3 +- > src/util/u_endian.h | 65 > +++++++++++++++++++++++++++++++++++++ > 3 files changed, 69 insertions(+), 39 deletions(-) > create mode 100644 src/util/u_endian.h > > diff --git a/src/gallium/include/pipe/p_config.h > b/src/gallium/include/pipe/p_config.h > index 0b570c7..3fa43ed 100644 > --- a/src/gallium/include/pipe/p_config.h > +++ b/src/gallium/include/pipe/p_config.h > @@ -126,44 +126,8 @@ > * Endian detection. > */ > > -#ifdef __GLIBC__ > -#include <endian.h> > - > -#if __BYTE_ORDER == __LITTLE_ENDIAN > -# define PIPE_ARCH_LITTLE_ENDIAN > -#elif __BYTE_ORDER == __BIG_ENDIAN > -# define PIPE_ARCH_BIG_ENDIAN > -#endif > - > -#elif defined(__APPLE__) > -#include <machine/endian.h> > - > -#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN > -# define PIPE_ARCH_LITTLE_ENDIAN > -#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN > -# define PIPE_ARCH_BIG_ENDIAN > -#endif > - > -#elif defined(__sun) > -#include <sys/isa_defs.h> > - > -#if defined(_LITTLE_ENDIAN) > -# define PIPE_ARCH_LITTLE_ENDIAN > -#elif defined(_BIG_ENDIAN) > -# define PIPE_ARCH_BIG_ENDIAN > -#endif > - > -#elif defined(__OpenBSD__) || defined(__NetBSD__) > -#include <sys/types.h> > -#include <machine/endian.h> > - > -#if _BYTE_ORDER == _LITTLE_ENDIAN > -# define PIPE_ARCH_LITTLE_ENDIAN > -#elif _BYTE_ORDER == _BIG_ENDIAN > -# define PIPE_ARCH_BIG_ENDIAN > -#endif > - > -#else > +#include "util/u_endian.h" > +#if !defined(PIPE_ARCH_LITTLE_ENDIAN) && !defined(PIPE_ARCH_BIG_ENDIAN) > > #if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) || > defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64) > #define PIPE_ARCH_LITTLE_ENDIAN > diff --git a/src/util/Makefile.sources b/src/util/Makefile.sources > index 6def4f7..5950615 100644 > --- a/src/util/Makefile.sources > +++ b/src/util/Makefile.sources > @@ -30,7 +30,8 @@ MESA_UTIL_FILES := \ > strtod.c \ > strtod.h \ > texcompress_rgtc_tmp.h \ > - u_atomic.h > + u_atomic.h \ > + u_endian.h > > MESA_UTIL_GENERATED_FILES = \ > format_srgb.c > diff --git a/src/util/u_endian.h b/src/util/u_endian.h > new file mode 100644 > index 0000000..57490b2 > --- /dev/null > +++ b/src/util/u_endian.h > @@ -0,0 +1,65 @@ > +/************************************************************************** > + * > + * Copyright 2007-2008 VMware, Inc. > + * All Rights Reserved. > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the > + * "Software"), to deal in the Software without restriction, including > + * without limitation the rights to use, copy, modify, merge, publish, > + * distribute, sub license, and/or sell copies of the Software, and to > + * permit persons to whom the Software is furnished to do so, subject to > + * the following conditions: > + * > + * The above copyright notice and this permission notice (including the > + * next paragraph) shall be included in all copies or substantial portions > + * of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS > + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. > + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR > + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, > + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE > + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. > + * > + **************************************************************************/ > +
Missing: #ifndef U_ENDIAN_H #define U_ENDIAN_H ... > +#ifdef __GLIBC__ > +#include <endian.h> > + > +#if __BYTE_ORDER == __LITTLE_ENDIAN > +# define PIPE_ARCH_LITTLE_ENDIAN > +#elif __BYTE_ORDER == __BIG_ENDIAN > +# define PIPE_ARCH_BIG_ENDIAN > +#endif > + > +#elif defined(__APPLE__) > +#include <machine/endian.h> > + > +#if __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN > +# define PIPE_ARCH_LITTLE_ENDIAN > +#elif __DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN > +# define PIPE_ARCH_BIG_ENDIAN > +#endif > + > +#elif defined(__sun) > +#include <sys/isa_defs.h> > + > +#if defined(_LITTLE_ENDIAN) > +# define PIPE_ARCH_LITTLE_ENDIAN > +#elif defined(_BIG_ENDIAN) > +# define PIPE_ARCH_BIG_ENDIAN > +#endif > + > +#elif defined(__OpenBSD__) || defined(__NetBSD__) > +#include <sys/types.h> > +#include <machine/endian.h> > + > +#if _BYTE_ORDER == _LITTLE_ENDIAN > +# define PIPE_ARCH_LITTLE_ENDIAN > +#elif _BYTE_ORDER == _BIG_ENDIAN > +# define PIPE_ARCH_BIG_ENDIAN > +#endif > + > +#endif > -- > 2.5.5 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev