]> granicus.if.org Git - xz/commitdiff
Added autoconf check to detect if we can use arithmetic
authorLasse Collin <lasse.collin@tukaani.org>
Sat, 22 Mar 2008 12:18:29 +0000 (14:18 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Sat, 22 Mar 2008 12:18:29 +0000 (14:18 +0200)
right shift for optimizations.

configure.ac
m4/ax_c_arithmetic_rshift.m4 [new file with mode: 0644]

index dbafd73c1027dc8548cca19abb76895efa70796d..472a7d16ff06ace554493f9a488da9e390751e6c 100644 (file)
@@ -407,6 +407,7 @@ AC_CHECK_HEADERS([assert.h errno.h byteswap.h sys/param.h sys/sysctl.h],
 
 AC_C_INLINE
 AC_C_RESTRICT
+AX_C_ARITHMETIC_RSHIFT
 
 AC_HEADER_STDBOOL
 
diff --git a/m4/ax_c_arithmetic_rshift.m4 b/m4/ax_c_arithmetic_rshift.m4
new file mode 100644 (file)
index 0000000..3c18344
--- /dev/null
@@ -0,0 +1,36 @@
+##### http://autoconf-archive.cryp.to/ax_c_arithmetic_rshift.html
+#
+# SYNOPSIS
+#
+#   AX_C_ARITHMETIC_RSHIFT
+#
+# DESCRIPTION
+#
+#   Checks if the right shift operation is arithmetic.
+#
+#   This macro uses compile-time detection and so is cross-compile
+#   ready.
+#
+# LAST MODIFICATION
+#
+#   2006-12-12
+#
+# COPYLEFT
+#
+#   Copyright (c) 2006 YAMAMOTO Kengo <yamaken AT bp.iij4u.or.jp>
+#
+#   Copying and distribution of this file, with or without
+#   modification, are permitted in any medium without royalty provided
+#   the copyright notice and this notice are preserved.
+
+AC_DEFUN([AX_C_ARITHMETIC_RSHIFT], [
+  AC_CACHE_CHECK([whether right shift operation is arithmetic],
+                 [ax_cv_c_arithmetic_rshift],
+                 [AC_COMPILE_IFELSE([[int dummy[((-1 >> 1) < 0) ? 1 : -1];]],
+                                    [ax_cv_c_arithmetic_rshift=yes],
+                                    [ax_cv_c_arithmetic_rshift=no])])
+  if test "x$ax_cv_c_arithmetic_rshift" = xyes; then
+    AC_DEFINE([HAVE_ARITHMETIC_RSHIFT], [1],
+              [Define to 1 if the right shift operation is arithmetic.])
+  fi
+])