From c50c480752ef2fe84fc88e7dae423b2b4977487f Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Wed, 23 Oct 2019 15:44:22 +0200 Subject: [PATCH] eina: unbreak byteswap checks For one, eina_config.h.in is never used by anything since meson, so doing any checks in it and expecting them to work is wrong. Byteswaps are one place where this is the case, so move the checks back in their appropriate place. --- src/lib/eina/eina_config.h.in | 34 ---------------------------------- src/lib/eina/eina_inline_cpu.x | 14 +++++++++++--- 2 files changed, 11 insertions(+), 37 deletions(-) diff --git a/src/lib/eina/eina_config.h.in b/src/lib/eina/eina_config.h.in index 7f81542..8728bb4 100644 --- a/src/lib/eina/eina_config.h.in +++ b/src/lib/eina/eina_config.h.in @@ -23,14 +23,6 @@ # include #endif -#ifdef __has_builtin -# define EINA_HAS_BUILTIN(x) __has_builtin(x) -#elif (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) -# define EINA_HAS_BUILTIN(x) 1 -#else -# define EINA_HAS_BUILTIN(x) 0 // Compatibility for the rest of the world -#endif - #ifdef EINA_MAGIC_DEBUG # undef EINA_MAGIC_DEBUG #endif @@ -95,32 +87,6 @@ #endif @EINA_CONFIGURE_HAVE_ALLOCA_H@ -#ifdef EINA_HAVE_BSWAP16 -# undef EINA_HAVE_BSWAP16 -#endif -#if EINA_HAS_BUILTIN(__builtin_bswap16) -# define EINA_HAVE_BSWAP16 -#endif - -#ifdef EINA_HAVE_BSWAP32 -# undef EINA_HAVE_BSWAP32 -#endif -#if EINA_HAS_BUILTIN(__builtin_bswap32) -# define EINA_HAVE_BSWAP32 -#endif - -#ifdef EINA_HAVE_BSWAP64 -# undef EINA_HAVE_BSWAP64 -#endif -#if EINA_HAS_BUILTIN(__builtin_bswap64) -# define EINA_HAVE_BSWAP64 -#endif - -#ifdef EINA_HAVE_BYTESWAP_H -# undef EINA_HAVE_BYTESWAP_H -#endif -@EINA_CONFIGURE_HAVE_BYTESWAP_H@ - #ifdef EINA_HAVE_POSIX_SPINLOCK # undef EINA_HAVE_POSIX_SPINLOCK #endif diff --git a/src/lib/eina/eina_inline_cpu.x b/src/lib/eina/eina_inline_cpu.x index 0dd293c..da10760 100644 --- a/src/lib/eina/eina_inline_cpu.x +++ b/src/lib/eina/eina_inline_cpu.x @@ -23,6 +23,14 @@ #ifndef EINA_INLINE_CPU_X_ #define EINA_INLINE_CPU_X_ +#ifdef __has_builtin +# define EINA_HAS_BUILTIN(x) __has_builtin(x) +#elif (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) +# define EINA_HAS_BUILTIN(x) 1 +#else +# define EINA_HAS_BUILTIN(x) 0 // Compatibility for the rest of the world +#endif + #ifdef EINA_HAVE_BYTESWAP_H # include #endif @@ -30,7 +38,7 @@ static inline unsigned short eina_swap16(unsigned short x) { -#if defined EINA_HAVE_BSWAP16 +#if EINA_HAS_BUILTIN(__builtin_bswap16) return __builtin_bswap16(x); #elif defined _MSC_VER /* Windows. Apparently in . */ return _byteswap_ushort(x); @@ -45,7 +53,7 @@ eina_swap16(unsigned short x) static inline unsigned int eina_swap32(unsigned int x) { -#ifdef EINA_HAVE_BSWAP32 +#if EINA_HAS_BUILTIN(__builtin_bswap32) return __builtin_bswap32(x); #elif defined _MSC_VER /* Windows. Apparently in . */ return _byteswap_ulong(x); @@ -62,7 +70,7 @@ eina_swap32(unsigned int x) static inline unsigned long long eina_swap64(unsigned long long x) { -#ifdef EINA_HAVE_BSWAP64 +#if EINA_HAS_BUILTIN(__builtin_bswap64) return __builtin_bswap64(x); #elif defined _MSC_VER /* Windows. Apparently in . */ return _byteswap_uint64(x); -- 2.7.4