diff options
| author | Glenn Morris | 2013-07-12 13:36:42 -0400 |
|---|---|---|
| committer | Glenn Morris | 2013-07-12 13:36:42 -0400 |
| commit | 671d4bfc55b191cd4cbb7205d95d757a7748c785 (patch) | |
| tree | b874280078b71e39521124bd9001ccc95b97b2f9 | |
| parent | a773ed9ac83b950cb2a934e9d54e1880f44bd350 (diff) | |
| download | emacs-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-- | ChangeLog | 5 | ||||
| -rw-r--r-- | configure.ac | 103 | ||||
| -rw-r--r-- | etc/NEWS | 46 |
3 files changed, 87 insertions, 67 deletions
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2013-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; |
| 213 | this option's value should be `yes', `no', `gfile', `inotify' or `w32'. | 213 | this 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, |
| 215 | otherwise 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) | |||
| 2312 | NOTIFY_OBJ= | 2313 | NOTIFY_OBJ= |
| 2313 | NOTIFY_SUMMARY=no | 2314 | NOTIFY_SUMMARY=no |
| 2314 | 2315 | ||
| 2315 | dnl Set defaults of $with_file_notification. | 2316 | dnl FIXME? Don't auto-detect on NS, but do allow someone to specify |
| 2316 | if test "${with_file_notification}" = "yes"; then | 2317 | dnl a particular library. This doesn't make much sense? |
| 2317 | if test "${opsys}" = "mingw32"; then | 2318 | if test "${with_ns}" = yes && test ${with_file_notification} = yes; then |
| 2318 | with_file_notification=w32 | 2319 | with_file_notification=no |
| 2319 | else | 2320 | fi |
| 2320 | if test "${with_ns}" != yes; then | 2321 | |
| 2321 | with_file_notification=gfile | 2322 | if test "${with_file_notification}" != "no"; then |
| 2322 | fi | 2323 | |
| 2323 | fi | 2324 | dnl MS Windows native file monitor is available for mingw32 only. |
| 2324 | fi | 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 | ||
| 2326 | dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED | 2358 | dnl inotify is only available on GNU/Linux. |
| 2327 | dnl has been added in glib 2.24. It has been tested under | 2359 | if test "${with_file_notification}" = "inotify" || \ |
| 2328 | dnl GNU/Linux only. We take precedence over inotify, but this makes | 2360 | test "${with_file_notification}" = "yes"; then |
| 2329 | dnl only sense when glib has been compiled with inotify support. How | 2361 | AC_CHECK_HEADER(sys/inotify.h) |
| 2330 | dnl to check? | 2362 | if test "$ac_cv_header_sys_inotify_h" = yes ; then |
| 2331 | if 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 |
| 2338 | fi | 2370 | AC_MSG_ERROR([File notification `inotify' requested but requirements not found.]) |
| 2339 | dnl inotify is only available on GNU/Linux. | 2371 | fi |
| 2340 | if 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 |
| 2350 | fi | 2373 | fi dnl ${with_file_notification} != no |
| 2351 | dnl MS Windows native file monitor is available for mingw32 only. | 2374 | |
| 2352 | if 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 | ||
| 2359 | fi | ||
| 2360 | if test -n "$NOTIFY_OBJ"; then | 2375 | if 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.]) |
| 2362 | fi | 2377 | fi |
| @@ -29,34 +29,15 @@ build time, like libacl on GNU/Linux. To prevent this, use the | |||
| 29 | configure option `--disable-acl'. | 29 | configure option `--disable-acl'. |
| 30 | 30 | ||
| 31 | ** Emacs can be compiled with file notification support. | 31 | ** Emacs can be compiled with file notification support. |
| 32 | The configure option `--with-file-notification=LIB' enables file | 32 | This happens by default if a suitable system library is found at |
| 33 | notification support in Emacs. This option's value should be `yes', | 33 | build 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. |
| 35 | MS-Windows, and for `gfile' otherwise. The default value is `yes'. | 35 | FIXME? 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. |
| 38 | It is no longer needed, as the crt*.o files are no longer linked | 38 | It is no longer needed, as the crt*.o files are no longer linked |
| 39 | specially. | 39 | specially. |
| 40 | 40 | ||
| 41 | ** Emacs for MS-Windows can now be built by running the configure script | ||
| 42 | using the MSYS environment and MinGW development tools. | ||
| 43 | This is from now on the preferred method of building Emacs on | ||
| 44 | MS-Windows. The Windows-specific configure.bat and makefile.w32-in | ||
| 45 | files are deprecated. See the file nt/INSTALL.MSYS for detailed | ||
| 46 | instructions. | ||
| 47 | |||
| 48 | Using the Posix configure script and Makefile's also means a change in | ||
| 49 | the directory structure of the Emacs installation on Windows. It is | ||
| 50 | now the same as on GNU and Unix systems. In particular, the auxiliary | ||
| 51 | programs, such as cmdproxy.exe and hexl.exe, are in | ||
| 52 | libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs | ||
| 53 | version), version-independent site-lisp is in share/emacs/site-lisp, | ||
| 54 | version-specific Lisp files are in share/emacs/VERSION/lisp and in | ||
| 55 | share/emacs/VERSION/site-lisp, Info docs are in share/info, and data | ||
| 56 | files are in share/emacs/VERSION/etc. (Emacs knows about all these | ||
| 57 | directories and will find the files in there automatically; there's no | ||
| 58 | need 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 |
| 61 | no longer created during installation. | 42 | no 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 | ||
| 647 | using the MSYS environment and MinGW development tools. | ||
| 648 | This is from now on the preferred method of building Emacs on | ||
| 649 | MS-Windows. The Windows-specific configure.bat and makefile.w32-in | ||
| 650 | files are deprecated. See the file nt/INSTALL.MSYS for detailed | ||
| 651 | instructions. | ||
| 652 | |||
| 653 | Using the Posix configure script and Makefile's also means a change in | ||
| 654 | the directory structure of the Emacs installation on Windows. It is | ||
| 655 | now the same as on GNU and Unix systems. In particular, the auxiliary | ||
| 656 | programs, such as cmdproxy.exe and hexl.exe, are in | ||
| 657 | libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs | ||
| 658 | version), version-independent site-lisp is in share/emacs/site-lisp, | ||
| 659 | version-specific Lisp files are in share/emacs/VERSION/lisp and in | ||
| 660 | share/emacs/VERSION/site-lisp, Info docs are in share/info, and data | ||
| 661 | files are in share/emacs/VERSION/etc. (Emacs knows about all these | ||
| 662 | directories and will find the files in there automatically; there's no | ||
| 663 | need 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. |
| 667 | The backtrace is written to the 'emacs_backtrace.txt' file in the | 667 | The backtrace is written to the 'emacs_backtrace.txt' file in the |