2008-09-03 20:06:26 -04:00
|
|
|
dnl
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl Non-failing checks for functions, headers, libraries, etc go here
|
2008-09-03 20:06:26 -04:00
|
|
|
dnl
|
|
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl ====================================================================
|
|
|
|
|
dnl Feature checks
|
|
|
|
|
dnl ====================================================================
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = "xyes")
|
2008-09-03 20:06:26 -04:00
|
|
|
CAIRO_BIGENDIAN
|
2009-08-04 20:13:43 +01:00
|
|
|
AC_ARG_ENABLE(atomic,
|
|
|
|
|
[AS_HELP_STRING([--disable-atomic],
|
|
|
|
|
[disable use of native atomic operations])],
|
|
|
|
|
[use_atomic=$enableval], [use_atomic=yes])
|
|
|
|
|
AS_IF([test "x$use_atomic" = "xyes"], [
|
|
|
|
|
CAIRO_CHECK_NATIVE_ATOMIC_PRIMITIVES
|
|
|
|
|
CAIRO_CHECK_ATOMIC_OP_NEEDS_MEMORY_BARRIER
|
|
|
|
|
])
|
2008-10-31 15:37:58 +00:00
|
|
|
AC_CHECK_SIZEOF(void *)
|
2009-06-21 22:25:08 +01:00
|
|
|
AC_CHECK_SIZEOF(int)
|
|
|
|
|
AC_CHECK_SIZEOF(long)
|
|
|
|
|
AC_CHECK_SIZEOF(long long)
|
2008-10-31 15:37:58 +00:00
|
|
|
AC_CHECK_SIZEOF(size_t)
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
AC_MSG_CHECKING([for native Win32])
|
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-mingw*)
|
|
|
|
|
cairo_os_win32=yes
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
cairo_os_win32=no
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
AC_MSG_RESULT([$cairo_os_win32])
|
|
|
|
|
AM_CONDITIONAL(OS_WIN32, test "$cairo_os_win32" = "yes")
|
2008-09-03 20:06:26 -04:00
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for Sun Solaris (non-POSIX ctime_r)])
|
|
|
|
|
case "$host" in
|
|
|
|
|
*-*-solaris*)
|
|
|
|
|
CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS"
|
|
|
|
|
solaris_posix_pthread=yes
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
solaris_posix_pthread=no
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
AC_MSG_RESULT([$solaris_posix_pthread])
|
|
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl ====================================================================
|
|
|
|
|
dnl Library checks
|
|
|
|
|
dnl ====================================================================
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
AC_CHECK_LIBM
|
|
|
|
|
LIBS="$LIBS $LIBM"
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2011-08-30 16:15:28 +02:00
|
|
|
AC_CHECK_LIB(rt, sched_yield)
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2009-06-13 18:59:17 +01:00
|
|
|
has_shm_open=
|
|
|
|
|
AC_CHECK_LIB(rt, shm_open, [
|
|
|
|
|
SHM_LIBS=-lrt
|
|
|
|
|
has_shm_open=yes
|
|
|
|
|
], [SHM_LIBS=])
|
|
|
|
|
AM_CONDITIONAL(HAVE_SHM, test "x$has_shm_open" = "xyes")
|
|
|
|
|
AC_SUBST(SHM_LIBS)
|
|
|
|
|
|
2009-05-24 23:50:03 +03:00
|
|
|
AC_CHECK_LIB(socket, connect, [SOCKET_LIBS=-lsocket], [SOCKET_LIBS=])
|
|
|
|
|
CAIROBOILERPLATE_LIBS=$SOCKET_LIBS
|
|
|
|
|
AC_SUBST(CAIROBOILERPLATE_LIBS)
|
|
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl ====================================================================
|
|
|
|
|
dnl Header/function checks
|
|
|
|
|
dnl ====================================================================
|
|
|
|
|
|
2009-07-24 09:12:10 +03:00
|
|
|
dnl check if we have a __builtin_return_address for the cairo-trace
|
|
|
|
|
dnl utility.
|
|
|
|
|
AC_MSG_CHECKING([for __builtin_return_address(0)])
|
|
|
|
|
AC_TRY_COMPILE([],[__builtin_return_address(0);],
|
|
|
|
|
[have_builtin_return_address=yes],
|
|
|
|
|
[have_builtin_return_address=no])
|
|
|
|
|
AC_MSG_RESULT($have_builtin_return_address)
|
|
|
|
|
if test "x$have_builtin_return_address" = "xyes"; then
|
|
|
|
|
AC_DEFINE(HAVE_BUILTIN_RETURN_ADDRESS, 1,
|
|
|
|
|
[Define to 1 if your compiler supports the __builtin_return_address() intrinsic.])
|
|
|
|
|
fi
|
|
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl Checks for precise integer types
|
|
|
|
|
AC_CHECK_HEADERS([stdint.h inttypes.h sys/int_types.h])
|
2009-09-15 17:26:59 +02:00
|
|
|
AC_CHECK_TYPES([uint64_t, uint128_t, __uint128_t])
|
2008-09-04 16:00:40 -04:00
|
|
|
|
|
|
|
|
dnl Check for socket support for any2ppm daemon
|
|
|
|
|
AC_CHECK_HEADERS([fcntl.h unistd.h signal.h sys/stat.h sys/socket.h sys/poll.h sys/un.h])
|
|
|
|
|
|
2009-06-28 20:56:33 +01:00
|
|
|
dnl Check for infinite loops
|
|
|
|
|
AC_CHECK_FUNCS([alarm])
|
|
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl check for CPU affinity support
|
2009-06-06 13:32:21 +01:00
|
|
|
AC_CHECK_HEADERS([sched.h], [AC_CHECK_FUNCS([sched_getaffinity])])
|
|
|
|
|
|
2009-06-11 22:36:01 +01:00
|
|
|
dnl check for mmap support
|
|
|
|
|
AC_CHECK_HEADERS([sys/mman.h], [AC_CHECK_FUNCS([mmap])])
|
|
|
|
|
|
2009-06-06 13:32:21 +01:00
|
|
|
dnl check for clock_gettime() support
|
|
|
|
|
AC_CHECK_HEADERS([time.h], [AC_CHECK_FUNCS([clock_gettime])])
|
2008-09-04 16:00:40 -04:00
|
|
|
|
|
|
|
|
dnl check for GNU-extensions to fenv
|
|
|
|
|
AC_CHECK_HEADER(fenv.h,
|
2009-05-15 10:48:56 +01:00
|
|
|
[AC_CHECK_FUNCS(feenableexcept fedisableexcept feclearexcept)])
|
2008-09-04 16:00:40 -04:00
|
|
|
|
|
|
|
|
dnl check for misc headers and functions
|
2011-09-06 20:36:32 -07:00
|
|
|
AC_CHECK_HEADERS([libgen.h byteswap.h signal.h setjmp.h fenv.h sys/wait.h])
|
2011-08-30 16:16:04 +02:00
|
|
|
AC_CHECK_FUNCS([ctime_r drand48 flockfile funlockfile getline link strndup])
|
2008-09-03 20:06:26 -04:00
|
|
|
|
2008-09-04 16:00:40 -04:00
|
|
|
dnl check for win32 headers (this detects mingw as well)
|
2008-09-03 20:06:26 -04:00
|
|
|
AC_CHECK_HEADERS([windows.h], have_windows=yes, have_windows=no)
|
|
|
|
|
|
2008-09-03 16:38:03 +01:00
|
|
|
|
|
|
|
|
dnl Possible headers for mkdir
|
|
|
|
|
AC_CHECK_HEADERS([sys/stat.h io.h])
|
|
|
|
|
AC_CHECK_FUNC(mkdir,
|
|
|
|
|
[AC_MSG_CHECKING([mkdir variant])
|
|
|
|
|
mkdir_variant="unknown"
|
|
|
|
|
save_CFLAGS="$CFLAGS"
|
2009-03-03 10:27:11 +00:00
|
|
|
CFLAGS=$WARN_CFLAGS
|
2008-09-03 16:38:03 +01:00
|
|
|
AC_TRY_COMPILE([
|
|
|
|
|
#ifdef HAVE_SYS_STAT_H
|
|
|
|
|
#include <sys/stat.h>
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef HAVE_IO_H
|
|
|
|
|
#include <io.h>
|
|
|
|
|
#endif
|
|
|
|
|
],
|
|
|
|
|
[mkdir ("hello.world", 0777)],
|
|
|
|
|
mkdir_variant="mkdir(path, mode)",
|
|
|
|
|
[AC_TRY_COMPILE([
|
|
|
|
|
#ifdef HAVE_SYS_STAT_H
|
|
|
|
|
#include <sys/stat.h>
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef HAVE_IO_H
|
|
|
|
|
#include <io.h>
|
|
|
|
|
#endif
|
|
|
|
|
],
|
|
|
|
|
[mkdir ("hello.world")],
|
|
|
|
|
mkdir_variant="mkdir(path)")])
|
|
|
|
|
AC_MSG_RESULT([$mkdir_variant])
|
|
|
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
|
if test "x$mkdir_variant" = "xmkdir(path, mode)"; then
|
|
|
|
|
AC_DEFINE(HAVE_MKDIR, 2,
|
|
|
|
|
[Define to non-zero if your system has mkdir, and to 2 if your version of mkdir requires a mode parameter])
|
|
|
|
|
else
|
|
|
|
|
AC_DEFINE(HAVE_MKDIR, 1,
|
|
|
|
|
[Define to non-zero if your system has mkdir, and to 2 if your version of mkdir requires a mode parameter])
|
|
|
|
|
fi])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
dnl
|
|
|
|
|
dnl Test for the tools required for building one big test binary
|
|
|
|
|
dnl
|
|
|
|
|
|
|
|
|
|
AC_CHECK_FUNCS(fork waitpid raise)
|
2009-11-02 12:50:45 +00:00
|
|
|
|