dnl autoconf
dnl in the directory containing this script.
dnl
-dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003
+dnl Copyright (C) 1994, 95, 96, 1999, 2000, 01, 02, 03, 2004
dnl Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
use GNU make. If you do not have GNU make, then you must
now do `make distclean' in ${srcdir},
and then run $0 again.]])
-
-[extrasub='/^VPATH[ ]*=/c\
-vpath %.c $(srcdir)\
-vpath %.h $(srcdir)\
-vpath %.y $(srcdir)\
-vpath %.l $(srcdir)\
-vpath %.s $(srcdir)\
-vpath %.in $(srcdir)\
-vpath %.texi $(srcdir)']
fi
#### Given the configuration name, set machfile and opsysfile to the
machine=powermac opsys=darwin
# Define CPP as follows to make autoconf work correctly.
CPP="${CC-cc} -E -no-cpp-precomp"
+ # Use fink packages if available.
+ if test -d /sw/include && test -d /sw/lib; then
+ GCC_TEST_OPTIONS="-I/sw/include -L/sw/lib"
+ CPP="${CPP} ${GCC_TEST_OPTIONS}"
+ NON_GCC_TEST_OPTIONS=${GCC_TEST_OPTIONS}
+ fi
;;
## AMD x86-64 Linux-based GNU system
ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
fi
+dnl We need -znocombreloc if we're using a relatively recent GNU ld.
+dnl If we can link with the flag, it shouldn't do any harm anyhow.
+dnl (Don't use `-z nocombreloc' as -z takes no arg on Irix.)
+dnl Treat GCC specially since it just gives a non-fatal `unrecognized option'
+dnl if not built to support GNU ld.
+
+late_LDFLAGS=$LDFLAGS
+if test "$GCC" = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-znocombreloc"
+else
+ LDFLAGS="$LDFLAGS -znocombreloc"
+fi
+
+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
linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
termcap.h stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h)
+
+AC_MSG_CHECKING(if personality LINUX32 can be set)
+AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],
+ emacs_cv_personality_linux32=yes,
+ emacs_cv_personality_linux32=no)
+AC_MSG_RESULT($emacs_cv_personality_linux32)
+
+if test $emacs_cv_personality_linux32 = yes; then
+ AC_DEFINE(HAVE_PERSONALITY_LINUX32, 1,
+ [Define to 1 if personality LINUX32 can be set.])
+fi
+
dnl On Solaris 8 there's a compilation warning for term.h because
dnl it doesn't define `bool'.
AC_CHECK_HEADERS(term.h, , , -)
AC_DEFINE(NO_MATHERR, 1, [Define to 1 if you don't have struct exception in math.h.])
fi
+AC_CHECK_HEADERS(sys/socket.h)
+AC_CHECK_HEADERS(net/if.h, , , [AC_INCLUDES_DEFAULT
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+
dnl checks for structure members
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
[#include <time.h>])
AC_CHECK_MEMBERS([struct ifreq.ifr_flags, struct ifreq.ifr_hwaddr,
struct ifreq.ifr_netmask, struct ifreq.ifr_broadaddr,
- struct ifreq.ifr_addr], , ,[#include <net/if.h>])
+ struct ifreq.ifr_addr], , ,
+ [AC_INCLUDES_DEFAULT
+#if HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#if HAVE_NET_IF_H
+#include <net/if.h>
+#endif])
dnl checks for compiler characteristics
[Define as `void' if your compiler accepts `void *'; otherwise
define as `char'.])dnl
+
+
dnl This could be used for targets which can have both byte sexes.
dnl We could presumably replace the hardwired WORDS_BIG_ENDIAN generally.
dnl AC_C_BIGENDIAN
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, [
+AC_DEFUN([PKG_CHECK_MODULES], [
succeeded=no
if test -z "$PKG_CONFIG"; then
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])
+ 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
])
dnl GTK scrollbars resemble toolkit scrollbars a lot, so to avoid
dnl a lot if #ifdef:s, say we have toolkit scrollbars.
- with_toolkit_scroll_bars=yes
+ if test "$with_toolkit_scroll_bars" != no; then
+ with_toolkit_scroll_bars=yes
+ fi
dnl Check if we can use multiple displays with this GTK version.
dnl If gdk_display_open exists, assume all others are there also.
AC_DEFINE(HAVE_GTK_MULTIDISPLAY, 1,
[Define to 1 if GTK can handle more than one display.])
fi
+ dnl Check if we have the old file selection dialog.
+ dnl If gdk_display_open exists, assume all others are there also.
+ HAVE_GTK_FILE_SELECTION=no
+ AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes)
+
+ dnl Check if we have the new file chooser dialog
+ dnl If gdk_display_open exists, assume all others are there also.
+ HAVE_GTK_FILE_CHOOSER=no
+ AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes)
+
+ if test "$HAVE_GTK_FILE_SELECTION" = yes \
+ && test "$HAVE_GTK_FILE_CHOOSER" = yes; then
+ AC_DEFINE(HAVE_GTK_FILE_BOTH, 1,
+ [Define to 1 if GTK has both file selection and chooser dialog.])
+ fi
fi
dnl Do not put whitespace before the #include statements below.
AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
fi
+dnl Check for malloc/malloc.h on darwin
+AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.]))
+
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
AC_CHECK_HEADERS(maillock.h)
AC_CHECK_FUNCS(gethostname getdomainname dup2 \
-rename closedir mkdir rmdir sysinfo \
+rename closedir mkdir rmdir sysinfo getrusage \
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 \
__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync bzero \
-memset memcmp memmove difftime memcpy mempcpy mblen mbrlen posix_memalign)
+memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign)
AC_CHECK_HEADERS(sys/un.h)
[Define to 1 if you have inet sockets.])
fi
-AC_CHECK_HEADERS(sys/ioctl.h net/if.h)
+AC_CHECK_HEADERS(sys/ioctl.h)
if test -f /usr/lpp/X11/bin/smt.exp; then
AC_DEFINE(HAVE_AIX_SMT_EXP, 1,
echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
echo
+if test "$emacs_cv_randomheap" = warn; then
+ AC_MSG_WARN([
+**********************************************************************
+
+Heap start address is randomized and no workaround is known.
+Emacs will probably dump core when temacs is run in the build phase.
+Maybe exec-shield is turned on. Read about exec-shield in `etc/PROBLEMS'
+for further information.
+
+**********************************************************************
+])
+fi
+
# Remove any trailing slashes in these variables.
[test "${prefix}" != NONE &&
prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`