diff options
author | Eric Anholt <eric@anholt.net> | 2009-06-02 00:37:19 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-06-02 00:56:39 -0700 |
commit | f59f44c140e5f60d336423e0585d2bb8a6c0ea01 (patch) | |
tree | b0e1369a4aedfb6ee288fd29264177e881021850 /build | |
parent | 2da78fd4666faa27d037ae3625ca83353a6e7629 (diff) | |
parent | 4232719af968ed05636fe34f2ffe2520dc02d737 (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/.gitignore | 2 | ||||
-rw-r--r-- | build/Makefile.am.gtk-doc | 4 | ||||
-rw-r--r-- | build/Makefile.win32.common | 8 | ||||
-rw-r--r-- | build/Makefile.win32.features | 2 | ||||
-rw-r--r-- | build/Makefile.win32.features-h | 6 | ||||
-rw-r--r-- | build/aclocal.dolt.m4 | 1 | ||||
-rw-r--r-- | build/aclocal.shave.m4 | 77 | ||||
-rw-r--r-- | build/configure.ac.analysis | 39 | ||||
-rw-r--r-- | build/configure.ac.features | 3 | ||||
-rw-r--r-- | build/configure.ac.system | 4 | ||||
-rw-r--r-- | build/shave-libtool.in | 69 | ||||
-rw-r--r-- | build/shave.in | 82 |
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 |