diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2008-09-11 04:17:43 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2008-09-11 04:17:43 -0400 |
commit | b7a838261bd2aace4466a725a8de08cdd4dccc9c (patch) | |
tree | a0a60c2a25eead7b0c74913e9b717ce9b7c83122 /acinclude.m4 | |
parent | ac6e4b83e7eac8cf99849b3c4b60da7fdace8625 (diff) |
Move m4 macros into build/aclocal.*.m4 files
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 261 |
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],[ ])) |