You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.4 KiB

  1. dnl -*- Autoconf -*-
  2. dnl Copyright (C) 1993-2006 Free Software Foundation, Inc.
  3. dnl This file is free software, distributed under the terms of the GNU
  4. dnl General Public License. As a special exception to the GNU General
  5. dnl Public License, this file may be distributed as part of a program
  6. dnl that contains a configuration script generated by Autoconf, under
  7. dnl the same distribution terms as the rest of that program.
  8. dnl From Bruno Haible, Marcus Daniels, Sam Steingold, Paul Eggert.
  9. AC_PREREQ(2.57)
  10. AC_DEFUN([CL_LONGLONG],
  11. [AC_CACHE_CHECK(for long long type, cl_cv_c_longlong, [
  12. AC_TRY_RUN([
  13. #include <stdlib.h>
  14. int main()
  15. {
  16. /* long longs don't work right with gcc-2.7.2 on m68k */
  17. /* long longs don't work right with gcc-2.7.2 on rs6000: avcall/tests.c gets
  18. miscompiled. */
  19. #if defined(__m68k__) || (defined(_IBMR2) || defined(__powerpc))
  20. #if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ <= 7)
  21. exit(1);
  22. #endif
  23. #endif
  24. { long x = 944938507; long y = 737962842; long z = 162359677;
  25. exit(!(((long long) x)*((long long) y)>>32 == z));
  26. }
  27. }],
  28. cl_cv_c_longlong=yes, cl_cv_c_longlong=no, [
  29. dnl When cross-compiling, use the test from gnulib.
  30. AC_TRY_LINK([long long ll = 1LL; int i = 63;],
  31. [long long llmax = (long long) -1;
  32. return ll << i | ll >> i | llmax / ll | llmax % ll;],
  33. cl_cv_c_longlong=yes,
  34. cl_cv_c_longlong=no)])
  35. ])
  36. if test $cl_cv_c_longlong = yes; then
  37. AC_DEFINE(HAVE_LONGLONG,,[compiler supports the `long long' type])
  38. fi
  39. ])