* bug#9169: gnulib import for MacOS, Irix, Solaris, etc. @ 2011-07-25 17:10 Paul Eggert 2011-07-25 18:32 ` Eli Zaretskii ` (3 more replies) 0 siblings, 4 replies; 6+ messages in thread From: Paul Eggert @ 2011-07-25 17:10 UTC (permalink / raw) To: 9169 Here's a patch to the Emacs trunk to bring it up to date with gnulib. I plan to test it a bit more before installing. This fixes some portability issues with MacOS X 10.5 and later (large filesystems), Irix, and Solaris (signal mask handling), and some crash problems with 'configure'. Since gnulib has revamped where it puts some of the files, this patch also moves some files around in Emacs, using a new build-aux directory to remove some of the clutter; this affects the Windows builds too so I've made the obvious minor changes to the Windows files. I considered trying to leave the file locations alone, but judged that that the extra complexity in importation of changes would be more likely to cause problems than to cure them. # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: eggert@cs.ucla.edu-20110725164139-stn0jk0db4uf9wy4 # target_branch: bzr+ssh://eggert@bzr.savannah.gnu.org/emacs/trunk # testament_sha1: 40b72f5ebfcd921d4490257c7a6e5345e2babaca # timestamp: 2011-07-25 09:57:36 -0700 # base_revision_id: eggert@cs.ucla.edu-20110725164039-ci3qe140s8583o5k # # Begin patch === modified file '.bzrignore' --- .bzrignore 2011-07-06 17:58:37 +0000 +++ .bzrignore 2011-07-24 22:15:47 +0000 @@ -15,23 +15,17 @@ *.exe ./aclocal.m4 autom4te.cache -./compile confdefs.h -./config.guess -./config.sub ./configure configure.lineno conftest* core -./depcomp DOC DOC-* emacs-*/ -./install-sh makefile Makefile Makefile.c -./missing stamp-h1 stamp_BLD subdirs.el @@ -40,6 +34,12 @@ cxxdefs.h info/* admin/unidata/unidata.txt +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/missing leim/leim-list.el leim/quail/*.el leim/changed.misc === modified file 'ChangeLog' --- ChangeLog 2011-07-13 10:36:12 +0000 +++ ChangeLog 2011-07-25 16:26:30 +0000 @@ -1,3 +1,35 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + Merge from gnulib, using build-aux to remove clutter. + * m4/largefile.m4: New file, so that Emacs does not mess up when + accessing files with large inode numbers in MacOS X 10.5 and later. + * m4/nocrash.m4: New file, to avoid triggering background debugger + and/or create core dumps during 'configure'. + * build-aux/move-if-change: Renamed from move-if-change. + * build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h. + * build-aux/snippet/c++defs.h: Renamed from c++defs.h. + * build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h. + * build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn. + * .bzrignore: The autogenerated files compile, config.guess, + config.sub, depcomp, install-sh, and missing are now in build-aux. + * Makefile.in (epaths-force, sync-from-gnulib): + move-if-change is now in build-aux. + (GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite + of gnulib's pthread_sigmask module, but Emacs doesn't need it. + (mkdir): install-sh is now in build-aux. + * config.bat: c++defs.h is now in build-aux/snippets. + * configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the + usual parameter). + * lib/gnulib.mk, m4/gl-comp.m4: Regenerate. + * lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved + to build-aux/snippet. + * lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4: + * m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4: + Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and + Solaris, enables MacOS extensions, and enables nocrash during + 'configure'. + * make-dist: Adjust to new build-aux and build-aux/snippit dirs. + 2011-07-13 Jan Djärv <jan.h.d@swipnet.se> * configure.in (GSETTINGS): Check for gio-2.0 >= 2.26. === modified file 'Makefile.in' --- Makefile.in 2011-07-09 00:18:49 +0000 +++ Makefile.in 2011-07-24 22:15:47 +0000 @@ -300,7 +300,7 @@ -e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \ -e 's;\(#.*PATH_GAME\).*$$;\1 "${gamedir}";' \ -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \ - ${srcdir}/move-if-change epaths.h.$$$$ src/epaths.h + ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h # For parallel make, src should be built before leim. # "export PARALLEL=0" is for SGI's Make, to prevent it from @@ -339,6 +339,7 @@ mktime pthread_sigmask readlink \ socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat GNULIB_TOOL_FLAGS = \ + --avoid=threadlib \ --conditional-dependencies --import --no-changelog --no-vc-files \ --makefile-name=gnulib.mk sync-from-gnulib: $(gnulib_srcdir) @@ -350,7 +351,7 @@ cp $(gnulib_srcdir)/build-aux/texinfo.tex $(srcdir)/doc/misc cp \ $(gnulib_srcdir)/build-aux/move-if-change \ - $(srcdir) + $(srcdir)/build-aux cd $(srcdir) && autoreconf -i -I m4 .PHONY: sync-from-gnulib @@ -688,7 +689,7 @@ done ; \ icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \ umask 022 ; \ - $(srcdir)/install-sh -d $(DESTDIR)${datadir} ${COPYDESTS} \ + $(srcdir)/build-aux/install-sh -d $(DESTDIR)${datadir} ${COPYDESTS} \ $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \ $(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \ $(DESTDIR)${datadir}/emacs/site-lisp \ === modified file 'admin/ChangeLog' --- admin/ChangeLog 2011-07-07 13:55:12 +0000 +++ admin/ChangeLog 2011-07-25 16:26:30 +0000 @@ -1,3 +1,12 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + Merge from gnulib. + * notes/copyright: The files compile, config.guess, config.sub, + depcomp, install-sh, missing, and move-if-change are now in the + new build-aux subdirectory. The files arg-nonnull.h, c++defs.h, + and warn-on-use.h are now in build-aux/snippets. New file + build-aux/snippets/_Noreturn.h. + 2011-07-07 Juanma Barranquero <lekktu@gmail.com> * unidata/makefile.w32-in (charprop-SH, charprop-CMD): === modified file 'admin/notes/copyright' --- admin/notes/copyright 2011-03-25 07:00:36 +0000 +++ admin/notes/copyright 2011-07-24 22:15:47 +0000 @@ -143,7 +143,7 @@ lib/Makefile.in - copyright FSF, with MIT-like license -install-sh +build-aux/install-sh - this file is copyright MIT, which is OK. Leave the copyright alone. etc/refcards/*.tex @@ -545,16 +545,17 @@ alone (may import them from Gnulib again). These are: Gnulib: - arg-nonnull.h - c++defs.h - compile - config.guess - config.sub - depcomp + build-aux/compile + build-aux/config.guess + build-aux/config.sub + build-aux/depcomp + build-aux/missing + build-aux/move-if-change + build-aux/snippet/_Noreturn.h + build-aux/snippet/arg-nonnull.h + build-aux/snippet/c++defs.h + build-aux/snippet/warn-on-use.h doc/man/texinfo.tex - missing - move-if-change - warn-on-use.h lib/*.[ch] lib/gnulib.mk src/gmalloc.c === added directory 'build-aux' === renamed file 'move-if-change' => 'build-aux/move-if-change' === added directory 'build-aux/snippet' === added file 'build-aux/snippet/_Noreturn.h' --- build-aux/snippet/_Noreturn.h 1970-01-01 00:00:00 +0000 +++ build-aux/snippet/_Noreturn.h 2011-07-24 22:15:47 +0000 @@ -0,0 +1,10 @@ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif === renamed file 'arg-nonnull.h' => 'build-aux/snippet/arg-nonnull.h' === renamed file 'c++defs.h' => 'build-aux/snippet/c++defs.h' === renamed file 'warn-on-use.h' => 'build-aux/snippet/warn-on-use.h' === modified file 'config.bat' --- config.bat 2011-05-20 09:47:59 +0000 +++ config.bat 2011-07-24 22:15:47 +0000 @@ -275,10 +275,10 @@ cd .. rem ---------------------------------------------------------------------- Echo Configuring the lib directory... -If Exist c++defs.h update c++defs.h cxxdefs.h +If Exist build-aux/snippet/c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h cd lib Rem Rename files like djtar on plain DOS filesystem would. -If Exist c++defs.h update c++defs.h cxxdefs.h +If Exist build-aux/snippet/c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h If Exist getopt.in.h update getopt.in.h getopt.in-h If Exist stdbool.in.h update stdbool.in.h stdbool.in-h If Exist stddef.in.h update stddef.in.h stddef.in-h === modified file 'configure.in' --- configure.in 2011-07-13 10:36:12 +0000 +++ configure.in 2011-07-24 22:15:47 +0000 @@ -25,6 +25,7 @@ AC_INIT(emacs, 24.0.50) AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) +AC_CONFIG_AUX_DIR(build-aux) AM_INIT_AUTOMAKE dnl Support for --program-prefix, --program-suffix and === modified file 'leim/ChangeLog' --- leim/ChangeLog 2011-07-23 17:29:42 +0000 +++ leim/ChangeLog 2011-07-25 16:26:30 +0000 @@ -1,3 +1,7 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + * Makefile.in (install): install-sh is now in build-aux. + 2011-07-23 Yair F <yair.f.lists@gmail.com> * quail/hebrew.el ("hebrew"): Additional key mappings. === modified file 'leim/Makefile.in' --- leim/Makefile.in 2011-06-12 09:01:24 +0000 +++ leim/Makefile.in 2011-07-24 22:15:47 +0000 @@ -221,7 +221,7 @@ install: all if [ ! -d ${INSTALLDIR} ] ; then \ - umask 022; ${srcdir}/../install-sh -d ${INSTALLDIR}; \ + umask 022; ${srcdir}/../build-aux/install-sh -d ${INSTALLDIR}; \ else true; fi if [ x`(cd ${INSTALLDIR} && /bin/pwd)` != x`(/bin/pwd)` ] ; then \ rm -f ${INSTALLDIR}/leim-list.el; \ === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2011-07-09 10:32:42 +0000 +++ lib-src/ChangeLog 2011-07-25 16:26:30 +0000 @@ -1,3 +1,8 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + * Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved + to build-aux. + 2011-07-09 Andreas Schwab <schwab@linux-m68k.org> * update-game-score.c (usage): Update usage line. === modified file 'lib-src/Makefile.in' --- lib-src/Makefile.in 2011-05-25 07:13:57 +0000 +++ lib-src/Makefile.in 2011-07-24 22:15:47 +0000 @@ -229,13 +229,13 @@ $(DESTDIR)${archlibdir}: all @echo @echo "Installing utilities run internally by Emacs." - umask 022; $(top_srcdir)/install-sh -d $(DESTDIR)${archlibdir} + umask 022; $(top_srcdir)/build-aux/install-sh -d $(DESTDIR)${archlibdir} if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \ for file in ${UTILITIES}; do \ $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file $(DESTDIR)${archlibdir}/$$file ; \ done ; \ fi - umask 022; $(top_srcdir)/install-sh -d $(DESTDIR)${gamedir}; \ + umask 022; $(top_srcdir)/build-aux/install-sh -d $(DESTDIR)${gamedir}; \ touch $(DESTDIR)${gamedir}/snake-scores; \ touch $(DESTDIR)${gamedir}/tetris-scores -if chown ${gameuser} $(DESTDIR)${archlibdir}/update-game-score && chmod u+s $(DESTDIR)${archlibdir}/update-game-score; then \ === modified file 'lib/gnulib.mk' --- lib/gnulib.mk 2011-07-09 00:18:49 +0000 +++ lib/gnulib.mk 2011-07-24 22:15:47 +0000 @@ -9,7 +9,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat MOSTLYCLEANFILES += core *.stackdump @@ -52,54 +52,6 @@ ## end gnulib module allocator -## begin gnulib module arg-nonnull - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += arg-nonnull.h -# The arg-nonnull.h that gets inserted into generated .h files is the same as -# build-aux/arg-nonnull.h, except that it has the copyright header cut off. -arg-nonnull.h: $(top_srcdir)/./arg-nonnull.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/GL_ARG_NONNULL/,$$p' \ - < $(top_srcdir)/./arg-nonnull.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t - -ARG_NONNULL_H=arg-nonnull.h - -EXTRA_DIST += $(top_srcdir)/./arg-nonnull.h - -## end gnulib module arg-nonnull - -## begin gnulib module c++defs - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += c++defs.h -# The c++defs.h that gets inserted into generated .h files is the same as -# build-aux/c++defs.h, except that it has the copyright header cut off. -c++defs.h: $(top_srcdir)/./c++defs.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/_GL_CXXDEFS/,$$p' \ - < $(top_srcdir)/./c++defs.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += c++defs.h c++defs.h-t - -CXXDEFS_H=c++defs.h - -EXTRA_DIST += $(top_srcdir)/./c++defs.h - -## end gnulib module c++defs - ## begin gnulib module careadlinkat libgnu_a_SOURCES += careadlinkat.c @@ -362,6 +314,87 @@ ## end gnulib module sigprocmask +## begin gnulib module snippet/_Noreturn + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all Makefile.am that +# need it. This is ensured by the applicability 'all' defined above. + +_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h + +## end gnulib module snippet/_Noreturn + +## begin gnulib module snippet/arg-nonnull + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += arg-nonnull.h +# The arg-nonnull.h that gets inserted into generated .h files is the same as +# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut +# off. +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_ARG_NONNULL/,$$p' \ + < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t + +ARG_NONNULL_H=arg-nonnull.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h + +## end gnulib module snippet/arg-nonnull + +## begin gnulib module snippet/c++defs + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += c++defs.h +# The c++defs.h that gets inserted into generated .h files is the same as +# build-aux/snippet/c++defs.h, except that it has the copyright header cut off. +c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/_GL_CXXDEFS/,$$p' \ + < $(top_srcdir)/build-aux/snippet/c++defs.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += c++defs.h c++defs.h-t + +CXXDEFS_H=c++defs.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h + +## end gnulib module snippet/c++defs + +## begin gnulib module snippet/warn-on-use + +BUILT_SOURCES += warn-on-use.h +# The warn-on-use.h that gets inserted into generated .h files is the same as +# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut +# off. +warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/^.ifndef/,$$p' \ + < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t + +WARN_ON_USE_H=warn-on-use.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h + +## end gnulib module snippet/warn-on-use + ## begin gnulib module stat if gl_GNULIB_ENABLED_stat @@ -634,7 +667,8 @@ # We need the following in order to create <stdlib.h> when the system # doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @@ -708,6 +742,7 @@ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ @@ -1040,25 +1075,6 @@ ## end gnulib module verify -## begin gnulib module warn-on-use - -BUILT_SOURCES += warn-on-use.h -# The warn-on-use.h that gets inserted into generated .h files is the same as -# build-aux/warn-on-use.h, except that it has the copyright header cut off. -warn-on-use.h: $(top_srcdir)/./warn-on-use.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/^.ifndef/,$$p' \ - < $(top_srcdir)/./warn-on-use.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t - -WARN_ON_USE_H=warn-on-use.h - -EXTRA_DIST += $(top_srcdir)/./warn-on-use.h - -## end gnulib module warn-on-use - mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ === modified file 'lib/makefile.w32-in' --- lib/makefile.w32-in 2011-06-21 08:45:39 +0000 +++ lib/makefile.w32-in 2011-07-24 22:15:47 +0000 @@ -213,7 +213,7 @@ PRAGMA_SYSTEM_HEADER = \#pragma GCC system_header PRAGMA_COLUMNS = NEXT_GETOPT_H = <getopt.h> -ARG_NONNULL_H = ../arg-nonnull.h +ARG_NONNULL_H = ../build-aux/snippet/arg-nonnull.h getopt_h: - $(DEL) getopt_.h-t getopt_.h === modified file 'lib/pthread_sigmask.c' --- lib/pthread_sigmask.c 2011-07-08 20:20:19 +0000 +++ lib/pthread_sigmask.c 2011-07-24 22:15:47 +0000 @@ -20,10 +20,50 @@ #include <signal.h> #include <errno.h> +#include <stddef.h> + +#if PTHREAD_SIGMASK_UNBLOCK_BUG +# include <unistd.h> +#endif int pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask) +#undef pthread_sigmask { +#if HAVE_PTHREAD_SIGMASK + int ret = pthread_sigmask (how, new_mask, old_mask); +# if PTHREAD_SIGMASK_INEFFECTIVE + if (ret == 0) + { + /* Detect whether pthread_sigmask is currently ineffective. + Don't cache the information: libpthread.so could be dynamically + loaded after the program started and after pthread_sigmask was + called for the first time. */ + if (pthread_sigmask (1729, NULL, NULL) == 0) + { + /* pthread_sigmask is currently ineffective. The program is not + linked to -lpthread. So use sigprocmask instead. */ + return (sigprocmask (how, new_mask, old_mask) < 0 ? errno : 0); + } + } +# endif +# if PTHREAD_SIGMASK_FAILS_WITH_ERRNO + if (ret == -1) + return errno; +# endif +# if PTHREAD_SIGMASK_UNBLOCK_BUG + if (ret == 0 + && new_mask != NULL + && (how == SIG_UNBLOCK || how == SIG_SETMASK)) + { + /* Give the OS the opportunity to raise signals that were pending before + the pthread_sigmask call and have now been unblocked. */ + usleep (1); + } +# endif + return ret; +#else int ret = sigprocmask (how, new_mask, old_mask); return (ret < 0 ? errno : 0); +#endif } === modified file 'lib/stdlib.in.h' --- lib/stdlib.in.h 2011-05-29 21:52:18 +0000 +++ lib/stdlib.in.h 2011-07-24 22:15:47 +0000 @@ -89,11 +89,7 @@ # include <unistd.h> #endif -#if 3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__ -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#else -# define _GL_ATTRIBUTE_NORETURN -#endif +/* The definition of _Noreturn is copied here. */ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -120,7 +116,7 @@ /* Terminate the current process with the given return code, without running the 'atexit' handlers. */ # if !@HAVE__EXIT@ -_GL_FUNCDECL_SYS (_Exit, void, (int status) _GL_ATTRIBUTE_NORETURN); +_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status)); # endif _GL_CXXALIAS_SYS (_Exit, void, (int status)); _GL_CXXALIASWARN (_Exit); === modified file 'm4/extensions.m4' --- m4/extensions.m4 2011-01-09 06:57:07 +0000 +++ m4/extensions.m4 2011-07-24 22:15:47 +0000 @@ -1,4 +1,4 @@ -# serial 9 -*- Autoconf -*- +# serial 10 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. @@ -67,6 +67,10 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif +/* Enable general extensions on MacOS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE @@ -95,6 +99,7 @@ test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) + AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) === modified file 'm4/getopt.m4' --- m4/getopt.m4 2011-07-08 20:22:17 +0000 +++ m4/getopt.m4 2011-07-24 22:15:47 +0000 @@ -231,8 +231,12 @@ [AC_LANG_PROGRAM([[#include <getopt.h> #include <stddef.h> #include <string.h> + ]GL_NOCRASH[ ]], [[ int result = 0; + + nocrash_init(); + /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ === modified file 'm4/gl-comp.m4' --- m4/gl-comp.m4 2011-07-09 00:18:49 +0000 +++ m4/gl-comp.m4 2011-07-24 22:15:47 +0000 @@ -28,8 +28,6 @@ AC_REQUIRE([AC_PROG_RANLIB]) # Code from module alloca-opt: # Code from module allocator: - # Code from module arg-nonnull: - # Code from module c++defs: # Code from module careadlinkat: # Code from module crypto/md5: # Code from module crypto/sha1: @@ -52,10 +50,15 @@ # Code from module lstat: # Code from module mktime: # Code from module multiarch: + # Code from module nocrash: # Code from module pthread_sigmask: # Code from module readlink: # Code from module signal: # Code from module sigprocmask: + # Code from module snippet/_Noreturn: + # Code from module snippet/arg-nonnull: + # Code from module snippet/c++defs: + # Code from module snippet/warn-on-use: # Code from module socklen: # Code from module ssize_t: # Code from module stat: @@ -82,7 +85,6 @@ # Code from module u64: # Code from module unistd: # Code from module verify: - # Code from module warn-on-use: ]) # This macro should be invoked from ./configure.in, in the section @@ -148,6 +150,7 @@ gl_FUNC_PTHREAD_SIGMASK if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then AC_LIBOBJ([pthread_sigmask]) + gl_PREREQ_PTHREAD_SIGMASK fi gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask]) gl_FUNC_READLINK @@ -451,9 +454,10 @@ # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ - build-aux/arg-nonnull.h - build-aux/c++defs.h - build-aux/warn-on-use.h + build-aux/snippet/_Noreturn.h + build-aux/snippet/arg-nonnull.h + build-aux/snippet/c++defs.h + build-aux/snippet/warn-on-use.h lib/alloca.in.h lib/allocator.c lib/allocator.h @@ -528,6 +532,7 @@ m4/md5.m4 m4/mktime.m4 m4/multiarch.m4 + m4/nocrash.m4 m4/pthread_sigmask.m4 m4/readlink.m4 m4/sha1.m4 === modified file 'm4/gnulib-common.m4' --- m4/gnulib-common.m4 2011-06-08 16:26:45 +0000 +++ m4/gnulib-common.m4 2011-07-24 22:15:47 +0000 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 26 +# gnulib-common.m4 serial 28 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,6 +12,19 @@ AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of draft C1X. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of === added file 'm4/largefile.m4' --- m4/largefile.m4 1970-01-01 00:00:00 +0000 +++ m4/largefile.m4 2011-07-24 22:15:47 +0000 @@ -0,0 +1,104 @@ +# Enable large files on systems where this is not the default. + +# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# The following implementation works around a problem in autoconf <= 2.68; +# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5. +m4_version_prereq([2.69], [] ,[ + +# _AC_SYS_LARGEFILE_TEST_INCLUDES +# ------------------------------- +m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], +[@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl +]) + + +# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, +# CACHE-VAR, +# DESCRIPTION, +# PROLOGUE, [FUNCTION-BODY]) +# -------------------------------------------------------- +m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], +[AC_CACHE_CHECK([for $1 value needed for large files], [$3], +[while :; do + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([$5], [$6])], + [$3=no; break]) + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([@%:@define $1 $2 +$5], [$6])], + [$3=$2; break]) + $3=unknown + break +done]) +case $$3 in #( + no | unknown) ;; + *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; +esac +rm -rf conftest*[]dnl +])# _AC_SYS_LARGEFILE_MACRO_VALUE + + +# AC_SYS_LARGEFILE +# ---------------- +# By default, many hosts won't let programs access large files; +# one must use special compiler options to get large-file access to work. +# For more details about this brain damage please see: +# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html +AC_DEFUN([AC_SYS_LARGEFILE], +[AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) +if test "$enable_largefile" != no; then + + AC_CACHE_CHECK([for special C compiler options needed for large files], + ac_cv_sys_largefile_CC, + [ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) + AC_COMPILE_IFELSE([], [break]) + CC="$CC -n32" + AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi]) + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + if test $ac_cv_sys_file_offset_bits = unknown; then + _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, + ac_cv_sys_large_files, + [Define for large files, on AIX-style hosts.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + fi + + AH_VERBATIM([_DARWIN_USE_64_BIT_INODE], +[/* Enable large inode numbers on Mac OS X. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif]) +fi +])# AC_SYS_LARGEFILE + +])# m4_version_prereq 2.69 === added file 'm4/nocrash.m4' --- m4/nocrash.m4 1970-01-01 00:00:00 +0000 +++ m4/nocrash.m4 2011-07-24 22:15:47 +0000 @@ -0,0 +1,102 @@ +# nocrash.m4 serial 2 +dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. + +AC_PREREQ([2.13]) + +dnl Expands to some code for use in .c programs that will cause the configure +dnl test to exit instead of crashing. This is useful to avoid triggering +dnl action from a background debugger and to avoid core dumps. +dnl Usage: ... +dnl ]GL_NOCRASH[ +dnl ... +dnl int main() { nocrash_init(); ... } +AC_DEFUN([GL_NOCRASH],[[ +#include <stdlib.h> +#if defined __MACH__ && defined __APPLE__ +/* Avoid a crash on MacOS X. */ +#include <mach/mach.h> +#include <mach/mach_error.h> +#include <mach/thread_status.h> +#include <mach/exception.h> +#include <mach/task.h> +#include <pthread.h> +/* The exception port on which our thread listens. */ +static mach_port_t our_exception_port; +/* The main function of the thread listening for exceptions of type + EXC_BAD_ACCESS. */ +static void * +mach_exception_thread (void *arg) +{ + /* Buffer for a message to be received. */ + struct { + mach_msg_header_t head; + mach_msg_body_t msgh_body; + char data[1024]; + } msg; + mach_msg_return_t retval; + /* Wait for a message on the exception port. */ + retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), + our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (retval != MACH_MSG_SUCCESS) + abort (); + exit (1); +} +static void +nocrash_init (void) +{ + mach_port_t self = mach_task_self (); + /* Allocate a port on which the thread shall listen for exceptions. */ + if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) + == KERN_SUCCESS) { + /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ + if (mach_port_insert_right (self, our_exception_port, our_exception_port, + MACH_MSG_TYPE_MAKE_SEND) + == KERN_SUCCESS) { + /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting + for us. */ + exception_mask_t mask = EXC_MASK_BAD_ACCESS; + /* Create the thread listening on the exception port. */ + pthread_attr_t attr; + pthread_t thread; + if (pthread_attr_init (&attr) == 0 + && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 + && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { + pthread_attr_destroy (&attr); + /* Replace the exception port info for these exceptions with our own. + Note that we replace the exception port for the entire task, not only + for a particular thread. This has the effect that when our exception + port gets the message, the thread specific exception port has already + been asked, and we don't need to bother about it. + See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ + task_set_exception_ports (self, mask, our_exception_port, + EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); + } + } + } +} +#else +/* Avoid a crash on POSIX systems. */ +#include <signal.h> +/* A POSIX signal handler. */ +static void +exception_handler (int sig) +{ + exit (1); +} +static void +nocrash_init (void) +{ +#ifdef SIGSEGV + signal (SIGSEGV, exception_handler); +#endif +#ifdef SIGBUS + signal (SIGBUS, exception_handler); +#endif +} +#endif +]]) === modified file 'm4/pthread_sigmask.m4' --- m4/pthread_sigmask.m4 2011-07-09 08:56:25 +0000 +++ m4/pthread_sigmask.m4 2011-07-24 22:15:47 +0000 @@ -1,4 +1,4 @@ -# pthread_sigmask.m4 serial 7-emacs1 +# pthread_sigmask.m4 serial 11 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,20 +8,240 @@ [ AC_CHECK_FUNCS_ONCE([pthread_sigmask]) LIB_PTHREAD_SIGMASK= - dnl gl_THREADLIB is not in use. Assume the application wants - dnl POSIX semantics. - if test $ac_cv_func_pthread_sigmask != yes; then - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([pthread_sigmask], [pthread c_r]) - LIBS=$gl_save_LIBS - if test "$ac_cv_search_pthread_sigmask" = no; then + + dnl Test whether the gnulib module 'threadlib' is in use. + dnl Some packages like Emacs use --avoid=threadlib. + dnl Write the symbol in such a way that it does not cause 'aclocal' to pick + dnl the threadlib.m4 file that is installed in $PREFIX/share/aclocal/. + m4_ifdef([gl_[]THREADLIB], [ + AC_REQUIRE([gl_[]THREADLIB]) + + if test "$gl_threads_api" = posix; then + if test $ac_cv_func_pthread_sigmask = yes; then + dnl pthread_sigmask is available without -lpthread. + : + else + if test -n "$LIBMULTITHREAD"; then + AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD], + [gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <pthread.h> + #include <signal.h> + ]], + [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]]) + ], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no]) + LIBS="$gl_save_LIBS" + ]) + if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then + dnl pthread_sigmask is available with -lpthread. + LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD" + else + dnl pthread_sigmask is not available at all. + HAVE_PTHREAD_SIGMASK=0 + fi + else + dnl pthread_sigmask is not available at all. + HAVE_PTHREAD_SIGMASK=0 + fi + fi + else + dnl pthread_sigmask may exist but does not interoperate with the chosen + dnl multithreading facility. + dnl If "$gl_threads_api" = pth, we could use the function pth_sigmask, + dnl but it is equivalent to sigprocmask, so we choose to emulate + dnl pthread_sigmask with sigprocmask also in this case. This yields fewer + dnl link dependencies. + if test $ac_cv_func_pthread_sigmask = yes; then + REPLACE_PTHREAD_SIGMASK=1 + else HAVE_PTHREAD_SIGMASK=0 - elif test "$ac_cv_search_pthread_sigmask" != 'none required'; then - LIB_PTHREAD_SIGMASK=$ac_cv_search_pthread_sigmask fi fi + ], [ + dnl The module 'threadlib' is not in use, due to --avoid=threadlib being + dnl specified. + dnl The package either has prepared CPPFLAGS and LIBS for use of POSIX:2008 + dnl threads, or wants to build single-threaded programs. + if test $ac_cv_func_pthread_sigmask = yes; then + dnl pthread_sigmask exists and does not require extra libraries. + dnl Assume that it is declared. + : + else + dnl pthread_sigmask either does not exist or needs extra libraries. + HAVE_PTHREAD_SIGMASK=0 + dnl Define the symbol rpl_pthread_sigmask, not pthread_sigmask, + dnl so as to not accidentally override the system's pthread_sigmask + dnl symbol from libpthread. This is necessary on IRIX 6.5. + REPLACE_PTHREAD_SIGMASK=1 + fi + ]) + AC_SUBST([LIB_PTHREAD_SIGMASK]) dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the dnl same: either both empty or both "-lpthread". + + dnl Now test for some bugs in the system function. + if test $HAVE_PTHREAD_SIGMASK = 1; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl On FreeBSD 6.4, HP-UX 11.31, Solaris 9, in programs that are not linked + dnl with -lpthread, the pthread_sigmask() function always returns 0 and has + dnl no effect. + if test -z "$LIB_PTHREAD_SIGMASK"; then + AC_CACHE_CHECK([whether pthread_sigmask works without -lpthread], + [gl_cv_func_pthread_sigmask_in_libc_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stddef.h> +int main () +{ + sigset_t set; + sigemptyset (&set); + return pthread_sigmask (1729, &set, NULL) != 0; +}]])], + [gl_cv_func_pthread_sigmask_in_libc_works=no], + [gl_cv_func_pthread_sigmask_in_libc_works=yes], + [ +changequote(,)dnl + case "$host_os" in + freebsd* | hpux* | solaris | solaris2.[2-9]*) + gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; + esac +changequote([,])dnl + ]) + ]) + case "$gl_cv_func_pthread_sigmask_in_libc_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_INEFFECTIVE], [1], + [Define to 1 if pthread_sigmask() may returns 0 and have no effect.]) + ;; + esac + fi + + dnl On Cygwin 1.7.5, the pthread_sigmask() has a wrong return value + dnl convention: Upon failure, it returns -1 and sets errno. + AC_CACHE_CHECK([whether pthread_sigmask returns error numbers], + [gl_cv_func_pthread_sigmask_return_works], + [ + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIB_PTHREAD_SIGMASK" + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stddef.h> +int main () +{ + sigset_t set; + sigemptyset (&set); + if (pthread_sigmask (1729, &set, NULL) == -1) + return 1; + return 0; +}]])], + [gl_cv_func_pthread_sigmask_return_works=yes], + [gl_cv_func_pthread_sigmask_return_works=no], + [case "$host_os" in + cygwin*) + gl_cv_func_pthread_sigmask_return_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_return_works="guessing yes";; + esac + ]) + LIBS="$gl_save_LIBS" + ]) + case "$gl_cv_func_pthread_sigmask_return_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_FAILS_WITH_ERRNO], [1], + [Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.]) + ;; + esac + + dnl On IRIX 6.5, in a single-threaded program, pending signals are not + dnl immediately delivered when they are unblocked through pthread_sigmask, + dnl only a little while later. + AC_CACHE_CHECK([whether pthread_sigmask unblocks signals correctly], + [gl_cv_func_pthread_sigmask_unblock_works], + [ + case "$host_os" in + irix*) + gl_cv_func_pthread_sigmask_unblock_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_unblock_works="guessing yes";; + esac + dnl Here we link against $LIBMULTITHREAD, not only $LIB_PTHREAD_SIGMASK, + dnl otherwise we get a false positive on those platforms where + dnl $gl_cv_func_pthread_sigmask_in_libc_works is "no". + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +static volatile int sigint_occurred; +static void +sigint_handler (int sig) +{ + sigint_occurred++; +} +int main () +{ + sigset_t set; + int pid = getpid (); + char command[80]; + signal (SIGINT, sigint_handler); + sigemptyset (&set); + sigaddset (&set, SIGINT); + if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0)) + return 1; + sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid); + if (!(system (command) == 0)) + return 2; + sleep (2); + if (!(sigint_occurred == 0)) + return 3; + if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0)) + return 4; + if (!(sigint_occurred == 1)) /* This fails on IRIX. */ + return 5; + return 0; +}]])], + [:], + [gl_cv_func_pthread_sigmask_unblock_works=no], + [:]) + LIBS="$gl_save_LIBS" + ]) + case "$gl_cv_func_pthread_sigmask_unblock_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_UNBLOCK_BUG], [1], + [Define to 1 if pthread_sigmask() unblocks signals incorrectly.]) + ;; + esac + fi +]) + +# Prerequisite of lib/pthread_sigmask.c. +AC_DEFUN([gl_PREREQ_PTHREAD_SIGMASK], +[ + if test $HAVE_PTHREAD_SIGMASK = 1; then + AC_DEFINE([HAVE_PTHREAD_SIGMASK], [1], + [Define to 1 if the pthread_sigmask function can be used (despite bugs).]) + fi ]) === modified file 'make-dist' --- make-dist 2011-05-24 04:00:56 +0000 +++ make-dist 2011-07-24 22:15:47 +0000 @@ -283,18 +283,16 @@ ### tar file; this means that people can start reading the INSTALL and ### README while the rest of the tar file is still unpacking. Whoopee. echo "Making links to top-level files" -ln INSTALL README BUGS move-if-change ${tempdir} +ln INSTALL README BUGS ${tempdir} ln ChangeLog Makefile.in configure configure.in ${tempdir} ln config.bat make-dist update-subdirs vpath.sed .dir-locals.el ${tempdir} -ln config.sub config.guess install-sh ${tempdir} ln aclocal.m4 ${tempdir} -ln compile depcomp missing ${tempdir} -ln arg-nonnull.h c++defs.h warn-on-use.h ${tempdir} echo "Creating subdirectories" for subdir in site-lisp \ leim leim/CXTERM-DIC leim/MISC-DIC \ leim/SKK-DIC leim/ja-dic leim/quail \ + build-aux build-aux/snippet \ src src/m src/s src/bitmaps lib lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ `find etc lisp -type d` \ @@ -346,6 +344,15 @@ rm -f ../${tempdir}/leim/quail/tsang-b5.* rm -f ../${tempdir}/leim/quail/tsang-cns.*) +echo "Making links to \`build-aux'" +(cd build-aux + ln compile config.guess config.sub depcomp ../${tempdir}/build-aux + ln install-sh missing move-if-change ../${tempdir}/build-aux) + +echo "Making links to \`build-aux/snippet'" +(cd build-aux/snippet + ln *.h ../../${tempdir}/build-aux/snippet) + echo "Making links to \`src'" ### Don't distribute the configured versions of ### config.in, paths.in, buildobj.h, or Makefile.in. @@ -373,12 +380,13 @@ ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s) echo "Making links to \`lib'" -(build_aux_h=`(ls *.h)` +(snippet_h=`(cd build-aux/snippet && ls *.h)` cd lib ln [a-zA-Z]*.[ch] ../${tempdir}/lib ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib cd ../${tempdir}/lib - rm -f `(echo "$build_aux_h"; ls *.in.h) | sed '/[*]/d; s/.in.h$/.h/'`) + script='/[*]/d; s/\.in\.h$/.h/' + rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`) echo "Making links to \`lib-src'" (cd lib-src === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2011-06-07 13:55:22 +0000 +++ msdos/ChangeLog 2011-07-25 16:26:30 +0000 @@ -1,3 +1,8 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + * sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves + from top level to build-aux/snippet. + 2011-06-07 Eli Zaretskii <eliz@gnu.org> * sedlibmk.inp (PTRDIFF_T_SUFFIX): Edit to nothing. === modified file 'msdos/sedlibmk.inp' --- msdos/sedlibmk.inp 2011-06-07 13:55:22 +0000 +++ msdos/sedlibmk.inp 2011-07-24 22:15:47 +0000 @@ -569,11 +569,11 @@ s/^@GL_GENERATE_STDINT_H_TRUE@// s/^@GL_GENERATE_STDINT_H_FALSE@/\#/ /^arg-nonnull\.h:/,/^[ ][ ]*mv /c\ -arg-nonnull.h: $(top_srcdir)/./arg-nonnull.h\ - sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/./arg-nonnull.h > $@ +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h\ + sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/build-aux/snippet/arg-nonnull.h > $@ /^cxxdefs\.h:/,/^[ ][ ]*mv /c\ -cxxdefs.h: $(top_srcdir)/./cxxdefs.h\ - sed -n -e '/_GL_CXXDEFS/,$$p' < $(top_srcdir)/./cxxdefs.h > $@ +cxxdefs.h: $(top_srcdir)/build-aux/snippet/cxxdefs.h\ + sed -n -e '/_GL_CXXDEFS/,$$p' < $(top_srcdir)/build-aux/snippet/cxxdefs.h > $@ s/^ [ ]*{ echo \(.*\); \\/ djecho \1 > $@-t/ s/^ [ ]*{ echo \(.*\) && \\/ djecho \1 > $@-t/ s/ \&\& \\ *$// === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-25 16:39:39 +0000 +++ src/ChangeLog 2011-07-25 16:41:39 +0000 @@ -1,5 +1,9 @@ 2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + * Makefile.in (gl-stamp): move-if-change is now in build-aux. + +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + * bidi.c (bidi_dump_cached_states): Fix printf format mismatch. Found by GCC static checking and --with-wide-int on a 32-bit host. === modified file 'src/Makefile.in' --- src/Makefile.in 2011-07-08 20:20:19 +0000 +++ src/Makefile.in 2011-07-24 22:15:47 +0000 @@ -439,7 +439,7 @@ gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES) @rm -f gl-tmp $(libsrc)/make-docfile -d $(srcdir) -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp - $(srcdir)/../move-if-change gl-tmp globals.h + $(srcdir)/../build-aux/move-if-change gl-tmp globals.h echo timestamp > $@ $(obj) $(otherobj): globals.h # Begin bundle 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9169: gnulib import for MacOS, Irix, Solaris, etc. 2011-07-25 17:10 bug#9169: gnulib import for MacOS, Irix, Solaris, etc Paul Eggert @ 2011-07-25 18:32 ` Eli Zaretskii 2011-07-30 2:17 ` Chong Yidong ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Eli Zaretskii @ 2011-07-25 18:32 UTC (permalink / raw) To: Paul Eggert; +Cc: 9169 > Date: Mon, 25 Jul 2011 10:10:01 -0700 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: Eli Zaretskii <eliz@gnu.org> > > Since gnulib has revamped where it puts > some of the files, this patch also moves some files around in Emacs, > using a new build-aux directory to remove some of the clutter; this > affects the Windows builds too so I've made the obvious minor changes > to the Windows files. Thanks. I did just a cursory review for now; I will get to testing this by actually building the DOS port later. > --- config.bat 2011-05-20 09:47:59 +0000 > +++ config.bat 2011-07-24 22:15:47 +0000 > @@ -275,10 +275,10 @@ > cd .. > > rem ---------------------------------------------------------------------- > > Echo Configuring the lib directory... > > -If Exist c++defs.h update c++defs.h cxxdefs.h > > +If Exist build-aux/snippet/c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h "if exist" is a DOS shell command, so it must follow DOS file-name syntax and use backslashes as directory separators. Everything after "update" can use forward slashes, since `update' is a DJGPP utility that understands both DOS and Unix file-name syntax. So: If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h > -If Exist c++defs.h update c++defs.h cxxdefs.h > > +If Exist build-aux/snippet/c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h Same here. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9169: gnulib import for MacOS, Irix, Solaris, etc. 2011-07-25 17:10 bug#9169: gnulib import for MacOS, Irix, Solaris, etc Paul Eggert 2011-07-25 18:32 ` Eli Zaretskii @ 2011-07-30 2:17 ` Chong Yidong 2011-07-30 19:52 ` Paul Eggert 2011-09-03 23:47 ` bug#9169: Revised version of patch to fix porting bugs Paul Eggert 2011-09-06 18:19 ` bug#9169: patch committed Paul Eggert 3 siblings, 1 reply; 6+ messages in thread From: Chong Yidong @ 2011-07-30 2:17 UTC (permalink / raw) To: Paul Eggert; +Cc: 9169 Paul Eggert <eggert@cs.ucla.edu> writes: > Here's a patch to the Emacs trunk to bring it up to date with gnulib. > I plan to test it a bit more before installing. Does this patch fix any real bugs, or just hypothetical ones? I am leery of this, now that we are in feature freeze. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9169: gnulib import for MacOS, Irix, Solaris, etc. 2011-07-30 2:17 ` Chong Yidong @ 2011-07-30 19:52 ` Paul Eggert 0 siblings, 0 replies; 6+ messages in thread From: Paul Eggert @ 2011-07-30 19:52 UTC (permalink / raw) To: Chong Yidong; +Cc: 9169 On 07/29/11 19:17, Chong Yidong wrote: > Does this patch fix any real bugs, or just hypothetical ones? It fixes these bugs: * On FreeBSD 6.4, HP-UX 11.31, and Solaris 9, and when Emacs is configured not to use gtk or any other thread-using library, signals aren't blocked correctly. * On IRIX 6.5 it fixes an unwanted clash between Emacs's and IRIX's signal handling. * On Cygwin 1.7.5 it works around an incompatibility with the system pthread_sigmask. * On MacOS X 10.5 (32-bit), files whose inode numbers exceed 2**31 cannot be read or manipulated. I haven't observed any of these bugs personally, since I don't use any of these platforms. However, these bugs have been reported for other gnulib use, and I'm confident they can be reproduced in Emacs on the appropriate platform. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9169: Revised version of patch to fix porting bugs 2011-07-25 17:10 bug#9169: gnulib import for MacOS, Irix, Solaris, etc Paul Eggert 2011-07-25 18:32 ` Eli Zaretskii 2011-07-30 2:17 ` Chong Yidong @ 2011-09-03 23:47 ` Paul Eggert 2011-09-06 18:19 ` bug#9169: patch committed Paul Eggert 3 siblings, 0 replies; 6+ messages in thread From: Paul Eggert @ 2011-09-03 23:47 UTC (permalink / raw) To: 9169; +Cc: Chong Yidong No further comment but it's been a while, so I merged in the recent changes from the Emacs trunk and from gnulib, and came up with the following revised patch. It includes the backslash fixes suggested by Eli. I'm sending this email now, to give people a heads-up before committing the patch. Here are additional recent gnulib fixes that are included in this revised version: pthread_sigmask: Actually use results of gl_THREADLIB. strtoimax, strtoumax: Avoid link error on OSF/1 with DTK cc. find 'ar' program that fits with --host argument. Allow the user to override the choice of AR, ARFLAGS, RANLIB. and here is the revised patch: === modified file '.bzrignore' --- .bzrignore 2011-07-06 17:58:37 +0000 +++ .bzrignore 2011-07-24 22:15:47 +0000 @@ -15,23 +15,17 @@ *.exe ./aclocal.m4 autom4te.cache -./compile confdefs.h -./config.guess -./config.sub ./configure configure.lineno conftest* core -./depcomp DOC DOC-* emacs-*/ -./install-sh makefile Makefile Makefile.c -./missing stamp-h1 stamp_BLD subdirs.el @@ -40,6 +34,12 @@ cxxdefs.h info/* admin/unidata/unidata.txt +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/missing leim/leim-list.el leim/quail/*.el leim/changed.misc === modified file 'ChangeLog' --- ChangeLog 2011-08-30 20:46:59 +0000 +++ ChangeLog 2011-09-03 23:03:38 +0000 @@ -1,3 +1,37 @@ +2011-09-03 Paul Eggert <eggert@cs.ucla.edu> + + Merge from gnulib, using build-aux to remove clutter (Bug#9169). + * autogen/README: Update destination list. + * autogen/copy_autogen, autogen/update_autogen, .bzrignore: + The autogenerated files compile, config.guess, + config.sub, depcomp, install-sh, and missing are now in build-aux. + * m4/largefile.m4: New file, so that Emacs does not mess up when + accessing files with large inode numbers in MacOS X 10.5 and later. + * m4/nocrash.m4: New file, to avoid triggering background debugger + and/or create core dumps during 'configure'. + * build-aux/move-if-change: Renamed from move-if-change. + * build-aux/snippet/arg-nonnull.h: Renamed from arg-nonnull.h. + * build-aux/snippet/c++defs.h: Renamed from c++defs.h. + * build-aux/snippet/warn-on-use.h: Renamed from warn-on-use.h. + * build-aux/snippet/_Noreturn.h: New file, for draft C1X _Noreturn. + * Makefile.in (epaths-force, sync-from-gnulib): + move-if-change is now in build-aux. + (GNULIB_TOOL_FLAGS): Avoid threadlib; this is now a prerequisite + of gnulib's pthread_sigmask module, but Emacs doesn't need it. + (mkdir): install-sh is now in build-aux. + * config.bat: c++defs.h is now in build-aux/snippets. + * configure.in: Specify AC_CONFIG_AUX_DIR with build-aux (the + usual parameter). + * lib/gnulib.mk, m4/gl-comp.m4: Regenerate. + * lib/makefile.w32-in (ARG_NONNULL_H): arg-nonnull.h moved + to build-aux/snippet. + * lib/pthread_sigmask.c, lib/stdlib.in.h, m4/extensions.m4: + * m4/getopt.m4, m4/gnulib-common.m4, m4/pthread_sigmask.m4: + Merge from gnuilib. This fixes porting bugs on Cygwin, Irix, and + Solaris, enables MacOS extensions, and enables nocrash during + 'configure'. + * make-dist: Adjust to new build-aux and build-aux/snippit dirs. + 2011-08-30 Paul Eggert <eggert@cs.ucla.edu> * configure.in (opsys): Change pattern to *-*-linux* === modified file 'Makefile.in' --- Makefile.in 2011-07-09 00:18:49 +0000 +++ Makefile.in 2011-07-24 22:15:47 +0000 @@ -300,7 +300,7 @@ -e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \ -e 's;\(#.*PATH_GAME\).*$$;\1 "${gamedir}";' \ -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \ - ${srcdir}/move-if-change epaths.h.$$$$ src/epaths.h + ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h # For parallel make, src should be built before leim. # "export PARALLEL=0" is for SGI's Make, to prevent it from @@ -339,6 +339,7 @@ mktime pthread_sigmask readlink \ socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat GNULIB_TOOL_FLAGS = \ + --avoid=threadlib \ --conditional-dependencies --import --no-changelog --no-vc-files \ --makefile-name=gnulib.mk sync-from-gnulib: $(gnulib_srcdir) @@ -350,7 +351,7 @@ cp $(gnulib_srcdir)/build-aux/texinfo.tex $(srcdir)/doc/misc cp \ $(gnulib_srcdir)/build-aux/move-if-change \ - $(srcdir) + $(srcdir)/build-aux cd $(srcdir) && autoreconf -i -I m4 .PHONY: sync-from-gnulib @@ -688,7 +689,7 @@ done ; \ icondirs=`echo "$${icondirs}" | sed 's,$(srcdir)/etc/images/icons,$(DESTDIR)${icondir},g'` ; \ umask 022 ; \ - $(srcdir)/install-sh -d $(DESTDIR)${datadir} ${COPYDESTS} \ + $(srcdir)/build-aux/install-sh -d $(DESTDIR)${datadir} ${COPYDESTS} \ $(DESTDIR)${infodir} $(DESTDIR)${man1dir} \ $(DESTDIR)${bindir} $(DESTDIR)${docdir} $(DESTDIR)${libexecdir} \ $(DESTDIR)${datadir}/emacs/site-lisp \ === modified file 'admin/ChangeLog' --- admin/ChangeLog 2011-08-23 14:45:14 +0000 +++ admin/ChangeLog 2011-09-03 23:03:38 +0000 @@ -1,3 +1,12 @@ +2011-09-03 Paul Eggert <eggert@cs.ucla.edu> + + Merge from gnulib (Bug#9169). + * notes/copyright: The files compile, config.guess, config.sub, + depcomp, install-sh, missing, and move-if-change are now in the + new build-aux subdirectory. The files arg-nonnull.h, c++defs.h, + and warn-on-use.h are now in build-aux/snippets. New file + build-aux/snippets/_Noreturn.h. + 2011-08-23 Eli Zaretskii <eliz@gnu.org> * unidata/unidata-gen.el (unidata-prop-alist): Update the default === modified file 'admin/notes/copyright' --- admin/notes/copyright 2011-03-25 07:00:36 +0000 +++ admin/notes/copyright 2011-07-24 22:15:47 +0000 @@ -143,7 +143,7 @@ lib/Makefile.in - copyright FSF, with MIT-like license -install-sh +build-aux/install-sh - this file is copyright MIT, which is OK. Leave the copyright alone. etc/refcards/*.tex @@ -545,16 +545,17 @@ alone (may import them from Gnulib again). These are: Gnulib: - arg-nonnull.h - c++defs.h - compile - config.guess - config.sub - depcomp + build-aux/compile + build-aux/config.guess + build-aux/config.sub + build-aux/depcomp + build-aux/missing + build-aux/move-if-change + build-aux/snippet/_Noreturn.h + build-aux/snippet/arg-nonnull.h + build-aux/snippet/c++defs.h + build-aux/snippet/warn-on-use.h doc/man/texinfo.tex - missing - move-if-change - warn-on-use.h lib/*.[ch] lib/gnulib.mk src/gmalloc.c === modified file 'autogen/README' --- autogen/README 2011-03-25 07:14:31 +0000 +++ autogen/README 2011-07-29 21:59:44 +0000 @@ -7,12 +7,12 @@ config.in ../src autoheader * also used by MSDOS bzr build aclocal.m4 ../ aclocal Makefile.in ../lib automake -compile ../ automake -config.guess ../ automake -config.sub ../ automake -depcomp ../ automake -install-sh ../ automake -missing ../ automake +compile ../build-aux automake +config.guess ../build-aux automake +config.sub ../build-aux automake +depcomp ../build-aux automake +install-sh ../build-aux automake +missing ../build-aux automake There are also some scripts: === modified file 'autogen/copy_autogen' --- autogen/copy_autogen 2011-03-25 07:14:31 +0000 +++ autogen/copy_autogen 2011-07-29 21:59:44 +0000 @@ -16,7 +16,7 @@ fi ## Order implied by top-level Makefile's rules, for time-stamps. -cp compile config.guess config.sub depcomp install-sh missing ../ +cp compile config.guess config.sub depcomp install-sh missing ../build-aux cp aclocal.m4 ../ cp configure ../ touch ../src/stamp-h.in === modified file 'autogen/update_autogen' --- autogen/update_autogen 2011-04-07 03:22:10 +0000 +++ autogen/update_autogen 2011-07-29 21:59:44 +0000 @@ -80,7 +80,11 @@ ldefs_in=lisp/loaddefs.el ldefs_out=lisp/ldefs-boot.el sources="configure.in lib/Makefile.am" -genfiles="configure aclocal.m4 src/config.in lib/Makefile.in compile config.guess config.sub depcomp install-sh missing" +genfiles=" + configure aclocal.m4 src/config.in lib/Makefile.in + build-aux/compile build-aux/config.guess build-aux/config.sub + build-aux/depcomp build-aux/install-sh build-aux/missing +" for g in $genfiles; do basegen="$basegen ${g##*/}" === added directory 'build-aux' === renamed file 'move-if-change' => 'build-aux/move-if-change' === added directory 'build-aux/snippet' === added file 'build-aux/snippet/_Noreturn.h' --- build-aux/snippet/_Noreturn.h 1970-01-01 00:00:00 +0000 +++ build-aux/snippet/_Noreturn.h 2011-07-24 22:15:47 +0000 @@ -0,0 +1,10 @@ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif === renamed file 'arg-nonnull.h' => 'build-aux/snippet/arg-nonnull.h' === renamed file 'c++defs.h' => 'build-aux/snippet/c++defs.h' === renamed file 'warn-on-use.h' => 'build-aux/snippet/warn-on-use.h' === modified file 'config.bat' --- config.bat 2011-05-20 09:47:59 +0000 +++ config.bat 2011-07-25 18:48:17 +0000 @@ -275,10 +275,10 @@ cd .. rem ---------------------------------------------------------------------- Echo Configuring the lib directory... -If Exist c++defs.h update c++defs.h cxxdefs.h +If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h cd lib Rem Rename files like djtar on plain DOS filesystem would. -If Exist c++defs.h update c++defs.h cxxdefs.h +If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h If Exist getopt.in.h update getopt.in.h getopt.in-h If Exist stdbool.in.h update stdbool.in.h stdbool.in-h If Exist stddef.in.h update stddef.in.h stddef.in-h === modified file 'configure.in' --- configure.in 2011-08-30 20:46:59 +0000 +++ configure.in 2011-09-03 23:03:38 +0000 @@ -25,6 +25,7 @@ AC_INIT(emacs, 24.0.50) AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) +AC_CONFIG_AUX_DIR(build-aux) AM_INIT_AUTOMAKE dnl Support for --program-prefix, --program-suffix and === modified file 'doc/misc/texinfo.tex' --- doc/misc/texinfo.tex 2011-08-16 07:13:02 +0000 +++ doc/misc/texinfo.tex 2011-09-03 23:08:32 +0000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2011-08-15.20} +\def\texinfoversion{2011-08-14.17} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -5855,7 +5855,6 @@ % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: - % % @section sec-whatever % @deffn def-whatever \penalty 10001 @@ -6273,6 +6272,12 @@ \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% + % + % If this cartouche directly follows a sectioning command, we need the + % \parskip glue (backspaced over by default) or the cartouche can + % collide with the section heading. + \ifnum\lastpenalty>10000 \vskip\parskip \fi + % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop @@ -6286,7 +6291,7 @@ \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip - \comment % For explanation, see the end of \def\group. + \comment % For explanation, see the end of def\group. } \def\Ecartouche{% \ifhmode\par\fi @@ -9620,3 +9625,6 @@ @c vim:sw=2: +@ignore + arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 +@end ignore === modified file 'leim/ChangeLog' --- leim/ChangeLog 2011-08-29 18:48:01 +0000 +++ leim/ChangeLog 2011-09-03 23:03:38 +0000 @@ -1,3 +1,7 @@ +2011-09-03 Paul Eggert <eggert@cs.ucla.edu> + + * Makefile.in (install): install-sh is now in build-aux (Bug#9169). + 2011-08-29 Stefan Monnier <monnier@iro.umontreal.ca> * quail/latin-ltx.el: Complete the super and subscript letters. === modified file 'leim/Makefile.in' --- leim/Makefile.in 2011-08-20 22:19:53 +0000 +++ leim/Makefile.in 2011-09-03 23:03:38 +0000 @@ -222,7 +222,7 @@ install: all if [ ! -d ${INSTALLDIR} ] ; then \ - umask 022; ${srcdir}/../install-sh -d ${INSTALLDIR}; \ + umask 022; ${srcdir}/../build-aux/install-sh -d ${INSTALLDIR}; \ else true; fi if [ x`(cd ${INSTALLDIR} && /bin/pwd)` != x`(/bin/pwd)` ] ; then \ rm -f ${INSTALLDIR}/leim-list.el; \ === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2011-07-28 00:48:01 +0000 +++ lib-src/ChangeLog 2011-07-28 16:27:30 +0000 @@ -1,5 +1,10 @@ 2011-07-28 Paul Eggert <eggert@cs.ucla.edu> + * Makefile.in ($(DESTDIR)${archlibdir}): install-sh moved + to build-aux (Bug#9169). + +2011-07-28 Paul Eggert <eggert@cs.ucla.edu> + Assume freestanding C89 headers, string.h, stdlib.h. * ebrowse.c: Include stdlib.h unconditionally. * etags.c, update-game-score.c: === modified file 'lib-src/Makefile.in' --- lib-src/Makefile.in 2011-05-25 07:13:57 +0000 +++ lib-src/Makefile.in 2011-07-24 22:15:47 +0000 @@ -229,13 +229,13 @@ $(DESTDIR)${archlibdir}: all @echo @echo "Installing utilities run internally by Emacs." - umask 022; $(top_srcdir)/install-sh -d $(DESTDIR)${archlibdir} + umask 022; $(top_srcdir)/build-aux/install-sh -d $(DESTDIR)${archlibdir} if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \ for file in ${UTILITIES}; do \ $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file $(DESTDIR)${archlibdir}/$$file ; \ done ; \ fi - umask 022; $(top_srcdir)/install-sh -d $(DESTDIR)${gamedir}; \ + umask 022; $(top_srcdir)/build-aux/install-sh -d $(DESTDIR)${gamedir}; \ touch $(DESTDIR)${gamedir}/snake-scores; \ touch $(DESTDIR)${gamedir}/tetris-scores -if chown ${gameuser} $(DESTDIR)${archlibdir}/update-game-score && chmod u+s $(DESTDIR)${archlibdir}/update-game-score; then \ === modified file 'lib/gnulib.mk' --- lib/gnulib.mk 2011-07-09 00:18:49 +0000 +++ lib/gnulib.mk 2011-07-24 22:15:47 +0000 @@ -9,7 +9,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat MOSTLYCLEANFILES += core *.stackdump @@ -52,54 +52,6 @@ ## end gnulib module allocator -## begin gnulib module arg-nonnull - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += arg-nonnull.h -# The arg-nonnull.h that gets inserted into generated .h files is the same as -# build-aux/arg-nonnull.h, except that it has the copyright header cut off. -arg-nonnull.h: $(top_srcdir)/./arg-nonnull.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/GL_ARG_NONNULL/,$$p' \ - < $(top_srcdir)/./arg-nonnull.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t - -ARG_NONNULL_H=arg-nonnull.h - -EXTRA_DIST += $(top_srcdir)/./arg-nonnull.h - -## end gnulib module arg-nonnull - -## begin gnulib module c++defs - -# The BUILT_SOURCES created by this Makefile snippet are not used via #include -# statements but through direct file reference. Therefore this snippet must be -# present in all Makefile.am that need it. This is ensured by the applicability -# 'all' defined above. - -BUILT_SOURCES += c++defs.h -# The c++defs.h that gets inserted into generated .h files is the same as -# build-aux/c++defs.h, except that it has the copyright header cut off. -c++defs.h: $(top_srcdir)/./c++defs.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/_GL_CXXDEFS/,$$p' \ - < $(top_srcdir)/./c++defs.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += c++defs.h c++defs.h-t - -CXXDEFS_H=c++defs.h - -EXTRA_DIST += $(top_srcdir)/./c++defs.h - -## end gnulib module c++defs - ## begin gnulib module careadlinkat libgnu_a_SOURCES += careadlinkat.c @@ -362,6 +314,87 @@ ## end gnulib module sigprocmask +## begin gnulib module snippet/_Noreturn + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all Makefile.am that +# need it. This is ensured by the applicability 'all' defined above. + +_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h + +## end gnulib module snippet/_Noreturn + +## begin gnulib module snippet/arg-nonnull + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += arg-nonnull.h +# The arg-nonnull.h that gets inserted into generated .h files is the same as +# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut +# off. +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/GL_ARG_NONNULL/,$$p' \ + < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t + +ARG_NONNULL_H=arg-nonnull.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h + +## end gnulib module snippet/arg-nonnull + +## begin gnulib module snippet/c++defs + +# The BUILT_SOURCES created by this Makefile snippet are not used via #include +# statements but through direct file reference. Therefore this snippet must be +# present in all Makefile.am that need it. This is ensured by the applicability +# 'all' defined above. + +BUILT_SOURCES += c++defs.h +# The c++defs.h that gets inserted into generated .h files is the same as +# build-aux/snippet/c++defs.h, except that it has the copyright header cut off. +c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/_GL_CXXDEFS/,$$p' \ + < $(top_srcdir)/build-aux/snippet/c++defs.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += c++defs.h c++defs.h-t + +CXXDEFS_H=c++defs.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h + +## end gnulib module snippet/c++defs + +## begin gnulib module snippet/warn-on-use + +BUILT_SOURCES += warn-on-use.h +# The warn-on-use.h that gets inserted into generated .h files is the same as +# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut +# off. +warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h + $(AM_V_GEN)rm -f $@-t $@ && \ + sed -n -e '/^.ifndef/,$$p' \ + < $(top_srcdir)/build-aux/snippet/warn-on-use.h \ + > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t + +WARN_ON_USE_H=warn-on-use.h + +EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h + +## end gnulib module snippet/warn-on-use + ## begin gnulib module stat if gl_GNULIB_ENABLED_stat @@ -634,7 +667,8 @@ # We need the following in order to create <stdlib.h> when the system # doesn't have one that works with the given compiler. -stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) +stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ + $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ @@ -708,6 +742,7 @@ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ } > $@-t && \ @@ -1040,25 +1075,6 @@ ## end gnulib module verify -## begin gnulib module warn-on-use - -BUILT_SOURCES += warn-on-use.h -# The warn-on-use.h that gets inserted into generated .h files is the same as -# build-aux/warn-on-use.h, except that it has the copyright header cut off. -warn-on-use.h: $(top_srcdir)/./warn-on-use.h - $(AM_V_GEN)rm -f $@-t $@ && \ - sed -n -e '/^.ifndef/,$$p' \ - < $(top_srcdir)/./warn-on-use.h \ - > $@-t && \ - mv $@-t $@ -MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t - -WARN_ON_USE_H=warn-on-use.h - -EXTRA_DIST += $(top_srcdir)/./warn-on-use.h - -## end gnulib module warn-on-use - mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ === modified file 'lib/lstat.c' --- lib/lstat.c 2011-02-22 19:30:07 +0000 +++ lib/lstat.c 2011-09-03 23:08:32 +0000 @@ -17,6 +17,10 @@ /* written by Jim Meyering */ +/* If the user's config.h happens to include <sys/stat.h>, let it include only + the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to + rpl_lstat. */ +#define __need_system_sys_stat_h #include <config.h> #if !HAVE_LSTAT @@ -27,7 +31,6 @@ #else /* HAVE_LSTAT */ /* Get the original definition of lstat. It might be defined as a macro. */ -# define __need_system_sys_stat_h # include <sys/types.h> # include <sys/stat.h> # undef __need_system_sys_stat_h === modified file 'lib/makefile.w32-in' --- lib/makefile.w32-in 2011-06-21 08:45:39 +0000 +++ lib/makefile.w32-in 2011-07-24 22:15:47 +0000 @@ -213,7 +213,7 @@ PRAGMA_SYSTEM_HEADER = \#pragma GCC system_header PRAGMA_COLUMNS = NEXT_GETOPT_H = <getopt.h> -ARG_NONNULL_H = ../arg-nonnull.h +ARG_NONNULL_H = ../build-aux/snippet/arg-nonnull.h getopt_h: - $(DEL) getopt_.h-t getopt_.h === modified file 'lib/pthread_sigmask.c' --- lib/pthread_sigmask.c 2011-07-08 20:20:19 +0000 +++ lib/pthread_sigmask.c 2011-07-24 22:15:47 +0000 @@ -20,10 +20,50 @@ #include <signal.h> #include <errno.h> +#include <stddef.h> + +#if PTHREAD_SIGMASK_UNBLOCK_BUG +# include <unistd.h> +#endif int pthread_sigmask (int how, const sigset_t *new_mask, sigset_t *old_mask) +#undef pthread_sigmask { +#if HAVE_PTHREAD_SIGMASK + int ret = pthread_sigmask (how, new_mask, old_mask); +# if PTHREAD_SIGMASK_INEFFECTIVE + if (ret == 0) + { + /* Detect whether pthread_sigmask is currently ineffective. + Don't cache the information: libpthread.so could be dynamically + loaded after the program started and after pthread_sigmask was + called for the first time. */ + if (pthread_sigmask (1729, NULL, NULL) == 0) + { + /* pthread_sigmask is currently ineffective. The program is not + linked to -lpthread. So use sigprocmask instead. */ + return (sigprocmask (how, new_mask, old_mask) < 0 ? errno : 0); + } + } +# endif +# if PTHREAD_SIGMASK_FAILS_WITH_ERRNO + if (ret == -1) + return errno; +# endif +# if PTHREAD_SIGMASK_UNBLOCK_BUG + if (ret == 0 + && new_mask != NULL + && (how == SIG_UNBLOCK || how == SIG_SETMASK)) + { + /* Give the OS the opportunity to raise signals that were pending before + the pthread_sigmask call and have now been unblocked. */ + usleep (1); + } +# endif + return ret; +#else int ret = sigprocmask (how, new_mask, old_mask); return (ret < 0 ? errno : 0); +#endif } === modified file 'lib/stat.c' --- lib/stat.c 2011-06-23 08:10:57 +0000 +++ lib/stat.c 2011-09-03 23:08:32 +0000 @@ -16,10 +16,13 @@ /* written by Eric Blake */ +/* If the user's config.h happens to include <sys/stat.h>, let it include only + the system's <sys/stat.h> here, so that orig_stat doesn't recurse to + rpl_stat. */ +#define __need_system_sys_stat_h #include <config.h> /* Get the original definition of stat. It might be defined as a macro. */ -#define __need_system_sys_stat_h #include <sys/types.h> #include <sys/stat.h> #undef __need_system_sys_stat_h === modified file 'lib/stdlib.in.h' --- lib/stdlib.in.h 2011-05-29 21:52:18 +0000 +++ lib/stdlib.in.h 2011-07-24 22:15:47 +0000 @@ -89,11 +89,7 @@ # include <unistd.h> #endif -#if 3 <= __GNUC__ || __GNUC__ == 2 && 8 <= __GNUC_MINOR__ -# define _GL_ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#else -# define _GL_ATTRIBUTE_NORETURN -#endif +/* The definition of _Noreturn is copied here. */ /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ @@ -120,7 +116,7 @@ /* Terminate the current process with the given return code, without running the 'atexit' handlers. */ # if !@HAVE__EXIT@ -_GL_FUNCDECL_SYS (_Exit, void, (int status) _GL_ATTRIBUTE_NORETURN); +_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status)); # endif _GL_CXXALIAS_SYS (_Exit, void, (int status)); _GL_CXXALIASWARN (_Exit); === modified file 'lib/unistd.in.h' --- lib/unistd.in.h 2011-07-08 20:22:17 +0000 +++ lib/unistd.in.h 2011-09-03 23:08:32 +0000 @@ -85,7 +85,8 @@ /* mingw declares getcwd in <io.h>, not in <unistd.h>. */ #if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -# include <io.h> +# include <io.h> /* mingw32, mingw64 */ +# include <direct.h> /* mingw64 */ #endif /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>. === modified file 'm4/dup2.m4' --- m4/dup2.m4 2011-06-25 08:40:38 +0000 +++ m4/dup2.m4 2011-07-28 16:35:19 +0000 @@ -1,4 +1,4 @@ -#serial 13 +#serial 14 dnl Copyright (C) 2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,7 +12,6 @@ AC_CHECK_FUNCS_ONCE([dup2]) if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 - AC_LIBOBJ([dup2]) fi ], [ AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.]) @@ -60,17 +59,15 @@ esac]) ]) if test "$gl_cv_func_dup2_works" = no; then - gl_REPLACE_DUP2 - fi - fi -]) - -AC_DEFUN([gl_REPLACE_DUP2], -[ - AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) - AC_CHECK_FUNCS_ONCE([dup2]) - if test $ac_cv_func_dup2 = yes; then - REPLACE_DUP2=1 - fi - AC_LIBOBJ([dup2]) + REPLACE_DUP2=1 + fi + fi + dnl Replace dup2() for supporting the gnulib-defined fchdir() function, + dnl to keep fchdir's bookkeeping up-to-date. + m4_ifdef([gl_FUNC_FCHDIR], [ + gl_TEST_FCHDIR + if test $HAVE_FCHDIR = 0; then + REPLACE_DUP2=1 + fi + ]) ]) === modified file 'm4/extensions.m4' --- m4/extensions.m4 2011-01-09 06:57:07 +0000 +++ m4/extensions.m4 2011-07-24 22:15:47 +0000 @@ -1,4 +1,4 @@ -# serial 9 -*- Autoconf -*- +# serial 10 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. @@ -67,6 +67,10 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif +/* Enable general extensions on MacOS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE @@ -95,6 +99,7 @@ test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) + AC_DEFINE([_DARWIN_C_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) === modified file 'm4/getopt.m4' --- m4/getopt.m4 2011-07-08 20:22:17 +0000 +++ m4/getopt.m4 2011-07-24 22:15:47 +0000 @@ -231,8 +231,12 @@ [AC_LANG_PROGRAM([[#include <getopt.h> #include <stddef.h> #include <string.h> + ]GL_NOCRASH[ ]], [[ int result = 0; + + nocrash_init(); + /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw, and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10. */ === modified file 'm4/gl-comp.m4' --- m4/gl-comp.m4 2011-07-09 00:18:49 +0000 +++ m4/gl-comp.m4 2011-09-03 23:08:32 +0000 @@ -25,11 +25,9 @@ m4_pattern_allow([^gl_ES$])dnl a valid locale name m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) + AC_REQUIRE([gl_PROG_AR_RANLIB]) # Code from module alloca-opt: # Code from module allocator: - # Code from module arg-nonnull: - # Code from module c++defs: # Code from module careadlinkat: # Code from module crypto/md5: # Code from module crypto/sha1: @@ -49,13 +47,20 @@ # Code from module include_next: # Code from module intprops: # Code from module inttypes-incomplete: + # Code from module largefile: + AC_REQUIRE([AC_SYS_LARGEFILE]) # Code from module lstat: # Code from module mktime: # Code from module multiarch: + # Code from module nocrash: # Code from module pthread_sigmask: # Code from module readlink: # Code from module signal: # Code from module sigprocmask: + # Code from module snippet/_Noreturn: + # Code from module snippet/arg-nonnull: + # Code from module snippet/c++defs: + # Code from module snippet/warn-on-use: # Code from module socklen: # Code from module ssize_t: # Code from module stat: @@ -82,7 +87,6 @@ # Code from module u64: # Code from module unistd: # Code from module verify: - # Code from module warn-on-use: ]) # This macro should be invoked from ./configure.in, in the section @@ -109,6 +113,9 @@ gl_SHA512 AC_REQUIRE([gl_C99_STRTOLD]) gl_FUNC_DUP2 +if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then + AC_LIBOBJ([dup2]) +fi gl_UNISTD_MODULE_INDICATOR([dup2]) gl_FILEMODE gl_GETLOADAVG @@ -148,6 +155,7 @@ gl_FUNC_PTHREAD_SIGMASK if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then AC_LIBOBJ([pthread_sigmask]) + gl_PREREQ_PTHREAD_SIGMASK fi gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask]) gl_FUNC_READLINK @@ -167,13 +175,13 @@ gl_STDLIB_H gl_FUNC_GNU_STRFTIME gl_FUNC_STRTOIMAX -if test "$ac_cv_have_decl_strtoimax" != yes && test $ac_cv_func_strtoimax = no; then +if test $ac_cv_func_strtoimax = no; then AC_LIBOBJ([strtoimax]) gl_PREREQ_STRTOIMAX fi gl_INTTYPES_MODULE_INDICATOR([strtoimax]) gl_FUNC_STRTOUMAX -if test "$ac_cv_have_decl_strtoumax" != yes && test $ac_cv_func_strtoumax = no; then +if test $ac_cv_func_strtoumax = no; then AC_LIBOBJ([strtoumax]) gl_PREREQ_STRTOUMAX fi @@ -290,16 +298,16 @@ if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then func_gl_gnulib_m4code_stat fi - if test "$ac_cv_have_decl_strtoimax" != yes && test $ac_cv_func_strtoimax = no; then + if test $ac_cv_func_strtoimax = no; then func_gl_gnulib_m4code_verify fi - if test "$ac_cv_have_decl_strtoimax" != yes && test $ac_cv_func_strtoimax = no && test $ac_cv_type_long_long_int = yes; then + if test $ac_cv_func_strtoimax = no && test $ac_cv_type_long_long_int = yes; then func_gl_gnulib_m4code_strtoll fi - if test "$ac_cv_have_decl_strtoumax" != yes && test $ac_cv_func_strtoumax = no; then + if test $ac_cv_func_strtoumax = no; then func_gl_gnulib_m4code_verify fi - if test "$ac_cv_have_decl_strtoumax" != yes && test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then + if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then func_gl_gnulib_m4code_strtoull fi m4_pattern_allow([^gl_GNULIB_ENABLED_]) @@ -451,9 +459,10 @@ # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ - build-aux/arg-nonnull.h - build-aux/c++defs.h - build-aux/warn-on-use.h + build-aux/snippet/_Noreturn.h + build-aux/snippet/arg-nonnull.h + build-aux/snippet/c++defs.h + build-aux/snippet/warn-on-use.h lib/alloca.in.h lib/allocator.c lib/allocator.h @@ -523,11 +532,13 @@ m4/gnulib-common.m4 m4/include_next.m4 m4/inttypes.m4 + m4/largefile.m4 m4/longlong.m4 m4/lstat.m4 m4/md5.m4 m4/mktime.m4 m4/multiarch.m4 + m4/nocrash.m4 m4/pthread_sigmask.m4 m4/readlink.m4 m4/sha1.m4 === modified file 'm4/gnulib-common.m4' --- m4/gnulib-common.m4 2011-06-08 16:26:45 +0000 +++ m4/gnulib-common.m4 2011-09-03 23:08:32 +0000 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 26 +# gnulib-common.m4 serial 30 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,6 +12,19 @@ AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of draft C1X. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of @@ -198,6 +211,60 @@ [m4_define([AS_VAR_IF], [AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) +# gl_PROG_AR_RANLIB +# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. +# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override +# the values. +AC_DEFUN([gl_PROG_AR_RANLIB], +[ + dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler + dnl as "cc", and GCC as "gcc". They have different object file formats and + dnl library formats. In particular, the GNU binutils programs ar, ranlib + dnl produce libraries that work only with gcc, not with cc. + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], + [ + AC_EGREP_CPP([Amsterdam], + [ +#ifdef __ACK__ +Amsterdam +#endif + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) + ]) + if test -z "$AR"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + AR='cc -c.a' + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl Use the Automake-documented default values for AR and ARFLAGS, + dnl but prefer ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + else + if test -z "$ARFLAGS"; then + ARFLAGS='cru' + fi + fi + AC_SUBST([AR]) + AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) +]) + # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix # for interoperability with automake-1.9.6 from autoconf-2.62. === modified file 'm4/include_next.m4' --- m4/include_next.m4 2011-01-22 00:12:10 +0000 +++ m4/include_next.m4 2011-07-28 16:35:19 +0000 @@ -1,4 +1,4 @@ -# include_next.m4 serial 18 +# include_next.m4 serial 20 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -175,11 +175,13 @@ [AC_CHECK_HEADERS_ONCE([$1]) ]) +dnl FIXME: gl_next_header and gl_header_exists must be used unquoted +dnl until we can assume autoconf 2.64 or newer. m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_defn([gl_HEADER_NAME])) if test $gl_cv_have_include_next = yes; then - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_defn([gl_HEADER_NAME])[>], @@ -208,7 +210,7 @@ dnl eval is necessary to expand gl_absname_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. - AS_VAR_SET([gl_next_header], + AS_VAR_SET(gl_next_header, ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{ s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1# @@ -218,20 +220,20 @@ }'`'"']) m4_if([$2], [check], [else - AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) fi ]) ]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), - [AS_VAR_GET([gl_next_header])]) + [AS_VAR_GET(gl_next_header)]) if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' gl_next_as_first_directive='<'gl_HEADER_NAME'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=AS_VAR_GET([gl_next_header]) + gl_next_as_first_directive=AS_VAR_GET(gl_next_header) fi AC_SUBST( AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), === added file 'm4/largefile.m4' --- m4/largefile.m4 1970-01-01 00:00:00 +0000 +++ m4/largefile.m4 2011-09-03 23:08:32 +0000 @@ -0,0 +1,104 @@ +# Enable large files on systems where this is not the default. + +# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# The following implementation works around a problem in autoconf <= 2.68; +# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5. +m4_version_prereq([2.69], [] ,[ + +# _AC_SYS_LARGEFILE_TEST_INCLUDES +# ------------------------------- +m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], +[@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]];[]dnl +]) + + +# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, +# CACHE-VAR, +# DESCRIPTION, +# PROLOGUE, [FUNCTION-BODY]) +# -------------------------------------------------------- +m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], +[AC_CACHE_CHECK([for $1 value needed for large files], [$3], +[while :; do + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([$5], [$6])], + [$3=no; break]) + m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( + [AC_LANG_PROGRAM([@%:@define $1 $2 +$5], [$6])], + [$3=$2; break]) + $3=unknown + break +done]) +case $$3 in #( + no | unknown) ;; + *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; +esac +rm -rf conftest*[]dnl +])# _AC_SYS_LARGEFILE_MACRO_VALUE + + +# AC_SYS_LARGEFILE +# ---------------- +# By default, many hosts won't let programs access large files; +# one must use special compiler options to get large-file access to work. +# For more details about this brain damage please see: +# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html +AC_DEFUN([AC_SYS_LARGEFILE], +[AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) +if test "$enable_largefile" != no; then + + AC_CACHE_CHECK([for special C compiler options needed for large files], + ac_cv_sys_largefile_CC, + [ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) + AC_COMPILE_IFELSE([], [break]) + CC="$CC -n32" + AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi]) + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + if test $ac_cv_sys_file_offset_bits = unknown; then + _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, + ac_cv_sys_large_files, + [Define for large files, on AIX-style hosts.], + [_AC_SYS_LARGEFILE_TEST_INCLUDES]) + fi + + AH_VERBATIM([_DARWIN_USE_64_BIT_INODE], +[/* Enable large inode numbers on Mac OS X. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif]) +fi +])# AC_SYS_LARGEFILE + +])# m4_version_prereq 2.69 === added file 'm4/nocrash.m4' --- m4/nocrash.m4 1970-01-01 00:00:00 +0000 +++ m4/nocrash.m4 2011-07-24 22:15:47 +0000 @@ -0,0 +1,102 @@ +# nocrash.m4 serial 2 +dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. + +AC_PREREQ([2.13]) + +dnl Expands to some code for use in .c programs that will cause the configure +dnl test to exit instead of crashing. This is useful to avoid triggering +dnl action from a background debugger and to avoid core dumps. +dnl Usage: ... +dnl ]GL_NOCRASH[ +dnl ... +dnl int main() { nocrash_init(); ... } +AC_DEFUN([GL_NOCRASH],[[ +#include <stdlib.h> +#if defined __MACH__ && defined __APPLE__ +/* Avoid a crash on MacOS X. */ +#include <mach/mach.h> +#include <mach/mach_error.h> +#include <mach/thread_status.h> +#include <mach/exception.h> +#include <mach/task.h> +#include <pthread.h> +/* The exception port on which our thread listens. */ +static mach_port_t our_exception_port; +/* The main function of the thread listening for exceptions of type + EXC_BAD_ACCESS. */ +static void * +mach_exception_thread (void *arg) +{ + /* Buffer for a message to be received. */ + struct { + mach_msg_header_t head; + mach_msg_body_t msgh_body; + char data[1024]; + } msg; + mach_msg_return_t retval; + /* Wait for a message on the exception port. */ + retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), + our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (retval != MACH_MSG_SUCCESS) + abort (); + exit (1); +} +static void +nocrash_init (void) +{ + mach_port_t self = mach_task_self (); + /* Allocate a port on which the thread shall listen for exceptions. */ + if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) + == KERN_SUCCESS) { + /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ + if (mach_port_insert_right (self, our_exception_port, our_exception_port, + MACH_MSG_TYPE_MAKE_SEND) + == KERN_SUCCESS) { + /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting + for us. */ + exception_mask_t mask = EXC_MASK_BAD_ACCESS; + /* Create the thread listening on the exception port. */ + pthread_attr_t attr; + pthread_t thread; + if (pthread_attr_init (&attr) == 0 + && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 + && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { + pthread_attr_destroy (&attr); + /* Replace the exception port info for these exceptions with our own. + Note that we replace the exception port for the entire task, not only + for a particular thread. This has the effect that when our exception + port gets the message, the thread specific exception port has already + been asked, and we don't need to bother about it. + See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ + task_set_exception_ports (self, mask, our_exception_port, + EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); + } + } + } +} +#else +/* Avoid a crash on POSIX systems. */ +#include <signal.h> +/* A POSIX signal handler. */ +static void +exception_handler (int sig) +{ + exit (1); +} +static void +nocrash_init (void) +{ +#ifdef SIGSEGV + signal (SIGSEGV, exception_handler); +#endif +#ifdef SIGBUS + signal (SIGBUS, exception_handler); +#endif +} +#endif +]]) === modified file 'm4/pthread_sigmask.m4' --- m4/pthread_sigmask.m4 2011-07-09 08:56:25 +0000 +++ m4/pthread_sigmask.m4 2011-09-03 23:08:32 +0000 @@ -1,4 +1,4 @@ -# pthread_sigmask.m4 serial 7-emacs1 +# pthread_sigmask.m4 serial 12 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,20 +8,240 @@ [ AC_CHECK_FUNCS_ONCE([pthread_sigmask]) LIB_PTHREAD_SIGMASK= - dnl gl_THREADLIB is not in use. Assume the application wants - dnl POSIX semantics. - if test $ac_cv_func_pthread_sigmask != yes; then - gl_save_LIBS=$LIBS - AC_SEARCH_LIBS([pthread_sigmask], [pthread c_r]) - LIBS=$gl_save_LIBS - if test "$ac_cv_search_pthread_sigmask" = no; then + + dnl Test whether the gnulib module 'threadlib' is in use. + dnl Some packages like Emacs use --avoid=threadlib. + dnl Write the symbol in such a way that it does not cause 'aclocal' to pick + dnl the threadlib.m4 file that is installed in $PREFIX/share/aclocal/. + m4_ifdef([gl_][THREADLIB], [ + AC_REQUIRE([gl_][THREADLIB]) + + if test "$gl_threads_api" = posix; then + if test $ac_cv_func_pthread_sigmask = yes; then + dnl pthread_sigmask is available without -lpthread. + : + else + if test -n "$LIBMULTITHREAD"; then + AC_CACHE_CHECK([for pthread_sigmask in $LIBMULTITHREAD], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD], + [gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <pthread.h> + #include <signal.h> + ]], + [[return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0);]]) + ], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes], + [gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no]) + LIBS="$gl_save_LIBS" + ]) + if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then + dnl pthread_sigmask is available with -lpthread. + LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD" + else + dnl pthread_sigmask is not available at all. + HAVE_PTHREAD_SIGMASK=0 + fi + else + dnl pthread_sigmask is not available at all. + HAVE_PTHREAD_SIGMASK=0 + fi + fi + else + dnl pthread_sigmask may exist but does not interoperate with the chosen + dnl multithreading facility. + dnl If "$gl_threads_api" = pth, we could use the function pth_sigmask, + dnl but it is equivalent to sigprocmask, so we choose to emulate + dnl pthread_sigmask with sigprocmask also in this case. This yields fewer + dnl link dependencies. + if test $ac_cv_func_pthread_sigmask = yes; then + REPLACE_PTHREAD_SIGMASK=1 + else HAVE_PTHREAD_SIGMASK=0 - elif test "$ac_cv_search_pthread_sigmask" != 'none required'; then - LIB_PTHREAD_SIGMASK=$ac_cv_search_pthread_sigmask fi fi + ], [ + dnl The module 'threadlib' is not in use, due to --avoid=threadlib being + dnl specified. + dnl The package either has prepared CPPFLAGS and LIBS for use of POSIX:2008 + dnl threads, or wants to build single-threaded programs. + if test $ac_cv_func_pthread_sigmask = yes; then + dnl pthread_sigmask exists and does not require extra libraries. + dnl Assume that it is declared. + : + else + dnl pthread_sigmask either does not exist or needs extra libraries. + HAVE_PTHREAD_SIGMASK=0 + dnl Define the symbol rpl_pthread_sigmask, not pthread_sigmask, + dnl so as to not accidentally override the system's pthread_sigmask + dnl symbol from libpthread. This is necessary on IRIX 6.5. + REPLACE_PTHREAD_SIGMASK=1 + fi + ]) + AC_SUBST([LIB_PTHREAD_SIGMASK]) dnl We don't need a variable LTLIB_PTHREAD_SIGMASK, because when dnl "$gl_threads_api" = posix, $LTLIBMULTITHREAD and $LIBMULTITHREAD are the dnl same: either both empty or both "-lpthread". + + dnl Now test for some bugs in the system function. + if test $HAVE_PTHREAD_SIGMASK = 1; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl On FreeBSD 6.4, HP-UX 11.31, Solaris 9, in programs that are not linked + dnl with -lpthread, the pthread_sigmask() function always returns 0 and has + dnl no effect. + if test -z "$LIB_PTHREAD_SIGMASK"; then + AC_CACHE_CHECK([whether pthread_sigmask works without -lpthread], + [gl_cv_func_pthread_sigmask_in_libc_works], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stddef.h> +int main () +{ + sigset_t set; + sigemptyset (&set); + return pthread_sigmask (1729, &set, NULL) != 0; +}]])], + [gl_cv_func_pthread_sigmask_in_libc_works=no], + [gl_cv_func_pthread_sigmask_in_libc_works=yes], + [ +changequote(,)dnl + case "$host_os" in + freebsd* | hpux* | solaris | solaris2.[2-9]*) + gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; + esac +changequote([,])dnl + ]) + ]) + case "$gl_cv_func_pthread_sigmask_in_libc_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_INEFFECTIVE], [1], + [Define to 1 if pthread_sigmask() may returns 0 and have no effect.]) + ;; + esac + fi + + dnl On Cygwin 1.7.5, the pthread_sigmask() has a wrong return value + dnl convention: Upon failure, it returns -1 and sets errno. + AC_CACHE_CHECK([whether pthread_sigmask returns error numbers], + [gl_cv_func_pthread_sigmask_return_works], + [ + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIB_PTHREAD_SIGMASK" + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stddef.h> +int main () +{ + sigset_t set; + sigemptyset (&set); + if (pthread_sigmask (1729, &set, NULL) == -1) + return 1; + return 0; +}]])], + [gl_cv_func_pthread_sigmask_return_works=yes], + [gl_cv_func_pthread_sigmask_return_works=no], + [case "$host_os" in + cygwin*) + gl_cv_func_pthread_sigmask_return_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_return_works="guessing yes";; + esac + ]) + LIBS="$gl_save_LIBS" + ]) + case "$gl_cv_func_pthread_sigmask_return_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_FAILS_WITH_ERRNO], [1], + [Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.]) + ;; + esac + + dnl On IRIX 6.5, in a single-threaded program, pending signals are not + dnl immediately delivered when they are unblocked through pthread_sigmask, + dnl only a little while later. + AC_CACHE_CHECK([whether pthread_sigmask unblocks signals correctly], + [gl_cv_func_pthread_sigmask_unblock_works], + [ + case "$host_os" in + irix*) + gl_cv_func_pthread_sigmask_unblock_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_unblock_works="guessing yes";; + esac + dnl Here we link against $LIBMULTITHREAD, not only $LIB_PTHREAD_SIGMASK, + dnl otherwise we get a false positive on those platforms where + dnl $gl_cv_func_pthread_sigmask_in_libc_works is "no". + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <pthread.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +static volatile int sigint_occurred; +static void +sigint_handler (int sig) +{ + sigint_occurred++; +} +int main () +{ + sigset_t set; + int pid = getpid (); + char command[80]; + signal (SIGINT, sigint_handler); + sigemptyset (&set); + sigaddset (&set, SIGINT); + if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0)) + return 1; + sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid); + if (!(system (command) == 0)) + return 2; + sleep (2); + if (!(sigint_occurred == 0)) + return 3; + if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0)) + return 4; + if (!(sigint_occurred == 1)) /* This fails on IRIX. */ + return 5; + return 0; +}]])], + [:], + [gl_cv_func_pthread_sigmask_unblock_works=no], + [:]) + LIBS="$gl_save_LIBS" + ]) + case "$gl_cv_func_pthread_sigmask_unblock_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 + AC_DEFINE([PTHREAD_SIGMASK_UNBLOCK_BUG], [1], + [Define to 1 if pthread_sigmask() unblocks signals incorrectly.]) + ;; + esac + fi +]) + +# Prerequisite of lib/pthread_sigmask.c. +AC_DEFUN([gl_PREREQ_PTHREAD_SIGMASK], +[ + if test $HAVE_PTHREAD_SIGMASK = 1; then + AC_DEFINE([HAVE_PTHREAD_SIGMASK], [1], + [Define to 1 if the pthread_sigmask function can be used (despite bugs).]) + fi ]) === modified file 'm4/strtoimax.m4' --- m4/strtoimax.m4 2011-07-09 00:18:49 +0000 +++ m4/strtoimax.m4 2011-09-03 23:08:32 +0000 @@ -1,4 +1,4 @@ -# strtoimax.m4 serial 10 +# strtoimax.m4 serial 11 dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,11 +8,11 @@ [ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) + dnl On OSF/1 5.1 with cc, this function is declared but not defined. + AC_CHECK_FUNCS_ONCE([strtoimax]) AC_CHECK_DECLS_ONCE([strtoimax]) if test "$ac_cv_have_decl_strtoimax" != yes; then HAVE_DECL_STRTOIMAX=0 - - AC_CHECK_FUNCS([strtoimax]) fi ]) === modified file 'm4/strtoumax.m4' --- m4/strtoumax.m4 2011-06-15 22:27:54 +0000 +++ m4/strtoumax.m4 2011-09-03 23:08:32 +0000 @@ -1,4 +1,4 @@ -# strtoumax.m4 serial 10 +# strtoumax.m4 serial 11 dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,11 +8,11 @@ [ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) + dnl On OSF/1 5.1 with cc, this function is declared but not defined. + AC_CHECK_FUNCS_ONCE([strtoumax]) AC_CHECK_DECLS_ONCE([strtoumax]) if test "$ac_cv_have_decl_strtoumax" != yes; then HAVE_DECL_STRTOUMAX=0 - - AC_CHECK_FUNCS([strtoumax]) fi ]) === modified file 'make-dist' --- make-dist 2011-08-12 16:24:44 +0000 +++ make-dist 2011-09-03 23:03:38 +0000 @@ -283,18 +283,16 @@ ### tar file; this means that people can start reading the INSTALL and ### README while the rest of the tar file is still unpacking. Whoopee. echo "Making links to top-level files" -ln INSTALL README BUGS move-if-change ${tempdir} +ln INSTALL README BUGS ${tempdir} ln ChangeLog Makefile.in configure configure.in ${tempdir} ln config.bat make-dist update-subdirs vpath.sed .dir-locals.el ${tempdir} -ln config.sub config.guess install-sh ${tempdir} ln aclocal.m4 ${tempdir} -ln compile depcomp missing ${tempdir} -ln arg-nonnull.h c++defs.h warn-on-use.h ${tempdir} echo "Creating subdirectories" for subdir in site-lisp \ leim leim/CXTERM-DIC leim/MISC-DIC \ leim/SKK-DIC leim/ja-dic leim/quail \ + build-aux build-aux/snippet \ src src/m src/s src/bitmaps lib lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ `find etc lisp admin -type d` \ @@ -346,6 +344,15 @@ rm -f ../${tempdir}/leim/quail/tsang-b5.* rm -f ../${tempdir}/leim/quail/tsang-cns.*) +echo "Making links to \`build-aux'" +(cd build-aux + ln compile config.guess config.sub depcomp ../${tempdir}/build-aux + ln install-sh missing move-if-change ../${tempdir}/build-aux) + +echo "Making links to \`build-aux/snippet'" +(cd build-aux/snippet + ln *.h ../../${tempdir}/build-aux/snippet) + echo "Making links to \`src'" ### Don't distribute the configured versions of ### config.in, paths.in, buildobj.h, or Makefile.in. @@ -373,12 +380,13 @@ ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s) echo "Making links to \`lib'" -(build_aux_h=`(ls *.h)` +(snippet_h=`(cd build-aux/snippet && ls *.h)` cd lib ln [a-zA-Z]*.[ch] ../${tempdir}/lib ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib cd ../${tempdir}/lib - rm -f `(echo "$build_aux_h"; ls *.in.h) | sed '/[*]/d; s/.in.h$/.h/'`) + script='/[*]/d; s/\.in\.h$/.h/' + rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`) echo "Making links to \`lib-src'" (cd lib-src === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2011-06-07 13:55:22 +0000 +++ msdos/ChangeLog 2011-07-25 17:15:08 +0000 @@ -1,3 +1,8 @@ +2011-07-25 Paul Eggert <eggert@cs.ucla.edu> + + * sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Adjust to snippet moves + from top level to build-aux/snippet (Bug#9169). + 2011-06-07 Eli Zaretskii <eliz@gnu.org> * sedlibmk.inp (PTRDIFF_T_SUFFIX): Edit to nothing. === modified file 'msdos/sedlibmk.inp' --- msdos/sedlibmk.inp 2011-06-07 13:55:22 +0000 +++ msdos/sedlibmk.inp 2011-07-24 22:15:47 +0000 @@ -569,11 +569,11 @@ s/^@GL_GENERATE_STDINT_H_TRUE@// s/^@GL_GENERATE_STDINT_H_FALSE@/\#/ /^arg-nonnull\.h:/,/^[ ][ ]*mv /c\ -arg-nonnull.h: $(top_srcdir)/./arg-nonnull.h\ - sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/./arg-nonnull.h > $@ +arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h\ + sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/build-aux/snippet/arg-nonnull.h > $@ /^cxxdefs\.h:/,/^[ ][ ]*mv /c\ -cxxdefs.h: $(top_srcdir)/./cxxdefs.h\ - sed -n -e '/_GL_CXXDEFS/,$$p' < $(top_srcdir)/./cxxdefs.h > $@ +cxxdefs.h: $(top_srcdir)/build-aux/snippet/cxxdefs.h\ + sed -n -e '/_GL_CXXDEFS/,$$p' < $(top_srcdir)/build-aux/snippet/cxxdefs.h > $@ s/^ [ ]*{ echo \(.*\); \\/ djecho \1 > $@-t/ s/^ [ ]*{ echo \(.*\) && \\/ djecho \1 > $@-t/ s/ \&\& \\ *$// === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-03 22:20:00 +0000 +++ src/ChangeLog 2011-09-03 23:03:38 +0000 @@ -915,6 +915,10 @@ 2011-07-29 Paul Eggert <eggert@cs.ucla.edu> + * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169). + +2011-07-28 Paul Eggert <eggert@cs.ucla.edu> + * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189). This is needed if max-image-size is a floating-point number. === modified file 'src/Makefile.in' --- src/Makefile.in 2011-08-04 17:04:39 +0000 +++ src/Makefile.in 2011-09-03 23:03:38 +0000 @@ -442,7 +442,7 @@ gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES) @rm -f gl-tmp $(libsrc)/make-docfile -d $(srcdir) -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp - $(srcdir)/../move-if-change gl-tmp globals.h + $(srcdir)/../build-aux/move-if-change gl-tmp globals.h echo timestamp > $@ $(obj) $(otherobj): globals.h ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9169: patch committed 2011-07-25 17:10 bug#9169: gnulib import for MacOS, Irix, Solaris, etc Paul Eggert ` (2 preceding siblings ...) 2011-09-03 23:47 ` bug#9169: Revised version of patch to fix porting bugs Paul Eggert @ 2011-09-06 18:19 ` Paul Eggert 3 siblings, 0 replies; 6+ messages in thread From: Paul Eggert @ 2011-09-06 18:19 UTC (permalink / raw) To: 9169-done I committed the patch for this as bzr 105666 (with a later auto-commit of generated files as bzr 105667) and am marking it as done. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-09-06 18:19 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-25 17:10 bug#9169: gnulib import for MacOS, Irix, Solaris, etc Paul Eggert 2011-07-25 18:32 ` Eli Zaretskii 2011-07-30 2:17 ` Chong Yidong 2011-07-30 19:52 ` Paul Eggert 2011-09-03 23:47 ` bug#9169: Revised version of patch to fix porting bugs Paul Eggert 2011-09-06 18:19 ` bug#9169: patch committed Paul Eggert
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.