aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2013-07-12 13:36:42 -0400
committerGlenn Morris2013-07-12 13:36:42 -0400
commit671d4bfc55b191cd4cbb7205d95d757a7748c785 (patch)
treeb874280078b71e39521124bd9001ccc95b97b2f9
parenta773ed9ac83b950cb2a934e9d54e1880f44bd350 (diff)
downloademacs-671d4bfc55b191cd4cbb7205d95d757a7748c785.tar.gz
emacs-671d4bfc55b191cd4cbb7205d95d757a7748c785.zip
* 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.
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac103
-rw-r--r--etc/NEWS46
3 files changed, 87 insertions, 67 deletions
diff --git a/ChangeLog b/ChangeLog
index e802ee2d15c..18ad4b5f4d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
12013-07-12 Glenn Morris <rgm@gnu.org>
2
3 * configure.ac: If with-file-notification=yes, if gfile not found,
4 go on to try inotify (not on MS Windows or Nextstep).
5
12013-07-12 Paul Eggert <eggert@cs.ucla.edu> 62013-07-12 Paul Eggert <eggert@cs.ucla.edu>
2 7
3 Fix races with threads and file descriptors. 8 Fix races with threads and file descriptors.
diff --git a/configure.ac b/configure.ac
index 6378ef19288..8cd482bc71d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -211,7 +211,8 @@ AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB],
211 w | w3 | w32 ) val=w32 ;; 211 w | w3 | w32 ) val=w32 ;;
212 * ) AC_MSG_ERROR([`--with-file-notification=$withval' is invalid; 212 * ) AC_MSG_ERROR([`--with-file-notification=$withval' is invalid;
213this option's value should be `yes', `no', `gfile', `inotify' or `w32'. 213this option's value should be `yes', `no', `gfile', `inotify' or `w32'.
214`yes' is a synonym for `w32' on MS-Windows, and for `gfile' otherwise.]) 214`yes' is a synonym for `w32' on MS-Windows, for `no' on Nextstep,
215otherwise for the first of `gfile' or `inotify' that is usable.])
215 ;; 216 ;;
216 esac 217 esac
217 with_file_notification=$val 218 with_file_notification=$val
@@ -2312,51 +2313,65 @@ AC_SUBST(LIBGNUTLS_CFLAGS)
2312NOTIFY_OBJ= 2313NOTIFY_OBJ=
2313NOTIFY_SUMMARY=no 2314NOTIFY_SUMMARY=no
2314 2315
2315dnl Set defaults of $with_file_notification. 2316dnl FIXME? Don't auto-detect on NS, but do allow someone to specify
2316if test "${with_file_notification}" = "yes"; then 2317dnl a particular library. This doesn't make much sense?
2317 if test "${opsys}" = "mingw32"; then 2318if test "${with_ns}" = yes && test ${with_file_notification} = yes; then
2318 with_file_notification=w32 2319 with_file_notification=no
2319 else 2320fi
2320 if test "${with_ns}" != yes; then 2321
2321 with_file_notification=gfile 2322if test "${with_file_notification}" != "no"; then
2322 fi 2323
2323 fi 2324 dnl MS Windows native file monitor is available for mingw32 only.
2324fi 2325 if test "${with_file_notification}" = "w32" || \
2326 ( test "${opsys}" = "mingw32" && \
2327 test "${with_file_notification}" = "yes" ); then
2328 AC_CHECK_HEADER(windows.h)
2329 if test "$ac_cv_header_windows_h" = yes ; then
2330 AC_DEFINE(HAVE_W32NOTIFY, 1, [Define to 1 to use w32notify.])
2331 NOTIFY_OBJ=w32notify.o
2332 NOTIFY_SUMMARY="yes (w32)"
2333 elif test "${with_file_notification}" = "w32"; then
2334 AC_MSG_ERROR([File notification `w32' requested but requirements not found.])
2335 elif test "${opsys}" = "mingw32"; then
2336 dnl Do not try any further.
2337 with_file_notification=no
2338 fi
2339 fi
2340
2341 dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED
2342 dnl has been added in glib 2.24. It has been tested under
2343 dnl GNU/Linux only. We take precedence over inotify, but this makes
2344 dnl only sense when glib has been compiled with inotify support. How
2345 dnl to check?
2346 if test "${with_file_notification}" = "gfile" || \
2347 test "${with_file_notification}" = "yes"; then
2348 PKG_CHECK_MODULES(GFILENOTIFY, gio-2.0 >= 2.24, HAVE_GFILENOTIFY=yes, HAVE_GFILENOTIFY=no)
2349 if test "$HAVE_GFILENOTIFY" = "yes"; then
2350 AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.])
2351 NOTIFY_OBJ=gfilenotify.o
2352 NOTIFY_SUMMARY="yes -lgio (gfile)"
2353 elif test "${with_file_notification}" = "gfile"; then
2354 AC_MSG_ERROR([File notification `gfile' requested but requirements not found.])
2355 fi
2356 fi
2325 2357
2326dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED 2358 dnl inotify is only available on GNU/Linux.
2327dnl has been added in glib 2.24. It has been tested under 2359 if test "${with_file_notification}" = "inotify" || \
2328dnl GNU/Linux only. We take precedence over inotify, but this makes 2360 test "${with_file_notification}" = "yes"; then
2329dnl only sense when glib has been compiled with inotify support. How 2361 AC_CHECK_HEADER(sys/inotify.h)
2330dnl to check? 2362 if test "$ac_cv_header_sys_inotify_h" = yes ; then
2331if test "${with_file_notification}" = "gfile"; then 2363 AC_CHECK_FUNC(inotify_init1)
2332 PKG_CHECK_MODULES(GFILENOTIFY, gio-2.0 >= 2.24, HAVE_GFILENOTIFY=yes, HAVE_GFILENOTIFY=no) 2364 if test "$ac_cv_func_inotify_init1" = yes; then
2333 if test "$HAVE_GFILENOTIFY" = "yes"; then 2365 AC_DEFINE(HAVE_INOTIFY, 1, [Define to 1 to use inotify.])
2334 AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.]) 2366 NOTIFY_OBJ=inotify.o
2335 NOTIFY_OBJ=gfilenotify.o 2367 NOTIFY_SUMMARY="yes -lglibc (inotify)"
2336 NOTIFY_SUMMARY="yes -lgio (gfile)" 2368 fi
2337 fi 2369 elif test "${with_file_notification}" = "inotify"; then
2338fi 2370 AC_MSG_ERROR([File notification `inotify' requested but requirements not found.])
2339dnl inotify is only available on GNU/Linux. 2371 fi
2340if test "${with_file_notification}" = "inotify"; then
2341 AC_CHECK_HEADER(sys/inotify.h)
2342 if test "$ac_cv_header_sys_inotify_h" = yes ; then
2343 AC_CHECK_FUNC(inotify_init1)
2344 if test "$ac_cv_func_inotify_init1" = yes; then
2345 AC_DEFINE(HAVE_INOTIFY, 1, [Define to 1 to use inotify.])
2346 NOTIFY_OBJ=inotify.o
2347 NOTIFY_SUMMARY="yes -lglibc (inotify)"
2348 fi
2349 fi 2372 fi
2350fi 2373fi dnl ${with_file_notification} != no
2351dnl MS Windows native file monitor is available for mingw32 only. 2374
2352if test "${with_file_notification}" = "w32"; then
2353 AC_CHECK_HEADER(windows.h)
2354 if test "$ac_cv_header_windows_h" = yes ; then
2355 AC_DEFINE(HAVE_W32NOTIFY, 1, [Define to 1 to use w32notify.])
2356 NOTIFY_OBJ=w32notify.o
2357 NOTIFY_SUMMARY="yes (w32)"
2358 fi
2359fi
2360if test -n "$NOTIFY_OBJ"; then 2375if test -n "$NOTIFY_OBJ"; then
2361 AC_DEFINE(USE_FILE_NOTIFY, 1, [Define to 1 if using file notifications.]) 2376 AC_DEFINE(USE_FILE_NOTIFY, 1, [Define to 1 if using file notifications.])
2362fi 2377fi
diff --git a/etc/NEWS b/etc/NEWS
index 6dd89fcd4d7..873af89a7a8 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -29,34 +29,15 @@ build time, like libacl on GNU/Linux. To prevent this, use the
29configure option `--disable-acl'. 29configure option `--disable-acl'.
30 30
31** Emacs can be compiled with file notification support. 31** Emacs can be compiled with file notification support.
32The configure option `--with-file-notification=LIB' enables file 32This happens by default if a suitable system library is found at
33notification support in Emacs. This option's value should be `yes', 33build time. To prevent this, use the configure option
34`no', `gfile', `inotify' or `w32'. `yes' is a synonym for `w32' on 34`--with-file-notification-no'. See below for file-notify features.
35MS-Windows, and for `gfile' otherwise. The default value is `yes'. 35FIXME? This feature is not available for the Nextstep port. (?)
36 36
37** The configure option --with-crt-dir has been removed. 37** The configure option --with-crt-dir has been removed.
38It is no longer needed, as the crt*.o files are no longer linked 38It is no longer needed, as the crt*.o files are no longer linked
39specially. 39specially.
40 40
41** Emacs for MS-Windows can now be built by running the configure script
42using the MSYS environment and MinGW development tools.
43This is from now on the preferred method of building Emacs on
44MS-Windows. The Windows-specific configure.bat and makefile.w32-in
45files are deprecated. See the file nt/INSTALL.MSYS for detailed
46instructions.
47
48Using the Posix configure script and Makefile's also means a change in
49the directory structure of the Emacs installation on Windows. It is
50now the same as on GNU and Unix systems. In particular, the auxiliary
51programs, such as cmdproxy.exe and hexl.exe, are in
52libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs
53version), version-independent site-lisp is in share/emacs/site-lisp,
54version-specific Lisp files are in share/emacs/VERSION/lisp and in
55share/emacs/VERSION/site-lisp, Info docs are in share/info, and data
56files are in share/emacs/VERSION/etc. (Emacs knows about all these
57directories and will find the files in there automatically; there's no
58need to set any variables due to this change.)
59
60** Directories passed to configure option `--enable-locallisppath' are 41** Directories passed to configure option `--enable-locallisppath' are
61no longer created during installation. 42no longer created during installation.
62 43
@@ -662,6 +643,25 @@ meant to be used by other packages.
662 643
663* Changes in Emacs 24.4 on Non-Free Operating Systems 644* Changes in Emacs 24.4 on Non-Free Operating Systems
664 645
646** Emacs for MS-Windows can now be built by running the configure script
647using the MSYS environment and MinGW development tools.
648This is from now on the preferred method of building Emacs on
649MS-Windows. The Windows-specific configure.bat and makefile.w32-in
650files are deprecated. See the file nt/INSTALL.MSYS for detailed
651instructions.
652
653Using the Posix configure script and Makefile's also means a change in
654the directory structure of the Emacs installation on Windows. It is
655now the same as on GNU and Unix systems. In particular, the auxiliary
656programs, such as cmdproxy.exe and hexl.exe, are in
657libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs
658version), version-independent site-lisp is in share/emacs/site-lisp,
659version-specific Lisp files are in share/emacs/VERSION/lisp and in
660share/emacs/VERSION/site-lisp, Info docs are in share/info, and data
661files are in share/emacs/VERSION/etc. (Emacs knows about all these
662directories and will find the files in there automatically; there's no
663need to set any variables due to this change.)
664
665+++ 665+++
666** The "generate a backtrace on fatal error" feature now works on MS Windows. 666** The "generate a backtrace on fatal error" feature now works on MS Windows.
667The backtrace is written to the 'emacs_backtrace.txt' file in the 667The backtrace is written to the 'emacs_backtrace.txt' file in the