Mercurial > emacs
diff configure.in @ 109234:810852b2385b
Merge from mainline.
author | Katsumi Yamaoka <katsumi@flagship2> |
---|---|
date | Sat, 03 Jul 2010 11:08:43 +0000 |
parents | 1dc371b29285 |
children | 194249bde54b |
line wrap: on
line diff
--- a/configure.in Tue Jun 29 12:08:56 2010 +0000 +++ b/configure.in Sat Jul 03 11:08:43 2010 +0000 @@ -305,6 +305,16 @@ [Define this to check for errors in cons list.]) fi +AC_ARG_ENABLE(use-lisp-union-type, +[AS_HELP_STRING([--enable-use-lisp-union-type], + [use a union for the Lisp_Object data type. + This is only useful for development for catching certain types of bugs.])], +if test "${enableval}" != "no"; then + AC_DEFINE(USE_LISP_UNION_TYPE, 1, + [Define this to use a lisp union for the Lisp_Object data type.]) +fi) + + AC_ARG_ENABLE(profiling, [AS_HELP_STRING([--enable-profiling], [build emacs with profiling support. @@ -710,14 +720,12 @@ CC="$NON_GNU_CC" fi -if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x -then - CC="$CC $GCC_TEST_OPTIONS" -fi - -if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x -then - CC="$CC $NON_GCC_TEST_OPTIONS" +if test x$GCC = xyes; then + C_OPTIMIZE_SWITCH=-O2 + test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" +else + C_OPTIMIZE_SWITCH=-O + test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" fi dnl checks for Unix variants @@ -838,101 +846,47 @@ LDFLAGS=$late_LDFLAGS [AC_MSG_RESULT(no)]) -#### Extract some information from the operating system and machine files. - -AC_CHECKING([the machine- and system-dependent files to find out - - which libraries the lib-src programs will want, and - - whether the GNU malloc routines are usable]) - -### First figure out CFLAGS (which we use for running the compiler here) -### and REAL_CFLAGS (which we use for real compilation). -### The two are the same except on a few systems, where they are made -### different to work around various lossages. For example, -### GCC 2.5 on GNU/Linux needs them to be different because it treats -g -### as implying static linking. - -### If the CFLAGS env var is specified, we use that value -### instead of the default. - -### It's not important that this name contain the PID; you can't run -### two configures in the same directory and have anything work -### anyway. -tempcname="conftest.c" - -echo ' -#include "'${srcdir}'/src/'${opsysfile}'" -#include "'${srcdir}'/src/'${machfile}'" - -configure___ LIBX=-lX11 - -#ifdef CANNOT_DUMP -configure___ cannot_dump=yes -#else -configure___ cannot_dump=no -#endif - -#ifdef SYSTEM_MALLOC -configure___ system_malloc=yes -#else -configure___ system_malloc=no -#endif - -#ifdef USE_MMAP_FOR_BUFFERS -configure___ use_mmap_for_buffers=yes -#else -configure___ use_mmap_for_buffers=no -#endif - -#ifndef C_OPTIMIZE_SWITCH -#ifdef __GNUC__ -#define C_OPTIMIZE_SWITCH -O2 -#else -#define C_OPTIMIZE_SWITCH -O -#endif -#endif - -#ifndef C_WARNINGS_SWITCH -#define C_WARNINGS_SWITCH ${C_WARNINGS_SWITCH} -#endif - -#ifdef THIS_IS_CONFIGURE - -/* Get the CFLAGS for tests in configure. */ -#ifdef __GNUC__ -configure___ CFLAGS=-g C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}' -#else -configure___ CFLAGS='${SPECIFIED_CFLAGS}' -#endif - -#else /* not THIS_IS_CONFIGURE */ - -/* Get the CFLAGS for real compilation. */ -#ifdef __GNUC__ -configure___ REAL_CFLAGS=-g C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}' -#else -configure___ REAL_CFLAGS='${SPECIFIED_CFLAGS}' -#endif - -#endif /* not THIS_IS_CONFIGURE */ -' > ${tempcname} - LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}" + # The value of CPP is a quoted variable reference, so we need to do this # to get its actual value... CPP=`eval "echo $CPP"` -[eval `${CPP} -Isrc ${tempcname} \ - | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` + + +### First figure out CFLAGS (which we use for running the compiler here) +### and REAL_CFLAGS (which we use for real compilation). +### The two are the same except when using GCC where we might use +### extra warning and profiling flags. + +### If the CFLAGS env var is specified, we use that value +### instead of the default. + +dnl Note AC_PROG_CC sets CFLAGS to -g -O2 for gcc anyway. if test "x$SPECIFIED_CFLAGS" = x; then - eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \ - | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` + CFLAGS="-g $C_OPTIMIZE_SWITCH" + if test x$GCC = xyes; then + REAL_CFLAGS="$CFLAGS $C_WARNINGS_SWITCH $PROFILING_CFLAGS" + else + REAL_CFLAGS="$CFLAGS" + fi else REAL_CFLAGS="$CFLAGS" -fi] -rm ${tempcname} - - -AC_SUBST(cannot_dump) +fi + + +dnl Not used by any currently supported platform. +dnl The function dump-emacs will not be defined and temacs will do +dnl (load "loadup") automatically unless told otherwise. +CANNOT_DUMP=no +case "$opsys" in + your-opsys-here) + CANNOT_DUMP=yes + AC_DEFINE(CANNOT_DUMP, 1, [Define if Emacs cannot be dumped on your system.]) + ;; +esac +AC_SUBST(CANNOT_DUMP) + UNEXEC_OBJ=unexelf.o case "$opsys" in @@ -1206,7 +1160,8 @@ 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) + AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h, + have_sound_header=yes) # Emulation library used on NetBSD. AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=) AC_SUBST(LIBSOUND) @@ -1239,6 +1194,19 @@ CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS" AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.]) fi + + dnl Define HAVE_SOUND if we have sound support. We know it works and + dnl compiles only on the specified platforms. For others, it + dnl probably doesn't make sense to try. + if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then + case "$opsys" in + dnl defined __FreeBSD__ || defined __NetBSD__ || defined __linux__ + gnu-linux|freebsd|netbsd) + AC_DEFINE(HAVE_SOUND, 1, [Define to 1 if you have sound support.]) + ;; + esac + fi + AC_SUBST(CFLAGS_SOUND) fi @@ -1647,7 +1615,16 @@ doug_lea_malloc=no fi + +dnl See comments in aix4-2.h about maybe using system malloc there. +system_malloc=no +case "$opsys" in + ## darwin ld insists on the use of malloc routines in the System framework. + darwin|sol2-10) system_malloc=yes ;; +esac + if test "${system_malloc}" = "yes"; then + AC_DEFINE(SYSTEM_MALLOC, 1, [Define to use system malloc.]) GNU_MALLOC=no GNU_MALLOC_reason=" (The GNU allocators don't work with this system configuration.)" @@ -1681,12 +1658,14 @@ REL_ALLOC=${GNU_MALLOC} fi -dnl For now, need to use an explicit `#define USE_MMAP_FOR_BUFFERS 1' -dnl the system configuration file (s/*.h) to turn the use of mmap -dnl in the relocating allocator on. +use_mmap_for_buffers=no +case "$opsys" in + freebsd|irix6-5) use_mmap_for_buffers=yes ;; +esac AC_FUNC_MMAP if test $use_mmap_for_buffers = yes; then + AC_DEFINE(USE_MMAP_FOR_BUFFERS, 1, [Define to use mmap to allocate buffer text.]) REL_ALLOC=no fi @@ -1741,7 +1720,7 @@ if test "${HAVE_X11}" = "yes"; then DEFS="$C_SWITCH_X_SITE $DEFS" LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE" - LIBS="$LIBX $LIBS" + LIBS="-lX11 $LIBS" CFLAGS="$C_SWITCH_X_SITE $CFLAGS" CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS" @@ -1817,6 +1796,15 @@ AC_MSG_RESULT(6 or newer) AC_DEFINE(HAVE_X11R6, 1, [Define to 1 if you have the X11R6 or newer version of Xlib.]) + AC_DEFINE(HAVE_X_I18N, 1, [Define if you have usable i18n support.]) + ## inoue@ainet.or.jp says Solaris has a bug related to X11R6-style + ## XIM support. + case "$opsys" in + sol2-*) : ;; + *) AC_DEFINE(HAVE_X11R6_XIM, 1, + [Define if you have usable X11R6-style XIM support.]) + ;; + esac else AC_MSG_RESULT(before 6) fi @@ -3493,25 +3481,6 @@ /* Turned on June 1996 supposing nobody will mind it. */ #define AMPERSAND_FULL_NAME -/* Define HAVE_SOUND if we have sound support. We know it works - and compiles only on the specified platforms. For others, - it probably doesn't make sense to try. */ - -#if defined __FreeBSD__ || defined __NetBSD__ || defined __linux__ -#ifdef HAVE_MACHINE_SOUNDCARD_H -#define HAVE_SOUND 1 -#endif -#ifdef HAVE_SYS_SOUNDCARD_H -#define HAVE_SOUND 1 -#endif -#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. */ /* Don't try to switch on inline handling as detected by AC_C_INLINE generally, because even if non-gcc compilers accept `inline', they @@ -3602,18 +3571,9 @@ #endif #endif -/* Define if the compiler supports function prototypes. It may do so - but not define __STDC__ (e.g. DEC C by default) or may define it as - zero. */ +/* Define if the compiler supports function prototypes. It may do so but + not define __STDC__ (e.g. DEC C by default) or may define it as zero. */ #undef PROTOTYPES -/* For mktime.c: */ -#ifndef __P -# if defined PROTOTYPES -# define __P(args) args -# else -# define __P(args) () -# endif /* GCC. */ -#endif /* __P */ #ifdef HAVE_STRING_H #include <string.h> @@ -3645,18 +3605,6 @@ typedef unsigned size_t; #endif -/* Define HAVE_X_I18N if we have usable i18n support. */ - -#ifdef HAVE_X11R6 -#define HAVE_X_I18N -#endif - -/* Define HAVE_X11R6_XIM if we have usable X11R6-style XIM support. */ - -#if defined HAVE_X11R6 && !defined INHIBIT_X11R6_XIM -#define HAVE_X11R6_XIM -#endif - #if defined __GNUC__ && (__GNUC__ > 2 \ || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)) #define NO_RETURN __attribute__ ((__noreturn__))