📄 configure.in
字号:
fi fi fi fi ft_CFLAGS="$FREETYPE_CFLAGS $FONTCONFIG_CFLAGS" ft_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"])have_ft_load_sfnt_table=noif test "x$use_ft" = "xyes"; then FREETYPE_CONFIG_CFLAGS=$cairo_cv_ft_config_CFLAGS FREETYPE_CONFIG_LIBS=$cairo_cv_ft_config_LIBS AC_SUBST(FREETYPE_CONFIG_CFLAGS) AC_SUBST(FREETYPE_CONFIG_LIBS) temp_save_libs="$LIBS" temp_save_cflags="$CFLAGS" LIBS="$LIBS $ft_LIBS" CFLAGS="$CFLAGS $ft_CFLAGS" AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem, HAVE_FT_BITMAP_SIZE_Y_PPEM=1, HAVE_FT_BITMAP_SIZE_Y_PPEM=0, [#include <ft2build.h> #include FT_FREETYPE_H]) AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM, [FT_Bitmap_Size structure includes y_ppem field]) AC_CHECK_FUNC(FT_Load_Sfnt_Table, have_ft_load_sfnt_table=yes) AC_CHECK_FUNCS(FT_GlyphSlot_Embolden) LIBS="$temp_save_libs" CFLAGS="$temp_save_cflags"fidnl ===========================================================================AC_CHECK_HEADERS([pthread.h], have_pthread=yes, have_pthread=no)AM_CONDITIONAL(HAVE_PTHREAD, test "x$have_pthread" = "xyes")dnl ===========================================================================CAIRO_BACKEND_ENABLE(ps, PostScript, ps, PS_SURFACE, auto, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_ps="no (requires FreeType 2.1.4 or newer)" else # The postscript module requires zlib. AC_CHECK_LIB(z, compress, [AC_CHECK_HEADER(zlib.h, [], [use_ps="no (requires zlib http://www.gzip.org/zlib/)"])], [use_ps="no (requires zlib http://www.gzip.org/zlib/)"]) ps_LIBS=-lz fi])dnl ===========================================================================CAIRO_BACKEND_ENABLE(pdf, PDF, pdf, PDF_SURFACE, auto, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_pdf="no (requires FreeType 2.1.4 or newer)" fi pdf_LIBS=-lz])test_pdf=noif test "x$use_pdf" = "xyes"; then PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.4.1 pango gtk+-2.0, [test_pdf=yes], [test_pdf=no]) if test "x$test_pdf" = "xyes"; then AC_DEFINE([CAIRO_CAN_TEST_PDF_SURFACE], 1, [Define to 1 if the PDF backend can be tested (need poppler and other dependencies for pdf2png)]) else AC_MSG_WARN([PDF backend will not be tested since poppler is not available]) fifiAM_CONDITIONAL(CAIRO_CAN_TEST_PDF_SURFACE, test "x$test_pdf" = "xyes")AC_SUBST(POPPLER_CFLAGS)AC_SUBST(POPPLER_LIBS)AM_CONDITIONAL(CAIRO_HAS_MULTI_PAGE_SURFACES, test "x$use_ps" = "xyes" -o "x$use_pdf" = "xyes")dnl ===========================================================================CAIRO_BACKEND_ENABLE(svg, SVG, svg, SVG_SURFACE, auto, [], [ if test x"$have_ft_load_sfnt_table" != "xyes" ; then use_svg="no (requires FreeType 2.1.4 or newer)" fi])if test "x$use_svg" = "xyes"; then PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 gdk-2.0, [test_svg=yes], [test_svg=no]) if test "x$test_svg" = "xyes"; then AC_DEFINE([CAIRO_CAN_TEST_SVG_SURFACE], 1, [Define to 1 if the SVG backend can be tested (need librsvg)]) else AC_MSG_WARN([SVG backend will not be tested since a librsvg is not available]) fifiAM_CONDITIONAL(CAIRO_CAN_TEST_SVG_SURFACE, test "x$test_svg" = "xyes")AC_SUBST(LIBRSVG_CFLAGS)AC_SUBST(LIBRSVG_LIBS)dnl ===========================================================================dnl This check should default to 'auto' once we have code to actuallydnl check for the atsui font backend.CAIRO_BACKEND_ENABLE(atsui, ATSUI font, atsui, ATSUI_FONT, no, [ dnl There is no pkgconfig for atsui; lets do a header check AC_CHECK_HEADER(Carbon/Carbon.h, , [use_atsui="no (Carbon not found)"])])dnl ===========================================================================dnl Checks for precise integer typesAC_CHECK_HEADERS([stdint.h inttypes.h sys/int_types.h])AC_CHECK_TYPES([uint64_t, uint128_t])dnl Use lots of warning flags with GCCWARN_CFLAGS=""if test "x$GCC" = "xyes"; then WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \ -Wmissing-prototypes -Wmissing-declarations \ -Wnested-externs -fno-strict-aliasing"fiAC_SUBST(WARN_CFLAGS)CAIRO_CFLAGS="$CAIRO_CFLAGS $WARN_CFLAGS"AC_SUBST(CAIRO_REQUIRES)AC_SUBST(CAIRO_CFLAGS)AC_SUBST(CAIRO_LIBS)dnl ===========================================================================dnl Check for gtk-doc and docbookGTK_DOC_CHECK([1.6])dnl ===========================================================================dnl Check for recent pkg-config which supports Requires.privatecase `$PKG_CONFIG --version` in[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;;*) PKGCONFIG_REQUIRES="Requires.private"; ;;esacAC_SUBST(PKGCONFIG_REQUIRES)dnl ===========================================================================dnl Check for MMXMMX_CFLAGS="-mmmx -Winline --param inline-unit-growth=10000 --param large-function-growth=10000"have_mmx_intrinsics=noAC_MSG_CHECKING(for MMX/SSE intrinsics in the compiler)xserver_save_CFLAGS=$CFLAGSCFLAGS="$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>int main () { __m64 v = _mm_cvtsi32_si64 (1); __m64 w = _mm_slli_si64 (v, 1); v = _mm_or_si64 (v, w); return _mm_cvtsi64_si32 (v);}], have_mmx_intrinsics=yes)CFLAGS=$xserver_save_CFLAGSAC_MSG_RESULT($have_mmx_intrinsics)if test $have_mmx_intrinsics = yes ; then AC_DEFINE(USE_MMX, 1, [use MMX compiler intrinsics])else MMX_CFLAGS=fiAC_SUBST(MMX_CFLAGS)AM_CONDITIONAL(USE_MMX, test $have_mmx_intrinsics = yes)dnl ===========================================================================AC_ARG_ENABLE(gcov, AS_HELP_STRING([--enable-gcov], [Enable gcov]), [use_gcov=$enableval], [use_gcov=no])if test "x$use_gcov" = "xyes"; then dnl we need gcc: if test "$GCC" != "yes"; then AC_MSG_ERROR([GCC is required for --enable-gcov]) fi dnl Check if ccache is being used case `shtool path $CC` in *ccache*[)] gcc_ccache=yes;; *[)] gcc_ccache=no;; esac if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); 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.4" AC_CHECK_PROG(LTP, lcov, lcov) AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml) if test "$LTP"; then AC_CACHE_CHECK([for ltp version], cairo_cv_ltp_version, [ cairo_cv_ltp_version=invalid ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'` for ltp_check_version in $ltp_version_list; do if test "$ltp_version" = "$ltp_check_version"; then cairo_cv_ltp_version="$ltp_check_version (ok)" fi done ]) else ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list" AC_MSG_ERROR([$ltp_msg]) fi case $cairo_cv_ltp_version in ""|invalid[)] ltp_msg="You must have one of the following versions of LTP: $ltp_version_list (found: $ltp_version)." AC_MSG_ERROR([$ltp_msg]) LTP="exit 0;" ;; esac if test -z "$LTP_GENHTML"; then AC_MSG_ERROR([Could not find genhtml from the LTP package]) fi AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])dnl PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.gcov, $abs_srcdir) dnl Remove all optimization flags from CFLAGS changequote({,}) CAIRO_CFLAGS=`echo "$CAIRO_CFLAGS" | $SED -e 's/-O[0-9]*//g'` changequote([,]) dnl Add the special gcc flags CAIRO_CFLAGS="$CAIRO_CFLAGS -O0 -fprofile-arcs -ftest-coverage"fidnl ===========================================================================AC_ARG_ENABLE(test-surfaces, AS_HELP_STRING([--enable-test-surfaces], [Add backends for more test suite coverage (no additional public functionality)]), [use_test_surfaces=$enableval], [use_test_surfaces=no])AM_CONDITIONAL(CAIRO_HAS_TEST_SURFACES, test "x$use_test_surfaces" = "xyes")if test "x$use_test_surfaces" = "xyes"; then AC_DEFINE(CAIRO_HAS_TEST_SURFACES, 1, [define in the extra test surface have been built into cairo for the test suite])fidnl ===========================================================================AC_CONFIG_COMMANDS([src/cairo-features.h],[ featuresfile=src/cairo-features.h outfile=$featuresfile.tmp AC_MSG_NOTICE([creating $featuresfile]) cat > $outfile <<_EOF/* Generated by configure. Do not edit */#ifndef CAIRO_FEATURES_H#define CAIRO_FEATURES_H#ifdef __cplusplus# define CAIRO_BEGIN_DECLS extern "C" {# define CAIRO_END_DECLS }#else# define CAIRO_BEGIN_DECLS# define CAIRO_END_DECLS#endif#ifndef cairo_public# define cairo_public#endif#define CAIRO_VERSION_MAJOR $CAIRO_VERSION_MAJOR#define CAIRO_VERSION_MINOR $CAIRO_VERSION_MINOR#define CAIRO_VERSION_MICRO $CAIRO_VERSION_MICRO#define CAIRO_VERSION_STRING "$CAIRO_VERSION_MAJOR.$CAIRO_VERSION_MINOR.$CAIRO_VERSION_MICRO"_EOF for FEATURE in $CAIRO_FEATURES; do echo "#define CAIRO_HAS_$FEATURE 1" >> $outfile done echo '' >> $outfile echo '#endif' >> $outfile if cmp -s $outfile $featuresfile; then AC_MSG_NOTICE([$featuresfile is unchanged]) rm -f $outfile else mv $outfile $featuresfile fi],[ CAIRO_FEATURES='$CAIRO_FEATURES' CAIRO_VERSION_MAJOR=$CAIRO_VERSION_MAJOR CAIRO_VERSION_MINOR=$CAIRO_VERSION_MINOR CAIRO_VERSION_MICRO=$CAIRO_VERSION_MICRO])AC_CONFIG_FILES([Makefilepixman/Makefilepixman/src/Makefilesrc/Makefiletest/Makefiledoc/Makefiledoc/public/Makefiledoc/public/version.xmlsrc/cairo.pc])AC_OUTPUTdnl ===========================================================================echo ""echo "cairo will be compiled with the following surface backends:"echo " image: yes (always builtin)"echo " Xlib: $use_xlib"echo " Xlib Xrender: $use_xlib_xrender"echo " Quartz: $use_quartz"echo " XCB: $use_xcb"echo " Win32: $use_win32"echo " PostScript: $use_ps"echo " PDF: $use_pdf"echo " SVG: $use_svg"echo " glitz: $use_glitz"echo " BeOS: $use_beos"echo " DirectFB: $use_directfb"echo ""echo "the following font backends:"echo " FreeType: $use_ft"echo " Win32: $use_win32_font"echo " ATSUI: $use_atsui"echo ""echo "the following features:"echo " PNG functions: $use_png"echo ""echo "and the following debug options:"echo " gcov support: $use_gcov"echo " test surfaces: $use_test_surfaces"echo ""echo "using CFLAGS:"echo $CAIRO_CFLAGSecho ""if test x"$use_ft" != "xyes" && \ test x"$use_win32_font" != "xyes" && \ test x"$use_atsui" != "xyes" ; then AC_MSG_ERROR([Cairo requires at least one font backend. Please install freetype and fontconfig, then try again: http://freetype.org/ http://fontconfig.org/ ])fiWARNING_MESSAGE='*** The @BACKEND@ backend is still under active development and*** is included in this release only as a preview. It does not*** fully work yet and incompatible changes may yet be made*** to @BACKEND@-backend specific API.'if test x"$use_glitz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/Glitz/'fiif test x"$use_xcb" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/XCB/'fiif test x"$use_quartz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/Quartz/'fiif test x"$use_quartz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/ATSUI/'fiif test x"$use_beos" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/BeOS/'fiif test x"$use_directfb" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@BACKEND@/DirectFB/'fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -