X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/0d875537354de9e0e86ba2d36a7a1afd3506a8cc..9dc56f1653a43517272dc42621cc006c9805894a:/configure.in diff --git a/configure.in b/configure.in index 81b7afb481..690e034874 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ dnl This file is part of GNU Emacs. dnl dnl GNU Emacs is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2, or (at your option) +dnl the Free Software Foundation; either version 3, or (at your option) dnl any later version. dnl dnl GNU Emacs is distributed in the hope that it will be useful, @@ -108,12 +108,18 @@ AC_ARG_WITH(gif, [ --with-gif use -lgif (or -lungif) for displaying GIF images]) AC_ARG_WITH(png, [ --with-png use -lpng for displaying PNG images]) +AC_ARG_WITH(freetype, +[ --with-freetype use -lfreetype for local fonts support]) +AC_ARG_WITH(xft, +[ --with-xft use -lXft for anti aliased fonts]) AC_ARG_WITH(gpm, [ --with-gpm use -lgpm for mouse support on a GNU/Linux console]) +AC_ARG_WITH(rsvg, +[ --with-rsvg use -lrsvg-2 for displaying SVG images]) AC_ARG_WITH(gtk, [ --with-gtk use GTK (same as --with-x-toolkit=gtk)]) AC_ARG_WITH(pkg-config-prog, -[ --with-pkg-config-prog Path to pkg-config to use for finding GTK]) +[ --with-pkg-config-prog Path to pkg-config to use for finding GTK and librsvg]) AC_ARG_WITH(toolkit-scroll-bars, [ --without-toolkit-scroll-bars don't use Motif or Xaw3d scroll bars]) @@ -126,6 +132,11 @@ AC_ARG_ENABLE(carbon-app, specify install directory for Emacs.app on Mac OS X]], [ carbon_appdir_x=${enableval}]) +AC_ARG_ENABLE(font-backend, +[ --enable-font-backend compile code of font-backend support], + USE_FONT_BACKEND=$enableval, + USE_FONT_BACKEND=no) + AC_ARG_ENABLE(asserts, [ --enable-asserts compile code with asserts enabled], USE_XASSERTS=$enableval, @@ -1341,6 +1352,21 @@ AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin) dnl Don't use GZIP, which is used by gzip for additional parameters. AC_PATH_PROG(GZIP_PROG, gzip) + +## Need makeinfo >= 4.6 (?) to build the manuals. +AC_PATH_PROG(MAKEINFO, makeinfo, no) +dnl By this stage, configure has already checked for egrep and set EGREP, +dnl or exited with an error if no egrep was found. +if test "$MAKEINFO" != "no" && \ + test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[5-9]]|4\.[[6-9]])'`" = x; then + MAKEINFO=no +fi + +if test "$MAKEINFO" = "no"; then + AC_MSG_ERROR( [makeinfo >= 4.6 is required] ) +fi + + dnl Add our options to ac_link now, after it is set up. if test x$GCC = xyes && test "x$GCC_LINK_TEST_OPTIONS" != x @@ -2122,6 +2148,32 @@ fail; fi fi +### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified. +HAVE_RSVG=no +if test "${HAVE_X11}" = "yes" || test "${HAVE_CARBON}" = "yes"; then + if test "${with_rsvg}" != "no"; then + dnl Check if `--with-pkg-config-prog' has been given. + if test "X${with_pkg_config_prog}" != X; then + PKG_CONFIG="${with_pkg_config_prog}" + fi + + RSVG_REQUIRED=2.0.0 + RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED" + + PKG_CHECK_MODULES(RSVG, $RSVG_MODULE, :, :) + AC_SUBST(RSVG_CFLAGS) + AC_SUBST(RSVG_LIBS) + + if test ".${RSVG_CFLAGS}" != "."; then + HAVE_RSVG=yes + AC_DEFINE(HAVE_RSVG, 1, [Define to 1 if using librsvg.]) + CFLAGS="$CFLAGS $RSVG_CFLAGS" + LIBS="$RSVG_LIBS $LIBS" + fi + fi +fi + + HAVE_GTK=no if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then USE_X_TOOLKIT=none @@ -2218,37 +2270,6 @@ if test "${HAVE_GTK}" = "yes"; then fi fi -### Link with -lXft if available to work around a bug. -HAVE_XFT=maybe -if test "${HAVE_GTK}" = "yes"; then - dnl Check if --with-pkg-config-prog has been given. - if test "X${with_pkg_config_prog}" != X; then - PKG_CONFIG="${with_pkg_config_prog}" - fi - - PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no) - if test "$HAVE_XFT" != no; then - OLD_CFLAGS="$CPPFLAGS" - OLD_CPPFLAGS="$CFLAGS" - OLD_LIBS="$LIBS" - CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" - CFLAGS="$CFLAGS $XFT_CFLAGS" - LIBS="$XFT_LIBS $LIBS" - AC_CHECK_HEADER(X11/Xft/Xft.h, - AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS)) - - if test "${HAVE_XFT}" = "yes"; then - AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.]) - AC_SUBST(XFT_LIBS) - C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS" - else - CFLAGS="$OLD_CPPFLAGS" - CFLAGS="$OLD_CFLAGS" - LIBS="$OLD_LIBS" - fi - fi -fi - dnl Do not put whitespace before the #include statements below. dnl Older compilers (eg sunos4 cc) choke on it. HAVE_XAW3D=no @@ -2454,6 +2475,93 @@ either XPointer or XPointer*.])dnl CFLAGS=$late_CFLAGS fi +### For font-backend +if test "${USE_FONT_BACKEND}" = "yes"; then + +AC_DEFINE(USE_FONT_BACKEND, 1, + [Define to 1 if we should use font-backend.]) + +### Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'. +HAVE_XFT=maybe +if test "${HAVE_X11}" = "yes"; then + if test "x${with_freetype}" = "xno"; then + with_xft="no"; + fi + if test "x${with_xft}" != "xno"; then + + dnl Check if --with-pkg-config-prog has been given. + if test "X${with_pkg_config_prog}" != X; then + PKG_CONFIG="${with_pkg_config_prog}" + fi + + PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no) + if test "$HAVE_XFT" != no; then + OLD_CPPFLAGS="$CPPFLAGS" + OLD_CFLAGS="$CFLAGS" + OLD_LIBS="$LIBS" + CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" + CFLAGS="$CFLAGS $XFT_CFLAGS" + LIBS="$XFT_LIBS $LIBS" + AC_CHECK_HEADER(X11/Xft/Xft.h, + AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS)) + + if test "${HAVE_XFT}" = "yes"; then + AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.]) + AC_SUBST(XFT_LIBS) + C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS" + else + CFLAGS="$OLD_CPPFLAGS" + CFLAGS="$OLD_CFLAGS" + LIBS="$OLD_LIBS" + fi + fi + fi +fi + +HAVE_FREETYPE=no +### Use -lfreetype if available, unless `--with-freetype=no'. +if test "${HAVE_XFT}" = "yes"; then + dnl As we use Xft, we anyway use freetype. + dnl In this case, there's no need of additional CFLAGS and LIBS. + HAVE_FREETYPE=yes +elif test "x${with_freetype}" != "xno"; then + dnl Check if --with-pkg-config-prog has been given. + if test "X${with_pkg_config_prog}" != X; then + PKG_CONFIG="${with_pkg_config_prog}" + fi + + PKG_CHECK_MODULES(FREETYPE, freetype2, HAVE_FREETYPE=yes, HAVE_FREETYPE=no) + if test "${HAVE_FREETYPE}" = "yes"; then + PKG_CHECK_MODULES(FONTCONFIG, fontconfig, HAVE_FC=yes, HAVE_FC=no) + if test "${HAVE_FC}" = "no"; then + dnl Witout fontconfig, we can't use freetype at the moment. + HAVE_FREETYPE=no + fi + fi +fi +if test "${HAVE_FREETYPE}" = "yes"; then + AC_DEFINE(HAVE_FREETYPE, 1, + [Define to 1 if you have freetype and fontconfig libraries.]) + AC_CHECK_PROG(HAVE_LIBOTF, libotf-config, yes, no) + if test "${HAVE_LIBOTF}" = "yes"; then + AC_CHECK_LIB(otf, OTF_get_features, , HAVE_LIBOTF=no) + if test "${HAVE_LIBOTF}" = "yes"; then + AC_DEFINE(HAVE_LIBOTF, 1, + [Define to 1 if you have libotf library.]) + LIBOTF_CFLAGS=`libotf-config --cflags` + LIBOTF_LIBS=`libotf-config --libs` + fi + fi +fi +AC_SUBST(FREETYPE_CFLAGS) +AC_SUBST(FREETYPE_LIBS) +AC_SUBST(FONTCONFIG_CFLAGS) +AC_SUBST(FONTCONFIG_LIBS) +AC_SUBST(LIBOTF_CFLAGS) +AC_SUBST(LIBOTF_LIBS) + +fi + ### Use -lXpm if available, unless `--with-xpm=no'. HAVE_XPM=no if test "${HAVE_X11}" = "yes"; then @@ -2581,7 +2689,7 @@ if test "${HAVE_X11}" = "yes"; then MISSING="$MISSING libtiff" && WITH_NO="$WITH_NO --with-tiff=no" if test "X${MISSING}" != X; then - AC_MSG_ERROR([The following required libraries was not found: + AC_MSG_ERROR([The following required libraries were not found: $MISSING Maybe some development libraries/packages are missing? If you don't want to link with them give @@ -3041,7 +3149,7 @@ This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -3362,6 +3470,7 @@ echo " Does Emacs use -ljpeg? ${HAVE_JPEG}" echo " Does Emacs use -ltiff? ${HAVE_TIFF}" echo " Does Emacs use a gif library? ${HAVE_GIF} $ac_gif_lib_name" echo " Does Emacs use -lpng? ${HAVE_PNG}" +echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}" echo " Does Emacs use -lgpm? ${HAVE_GPM}" echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" echo @@ -3458,6 +3567,9 @@ echo creating src/Makefile sed -e '1,/start of cpp stuff/d'\ -e 's,/\*\*/#\(.*\)$,/* \1 */,' \ < Makefile.c > junk.c + if test -f ${srcdir}/admin/unidata/UnicodeData.txt; then + CPPFLAGS="$CPPFLAGS -DHAVE_UNIDATA" + fi $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \ sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c cat junk1.c junk2.c > Makefile.new