summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2008-09-11 04:17:43 -0400
committerBehdad Esfahbod <behdad@behdad.org>2008-09-11 04:17:43 -0400
commitb7a838261bd2aace4466a725a8de08cdd4dccc9c (patch)
treea0a60c2a25eead7b0c74913e9b717ce9b7c83122 /acinclude.m4
parentac6e4b83e7eac8cf99849b3c4b60da7fdace8625 (diff)
Move m4 macros into build/aclocal.*.m4 files
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m4261
1 files changed, 0 insertions, 261 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 806e88b3..1cadb9ca 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,266 +1,5 @@
dnl -*- mode: autoconf -*-
-# serial 1
-
-dnl Usage:
-dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
-AC_DEFUN([GTK_DOC_CHECK],
-[
- AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
- AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
- dnl for overriding the documentation installation directory
- AC_ARG_WITH(html-dir,
- AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
- [with_html_dir='${datadir}/gtk-doc/html'])
- HTML_DIR="$with_html_dir"
- AC_SUBST(HTML_DIR)
-
- dnl enable/disable documentation building
- AC_ARG_ENABLE(gtk-doc,
- AC_HELP_STRING([--enable-gtk-doc],
- [use gtk-doc to build documentation [default=no]]),,
- enable_gtk_doc=no)
-
- have_gtk_doc=no
- if test x$enable_gtk_doc = xyes; then
- if test -z "$PKG_CONFIG"; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
- fi
- if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
- have_gtk_doc=yes
- fi
-
- dnl do we want to do a version check?
-ifelse([$1],[],,
- [gtk_doc_min_version=$1
- if test "$have_gtk_doc" = yes; then
- AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
- if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- have_gtk_doc=no
- fi
- fi
-])
- if test "$have_gtk_doc" != yes; then
- enable_gtk_doc=no
- fi
- fi
-
- AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
- AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
-])
-
-# AX_C_FLOAT_WORDS_BIGENDIAN ([ACTION-IF-TRUE], [ACTION-IF-FALSE],
-# [ACTION-IF-UNKNOWN])
-#
-# Checks the ordering of words within a multi-word float. This check
-# is necessary because on some systems (e.g. certain ARM systems), the
-# float word ordering can be different from the byte ordering. In a
-# multi-word float context, "big-endian" implies that the word containing
-# the sign bit is found in the memory location with the lowest address.
-# This implemenation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-# -------------------------------------------------------------------------
-AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
- [AC_CACHE_CHECK(whether float word ordering is bigendian,
- ax_cv_c_float_words_bigendian, [
-
-# The endianess is detected by first compiling C code that contains a special
-# double float value, then grepping the resulting object file for certain
-# strings of ascii values. The double is specially crafted to have a
-# binary representation that corresponds with a simple string. In this
-# implementation, the string "noonsees" was selected because the individual
-# word values ("noon" and "sees") are palindromes, thus making this test
-# byte-order agnostic. If grep finds the string "noonsees" in the object
-# file, the target platform stores float words in big-endian order. If grep
-# finds "seesnoon", float words are in little-endian order. If neither value
-# is found, the user is instructed to specify the ordering.
-
-ax_cv_c_float_words_bigendian=unknown
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-
-double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-
-]])], [
-
-if strings - conftest.$ac_objext | grep noonsees >/dev/null ; then
- ax_cv_c_float_words_bigendian=yes
-fi
-if strings - conftest.$ac_objext | grep seesnoon >/dev/null ; then
- if test "$ax_cv_c_float_words_bigendian" = unknown; then
- ax_cv_c_float_words_bigendian=no
- else
- ax_cv_c_float_words_bigendian=unknown
- fi
-fi
-
-])])
-
-case $ax_cv_c_float_words_bigendian in
- yes)
- m4_default([$1],
- [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
- [Define to 1 if your system stores words within floats
- with the most significant word first])]) ;;
- no)
- $2 ;;
- *)
- m4_default([$3],
- [AC_MSG_ERROR([
-
-Unknown float word ordering. You need to manually preset
-ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-
- ])]) ;;
-esac
-
-])# AX_C_FLOAT_WORDS_BIGENDIAN
-
-
-
-dnl ==========================================================================
-dnl
-dnl Cairo-specific macros
-dnl
-m4_pattern_forbid([CAIRO])
-m4_pattern_forbid([^cr_])
-
-dnl ==========================================================================
-
-dnl Usage:
-dnl CAIRO_BIGENDIAN
-dnl
-AC_DEFUN([CAIRO_BIGENDIAN], [
- case $host_os in
- darwin*)
- AH_VERBATIM([X_BYTE_ORDER],
-[
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifdef __APPLE_CC__
-#ifdef __BIG_ENDIAN__
-#define WORDS_BIGENDIAN 1
-#define FLOAT_WORDS_BIGENDIAN 1
-#else
-#undef WORDS_BIGENDIAN
-#undef FLOAT_WORDS_BIGENDIAN
-#endif
-#endif
-])
- ;;
- *)
- AC_C_BIGENDIAN
- AX_C_FLOAT_WORDS_BIGENDIAN
- ;;
- esac
-])
-
-dnl CAIRO_CHECK_FUNCS_WITH_FLAGS(FUNCTION..., CFLAGS, LIBS
-dnl [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-dnl Like AC_CHECK_FUNCS but with additional CFLAGS and LIBS
-dnl --------------------------------------------------------------------
-AC_DEFUN([CAIRO_CHECK_FUNCS_WITH_FLAGS],
-[
- _save_cflags="$CFLAGS"
- _save_libs="$LIBS"
- CFLAGS="$CFLAGS $2"
- LIBS="$LIBS $3"
- AC_CHECK_FUNCS($1, $4, $5)
- CFLAGS="$_save_cflags"
- LIBS="$_save_libs"
-])
-
-dnl CAIRO_CONFIG_COMMANDS is like AC_CONFIG_COMMANDS, except that:
-dnl
-dnl 1) It redirects the stdout of the command to the file.
-dnl 2) It does not recreate the file if contents didn't change.
-dnl
-AC_DEFUN([CAIRO_CONFIG_COMMANDS],
-[
- AC_CONFIG_COMMANDS($1,
- [
- _config_file=$1
- _tmp_file=cairoconf.tmp
- AC_MSG_NOTICE([creating $_config_file])
- {
- $2
- } >> "$_tmp_file" ||
- AC_MSG_ERROR([failed to write to $_tmp_file])
-
- if cmp -s "$_tmp_file" "$_config_file"; then
- AC_MSG_NOTICE([$_config_file is unchanged])
- rm -f "$_tmp_file"
- else
- mv "$_tmp_file" "$_config_file" ||
- AC_MSG_ERROR([failed to update $_config_file])
- fi
- ], $3)
-])
-
-dnl check compiler flags
-AC_DEFUN([CAIRO_CC_TRY_FLAG],
-[
- AC_MSG_CHECKING([whether $CC supports $1])
-
- _save_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -Werror $1"
- AC_COMPILE_IFELSE([ ], [cairo_cc_flag=yes], [cairo_cc_flag=no])
- CFLAGS="$_save_cflags"
-
- if test "x$cairo_cc_flag" = "xyes"; then
- ifelse([$2], , :, [$2])
- else
- ifelse([$3], , :, [$3])
- fi
- AC_MSG_RESULT([$cairo_cc_flag])
-])
-
-dnl Usage:
-dnl CAIRO_CHECK_NATIVE_ATOMIC_PRIMITIVES
-AC_DEFUN([CAIRO_CHECK_NATIVE_ATOMIC_PRIMITIVES],
-[
- AC_CACHE_CHECK([for native atomic primitives], cairo_cv_atomic_primitives,
- [
- cairo_cv_atomic_primitives="none"
-
- AC_TRY_LINK([int atomic_add(int i) { return __sync_fetch_and_add (&i, 1); }], [],
- cairo_cv_atomic_primitives="Intel"
- )
- ])
- if test "x$cairo_cv_atomic_primitives" = xIntel; then
- AC_DEFINE(HAVE_INTEL_ATOMIC_PRIMITIVES, 1,
- [Enable if your compiler supports the Intel __sync_* atomic primitives])
- fi
-])
-
-dnl Usage:
-dnl CAIRO_CHECK_ATOMIC_OP_NEEDS_MEMORY_BARRIER
-AC_DEFUN([CAIRO_CHECK_ATOMIC_OP_NEEDS_MEMORY_BARRIER],
-[
- AC_CACHE_CHECK([whether atomic ops require a memory barrier], cairo_cv_atomic_op_needs_memory_barrier,
- [
- case $host_cpu in
- i?86) cairo_cv_atomic_op_needs_memory_barrier="no" ;;
- x86_64) cairo_cv_atomic_op_needs_memory_barrier="no" ;;
- arm*) cairo_cv_atomic_op_needs_memory_barrier="no" ;;
- *) cairo_cv_atomic_op_needs_memory_barrier="yes" ;;
- esac
- ])
- if test "x$cairo_cv_atomic_op_needs_memory_barrier" = "xyes"; then
- AC_DEFINE_UNQUOTED(ATOMIC_OP_NEEDS_MEMORY_BARRIER, 1,
- [whether memory barriers are needed around atomic operations])
- fi
-])
-
-dnl Parse Version.mk and declare m4 variables out of it
-m4_define([CAIRO_PARSE_VERSION],
- m4_translit(
- m4_bpatsubst(m4_include(cairo-version.h),
- [^.define \([a-zA-Z0-9_]*\) *\([0-9][0-9]*\)],
- [[m4_define(\1, \[\2\])]]),
- [A-Z], [a-z])
-)
-
dnl [m4_newline] didn't appear until autoconf 2.62
m4_ifdef([m4_newline],,m4_define([m4_newline],[
]))