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
# 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)
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)
[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 <sys/sysinfo.h>]],
+ [[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 <sys/sysinfo.h>]],
+ [[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, , , -)
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)
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 <sys/timerfd.h>
+ ]],
+ [[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