X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/2092fd2b3339ac097e1b27643b70211dcb0b4e95..c2801c99bed19470fd4799355056ae0816aa47b4:/configure.in diff --git a/configure.in b/configure.in index 2181f9ac3d..dc7111f6bd 100644 --- a/configure.in +++ b/configure.in @@ -3,7 +3,7 @@ dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. dnl -dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 dnl Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. @@ -20,8 +20,8 @@ dnl GNU General Public License for more details. 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., 59 Temple Place - Suite 330, -dnl Boston, MA 02111-1307, USA. +dnl Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301, USA. AC_PREREQ(2.54)dnl AC_INIT(src/lisp.h) @@ -109,6 +109,10 @@ AC_ARG_WITH(gif, [ --with-gif use -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(gtk, [ --with-gtk use GTK (same as --with-x-toolkit=gtk)]) AC_ARG_WITH(pkg-config-prog, @@ -125,6 +129,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, @@ -238,6 +247,7 @@ case "${canonical}" in case "${canonical}" in alpha*-*-freebsd*) machine=alpha ;; i[3456]86-*-freebsd*) machine=intel386 ;; + amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;; esac ;; @@ -282,6 +292,15 @@ dnl see the `changequote' comment above. esac ;; + ## LynxOS ports + *-*-lynxos* ) + opsys=lynxos + case "${canonical}" in + i[3456]86-*-lynxos*) machine=intel386 ;; + powerpc-*-lynxos*) machine=powerpc ;; + esac + ;; + ## Acorn RISCiX: arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 @@ -601,6 +620,7 @@ dnl see the `changequote' comment above. ;; hppa*-hp-hpux1[1-9]* ) machine=hp800 opsys=hpux11 + CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS" ;; hppa*-*-linux-gnu* ) @@ -644,6 +664,9 @@ dnl see the `changequote' comment above. s390-*-linux-gnu* ) machine=ibms390 opsys=gnu-linux ;; + s390x-*-linux-gnu* ) + machine=ibms390x opsys=gnu-linux + ;; rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* ) machine=ibmrs6000 opsys=aix3-1 ;; @@ -1080,10 +1103,9 @@ dnl see the `changequote' comment above. machine=intel386 case "${canonical}" in *-cygwin ) opsys=cygwin ;; - *-darwin ) opsys=darwin + *-darwin* ) opsys=darwin CPP="${CC-cc} -E -no-cpp-precomp" ;; - *-lynxos* ) opsys=lynxos ;; *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;; *-isc2.2* ) opsys=isc2-2 ;; *-isc4.0* ) opsys=isc4-0 ;; @@ -1252,6 +1274,23 @@ then CC="$CC $NON_GCC_TEST_OPTIONS" fi +dnl checks for Unix variants +AC_AIX +AC_GNU_SOURCE + +### Use -Wno-pointer-sign if the compiler supports it +AC_MSG_CHECKING([whether gcc understands -Wno-pointer-sign]) +SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Wno-pointer-sign" +AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) +if test $has_option = yes; then + C_WARNINGS_SWITCH="-Wno-pointer-sign $C_WARNINGS_SWITCH" +fi +AC_MSG_RESULT($has_option) +CFLAGS="$SAVE_CFLAGS" +unset has_option +unset SAVE_CFLAGS + #### Some other nice autoconf tests. dnl checks for programs @@ -1264,6 +1303,8 @@ fi AC_PATH_PROG(INSTALL_INFO, install-info) AC_PATH_PROG(INSTALL_INFO, install-info,, /usr/sbin) 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) dnl Add our options to ac_link now, after it is set up. @@ -1290,16 +1331,12 @@ else LDFLAGS="$LDFLAGS -znocombreloc" fi -AC_MSG_CHECKING([For -znocombreloc]) +AC_MSG_CHECKING([for -znocombreloc]) AC_LINK_IFELSE([main(){return 0;}], [AC_MSG_RESULT(yes)], LDFLAGS=$late_LDFLAGS [AC_MSG_RESULT(no)]) -dnl checks for Unix variants -AC_AIX - - #### Extract some information from the operating system and machine files. AC_CHECKING([the machine- and system-dependent files to find out @@ -1383,6 +1420,10 @@ configure___ use_mmap_for_buffers=no #endif #endif +#ifndef C_WARNINGS_SWITCH +#define C_WARNINGS_SWITCH ${C_WARNINGS_SWITCH} +#endif + #ifndef LD_SWITCH_MACHINE #define LD_SWITCH_MACHINE #endif @@ -1411,7 +1452,7 @@ configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' /* Get the CFLAGS for real compilation. */ #ifdef __GNUC__ -configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}' +configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH '${SPECIFIED_CFLAGS}' #else configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' #endif @@ -1445,17 +1486,86 @@ fi dnl For AC_FUNC_GETLOADAVG, at least: AC_CONFIG_LIBOBJ_DIR(src) -AC_GNU_SOURCE - dnl Do this early because it can frob feature test macros for Unix-98 &c. AC_SYS_LARGEFILE + +dnl This function defintion taken from Gnome 2.0 +dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) +dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page +dnl also defines GSTUFF_PKG_ERRORS on error +AC_DEFUN([PKG_CHECK_MODULES], [ + succeeded=no + + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + ifelse([$4], , [AC_MSG_ERROR([ + *** The pkg-config script could not be found. Make sure it is in your path, or give the full path to pkg-config with the PKG_CONFIG environment variable or --with-pkg-config-prog. Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config.])], [$4]) + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + AC_MSG_CHECKING(for $2) + + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING($1_CFLAGS) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT($$1_CFLAGS) + + AC_MSG_CHECKING($1_LIBS) + $1_LIBS=`$PKG_CONFIG --libs "$2"` + AC_MSG_RESULT($$1_LIBS) + else + AC_MSG_RESULT(no) + $1_CFLAGS="" + $1_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + ifelse([$4], ,echo $$1_PKG_ERRORS,) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , [AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.])], [$4]) + fi +]) + + if test "${with_sound}" != "no"; then # Sound support for GNU/Linux and the free BSDs. AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h) # Emulation library used on NetBSD. AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=) AC_SUBST(LIBSOUND) + + ALSA_REQUIRED=1.0.0 + ALSA_MODULES="alsa >= $ALSA_REQUIRED" + 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(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no) + if test $HAVE_ALSA = yes; then + LIBSOUND="$LIBSOUND $ALSA_LIBS" + CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS" + AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.]) + fi + AC_SUBST(CFLAGS_SOUND) fi dnl checks for header files @@ -1660,6 +1770,20 @@ else fi fi +HAVE_CARBON=no +if test "${with_carbon}" != no; then + AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) +fi +if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then + if test "${with_carbon+set}" != set \ + && test "${carbon_appdir_x+set}" != set; then + HAVE_CARBON=no + fi +fi +if test "${HAVE_CARBON}" = yes; then + window_system=mac +fi + case "${window_system}" in x11 ) HAVE_X_WINDOWS=yes @@ -1678,7 +1802,7 @@ dnl make this decision later: use the toolkit if we have X11R5 or newer. * ) USE_X_TOOLKIT=maybe ;; esac ;; - none ) + mac | none ) HAVE_X_WINDOWS=no HAVE_X11=no USE_X_TOOLKIT=none @@ -1707,13 +1831,6 @@ if test "${opsys}" = "hpux9shr"; then esac fi -HAVE_CARBON=no -if test "${HAVE_X11}" != "yes"; then - if test "${with_carbon}" != "no"; then - AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes) - fi -fi - ### Compute the unexec source name from the object name. UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" @@ -1906,69 +2023,13 @@ fail; fi fi -dnl This function defintion taken from Gnome 2.0 -dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) -dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page -dnl also defines GSTUFF_PKG_ERRORS on error -AC_DEFUN([PKG_CHECK_MODULES], [ - succeeded=no - - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - if test "$PKG_CONFIG" = "no" ; then - echo "*** The pkg-config script could not be found. Make sure it is" - echo "*** in your path, or give the full path to pkg-config with" - echo "*** the PKG_CONFIG environment variable or --with-pkg-config-prog." - echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." - else - PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - AC_MSG_CHECKING(for $2) - - if $PKG_CONFIG --exists "$2" ; then - AC_MSG_RESULT(yes) - succeeded=yes - - AC_MSG_CHECKING($1_CFLAGS) - $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` - AC_MSG_RESULT($$1_CFLAGS) - - AC_MSG_CHECKING($1_LIBS) - $1_LIBS=`$PKG_CONFIG --libs "$2"` - AC_MSG_RESULT($$1_LIBS) - else - $1_CFLAGS="" - $1_LIBS="" - ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - ifelse([$4], ,echo $$1_PKG_ERRORS,) - fi - - AC_SUBST($1_CFLAGS) - AC_SUBST($1_LIBS) - else - echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." - echo "*** See http://www.freedesktop.org/software/pkgconfig" - fi - fi - - if test $succeeded = yes; then - ifelse([$3], , :, [$3]) - else - ifelse([$4], , [AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.])], [$4]) - fi -]) - HAVE_GTK=no if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]); fi - GLIB_REQUIRED=2.0.1 - GTK_REQUIRED=2.0.1 + GLIB_REQUIRED=2.4 + GTK_REQUIRED=2.4 GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" dnl Check if --with-pkg-config-prog has been given. @@ -2143,7 +2204,7 @@ fi ### Is -lXaw3d available? HAVE_XAW3D=no if test "${HAVE_X11}" = "yes"; then - if test "${USE_X_TOOLKIT}" != "none"; then + if test "${USE_X_TOOLKIT}" != "none" && test "${with_toolkit_scroll_bars}" != "no"; then dnl Fixme: determine what Scrollbar.h needs to avoid compilation dnl errors from the test without the `-'. AC_CHECK_HEADER(X11/Xaw3d/Scrollbar.h, @@ -2232,6 +2293,90 @@ 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_DEFINE(HAVE_LIBOTF, 1, + [Define to 1 if you have libotf library.]) + LIBOTF_CFLAGS=`libotf-config --cflags` + LIBOTF_LIBS=`libotf-config --libs` + 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 @@ -2337,7 +2482,6 @@ AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 ### 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.]) - window_system=mac ## Specify the install directory carbon_appdir= if test "${carbon_appdir_x}" != ""; then @@ -2353,7 +2497,7 @@ if test "${HAVE_CARBON}" = "yes"; then CFLAGS="$CFLAGS -framework Carbon" AC_CHECK_FUNC(CancelMenuTracking, have_cmt=yes, have_cmt=no) if test "$have_cmt" = yes; then - AC_DEFINE(HAVE_CANCELMENUTRACKING, 1, + AC_DEFINE(HAVE_CANCELMENUTRACKING, 1, [Define to 1 if CancelMenuTracking is available (Mac OSX).]) fi CFLAGS="$tmp_CFLAGS" @@ -2414,7 +2558,7 @@ AC_CHECK_FUNCS(touchlock) AC_CHECK_HEADERS(maillock.h) AC_CHECK_FUNCS(gethostname getdomainname dup2 \ -rename closedir mkdir rmdir sysinfo getrusage \ +rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \ strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \ utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \ @@ -2434,6 +2578,15 @@ AC_FUNC_GETLOADAVG AC_FUNC_FSEEKO +# Configure getopt. +m4_include([m4/getopt.m4]) +gl_GETOPT_IFELSE([ + gl_GETOPT_SUBSTITUTE_HEADER + gl_PREREQ_GETOPT + GETOPTOBJS='getopt.o getopt1.o' +]) +AC_SUBST(GETOPTOBJS) + AC_FUNC_GETPGRP AC_FUNC_STRFTIME @@ -2796,7 +2949,7 @@ if test "${REL_ALLOC}" = "yes" ; then fi AH_TOP([/* GNU Emacs site configuration template file. - Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004 + Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -2813,8 +2966,8 @@ 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., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ /* No code in Emacs #includes config.h twice, but some bits of code @@ -2872,6 +3025,9 @@ AH_BOTTOM([ #ifdef HAVE_SOUNDCARD_H #define HAVE_SOUND 1 #endif +#ifdef HAVE_ALSA +#define HAVE_SOUND 1 +#endif #endif /* __FreeBSD__ || __NetBSD__ || __linux__ */ /* If using GNU, then support inline function declarations. */