mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-23 20:10:10 +01:00
This adds a compiler check that the function result is used by the caller and enables it by default for all cairo_private functions and for public API that returns a cairo_status_t. It has been discussed that to extend the warnings to all functions, a new function type could been introduced to cover static functions: cairo_static. This has not been done at the present time in order to minimise the churn and focus on the more common errors. In order to reduce the warning spew generated by gcc for invalid use of this attribute, -Wno-attributes is added to CFLAGS. This has the unfortunate side-effect of masking future warnings for all attributes - be warned!
92 lines
2.3 KiB
Text
92 lines
2.3 KiB
Text
# Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.54)
|
|
|
|
AC_INIT(src/pixman.h)
|
|
|
|
dnl ===========================================================================
|
|
|
|
# Package version number, (as distinct from shared library version)
|
|
LIBPIXMAN_VERSION=0.1.6-head
|
|
|
|
# libtool shared library version
|
|
|
|
# Increment if the interface has additions, changes, removals.
|
|
LT_CURRENT=1
|
|
|
|
# Increment any time the source changes; set to
|
|
# 0 if you increment CURRENT
|
|
LT_REVISION=0
|
|
|
|
# Increment if any interfaces have been added; set to 0
|
|
# if any interfaces have been removed. removal has
|
|
# precedence over adding, so set to 0 if both happened.
|
|
LT_AGE=0
|
|
|
|
VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
|
|
AC_SUBST(VERSION_INFO)
|
|
|
|
dnl ===========================================================================
|
|
|
|
AM_INIT_AUTOMAKE(libpixman, $LIBPIXMAN_VERSION)
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PROG_CC
|
|
AM_PROG_LIBTOOL
|
|
|
|
AC_C_BIGENDIAN
|
|
|
|
dnl Use lots of warning flags with GCC
|
|
|
|
WARN_CFLAGS=""
|
|
|
|
if test "x$GCC" = "xyes"; then
|
|
WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
|
|
-Wmissing-prototypes -Wmissing-declarations \
|
|
-Wnested-externs -fno-strict-aliasing \
|
|
-Wno-attributes"
|
|
fi
|
|
|
|
AC_SUBST(WARN_CFLAGS)
|
|
|
|
dnl ===========================================================================
|
|
dnl Check for MMX
|
|
|
|
MMX_CFLAGS="-mmmx -msse -Winline --param inline-unit-growth=10000 --param large-function-growth=10000"
|
|
|
|
have_mmx_intrinsics=no
|
|
AC_MSG_CHECKING(For MMX/SSE intrinsics in the compiler)
|
|
xserver_save_CFLAGS=$CFLAGS
|
|
CFLAGS="$CFLAGS $MMX_CFLAGS"
|
|
AC_COMPILE_IFELSE([
|
|
#if defined(__GNUC__) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4))
|
|
#error "Need GCC >= 3.4 for MMX intrinsics"
|
|
#endif
|
|
#include <mmintrin.h>
|
|
#include <xmmintrin.h>
|
|
int main () {
|
|
__m64 v = _mm_cvtsi32_si64 (1);
|
|
v = _mm_shuffle_pi16 (v, _MM_SHUFFLE(3, 3, 3, 3));
|
|
return _mm_cvtsi64_si32 (v);
|
|
}], have_mmx_intrinsics=yes)
|
|
CFLAGS=$xserver_save_CFLAGS
|
|
AC_MSG_RESULT($have_mmx_intrinsics)
|
|
|
|
if test $have_mmx_intrinsics = yes ; then
|
|
AC_DEFINE(USE_MMX, 1, [use MMX compiler intrinsics])
|
|
else
|
|
MMX_CFLAGS=
|
|
fi
|
|
AC_SUBST(MMX_CFLAGS)
|
|
|
|
AM_CONDITIONAL(USE_MMX, test $have_mmx_intrinsics = yes)
|
|
|
|
dnl ===========================================================================
|
|
|
|
AC_OUTPUT([
|
|
libpixman.pc
|
|
Makefile
|
|
src/Makefile
|
|
])
|