diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-05-21 12:28:47 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2019-05-21 12:28:47 -0400 |
commit | 1f0ae2e349b7fba7ca12c492cd451391eb0ced14 (patch) | |
tree | 74ca97c9e46411d7159f906f952992ab47941b55 | |
parent | 5ea0195661e88395ee3e7384db7acc3f03d52dc1 (diff) | |
download | efl-1f0ae2e349b7fba7ca12c492cd451391eb0ced14.tar.gz |
eina: move builtin detection to eina_config.h
Summary: this means we don't need to handle this in the buildtool at all.
Reviewers: vtorri, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8553
-rw-r--r-- | src/lib/eina/eina_config.h.in | 20 | ||||
-rw-r--r-- | src/lib/eina/eina_inline_cpu.x | 10 | ||||
-rw-r--r-- | src/lib/eina/meson.build | 12 |
3 files changed, 18 insertions, 24 deletions
diff --git a/src/lib/eina/eina_config.h.in b/src/lib/eina/eina_config.h.in index c040cc5341..7f81542a36 100644 --- a/src/lib/eina/eina_config.h.in +++ b/src/lib/eina/eina_config.h.in @@ -23,6 +23,14 @@ # include <Exotic.h> #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 @@ -90,17 +98,23 @@ #ifdef EINA_HAVE_BSWAP16 # undef EINA_HAVE_BSWAP16 #endif -@EINA_CONFIGURE_HAVE_BSWAP16@ +#if EINA_HAS_BUILTIN(__builtin_bswap16) +# define EINA_HAVE_BSWAP16 +#endif #ifdef EINA_HAVE_BSWAP32 # undef EINA_HAVE_BSWAP32 #endif -@EINA_CONFIGURE_HAVE_BSWAP32@ +#if EINA_HAS_BUILTIN(__builtin_bswap32) +# define EINA_HAVE_BSWAP32 +#endif #ifdef EINA_HAVE_BSWAP64 # undef EINA_HAVE_BSWAP64 #endif -@EINA_CONFIGURE_HAVE_BSWAP64@ +#if EINA_HAS_BUILTIN(__builtin_bswap64) +# define EINA_HAVE_BSWAP64 +#endif #ifdef EINA_HAVE_BYTESWAP_H # undef EINA_HAVE_BYTESWAP_H diff --git a/src/lib/eina/eina_inline_cpu.x b/src/lib/eina/eina_inline_cpu.x index d26bdcce7c..035e5b188b 100644 --- a/src/lib/eina/eina_inline_cpu.x +++ b/src/lib/eina/eina_inline_cpu.x @@ -27,18 +27,10 @@ # include <byteswap.h> #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 - static inline unsigned short eina_swap16(unsigned short x) { -#if defined EINA_HAVE_BSWAP16 && EINA_HAS_BUILTIN(__builtin_bswap16) +#if defined EINA_HAVE_BSWAP16 return __builtin_bswap16(x); #elif defined _MSC_VER /* Windows. Apparently in <stdlib.h>. */ return _byteswap_ushort(x); diff --git a/src/lib/eina/meson.build b/src/lib/eina/meson.build index bfb484e877..e4bce4fc96 100644 --- a/src/lib/eina/meson.build +++ b/src/lib/eina/meson.build @@ -326,18 +326,6 @@ if cc.has_header('byteswap.h') eina_config.set('EINA_HAVE_BYTESWAP_H', '1') endif -if cc.has_header_symbol('byteswap.h', 'bswap_16') - eina_config.set('EINA_HAVE_BSWAP16', '1') -endif - -if cc.has_header_symbol('byteswap.h', 'bswap_32') - eina_config.set('EINA_HAVE_BSWAP32', '1') -endif - -if cc.has_header_symbol('byteswap.h', 'bswap_64') - eina_config.set('EINA_HAVE_BSWAP64', '1') -endif - if cc.has_header_symbol('pthread.h', 'pthread_spin_init') eina_config.set('EINA_HAVE_POSIX_SPINLOCK', '1') endif |