AC_INIT(emacs, 24.0.50)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
+AC_CONFIG_AUX_DIR(build-aux)
AM_INIT_AUTOMAKE
dnl Support for --program-prefix, --program-suffix and
machine='' opsys='' unported=no
case "${canonical}" in
- ## GNU/Linux ports
- *-*-linux-gnu*)
+ ## GNU/Linux and similar ports
+ *-*-linux* )
opsys=gnu-linux
case ${canonical} in
alpha*) machine=alpha ;;
CFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CFLAGS"
;;
- ia64*-hp-hpux1[1-9]* )
- machine=hp800 opsys=hpux11
- ## FIXME. Peter O'Gorman reports that dumping using unexelf.o doesn't
- ## work either: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6811
- CANNOT_DUMP=yes
- ;;
-
- hppa*-*-linux-gnu* )
- machine=hp800 opsys=gnu-linux
- ;;
-
## IBM machines
rs6000-ibm-aix4.[23]* )
machine=ibmrs6000 opsys=aix4-2
LIB_STANDARD=
START_FILES=
+dnl NB do not use CRT_DIR unquoted here, since it might not be set yet.
case $opsys in
cygwin )
LIB_MATH=
LIB_STANDARD=-lc
START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o'
;;
+ dnl NB this may be adjusted below.
netbsd | openbsd )
- if test -f $CRT_DIR/crti.o; then
- LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
- START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
- else
- LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
- START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
- fi
+ LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
+ START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
;;
esac
AC_SUBST(CRT_DIR)
+case $opsys in
+ netbsd | openbsd )
+ if test -f $CRT_DIR/crti.o; then
+
+ test -f $CRT_DIR/crtn.o || \
+ AC_MSG_ERROR([Required file not found: crtn.o])
+
+ LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
+ START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
+ fi
+ ;;
+esac
+
dnl This function definition taken from Gnome 2.0
dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
if test $HAVE_GNU_MAKE = yes; then
AC_MSG_CHECKING([whether gcc understands -MMD -MF])
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -MMD -MF deps.d"
+ CFLAGS="$CFLAGS -MMD -MF deps.d -MP"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , ac_enable_autodepend=no)
CFLAGS="$SAVE_CFLAGS"
test -f deps.d || ac_enable_autodepend=no
AC_MSG_RESULT([$ac_enable_autodepend])
fi
if test $ac_enable_autodepend = yes; then
- DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d'
+ DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d -MP'
## In parallel builds, another make might create depdir between
## the first test and mkdir, so stick another test on the end.
## Or use install-sh -d? mkdir -p is not portable.
CPPFLAGS="$CPPFLAGS -x objective-c"
CFLAGS="$CFLAGS -x objective-c"
TEMACS_LDFLAGS2="\${LDFLAGS}"
+GNU_OBJC_CFLAGS=
dnl I don't think it's especially important, but src/Makefile.in
dnl (now the only user of ns_appdir) used to go to the trouble of adding a
dnl trailing "/" to it, so now we do it here.
LIB_STANDARD=
START_FILES=
TEMACS_LDFLAGS2=
+ dnl GNUstep defines BASE_NATIVE_OBJC_EXCEPTIONS to 0 or 1.
+ dnl If they had chosen to either define it or not, we could have
+ dnl just used AC_CHECK_DECL here.
+ AC_CACHE_CHECK(if GNUstep defines BASE_NATIVE_OBJC_EXCEPTIONS,
+ emacs_cv_objc_exceptions,
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <GNUstepBase/GSConfig.h>]],
+[[#if defined BASE_NATIVE_OBJC_EXCEPTIONS && BASE_NATIVE_OBJC_EXCEPTIONS > 0
+1;
+#else
+fail;
+#endif]])], emacs_cv_objc_exceptions=yes, emacs_cv_objc_exceptions=no ) )
+ if test $emacs_cv_objc_exceptions = yes; then
+ dnl _NATIVE_OBJC_EXCEPTIONS is used by the GNUstep headers.
+ AC_DEFINE(_NATIVE_OBJC_EXCEPTIONS, 1,
+ [Define if GNUstep uses ObjC exceptions.])
+ GNU_OBJC_CFLAGS="-fobjc-exceptions"
+ fi
fi
+
+ dnl This is only used while we test the NS headers, it gets reset below.
+ CFLAGS="$CFLAGS $GNU_OBJC_CFLAGS"
+
AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes],
[AC_MSG_ERROR([`--with-ns' was specified, but the include
files are missing or cannot be compiled.])])
AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.])
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=
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.])
# See also .m.o rule in Makefile.in */
# FIXME: are all these flags really needed? Document here why. */
- C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing"
- GNU_OBJC_CFLAGS="-fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
+ C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
+ ## Extra CFLAGS applied to src/*.m files.
+ GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
fi
if test "${NS_HAVE_NSINTEGER}" = "yes"; then
AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap fsync sync \
difftime mempcpy mblen mbrlen posix_memalign \
-cfmakeraw cfsetspeed isnan copysign __executable_start)
+cfmakeraw cfsetspeed copysign __executable_start)
dnl Cannot use AC_CHECK_FUNCS
AC_CACHE_CHECK([for __builtin_unwind_init],
AC_FUNC_FORK
+AC_CHECK_FUNCS(snprintf)
+
dnl Adapted from Haible's version.
AC_CACHE_CHECK([for nl_langinfo and CODESET], emacs_cv_langinfo_codeset,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],