dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.62)
-AC_INIT(emacs, 23.1.93)
+AC_INIT(emacs, 23.2.50)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
fi
fi
+CRT_DIR=
+AC_ARG_WITH([crt-dir],dnl
+[AS_HELP_STRING([--with-crt-dir=DIR],[directory containing crtn.o etc.
+This option is only used on x86-64 and s390x GNU/Linux architectures.])])
+CRT_DIR="${with_crt_dir}"
+
AC_ARG_WITH([gnustep-conf],dnl
[AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])])
test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \
dnl Do this early because it can frob feature test macros for Unix-98 &c.
AC_SYS_LARGEFILE
-
-### The standard library on x86-64 and s390x GNU/Linux distributions can
-### be located in either /usr/lib64 or /usr/lib.
-### In some rare cases, /usr/lib64 exists but does not contain the
-### relevant files (bug#1287). Hence test for crtn.o.
+## Note: at present CRT_DIR is only used for amdx86-64 and ibms390x.
+## Other machine types hard-code the location in src/[ms]/*.h.
case "${canonical}" in
x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
- if test -e /usr/lib64/crtn.o; then
- AC_DEFINE(HAVE_LIB64_DIR, 1,
- [Define to 1 if the directory /usr/lib64 exists.])
-fi
+ ## On x86-64 and s390x GNU/Linux distributions, the standard library
+ ## can be in a variety of places. We only try /usr/lib64 and /usr/lib.
+ ## For anything else (eg /usr/lib32), it is up the user to specify
+ ## the location (bug#5655).
+ ## Test for crtn.o, not just the directory, because sometimes the
+ ## directory exists but does not have the relevant files (bug#1287).
+ ## If user specified a crt-dir, use that unconditionally.
+ if test "X$CRT_DIR" = "X"; then
+ CRT_DIR=/usr/lib
+ test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64
+ fi
+
+ test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \
+ AC_MSG_ERROR([crt*.o not found. Use --with-crt-dir to specify the location.])
+ ;;
esac
+test "X$CRT_DIR" = "X" && CRT_DIR=/usr/lib
+AC_SUBST(CRT_DIR)
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)
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+ && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+ && test x"`echo $CFLAGS | grep '\-O@<:@23@:>@'`" != x \
+ && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+ AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.])
+fi
+
#### Find out which version of Emacs this is.
[version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
| sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`]
echo
fi
-if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
- echo "D-Bus integration has been tested for GNU/Linux only."
- echo
-fi
-
# Remove any trailing slashes in these variables.
[test "${prefix}" != NONE &&
# the C preprocessor to some helpful value like 1, or maybe the empty
# string. Needless to say consequent macro substitutions are less
# than conducive to the makefile finding the correct directory.
-[cpp_undefs="`echo $srcdir $configuration $canonical |
+[cpp_undefs="`echo $srcdir $configuration $canonical unix |
sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \
-e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`"]