X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/26a42dac08a51b4618cd841df8c01f025aa749f5..cf43708e712ceffae3751c911031e34ea6d023c5:/configure.in diff --git a/configure.in b/configure.in index bbb133e4bd..00fd5a3643 100644 --- a/configure.in +++ b/configure.in @@ -8,23 +8,21 @@ dnl 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. dnl -dnl GNU Emacs is free software; you can redistribute it and/or modify +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 3, or (at your option) -dnl any later version. -dnl +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl dnl GNU Emacs is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. -dnl +dnl dnl You should have received a copy of the GNU General Public License -dnl along with GNU Emacs; see the file COPYING. If not, write to the -dnl Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl Boston, MA 02110-1301, USA. +dnl along with GNU Emacs. If not, see . AC_PREREQ(2.61)dnl -AC_INIT(emacs, 23.0.50) +AC_INIT(emacs, 23.0.60) AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) @@ -99,6 +97,11 @@ fi OPTION_DEFAULT_ON([sound],[don't compile with sound support]) +OPTION_DEFAULT_ON([sync-input],[Process async input synchronously]) +if test "$with_sync_input" = yes; then + AC_DEFINE(SYNC_INPUT, 1, [Process async input synchronously.]) +fi + dnl FIXME currently it is not the last. dnl This should be the last --with option, because --with-x is dnl added later on when we find the path of X, and it's best to @@ -143,6 +146,11 @@ OPTION_DEFAULT_OFF([carbon],[use Carbon GUI on Mac OS X. This is unsupported!]) OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console]) OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support]) +## For the times when you want to build Emacs but don't have +## a suitable makeinfo, and can live without the manuals. +dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html +OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals]) + dnl Can remove these in Emacs 24. AC_ARG_WITH([gtk],, AC_MSG_ERROR([--with-gtk has been removed. Use --with-x-toolkit to @@ -167,10 +175,11 @@ AC_ARG_ENABLE(carbon-app, [DIR=/Application]])], [ carbon_appdir_x=${enableval}]) +## Enabled by default. AC_ARG_ENABLE(font-backend, -[ --enable-font-backend compile code of font-backend support], +[AS_HELP_STRING([--disable-font-backend],[don't compile font-backend support])], USE_FONT_BACKEND=$enableval, - USE_FONT_BACKEND=no) + USE_FONT_BACKEND=yes) AC_ARG_ENABLE(asserts, [AS_HELP_STRING([--enable-asserts], [compile code with asserts enabled])], @@ -763,7 +772,7 @@ case "${machine}" in esac case "${opsys}" in - bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | hpux10-20 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv ) + bsd386 | bsdos2-1 | bsdos2 | bsdos3 | bsdos4 | bsd4-1 | bsd4-2 | bsd4-3 | usg5-0 | usg5-2-2 | usg5-2 | usg5-3 | ultrix4-3 | 386bsd | hpux | hpux8 | hpux9 | hpux9shr | hpux10 | aix3-1 | aix3-2-5 | aix3-2 | aix4-1 | nextstep | ux4800 | uxpds | uxpv ) echo "The system that you are configuring on: ${canonical} is considered to be obsolete" echo "and it is planned to be desupported in the next version of Emacs" echo "Please email emacs-devel@gnu.org as soon as possible if this system is still in use." @@ -845,8 +854,7 @@ then fi dnl checks for Unix variants -AC_AIX -AC_GNU_SOURCE +AC_USE_SYSTEM_EXTENSIONS ### Use -Wno-pointer-sign if the compiler supports it AC_MSG_CHECKING([whether gcc understands -Wno-pointer-sign]) @@ -886,10 +894,22 @@ if test "$MAKEINFO" != "no" && \ MAKEINFO=no fi -if test "$MAKEINFO" = "no"; then - AC_MSG_ERROR( [makeinfo >= 4.6 is required] ) -fi +if test "$MAKEINFO" = "no" && test "x${with_makeinfo}" != "xno"; then + if test -e $srcdir/info/emacs; then + gotinfo="seems" + else + gotinfo="does NOT seem" + fi + + AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6. +You will not be able to build the Emacs manuals. +In Emacs releases, they are prebuilt, so this might not be a problem. +Your source tree $gotinfo to have manuals in the `info' directory. +Either install a suitable version of makeinfo, or re-run configure +with the `--without-makeinfo' option.] ) + +fi dnl Add our options to ac_link now, after it is set up. @@ -1334,6 +1354,16 @@ else window_system=x11 fi +## Workaround for bug in autoconf <= 2.62. +## http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01551.html +## No need to do anything special for these standard directories. +## This is an experiment, take it out if it causes problems. +if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then + + x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'` + +fi + if test "${x_libraries}" != NONE; then if test -n "${x_libraries}"; then LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"` @@ -1664,8 +1694,17 @@ if test x"$pkg_check_gtk" = xyes; then fi else HAVE_GTK=yes - AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.]) + AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.]) USE_X_TOOLKIT=none + if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then + : + else + AC_MSG_WARN([[Your version of Gtk+ will have problems with + closing open displays. This is no problem if you just use + one display, but if you use more than one and close one of them + Emacs may crash.]]) + sleep 3 + fi fi fi @@ -1939,25 +1978,21 @@ either XPointer or XPointer*.])dnl CFLAGS=$late_CFLAGS fi -#### For font-backend -if test "${USE_FONT_BACKEND}" = "yes"; then +### Start of font-backend section. +if test "${HAVE_X11}" != "yes"; then + USE_FONT_BACKEND=no +fi -AC_DEFINE(USE_FONT_BACKEND, 1, - [Define to 1 if we should use 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 + ## Use -lXft if available, unless `--with-freetype=no' nor `--with-xft=no'. + HAVE_XFT=maybe 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" @@ -1977,82 +2012,68 @@ if test "${HAVE_X11}" = "yes"; then CPPFLAGS="$OLD_CPPFLAGS" CFLAGS="$OLD_CFLAGS" LIBS="$OLD_LIBS" + fi # "${HAVE_XFT}" = "yes" + fi # "$HAVE_XFT" != no + fi # "x${with_xft}" != "xno" + + dnl For the "Does Emacs use" message at the end. + if test "$HAVE_XFT" != "yes"; then + HAVE_XFT=no + 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 + + 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 Without fontconfig, we can't use freetype at the moment. + HAVE_FREETYPE=no fi fi fi -fi -dnl For the "Does Emacs use" message at the end. -if test "$HAVE_XFT" != "yes"; then - HAVE_XFT=no -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) + + HAVE_LIBOTF=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 + AC_DEFINE(HAVE_FREETYPE, 1, + [Define to 1 if using the freetype and fontconfig libraries.]) + if test "${with_libotf}" != "no"; then + PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes, + HAVE_LIBOTF=no) + if test "$HAVE_LIBOTF" = "yes"; then + AC_DEFINE(HAVE_LIBOTF, 1, [Define to 1 if using libotf.]) + fi fi +dnl FIXME should there be an error if HAVE_FREETYPE != yes? +dnl Does the new font backend require it, or can it work without it? fi -fi - -HAVE_LIBOTF=no -if test "${HAVE_FREETYPE}" = "yes"; then - AC_DEFINE(HAVE_FREETYPE, 1, - [Define to 1 if you have freetype and fontconfig libraries.]) - if test "${with_libotf}" != "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}" + + HAVE_M17N_FLT=no + if test "${with_m17n_flt}" != "no"; then + PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, HAVE_M17N_FLT=no) + if test "$HAVE_M17N_FLT" = "yes"; then + AC_DEFINE(HAVE_M17N_FLT, 1, [Define to 1 if using libm17n-flt.]) fi - PKG_CHECK_MODULES(LIBOTF, libotf, HAVE_LIBOTF=yes, - HAVE_LIBOTF=no) - if test "$HAVE_LIBOTF" = "yes"; then - AC_DEFINE(HAVE_LIBOTF, 1, - [Define to 1 if you have libotf library.]) - fi - fi -fi - -HAVE_M17N_FLT=no -if test "${with_m17n_flt}" != "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 - dnl Checks for libraries. - PKG_CHECK_MODULES(M17N_FLT, m17n-flt, HAVE_M17N_FLT=yes, - HAVE_M17N_FLT=no) - if test "$HAVE_M17N_FLT" = "yes"; then - AC_DEFINE(HAVE_M17N_FLT, 1, - [Define to 1 if you have m17n-flt library.]) 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) -AC_SUBST(M17N_FLT_CFLAGS) -AC_SUBST(M17N_FLT_LIBS) - -fi -#### End for font-backend + + AC_SUBST(FREETYPE_CFLAGS) + AC_SUBST(FREETYPE_LIBS) + AC_SUBST(FONTCONFIG_CFLAGS) + AC_SUBST(FONTCONFIG_LIBS) + AC_SUBST(LIBOTF_CFLAGS) + AC_SUBST(LIBOTF_LIBS) + AC_SUBST(M17N_FLT_CFLAGS) + AC_SUBST(M17N_FLT_LIBS) + +fi # "${USE_FONT_BACKEND}" = "yes" +### End of font-backend section. ### Use -lXpm if available, unless `--with-xpm=no'. HAVE_XPM=no @@ -2207,6 +2228,7 @@ AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to ### Use Mac OS X Carbon API to implement GUI. if test "${HAVE_CARBON}" = "yes"; then AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.]) + AC_CHECK_HEADERS(AvailabilityMacros.h) ## Specify the install directory carbon_appdir= if test "${carbon_appdir_x}" != ""; then @@ -2645,6 +2667,11 @@ if test "${HAVE_X_WINDOWS}" = "yes" ; then fi if test "${USE_X_TOOLKIT}" != "none" ; then AC_DEFINE(USE_X_TOOLKIT, 1, [Define to 1 if using an X toolkit.]) + if test "${USE_X_TOOLKIT}" == "LUCID"; then + AC_DEFINE(USE_LUCID, 1, [Define to 1 if using the Lucid X toolkit.]) + elif test "${USE_X_TOOLKIT}" == "MOTIF"; then + AC_DEFINE(USE_MOTIF, 1, [Define to 1 if using the Motif X toolkit.]) + fi fi if test "${HAVE_X11}" = "yes" ; then AC_DEFINE(HAVE_X11, 1, @@ -2674,10 +2701,10 @@ AH_TOP([/* GNU Emacs site configuration template file. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +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 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -2685,9 +2712,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ /* No code in Emacs #includes config.h twice, but some bits of code @@ -3009,9 +3034,10 @@ echo if test $USE_XASSERTS = yes; then echo " Compiling with asserts turned on." CPPFLAGS="$CPPFLAGS -DXASSERTS=1" - echo fi +echo + if test "$USE_X_TOOLKIT" = GTK; then case "$canonical" in *cygwin*) @@ -3112,11 +3138,6 @@ 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 - echo creating ${srcdir}/admin/unidata/Makefile - cp ${srcdir}/admin/unidata/Makefile.in ${srcdir}/admin/unidata/Makefile - 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