X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4fdbcac51e6466a27fd21b709c7467a9742a7dfe..afca296c98d13baa2f4984b928117474f674eeec:/configure.in diff --git a/configure.in b/configure.in index 9a443767f4..0be1a46596 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, 1995, 1996, 1999, 2000, 2001, 2002, 2003 +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. @@ -170,15 +170,6 @@ if test `pwd` != `(cd ${srcdir} && pwd)` \ 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 @@ -1134,7 +1125,13 @@ dnl see the `changequote' comment above. powerpc-apple-darwin* ) machine=powermac opsys=darwin # Define CPP as follows to make autoconf work correctly. - CPP="cc -E -traditional-cpp" + 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 @@ -1267,9 +1264,29 @@ then 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 @@ -1432,7 +1449,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, , , -) @@ -1507,6 +1537,12 @@ if test $emacs_cv_struct_exception != yes; then 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 +#endif]) + dnl checks for structure members AC_STRUCT_TM AC_STRUCT_TIMEZONE @@ -1514,6 +1550,16 @@ AC_CHECK_MEMBER(struct tm.tm_gmtoff, [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define to 1 if `tm_gmtoff' is member of `struct tm'.])],, [#include ]) +AC_CHECK_MEMBERS([struct ifreq.ifr_flags, struct ifreq.ifr_hwaddr, + struct ifreq.ifr_netmask, struct ifreq.ifr_broadaddr, + struct ifreq.ifr_addr], , , + [AC_INCLUDES_DEFAULT +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif]) dnl checks for compiler characteristics @@ -1539,6 +1585,8 @@ AH_TEMPLATE(POINTER_TYPE, [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 @@ -1842,7 +1890,7 @@ 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) 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 @@ -1890,7 +1938,7 @@ AC_DEFUN(PKG_CHECK_MODULES, [ 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 ]) @@ -1912,13 +1960,56 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$GTK_LIBS $LIBS" HAVE_GTK=yes AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.]) USE_X_TOOLKIT=none - dnl GTK scrollbars resembles toolkit scrollbars alot, so to avoid + 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. + HAVE_GTK_MULTIDISPLAY=no + AC_CHECK_FUNCS(gdk_display_open, HAVE_GTK_MULTIDISPLAY=yes) + if test "${HAVE_GTK_MULTIDISPLAY}" = "yes"; 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. @@ -2066,14 +2157,24 @@ if test "${with_toolkit_scroll_bars}" != "no"; then fi fi -dnl Don't use X11 input methods if user specifies he doesn't want it -dnl with `--with-xim=no'. +dnl See if XIM is available. +AC_TRY_COMPILE([ + #include + #include ], + [XIMProc callback;], + HAVE_XIM=yes + AC_DEFINE(HAVE_XIM, 1, [Define to 1 if XIM is available]), + HAVE_XIM=no) + +dnl `--with-xim' now controls only the initial value of use_xim at run time. if test "${with_xim}" != "no"; then AC_DEFINE(USE_XIM, 1, [Define to 1 if we should use XIM, if it is available.]) fi -if test "${HAVE_X11}" = "yes"; then + + +if test "${HAVE_XIM}" != "no"; then late_CFLAGS=$CFLAGS if test "$GCC" = yes; then CFLAGS="$CFLAGS --pedantic-errors" @@ -2212,6 +2313,9 @@ if test "${with_carbon}" != "no"; then 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 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 @@ -2231,7 +2335,7 @@ fi HAVE_X_SM=no if test "${HAVE_X11}" = "yes"; then AC_CHECK_HEADER(X11/SM/SMlib.h, - AC_CHECK_LIB(SM, SmcOpenConnection, HAVE_X_SM=yes, -lICE)) + AC_CHECK_LIB(SM, SmcOpenConnection, HAVE_X_SM=yes, , -lICE)) if test "${HAVE_X_SM}" = "yes"; then AC_DEFINE(HAVE_X_SM, 1, [Define to 1 if you have the SM library (-lSM).]) @@ -2282,14 +2386,14 @@ 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 \ __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) @@ -2486,6 +2590,8 @@ dnl Fixme: Not used. Should this be HAVE_SOCKETS? [Define to 1 if you have inet sockets.]) fi +AC_CHECK_HEADERS(sys/ioctl.h) + if test -f /usr/lpp/X11/bin/smt.exp; then AC_DEFINE(HAVE_AIX_SMT_EXP, 1, [Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists.]) @@ -2662,7 +2768,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. @@ -2743,7 +2850,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 @@ -2791,7 +2898,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. */ @@ -2983,6 +3096,19 @@ 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([ +********************************************************************** + +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,'` @@ -3075,3 +3201,6 @@ touch src/config.stamp ], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"]) +m4_if(dnl Do not change this comment + arch-tag: 156a4dd5-bddc-4d18-96ac-f37742cf6a5e +)dnl