- if(HAVE_BUILTIN_BSWAP32)
- unset(BYTESWAP_HEADER PARENT_SCOPE)
- set(BYTESWAP_32 __builtin_bswap32 PARENT_SCOPE)
- set(HAVE_BYTESWAP 1 PARENT_SCOPE)
- return()
- endif()
+configure_define(HAVE_BYTESWAP)
+configure_define_header(BYTESWAP_HEADER)
+configure_define_literal(BYTESWAP_32)
+
+check_c_source("
+ #include <stdint.h>
+ int main() {
+ uint32_t a = 1, b = __builtin_bswap32(a);
+ return b;
+ }"
+ HAVE_BUILTIN_BSWAP32
+)
+
+if(HAVE_BUILTIN_BSWAP32)
+ configure_undef(BYTESWAP_HEADER)
+ set(BYTESWAP_32 __builtin_bswap32 CACHE INTERNAL "BYTESWAP_32")
+ set(HAVE_BYTESWAP 1 CACHE INTERNAL "HAVE_BYTESWAP")
+ return()
+endif()