diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2006-06-13 22:37:34 -0400 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2006-06-14 05:06:09 -0700 |
commit | b9cfe941c8e1ae427780117fedfd47d458e29f02 (patch) | |
tree | fb9032e175ad5c55705485d978f27e3fb3cb5289 /configure.in | |
parent | 2249fb89ae36859d1d3f6c9d0b72e95e45726170 (diff) |
Add backend-specific pkg-config files.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/configure.in b/configure.in index 5f923058e..9340f65b8 100644 --- a/configure.in +++ b/configure.in @@ -88,11 +88,14 @@ PKG_PROG_PKG_CONFIG dnl =========================================================================== dnl dnl Define a macro to enable backends. -dnl - Macro: CAIRO_BACKEND_ENABLE (BACKEND-ID, BACKEND-NAME, DEFAULT, COMMANDS-TO-CHECK-IT) +dnl - Macro: CAIRO_BACKEND_ENABLE (ID, NAME, DEFAULT, NAMESPACE, REQUIRES, COMMANDS-TO-CHECK-IT) dnl -dnl Where COMMANDS should set use_BACKEND-ID to something other than yes if the +dnl Where COMMANDS should set $use_ID to something other than yes if the dnl backend cannot be built. dnl +dnl Check the CAIRO_BACKEND_ENABLE line for fontconfig to understand each +dnl parameter. +dnl AC_DEFUN([CAIRO_BACKEND_ENABLE], [AC_ARG_ENABLE([$1], AS_HELP_STRING([--enable-$1=@<:@no/auto/yes@:>@], @@ -105,7 +108,7 @@ AC_DEFUN([CAIRO_BACKEND_ENABLE], [echo saved_use_$1=$use_$1 use_$1=yes - $4 + $6 cairo_cv_use_$1=$use_$1 use_$1=$saved_use_$1 AC_MSG_CHECKING([whether cairo's $1 backend could be enabled])]) @@ -114,21 +117,38 @@ AC_DEFUN([CAIRO_BACKEND_ENABLE], if test "x$cairo_cv_use_$1" = xyes; then use_$1=yes else - AC_MSG_ERROR(requested $2 backend could not be enabled) + AC_MSG_ERROR([requested $2 backend could not be enabled]) fi ;; auto) use_$1=$cairo_cv_use_$1 ;; *) - AC_MSG_ERROR(invalid argument passed to --enable-$1: $use_$1, should be one of @<:@no/auto/yes@:>@) + AC_MSG_ERROR([invalid argument passed to --enable-$1: $use_$1, should be one of @<:@no/auto/yes@:>@]) ;; esac + if test "x$use_$1" = xyes; then + AC_MSG_NOTICE([creating src/cairo-$4.pc]) + mkdir src + AS_IF([sed \ + -e "s/@backend_name@/$4/g" \ + -e "s/@Backend_Name@/$2/g" \ + -e "s/@BACKEND_REQUIRES@/$5/g" \ + -e "s,@prefix@,$prefix,g" \ + -e "s,@exec_prefix@,$exec_prefix,g" \ + -e "s,@libdir@,$libdir,g" \ + -e "s,@includedir@,$includedir,g" \ + -e "s,@VERSION@,$VERSION,g" \ + $srcdir/src/cairo-backend.pc.in > src/cairo-$4.pc],,[ + rm -f "src/cairo-$4.pc" + AC_MSG_ERROR([failed creating src/cairo-$4.pc]) + ]) + fi fi]) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(xlib, Xlib, auto, [ +CAIRO_BACKEND_ENABLE(xlib, Xlib, auto, xlib, [xrender], [ dnl Check for Xrender header files if the Xrender package is not installed: PKG_CHECK_MODULES(XRENDER, xrender >= 0.6, [ XRENDER_REQUIRES=xrender], [ @@ -150,7 +170,7 @@ AC_SUBST(XRENDER_REQUIRES) CAIRO_CFLAGS="$CAIRO_CFLAGS $XRENDER_CFLAGS" CAIRO_LIBS="$CAIRO_LIBS $XRENDER_LIBS" -CAIRO_BACKEND_ENABLE(quartz, Quartz, no, [ +CAIRO_BACKEND_ENABLE(quartz, Quartz, no, quartz, [], [ dnl There is no pkgconfig for quartz; lets do a header check AC_CHECK_HEADER(Carbon/Carbon.h, [use_quartz=yes], [use_quartz="no (Carbon headers not found)"]) ]) @@ -165,7 +185,7 @@ CAIRO_LIBS="$CAIRO_LIBS $QUARTZ_LIBS" dnl =========================================================================== -CAIRO_BACKEND_ENABLE(xcb, XCB, no, [ +CAIRO_BACKEND_ENABLE(xcb, XCB, no, xcb, [xcb xcb-render], [ PKG_CHECK_MODULES(XCB, xcb xcb-render, [use_xcb=yes], [ use_xcb="no (requires XCB http://xcb.freedesktop.org)"]) ]) @@ -191,7 +211,7 @@ case "$host" in ;; esac -CAIRO_BACKEND_ENABLE(win32, Microsoft Windows, auto, [ +CAIRO_BACKEND_ENABLE(win32, Microsoft Windows, auto, win32, [], [ case "$host" in *-*-mingw*|*-*-cygwin*) use_win32=yes @@ -223,7 +243,7 @@ AC_SUBST(WIN32_FONT_FEATURE) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(beos, BeOS/Zeta, no, [ +CAIRO_BACKEND_ENABLE(beos, BeOS/Zeta, no, beos, [], [ case "$host" in *-*-beos) use_beos=yes @@ -250,7 +270,7 @@ AC_SUBST(BEOS_SURFACE_FEATURE) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(png, PNG, yes, [ +CAIRO_BACKEND_ENABLE(png, PNG, yes, png, [], [ use_png=no # libpng13 is GnuWin32's libpng-1.2.8 :-( for l in libpng12 libpng13 libpng10 ; do @@ -284,7 +304,7 @@ AC_SUBST(PNG_REQUIRES) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(glitz, glitz, no, [ +CAIRO_BACKEND_ENABLE(glitz, glitz, no, glitz, [glitz], [ PKG_CHECK_MODULES(GLITZ, glitz >= 0.5.1, [ GLITZ_REQUIRES=glitz use_glitz=yes], [use_glitz="no (requires glitz http://freedesktop.org/Software/glitz)"]) @@ -332,7 +352,7 @@ AC_SUBST(GLITZ_REQUIRES) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(directfb, directfb, no, [ +CAIRO_BACKEND_ENABLE(directfb, directfb, no, directfb, [directfb], [ PKG_CHECK_MODULES(DIRECTFB, directfb, [use_directfb=yes], [ use_directfb="no (requires directfb http://www.directfb.org)"]) ]) @@ -348,7 +368,7 @@ CAIRO_LIBS="$CAIRO_LIBS $DIRECTFB_LIBS" dnl =========================================================================== -CAIRO_BACKEND_ENABLE(freetype, freetype font, auto, [ +CAIRO_BACKEND_ENABLE(freetype, freetype font, auto, ft, [freetype2 fontconfig], [ PKG_CHECK_MODULES(FONTCONFIG, fontconfig, [use_freetype=yes], [use_freetype=no]) _CHECK_FUNCS_WITH_FLAGS(FcFini, $FONTCONFIG_CFLAGS, $FONTCONFIG_LIBS) @@ -462,7 +482,7 @@ AM_CONDITIONAL(HAVE_PTHREAD, test "x$have_pthread" = "xyes") dnl =========================================================================== -CAIRO_BACKEND_ENABLE(ps, PostScript, auto, [ +CAIRO_BACKEND_ENABLE(ps, PostScript, auto, ps, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_ps="no (PS backend requires FreeType 2.1.4 or newer)" fi @@ -487,7 +507,7 @@ AC_SUBST(PS_LIBS) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(pdf, PDF, auto, [ +CAIRO_BACKEND_ENABLE(pdf, PDF, auto, pdf, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_pdf="no (PDF backend requires FreeType 2.1.4 or newer)" fi @@ -519,7 +539,7 @@ AC_SUBST(PDF_LIBS) dnl =========================================================================== -CAIRO_BACKEND_ENABLE(svg, SVG, auto, [ +CAIRO_BACKEND_ENABLE(svg, SVG, auto, svg, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_svg="no (SVG backend requires FreeType 2.1.4 or newer)" fi @@ -560,7 +580,7 @@ dnl =========================================================================== dnl This check should default to 'yes' once we have code to actually dnl check for the atsui font backend. -CAIRO_BACKEND_ENABLE(atsui, atsui font, no, [ +CAIRO_BACKEND_ENABLE(atsui, atsui font, no, atsui, [], [ dnl There is no pkgconfig for atsui; lets do a header check AC_CHECK_HEADER(Carbon/Carbon.h, [use_atsui=yes], [use_atsui=no]) ]) |