* configure.ac: If with-file-notification=yes, if gfile not found,
go on to try inotify (not on MS Windows or Nextstep). * etc/NEWS: Copyedits.
This commit is contained in:
parent
a773ed9ac8
commit
671d4bfc55
3 changed files with 86 additions and 66 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-07-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac: If with-file-notification=yes, if gfile not found,
|
||||
go on to try inotify (not on MS Windows or Nextstep).
|
||||
|
||||
2013-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix races with threads and file descriptors.
|
||||
|
|
101
configure.ac
101
configure.ac
|
@ -211,7 +211,8 @@ AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB],
|
|||
w | w3 | w32 ) val=w32 ;;
|
||||
* ) AC_MSG_ERROR([`--with-file-notification=$withval' is invalid;
|
||||
this option's value should be `yes', `no', `gfile', `inotify' or `w32'.
|
||||
`yes' is a synonym for `w32' on MS-Windows, and for `gfile' otherwise.])
|
||||
`yes' is a synonym for `w32' on MS-Windows, for `no' on Nextstep,
|
||||
otherwise for the first of `gfile' or `inotify' that is usable.])
|
||||
;;
|
||||
esac
|
||||
with_file_notification=$val
|
||||
|
@ -2312,51 +2313,65 @@ AC_SUBST(LIBGNUTLS_CFLAGS)
|
|||
NOTIFY_OBJ=
|
||||
NOTIFY_SUMMARY=no
|
||||
|
||||
dnl Set defaults of $with_file_notification.
|
||||
if test "${with_file_notification}" = "yes"; then
|
||||
if test "${opsys}" = "mingw32"; then
|
||||
with_file_notification=w32
|
||||
else
|
||||
if test "${with_ns}" != yes; then
|
||||
with_file_notification=gfile
|
||||
fi
|
||||
fi
|
||||
dnl FIXME? Don't auto-detect on NS, but do allow someone to specify
|
||||
dnl a particular library. This doesn't make much sense?
|
||||
if test "${with_ns}" = yes && test ${with_file_notification} = yes; then
|
||||
with_file_notification=no
|
||||
fi
|
||||
|
||||
dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED
|
||||
dnl has been added in glib 2.24. It has been tested under
|
||||
dnl GNU/Linux only. We take precedence over inotify, but this makes
|
||||
dnl only sense when glib has been compiled with inotify support. How
|
||||
dnl to check?
|
||||
if test "${with_file_notification}" = "gfile"; then
|
||||
PKG_CHECK_MODULES(GFILENOTIFY, gio-2.0 >= 2.24, HAVE_GFILENOTIFY=yes, HAVE_GFILENOTIFY=no)
|
||||
if test "$HAVE_GFILENOTIFY" = "yes"; then
|
||||
AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.])
|
||||
NOTIFY_OBJ=gfilenotify.o
|
||||
NOTIFY_SUMMARY="yes -lgio (gfile)"
|
||||
fi
|
||||
fi
|
||||
dnl inotify is only available on GNU/Linux.
|
||||
if test "${with_file_notification}" = "inotify"; then
|
||||
AC_CHECK_HEADER(sys/inotify.h)
|
||||
if test "$ac_cv_header_sys_inotify_h" = yes ; then
|
||||
AC_CHECK_FUNC(inotify_init1)
|
||||
if test "$ac_cv_func_inotify_init1" = yes; then
|
||||
AC_DEFINE(HAVE_INOTIFY, 1, [Define to 1 to use inotify.])
|
||||
NOTIFY_OBJ=inotify.o
|
||||
NOTIFY_SUMMARY="yes -lglibc (inotify)"
|
||||
fi
|
||||
if test "${with_file_notification}" != "no"; then
|
||||
|
||||
dnl MS Windows native file monitor is available for mingw32 only.
|
||||
if test "${with_file_notification}" = "w32" || \
|
||||
( test "${opsys}" = "mingw32" && \
|
||||
test "${with_file_notification}" = "yes" ); then
|
||||
AC_CHECK_HEADER(windows.h)
|
||||
if test "$ac_cv_header_windows_h" = yes ; then
|
||||
AC_DEFINE(HAVE_W32NOTIFY, 1, [Define to 1 to use w32notify.])
|
||||
NOTIFY_OBJ=w32notify.o
|
||||
NOTIFY_SUMMARY="yes (w32)"
|
||||
elif test "${with_file_notification}" = "w32"; then
|
||||
AC_MSG_ERROR([File notification `w32' requested but requirements not found.])
|
||||
elif test "${opsys}" = "mingw32"; then
|
||||
dnl Do not try any further.
|
||||
with_file_notification=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
dnl MS Windows native file monitor is available for mingw32 only.
|
||||
if test "${with_file_notification}" = "w32"; then
|
||||
AC_CHECK_HEADER(windows.h)
|
||||
if test "$ac_cv_header_windows_h" = yes ; then
|
||||
AC_DEFINE(HAVE_W32NOTIFY, 1, [Define to 1 to use w32notify.])
|
||||
NOTIFY_OBJ=w32notify.o
|
||||
NOTIFY_SUMMARY="yes (w32)"
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED
|
||||
dnl has been added in glib 2.24. It has been tested under
|
||||
dnl GNU/Linux only. We take precedence over inotify, but this makes
|
||||
dnl only sense when glib has been compiled with inotify support. How
|
||||
dnl to check?
|
||||
if test "${with_file_notification}" = "gfile" || \
|
||||
test "${with_file_notification}" = "yes"; then
|
||||
PKG_CHECK_MODULES(GFILENOTIFY, gio-2.0 >= 2.24, HAVE_GFILENOTIFY=yes, HAVE_GFILENOTIFY=no)
|
||||
if test "$HAVE_GFILENOTIFY" = "yes"; then
|
||||
AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.])
|
||||
NOTIFY_OBJ=gfilenotify.o
|
||||
NOTIFY_SUMMARY="yes -lgio (gfile)"
|
||||
elif test "${with_file_notification}" = "gfile"; then
|
||||
AC_MSG_ERROR([File notification `gfile' requested but requirements not found.])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl inotify is only available on GNU/Linux.
|
||||
if test "${with_file_notification}" = "inotify" || \
|
||||
test "${with_file_notification}" = "yes"; then
|
||||
AC_CHECK_HEADER(sys/inotify.h)
|
||||
if test "$ac_cv_header_sys_inotify_h" = yes ; then
|
||||
AC_CHECK_FUNC(inotify_init1)
|
||||
if test "$ac_cv_func_inotify_init1" = yes; then
|
||||
AC_DEFINE(HAVE_INOTIFY, 1, [Define to 1 to use inotify.])
|
||||
NOTIFY_OBJ=inotify.o
|
||||
NOTIFY_SUMMARY="yes -lglibc (inotify)"
|
||||
fi
|
||||
elif test "${with_file_notification}" = "inotify"; then
|
||||
AC_MSG_ERROR([File notification `inotify' requested but requirements not found.])
|
||||
fi
|
||||
fi
|
||||
fi dnl ${with_file_notification} != no
|
||||
|
||||
if test -n "$NOTIFY_OBJ"; then
|
||||
AC_DEFINE(USE_FILE_NOTIFY, 1, [Define to 1 if using file notifications.])
|
||||
fi
|
||||
|
|
46
etc/NEWS
46
etc/NEWS
|
@ -29,34 +29,15 @@ build time, like libacl on GNU/Linux. To prevent this, use the
|
|||
configure option `--disable-acl'.
|
||||
|
||||
** Emacs can be compiled with file notification support.
|
||||
The configure option `--with-file-notification=LIB' enables file
|
||||
notification support in Emacs. This option's value should be `yes',
|
||||
`no', `gfile', `inotify' or `w32'. `yes' is a synonym for `w32' on
|
||||
MS-Windows, and for `gfile' otherwise. The default value is `yes'.
|
||||
This happens by default if a suitable system library is found at
|
||||
build time. To prevent this, use the configure option
|
||||
`--with-file-notification-no'. See below for file-notify features.
|
||||
FIXME? This feature is not available for the Nextstep port. (?)
|
||||
|
||||
** The configure option --with-crt-dir has been removed.
|
||||
It is no longer needed, as the crt*.o files are no longer linked
|
||||
specially.
|
||||
|
||||
** Emacs for MS-Windows can now be built by running the configure script
|
||||
using the MSYS environment and MinGW development tools.
|
||||
This is from now on the preferred method of building Emacs on
|
||||
MS-Windows. The Windows-specific configure.bat and makefile.w32-in
|
||||
files are deprecated. See the file nt/INSTALL.MSYS for detailed
|
||||
instructions.
|
||||
|
||||
Using the Posix configure script and Makefile's also means a change in
|
||||
the directory structure of the Emacs installation on Windows. It is
|
||||
now the same as on GNU and Unix systems. In particular, the auxiliary
|
||||
programs, such as cmdproxy.exe and hexl.exe, are in
|
||||
libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs
|
||||
version), version-independent site-lisp is in share/emacs/site-lisp,
|
||||
version-specific Lisp files are in share/emacs/VERSION/lisp and in
|
||||
share/emacs/VERSION/site-lisp, Info docs are in share/info, and data
|
||||
files are in share/emacs/VERSION/etc. (Emacs knows about all these
|
||||
directories and will find the files in there automatically; there's no
|
||||
need to set any variables due to this change.)
|
||||
|
||||
** Directories passed to configure option `--enable-locallisppath' are
|
||||
no longer created during installation.
|
||||
|
||||
|
@ -662,6 +643,25 @@ meant to be used by other packages.
|
|||
|
||||
* Changes in Emacs 24.4 on Non-Free Operating Systems
|
||||
|
||||
** Emacs for MS-Windows can now be built by running the configure script
|
||||
using the MSYS environment and MinGW development tools.
|
||||
This is from now on the preferred method of building Emacs on
|
||||
MS-Windows. The Windows-specific configure.bat and makefile.w32-in
|
||||
files are deprecated. See the file nt/INSTALL.MSYS for detailed
|
||||
instructions.
|
||||
|
||||
Using the Posix configure script and Makefile's also means a change in
|
||||
the directory structure of the Emacs installation on Windows. It is
|
||||
now the same as on GNU and Unix systems. In particular, the auxiliary
|
||||
programs, such as cmdproxy.exe and hexl.exe, are in
|
||||
libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs
|
||||
version), version-independent site-lisp is in share/emacs/site-lisp,
|
||||
version-specific Lisp files are in share/emacs/VERSION/lisp and in
|
||||
share/emacs/VERSION/site-lisp, Info docs are in share/info, and data
|
||||
files are in share/emacs/VERSION/etc. (Emacs knows about all these
|
||||
directories and will find the files in there automatically; there's no
|
||||
need to set any variables due to this change.)
|
||||
|
||||
+++
|
||||
** The "generate a backtrace on fatal error" feature now works on MS Windows.
|
||||
The backtrace is written to the 'emacs_backtrace.txt' file in the
|
||||
|
|
Loading…
Add table
Reference in a new issue