summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-06-02 00:37:19 -0700
committerEric Anholt <eric@anholt.net>2009-06-02 00:56:39 -0700
commitf59f44c140e5f60d336423e0585d2bb8a6c0ea01 (patch)
treeb0e1369a4aedfb6ee288fd29264177e881021850 /build
parent2da78fd4666faa27d037ae3625ca83353a6e7629 (diff)
parent4232719af968ed05636fe34f2ffe2520dc02d737 (diff)
Merge commit 'origin/master' into gl
Felt like pulling the latest stuff, since I branched back in February. Conflicts: build/configure.ac.features src/cairo.h util/cairo-script/csi-replay.c
Diffstat (limited to 'build')
-rw-r--r--build/.gitignore2
-rw-r--r--build/Makefile.am.gtk-doc4
-rw-r--r--build/Makefile.win32.common8
-rw-r--r--build/Makefile.win32.features2
-rw-r--r--build/Makefile.win32.features-h6
-rw-r--r--build/aclocal.dolt.m41
-rw-r--r--build/aclocal.shave.m477
-rw-r--r--build/configure.ac.analysis39
-rw-r--r--build/configure.ac.features3
-rw-r--r--build/configure.ac.system4
-rw-r--r--build/shave-libtool.in69
-rw-r--r--build/shave.in82
12 files changed, 269 insertions, 28 deletions
diff --git a/build/.gitignore b/build/.gitignore
index 53f31d77..ce1256a5 100644
--- a/build/.gitignore
+++ b/build/.gitignore
@@ -10,3 +10,5 @@ mkinstalldirs
#Makefile.win32.features-h
libtool.m4
lt*.m4
+shave
+shave-libtool
diff --git a/build/Makefile.am.gtk-doc b/build/Makefile.am.gtk-doc
index cb815991..50cd6279 100644
--- a/build/Makefile.am.gtk-doc
+++ b/build/Makefile.am.gtk-doc
@@ -10,8 +10,8 @@
####################################
if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
else
GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
diff --git a/build/Makefile.win32.common b/build/Makefile.win32.common
index 2fa3255c..c1f0cb84 100644
--- a/build/Makefile.win32.common
+++ b/build/Makefile.win32.common
@@ -27,17 +27,19 @@ PIXMAN_LIBS := $(top_builddir)/../pixman/pixman/$(CFG)/pixman-1.lib
CAIRO_LIBS = gdi32.lib msimg32.lib user32.lib
ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
-CAIRO_LIBS += libpng.lib
+LIBPNG_CFLAGS += -I$(top_srcdir)/../libpng/
+CAIRO_LIBS += $(top_builddir)/../libpng/libpng.lib
endif
ifeq ($(CAIRO_HAS_PS_SURFACE)$(CAIRO_HAS_PDF_SURFACE),00)
else
-CAIRO_LIBS += zdll.lib
+ZLIB_CFLAGS += -I$(top_srcdir)/../zlib/
+CAIRO_LIBS += $(top_builddir)/../zlib/zdll.lib
endif
DEFAULT_CFLAGS = -nologo $(MS_MDFLAGS) $(OPT)
DEFAULT_CFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
DEFAULT_CFLAGS += -I. -I$(top_srcdir)
-DEFAULT_CFLAGS += $(PIXMAN_CFLAGS)
+DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS)
CAIRO_CFLAGS = $(DEFAULT_CFLAGS) $(CFLAGS)
diff --git a/build/Makefile.win32.features b/build/Makefile.win32.features
index f9e064de..9e722246 100644
--- a/build/Makefile.win32.features
+++ b/build/Makefile.win32.features
@@ -10,7 +10,6 @@ CAIRO_HAS_WIN32_SURFACE=1
CAIRO_HAS_WIN32_FONT=1
CAIRO_HAS_OS2_SURFACE=0
CAIRO_HAS_BEOS_SURFACE=0
-CAIRO_HAS_SDL_SURFACE=0
CAIRO_HAS_PNG_FUNCTIONS=1
CAIRO_HAS_GL_SURFACE=0
CAIRO_HAS_GL_GLX_SURFACE=0
@@ -19,6 +18,7 @@ CAIRO_HAS_GLITZ_SURFACE=0
CAIRO_HAS_DIRECTFB_SURFACE=0
CAIRO_HAS_SCRIPT_SURFACE=0
CAIRO_HAS_FT_FONT=0
+CAIRO_HAS_FC_FONT=0
CAIRO_HAS_PS_SURFACE=1
CAIRO_HAS_PDF_SURFACE=1
CAIRO_HAS_SVG_SURFACE=1
diff --git a/build/Makefile.win32.features-h b/build/Makefile.win32.features-h
index da80593d..57514b48 100644
--- a/build/Makefile.win32.features-h
+++ b/build/Makefile.win32.features-h
@@ -35,9 +35,6 @@ endif
ifeq ($(CAIRO_HAS_BEOS_SURFACE),1)
@echo "#define CAIRO_HAS_BEOS_SURFACE 1" >> src/cairo-features.h
endif
-ifeq ($(CAIRO_HAS_SDL_SURFACE),1)
- @echo "#define CAIRO_HAS_SDL_SURFACE 1" >> src/cairo-features.h
-endif
ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1)
@echo "#define CAIRO_HAS_PNG_FUNCTIONS 1" >> src/cairo-features.h
endif
@@ -62,6 +59,9 @@ endif
ifeq ($(CAIRO_HAS_FT_FONT),1)
@echo "#define CAIRO_HAS_FT_FONT 1" >> src/cairo-features.h
endif
+ifeq ($(CAIRO_HAS_FC_FONT),1)
+ @echo "#define CAIRO_HAS_FC_FONT 1" >> src/cairo-features.h
+endif
ifeq ($(CAIRO_HAS_PS_SURFACE),1)
@echo "#define CAIRO_HAS_PS_SURFACE 1" >> src/cairo-features.h
endif
diff --git a/build/aclocal.dolt.m4 b/build/aclocal.dolt.m4
index 8f94582f..ece5eea9 100644
--- a/build/aclocal.dolt.m4
+++ b/build/aclocal.dolt.m4
@@ -155,6 +155,7 @@ modeok=false
tagok=false
for arg in "$[]@"; do
case "$arg" in
+ --silent) ;;
--mode=compile) modeok=true ;;
--tag=CC|--tag=CXX) tagok=true ;;
*) args@<:@${#args[@]}@:>@="$arg" ;;
diff --git a/build/aclocal.shave.m4 b/build/aclocal.shave.m4
new file mode 100644
index 00000000..0a3509e5
--- /dev/null
+++ b/build/aclocal.shave.m4
@@ -0,0 +1,77 @@
+dnl Make automake/libtool output more friendly to humans
+dnl Damien Lespiau <damien.lespiau@gmail.com>
+dnl
+dnl SHAVE_INIT([shavedir],[default_mode])
+dnl
+dnl shavedir: the directory where the shave scripts are, it defaults to
+dnl $(top_builddir)
+dnl default_mode: (enable|disable) default shave mode. This parameter
+dnl controls shave's behaviour when no option has been
+dnl given to configure. It defaults to disable.
+dnl
+dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just
+dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and
+dnl LIBTOOL, you don't want the configure tests to have these variables
+dnl re-defined.
+dnl * This macro requires GNU make's -s option.
+
+AC_DEFUN([_SHAVE_ARG_ENABLE],
+[
+ AC_ARG_ENABLE([shave],
+ AS_HELP_STRING(
+ [--enable-shave],
+ [use shave to make the build pretty [[default=$1]]]),,
+ [enable_shave=$1]
+ )
+])
+
+AC_DEFUN([SHAVE_INIT],
+[
+ dnl you can tweak the default value of enable_shave
+ m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)])
+
+ if test x"$enable_shave" = xyes; then
+ dnl where can we find the shave scripts?
+ m4_if([$1],,
+ [shavedir="$ac_pwd"],
+ [shavedir="$ac_pwd/$1"])
+ AC_SUBST(shavedir)
+
+ dnl make is now quiet
+ AC_SUBST([MAKEFLAGS], [-s])
+ AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`'])
+
+ dnl we need sed
+ AC_CHECK_PROG(SED,sed,sed,false)
+
+ dnl substitute libtool
+ SHAVE_SAVED_LIBTOOL=$LIBTOOL
+ LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'"
+ AC_SUBST(LIBTOOL)
+
+ dnl substitute cc/cxx
+ SHAVE_SAVED_CC=$CC
+ SHAVE_SAVED_CXX=$CXX
+ SHAVE_SAVED_FC=$FC
+ SHAVE_SAVED_F77=$F77
+ SHAVE_SAVED_OBJC=$OBJC
+ CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}"
+ CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}"
+ FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}"
+ F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}"
+ OBJC="${SHELL} ${shavedir}/shave objc ${SHAVE_SAVED_OBJC}"
+ AC_SUBST(CC)
+ AC_SUBST(CXX)
+ AC_SUBST(FC)
+ AC_SUBST(F77)
+ AC_SUBST(OBJC)
+
+ V=@
+ else
+ V=1
+ fi
+ Q='$(V:1=)'
+ AC_SUBST(V)
+ AC_SUBST(Q)
+])
+
diff --git a/build/configure.ac.analysis b/build/configure.ac.analysis
index 49928a56..4e8a02da 100644
--- a/build/configure.ac.analysis
+++ b/build/configure.ac.analysis
@@ -25,7 +25,7 @@ if test "x$use_gcov" = "xyes"; then
AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
fi
- ltp_version_list="1.6 1.5 1.4"
+ ltp_version_list="1.7 1.6 1.5 1.4"
AC_CHECK_PROG(LTP, lcov, lcov)
AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
@@ -82,18 +82,25 @@ AM_CONDITIONAL(CAIRO_HAS_LCOV, test "x$cairo_has_lcov" = "xyes")
dnl ===========================================================================
dnl Check for some custom valgrind modules
-PKG_CHECK_MODULES(VALGRIND, valgrind, [
- _save_CFLAGS="$CFLAGS"
- _save_CPPFLAGS="$CPPFLAGS"
- CFLAGS="$CFLAGS $VALGRIND_CFLAGS"
- CPPFLAGS="$CPPFLAGS $VALGRIND_CFLAGS"
- AC_CHECK_HEADER([valgrind.h], [AC_DEFINE([HAVE_VALGRIND], [1],
- [Define to 1 if you have Valgrind])])
- AC_CHECK_HEADER([lockdep.h], [AC_DEFINE([HAVE_LOCKDEP], [1],
- [Define to 1 if you have the Valgrind lockdep tool])])
- AC_CHECK_HEADER([memfault.h], [AC_DEFINE([HAVE_MEMFAULT], [1],
- [Define to 1 if you have the Valgrind memfault tool])])
- CAIRO_CFLAGS="$VALGRIND_CFLAGS $CAIRO_CFLAGS"
- CFLAGS="$_save_CFLAGS"
- CPPFLAGS="$_save_CPPFLAGS"
- ], AC_MSG_RESULT(no))
+AC_ARG_ENABLE(valgrind,
+ AS_HELP_STRING([--disable-valgrind],
+ [Disable valgrind support]),
+ [use_valgrind=$enableval], [use_valgrind=yes])
+
+if test "x$use_valgrind" = "xyes"; then
+ PKG_CHECK_MODULES(VALGRIND, valgrind, [
+ _save_CFLAGS="$CFLAGS"
+ _save_CPPFLAGS="$CPPFLAGS"
+ CFLAGS="$CFLAGS $VALGRIND_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $VALGRIND_CFLAGS"
+ AC_CHECK_HEADER([valgrind.h], [AC_DEFINE([HAVE_VALGRIND], [1],
+ [Define to 1 if you have Valgrind])])
+ AC_CHECK_HEADER([lockdep.h], [AC_DEFINE([HAVE_LOCKDEP], [1],
+ [Define to 1 if you have the Valgrind lockdep tool])])
+ AC_CHECK_HEADER([memfault.h], [AC_DEFINE([HAVE_MEMFAULT], [1],
+ [Define to 1 if you have the Valgrind memfault tool])])
+ CAIRO_CFLAGS="$VALGRIND_CFLAGS $CAIRO_CFLAGS"
+ CFLAGS="$_save_CFLAGS"
+ CPPFLAGS="$_save_CPPFLAGS"
+ ], AC_MSG_RESULT(no))
+fi
diff --git a/build/configure.ac.features b/build/configure.ac.features
index f4774143..ce79546f 100644
--- a/build/configure.ac.features
+++ b/build/configure.ac.features
@@ -376,7 +376,6 @@ AC_DEFUN([CAIRO_REPORT],
echo " glitz: $use_glitz"
echo " BeOS: $use_beos"
echo " DirectFB: $use_directfb"
- echo " SDL: $use_sdl"
echo " GL: $use_gl"
echo " GL/GLX: $use_gl_glx"
echo " GL/EGL: $use_gl_egl"
@@ -384,6 +383,7 @@ AC_DEFUN([CAIRO_REPORT],
echo "The following font backends:"
echo " User: yes (always builtin)"
echo " FreeType: $use_ft"
+ echo " Fontconfig: $use_fc"
echo " Win32: $use_win32_font"
echo " Quartz: $use_quartz_font"
echo ""
@@ -391,6 +391,7 @@ AC_DEFUN([CAIRO_REPORT],
echo " PNG functions: $use_png"
echo ""
echo "And the following internal features:"
+ echo " gtk-doc: $enable_gtk_doc"
echo " gcov support: $use_gcov"
echo " test surfaces: $use_test_surfaces"
echo " ps testing: $test_ps"
diff --git a/build/configure.ac.system b/build/configure.ac.system
index 4544a54f..2ee0cc42 100644
--- a/build/configure.ac.system
+++ b/build/configure.ac.system
@@ -65,7 +65,7 @@ AC_CHECK_HEADERS([sched.h],
dnl check for GNU-extensions to fenv
AC_CHECK_HEADER(fenv.h,
- [AC_CHECK_FUNCS(feenableexcept fedisableexcept)])
+ [AC_CHECK_FUNCS(feenableexcept fedisableexcept feclearexcept)])
dnl check for misc headers and functions
AC_CHECK_HEADERS([libgen.h byteswap.h signal.h setjmp.h])
@@ -81,7 +81,7 @@ AC_CHECK_FUNC(mkdir,
[AC_MSG_CHECKING([mkdir variant])
mkdir_variant="unknown"
save_CFLAGS="$CFLAGS"
- CFLAGS="-Werror -Wall $CFLAGS" # non-gcc compilers?
+ CFLAGS=$WARN_CFLAGS
AC_TRY_COMPILE([
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
diff --git a/build/shave-libtool.in b/build/shave-libtool.in
new file mode 100644
index 00000000..1f3a720c
--- /dev/null
+++ b/build/shave-libtool.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# we need sed
+SED=@SED@
+if test -z "$SED" ; then
+SED=sed
+fi
+
+lt_unmangle ()
+{
+ last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
+}
+
+# the real libtool to use
+LIBTOOL="$1"
+shift
+
+# if 1, don't print anything, the underlaying wrapper will do it
+pass_though=0
+
+# scan the arguments, keep the right ones for libtool, and discover the mode
+preserved_args=
+while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --mode=*)
+ mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
+ preserved_args="$preserved_args $opt"
+ ;;
+ -o)
+ lt_output="$1"
+ preserved_args="$preserved_args $opt"
+ ;;
+ *)
+ preserved_args="$preserved_args $opt"
+ ;;
+ esac
+done
+
+case "$mode" in
+compile)
+ # shave will be called and print the actual CC/CXX/LINK line
+ preserved_args="$preserved_args --shave-mode=$mode"
+ pass_though=1
+ ;;
+link)
+ preserved_args="$preserved_args --shave-mode=$mode"
+ Q=" LINK "
+ ;;
+*)
+ # let's u
+ # echo "*** libtool: Unimplemented mode: $mode, fill a bug report"
+ ;;
+esac
+
+lt_unmangle "$lt_output"
+output=$last_result
+
+if test -z $V; then
+ if test $pass_though -eq 0; then
+ echo "$Q$output"
+ fi
+ $LIBTOOL --silent $preserved_args
+else
+ echo $LIBTOOL $preserved_args
+ $LIBTOOL $preserved_args
+fi
diff --git a/build/shave.in b/build/shave.in
new file mode 100644
index 00000000..cedccd47
--- /dev/null
+++ b/build/shave.in
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# we need sed
+SED=@SED@
+if test -z "$SED" ; then
+SED=sed
+fi
+
+lt_unmangle ()
+{
+ last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
+}
+
+# the tool to wrap (cc, cxx, ar, ranlib, ..)
+tool="$1"
+shift
+
+# the reel tool (to call)
+REEL_TOOL="$1"
+shift
+
+pass_through=0
+preserved_args=
+while test "$#" -gt 0; do
+ opt="$1"
+ shift
+
+ case $opt in
+ --shave-mode=*)
+ mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'`
+ ;;
+ -o)
+ lt_output="$1"
+ preserved_args="$preserved_args $opt"
+ ;;
+ *)
+ preserved_args="$preserved_args $opt"
+ ;;
+ esac
+done
+
+# mode=link is handled in the libtool wrapper
+case "$mode,$tool" in
+link,*)
+ pass_through=1
+ ;;
+*,cxx)
+ Q=" CXX "
+ ;;
+*,cc)
+ Q=" CC "
+ ;;
+*,fc)
+ Q=" FC "
+ ;;
+*,f77)
+ Q=" F77 "
+ ;;
+*,objc)
+ Q=" OBJC "
+ ;;
+*,*)
+ # should not happen
+ Q=" CC "
+ ;;
+esac
+
+lt_unmangle "$lt_output"
+output=$last_result
+
+if test -z $V; then
+ if test $output = "/dev/null"; then
+ pass_through=1
+ fi
+ if test $pass_through -eq 0; then
+ echo "$Q$output"
+ fi
+ $REEL_TOOL $preserved_args
+else
+ echo $REEL_TOOL $preserved_args
+ $REEL_TOOL $preserved_args
+fi