X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/539ad293eb36b4cf458cbdb5a6b37f5cd1bb68a1..59e42442085d4cf2032324acf0f5467278554c74:/configure.ac?ds=sidebyside diff --git a/configure.ac b/configure.ac index c4ca395d6d..7e101aa9fc 100644 --- a/configure.ac +++ b/configure.ac @@ -931,8 +931,11 @@ edit_cflags=" AC_ARG_ENABLE(link-time-optimization, [AS_HELP_STRING([--enable-link-time-optimization], [build emacs with link-time optimization. - This is supported for gcc since 4.5.0 and clang. - Note that clang support is experimental - see INSTALL])], + This requires GCC 4.5.0 or later, or clang. + (Note that clang support is experimental - see INSTALL.) + It also makes Emacs harder to debug, and when we tried it + with GCC 4.9.0 x86-64 it made Emacs slower, so it's not + recommended for typical use.])], if test "${enableval}" != "no"; then ac_lto_supported=no if test $emacs_cv_clang = yes; then @@ -970,6 +973,13 @@ if test "${enableval}" != "no"; then # command, so plugin name is appended to ARFLAGS. ARFLAGS="cru --plugin $GOLD_PLUGIN" RANLIB="$RANLIB --plugin $GOLD_PLUGIN" + else + dnl The following is needed for GCC 4.9.0. The GCC 4.9.0 release notes + dnl suggest that instead of -ffat-lto-objects we should use gcc-ar and + dnl gcc-ranlib in place of ar and ranlib, but gcc-ar makes /usr/bin/ar + dnl dump core on Fedora 20, so play it safe for now. + gl_COMPILER_OPTION_IF([-ffat-lto-objects], + [CFLAGS="$CFLAGS -ffat-lto-objects"]) fi fi fi) @@ -1500,6 +1510,7 @@ fi dnl checks for header files AC_CHECK_HEADERS_ONCE( sys/systeminfo.h + sys/sysinfo.h coff.h pty.h sys/resource.h sys/utsname.h pwd.h utmp.h util.h) @@ -1515,6 +1526,21 @@ if test $emacs_cv_personality_linux32 = yes; then [Define to 1 if personality LINUX32 can be set.]) fi +if test "$ac_cv_header_sys_sysinfo_h" = yes; then + AC_MSG_CHECKING([if Linux sysinfo may be used]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[struct sysinfo si; sysinfo (&si)]])], + emacs_cv_linux_sysinfo=yes, emacs_cv_linux_sysinfo=no) + AC_MSG_RESULT($emacs_cv_linux_sysinfo) + if test $emacs_cv_linux_sysinfo = yes; then + AC_DEFINE([HAVE_LINUX_SYSINFO], 1, [Define to 1 if you have Linux sysinfo function.]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[struct sysinfo si; return si.mem_unit]])], + AC_DEFINE(LINUX_SYSINFO_UNIT, 1, + [Define to 1 if Linux sysinfo sizes are in multiples of mem_unit bytes.])) + fi +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, , , -) @@ -1580,11 +1606,14 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then deps_frag=autodeps.mk fi fi +lwlib_deps_frag=$srcdir/lwlib/$deps_frag +oldxmenu_deps_frag=$srcdir/oldXMenu/$deps_frag deps_frag=$srcdir/src/$deps_frag AC_SUBST(MKDEPDIR) AC_SUBST(DEPFLAGS) AC_SUBST_FILE(deps_frag) - +AC_SUBST_FILE(lwlib_deps_frag) +AC_SUBST_FILE(oldxmenu_deps_frag) lisp_frag=$srcdir/src/lisp.mk AC_SUBST_FILE(lisp_frag) @@ -3681,6 +3710,20 @@ fi AC_SUBST(LIBS_TERMCAP) AC_SUBST(TERMCAP_OBJ) +# GNU/Linux-specific timer functions. +AC_CACHE_CHECK([for timerfd interface], [emacs_cv_have_timerfd], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include + ]], + [[timerfd_create (CLOCK_REALTIME, + TFD_CLOEXEC | TFD_NONBLOCK); + timerfd_settime (0, TFD_TIMER_ABSTIME, 0, 0);]])], + [emacs_cv_have_timerfd=yes], + [emacs_cv_have_timerfd=no])]) +if test "$emacs_cv_have_timerfd" = yes; then + AC_DEFINE([HAVE_TIMERFD], 1, + [Define to 1 if timerfd functions are supported as in GNU/Linux.]) +fi # Do we have res_init, for detecting changes in /etc/resolv.conf? # On Darwin, res_init appears not to be useful: see bug#562 and