dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
-dnl
+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. If not, see <http://www.gnu.org/licenses/>.
-AC_PREREQ(2.61)
-AC_INIT(emacs, 23.0.92)
+AC_PREREQ(2.62)
+AC_INIT(emacs, 23.1.50)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
locallisppath=${enableval}
fi)
+AC_ARG_ENABLE(checking,
+[AS_HELP_STRING([--enable-checking@<:@=LIST@:>@],
+ [enable expensive run-time checks. With LIST,
+ enable only specific categories of checks.
+ Categories are: all,yes,no.
+ Flags are: stringbytes, stringoverrun, stringfreelist,
+ xmallocoverrun, conslist])],
+[ac_checking_flags="${enableval}"],[])
+IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
+for check in $ac_checking_flags
+do
+ case $check in
+ # these set all the flags to specific states
+ yes) ac_enable_checking=1 ;;
+ no) ac_enable_checking= ;
+ ac_gc_check_stringbytes= ;
+ ac_gc_check_string_overrun= ;
+ ac_gc_check_string_free_list= ;
+ ac_xmalloc_overrun= ;
+ ac_gc_check_cons_list= ;;
+ all) ac_enable_checking=1 ;
+ ac_gc_check_stringbytes=1 ;
+ ac_gc_check_string_overrun=1 ;
+ ac_gc_check_string_free_list=1 ;
+ ac_xmalloc_overrun=1 ;
+ ac_gc_check_cons_list=1 ;;
+ # these enable particular checks
+ stringbytes) ac_gc_check_stringbytes=1 ;;
+ stringoverrun) ac_gc_check_string_overrun=1 ;;
+ stringfreelist) ac_gc_check_string_free_list=1 ;;
+ xmallocoverrun) ac_xmalloc_overrun=1 ;;
+ conslist) ac_gc_check_cons_list=1 ;;
+ *) AC_MSG_ERROR(unknown check category $check) ;;
+ esac
+done
+IFS="$ac_save_IFS"
+
+if test x$ac_enable_checking != x ; then
+ AC_DEFINE(ENABLE_CHECKING, 1,
+[Enable expensive run-time checking of data types?])
+fi
+if test x$ac_gc_check_stringbytes != x ; then
+ AC_DEFINE(GC_CHECK_STRING_BYTES, 1,
+[Define this temporarily to hunt a bug. If defined, the size of
+ strings is redundantly recorded in sdata structures so that it can
+ be compared to the sizes recorded in Lisp strings.])
+fi
+if test x$ac_gc_check_stringoverrun != x ; then
+ AC_DEFINE(GC_CHECK_STRING_OVERRUN, 1,
+[Define this to check for short string overrun.])
+fi
+if test x$ac_gc_check_string_free_list != x ; then
+ AC_DEFINE(GC_CHECK_STRING_FREE_LIST, 1,
+[Define this to check the string free list.])
+fi
+if test x$ac_xmalloc_overrun != x ; then
+ AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1,
+[Define this to check for malloc buffer overrun.])
+fi
+if test x$ac_gc_check_cons_list != x ; then
+ AC_DEFINE(GC_CHECK_CONS_LIST, 1,
+[Define this to check for errors in cons list.])
+fi
+
+AC_ARG_ENABLE(profiling,
+[AS_HELP_STRING([--enable-profiling],
+ [build emacs with profiling support.
+ This might not work on all platforms])],
+[ac_enable_profiling="${enableval}"],[])
+if test x$ac_enable_profiling != x ; then
+ PROFILING_CFLAGS="-DPROFILING=1 -pg"
+ PROFILING_LDFLAGS="-pg"
+else
+ PROFILING_CFLAGS=
+ PROFILING_LDFLAGS=
+fi
+
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessarily, since pwd can
#### give you automounter prefixes, which can go away. We do all this
case "${canonical}" in
alpha*-*-netbsd*) machine=alpha ;;
i[3456]86-*-netbsd*) machine=intel386 ;;
+ mips-*-netbsd*) machine=mips ;;
+ mipsel-*-netbsd*) machine=mips ;;
+ mipseb-*-netbsd*) machine=mips ;;
powerpc-*-netbsd*) machine=macppc ;;
sparc*-*-netbsd*) machine=sparc ;;
vax-*-netbsd*) machine=vax ;;
/* Get the CFLAGS for real compilation. */
#ifdef __GNUC__
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH '${SPECIFIED_CFLAGS}'
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}'
#else
configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${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"`
## 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 "${with_dbus}" = "yes"; then
PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
if test "$HAVE_DBUS" = yes; then
- AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ LIBS="$LIBS $DBUS_LIBS"
+ AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ AC_CHECK_FUNCS([dbus_watch_get_unix_fd])
fi
fi
HAVE_FREETYPE=no
- ### Use -lfreetype if available, unless `--with-freetype=no'.
+ ## We used to allow building with FreeType and without Xft.
+ ## However, the ftx font backend driver is not in good shape.
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.
+ dnl There's no need for additional CFLAGS and LIBS.
HAVE_FREETYPE=yes
FONTCONFIG_CFLAGS=
FONTCONFIG_LIBS=
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,
+ 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.])
if test "${NS_IMPL_COCOA}" = "yes"; then
AC_DEFINE(NS_IMPL_COCOA, 1, [Define to 1 if you are using NS windowing under MacOS X.])
GNU_OBJC_CFLAGS=
- LIB_SRC_EXTRA_INSTALLABLES=mac-fix-env
fi
if test "${NS_IMPL_GNUSTEP}" = "yes"; then
AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
fi
# We also have mouse menus.
HAVE_MENUS=yes
+ OTHER_FILES=ns-app
fi
if test x"${version}" = x; then
AC_MSG_ERROR([can't find current emacs version in `${srcdir}/lisp/version.el'.])
fi
+if test x"${version}" != x"$PACKAGE_VERSION"; then
+ AC_MSG_WARN([version mismatch between `${srcdir}/configure.in' and `${srcdir}/lisp/version.el'.])
+fi
### Specify what sort of things we'll be editing into Makefile and config.h.
### Use configuration here uncanonicalized to avoid exceeding size limits.
AC_SUBST(GNUSTEP_SYSTEM_LIBRARIES)
AC_SUBST(GNU_OBJC_CFLAGS)
AC_SUBST(LIB_SRC_EXTRA_INSTALLABLES)
+AC_SUBST(OTHER_FILES)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}",
[Define to the canonical Emacs configuration name.])
#define HAVE_MOUSE
#endif
-/* Sadly for now, GNUstep dump does not work. */
-#ifdef NS_IMPL_GNUSTEP
-#define CANNOT_DUMP
-#endif
-
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
/* Turned on June 1996 supposing nobody will mind it. */
side does this in s/darwin.h and we cannot
parallel this exactly since GNUstep is multi-OS. */
#ifdef HAVE_NS
-#define OTHER_FILES ns-app
# ifdef NS_IMPL_GNUSTEP
/* See also .m.o rule in Makefile.in */
/* FIXME: are all these flags really needed? Document here why. */
#define HAVE_X11R6_XIM
#endif
-/* Should we enable expensive run-time checking of data types? */
-#undef ENABLE_CHECKING
-
#if defined __GNUC__ && (__GNUC__ > 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
#define NO_RETURN __attribute__ ((__noreturn__))