X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/cef11da29920a67e534b01241c47ee379926210e..40fb2103c2986cbb91add4afed635886c4f87ae5:/configure.in diff --git a/configure.in b/configure.in index 519f826f27..291ae9a9c0 100644 --- a/configure.in +++ b/configure.in @@ -3,7 +3,7 @@ dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. dnl -dnl Copyright (C) 1994, 95, 96, 1999, 2000, 01, 02, 03, 2004 +dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004 dnl Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. @@ -125,6 +125,11 @@ AC_ARG_ENABLE(carbon-app, specify install directory for Emacs.app on Mac OS X]], [ carbon_appdir_x=${enableval}]) +AC_ARG_ENABLE(asserts, +[ --enable-asserts compile code with asserts enabled], + USE_XASSERTS=$enableval, + USE_XASSERTS=no) + AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], @@ -1449,7 +1454,20 @@ dnl checks for header files AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \ 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) + sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \ + sys/utsname.h) + +AC_MSG_CHECKING(if personality LINUX32 can be set) +AC_TRY_COMPILE([#include ], [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, , , -) @@ -1572,51 +1590,6 @@ AH_TEMPLATE(POINTER_TYPE, [Define as `void' if your compiler accepts `void *'; otherwise define as `char'.])dnl -dnl Test if heap start address is randomized (exec-shield does this). -dnl The test program requires unistd.h and stdlib.h. They are present -dnl on the systems that currently have exec-shield. -AC_MSG_CHECKING(whether heap start address is randomized) -if test x"$ac_cv_header_unistd_h" != x && test x"$ac_cv_header_stdlib_h" != x -then - AC_TRY_RUN([#include -#include -#include -int main (int argc, char *argv[]) -{ - unsigned long old_sbrk = 0; - unsigned long this_sbrk = (unsigned long) sbrk(0); - int nr = 1; - if (argc != 1) { - old_sbrk = strtoul (argv[1], 0, 0); - nr = atoi (argv[2])+1; - } - if (argc == 1 || (old_sbrk == this_sbrk && nr < 3)) - { - char buf1[32], buf2[32]; - sprintf (buf1, "%lu", this_sbrk); - sprintf (buf2, "%d", nr); - execl (argv[0], argv[0], buf1, buf2, 0); - exit (-1); - } - exit (this_sbrk == old_sbrk); -}], emacs_cv_randomheap=yes, emacs_cv_randomheap=no, - emacs_cv_randomheap='assuming no') -else - emacs_cv_randomheap='assuming no' -fi -AC_MSG_RESULT($emacs_cv_randomheap) - -if test "$emacs_cv_randomheap" = yes; then - AC_PATH_PROG(SETARCH, setarch, no) - AC_SUBST(SETARCH) - if test "$SETARCH" != no && test "$machine" = "intel386"; then - AC_DEFINE(HAVE_RANDOM_HEAPSTART, 1, - [Define to 1 if this OS randomizes the start address of the heap.]) - else - dnl We do the warning at the end of the configure run so it is seen. - emacs_cv_randomheap=warn - fi -fi dnl This could be used for targets which can have both byte sexes. @@ -2000,7 +1973,9 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then 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. @@ -2010,6 +1985,36 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then 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 + + dnl Check if pthreads are available. Emacs only needs this when using + dnl gtk_file_chooser under Gnome. + if test "$HAVE_GTK_FILE_CHOOSER" = yes; then + HAVE_GTK_AND_PTHREAD=no + AC_CHECK_HEADERS(pthread.h) + if test "$ac_cv_header_pthread_h"; then + AC_CHECK_LIB(pthread, pthread_self, HAVE_GTK_AND_PTHREAD=yes) + fi + if test "$HAVE_GTK_AND_PTHREAD" = yes; then + GTK_LIBS="$GTK_LIBS -lpthread" + AC_DEFINE(HAVE_GTK_AND_PTHREAD, 1, + [Define to 1 if you have GTK and pthread (-lpthread).]) + fi + fi fi dnl Do not put whitespace before the #include statements below. @@ -2386,7 +2391,7 @@ AC_CHECK_FUNCS(touchlock) 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 \ @@ -2768,7 +2773,8 @@ if test "${REL_ALLOC}" = "yes" ; then fi AH_TOP([/* GNU Emacs site configuration template file. - Copyright (C) 1988, 93, 94, 99, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1988, 1993, 1994, 1999, 2000, 2002, 2004 + Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -2849,7 +2855,7 @@ AH_BOTTOM([ /* Don't try to switch on inline handling as detected by AC_C_INLINE generally, because even if non-gcc compilers accept `inline', they may reject `extern inline'. */ -#ifdef __GNUC__ +#if defined (__GNUC__) && defined (OPTIMIZE) #define INLINE __inline__ #else #define INLINE @@ -2897,7 +2903,13 @@ AH_BOTTOM([ /* Tell regex.c to use a type compatible with Emacs. */ #define RE_TRANSLATE_TYPE Lisp_Object #define RE_TRANSLATE(TBL, C) CHAR_TABLE_TRANSLATE (TBL, C) -#define RE_TRANSLATE_P(TBL) (XFASTINT (TBL) != 0) +#ifdef make_number +/* If make_number is a macro, use it. */ +#define RE_TRANSLATE_P(TBL) (!EQ (TBL, make_number (0))) +#else +/* If make_number is a function, avoid it. */ +#define RE_TRANSLATE_P(TBL) (!(INTEGERP (TBL) && XINT (TBL) == 0)) +#endif #endif /* Avoid link-time collision with system mktime if we will use our own. */ @@ -3089,18 +3101,13 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}" echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" echo -if test "$emacs_cv_randomheap" = warn; then - AC_MSG_WARN([ -********************************************************************** +if test $USE_XASSERTS = yes; then + echo " Compiling with asserts turned on." + CPPFLAGS="$CPPFLAGS -DXASSERTS=1" + echo +fi -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 &&