Branch
Hash :
7b089321
Author :
Date :
2025-01-01T09:24:36
maint: run 'make update-copyright'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
# byteswap.m4
# serial 7
dnl Copyright (C) 2005, 2007, 2009-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file is offered as-is, without any warranty.
dnl Written by Oskar Liljeblad.
AC_DEFUN([gl_BYTESWAP],
[
dnl Prerequisites of lib/byteswap.in.h.
AC_CHECK_HEADERS_ONCE([byteswap.h])
if test $ac_cv_header_byteswap_h = yes; then
AC_CACHE_CHECK([for working bswap_16, bswap_32, bswap_64],
[gl_cv_header_working_byteswap_h],
[gl_cv_header_working_byteswap_h=no
dnl Check that floating point arguments work.
dnl This also checks C libraries with implementations like
dnl '#define bswap_16(x) (((x) >> 8 & 0xff) | (((x) & 0xff) << 8))'
dnl that mistakenly evaluate their arguments multiple times.
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <byteswap.h>
]],
[[int value_16 = bswap_16 (0.0);
int value_32 = bswap_32 (0.0);
int value_64 = bswap_64 (0.0);
return !(value_16 + value_32 + value_64);
]])
],
[gl_cv_header_working_byteswap_h=yes],
[gl_cv_header_working_byteswap_h=no])
])
fi
if test "$gl_cv_header_working_byteswap_h" = yes; then
GL_GENERATE_BYTESWAP_H=false
else
GL_GENERATE_BYTESWAP_H=true
fi
])