* bug#9772: OSX breakage
[not found] ` <871usrh69t.fsf@gnu.org>
@ 2011-11-29 9:28 ` Paul Eggert
2011-11-29 13:56 ` bug#9960: bug#10155: " Stefan Monnier
2011-11-29 16:39 ` bug#9772: " Eli Zaretskii
0 siblings, 2 replies; 13+ messages in thread
From: Paul Eggert @ 2011-11-29 9:28 UTC (permalink / raw)
To: Chong Yidong; +Cc: mario, 9772, 9960, 10155
On 11/28/11 21:00, Chong Yidong wrote:
> As Eli pointed out in the discussion on bug#10155, there is already code
> in lib/unistd.in.h that apparently ought to handle this, but itsn't
> working.
Here's a proposed patch to fix that, by having Emacs use Gnulib's
environ module. This syncs from Gnulib, and so it also brings
in the patches for Bug#9772 and Bug#9960. (It is possible to
pull out just the environ fix by hand, but that's an error-prone process
and I'd rather avoid it.) I have tested this on Fedora 15,
but not on OSX nor on Windows.
# Begin patch
=== modified file '.bzrignore'
--- .bzrignore 2011-09-29 14:19:11 +0000
+++ .bzrignore 2011-10-17 01:22:19 +0000
@@ -53,6 +53,7 @@
lib/c++defs.h
lib/getopt.h
lib/inttypes.h
+lib/stdalign.h
lib/stdbool.h
lib/stdio.h
lib/stdint.h
=== modified file 'ChangeLog'
--- ChangeLog 2011-11-27 18:33:17 +0000
+++ ChangeLog 2011-11-29 09:17:01 +0000
@@ -1,3 +1,25 @@
+2011-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib environ module.
+ * Makefile.in (GNULIB_MODULES): Add environ.
+ * m4/environ.m4: New file, from gnulib.
+
+ Use Gnulib stdalign module (Bug#9772, Bug#9960).
+ This should improve portability of macros like alignof and DECL_ALIGN.
+ * lib/stdalign.in.h, m4/stdalign.m4: New files, from gnulib.
+ * .bzrignore: Add lib/stdalign.h.
+ * Makefile.in (GNULIB_MODULES): Add stdalign.
+ * config.bat: Do not set NO_DECL_ALIGN; no longer needed.
+ Copy lib/stdalign.in.h to lib/stdalign.in-h as needed.
+ * configure.in (HAVE_ATTRIBUTE_ALIGNED): Remove the code that
+ fiddles with this, as gnulib now does this for us.
+ * doc/misc/texinfo.tex, lib/gettext.h, lib/gnulib.mk:
+ * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+ * lib/sigprocmask.c, lib/stdlib.in.h:
+ * m4/dup2.m4, m4/getopt.m4, m4/gl-comp.m4, m4/gnulib-common.m4:
+ * m4/include_next.m4, m4/pthread_sigmask.m4, m4/stdlib_h.m4:
+ * m4/unistd_h.m4: Merge from gnulib.
+
2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
* configure.in: Check for gtk_window_set_has_resize_grip.
=== modified file 'Makefile.in'
--- Makefile.in 2011-11-22 01:56:49 +0000
+++ Makefile.in 2011-11-29 09:17:01 +0000
@@ -334,10 +334,10 @@
GNULIB_MODULES = \
alloca-opt \
careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr \
- dup2 \
+ dup2 environ \
filemode getloadavg getopt-gnu ignore-value intprops lstat \
mktime pthread_sigmask readlink \
- socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
+ socklen stdalign stdarg stdio strftime strtoimax strtoumax symlink sys_stat
GNULIB_TOOL_FLAGS = \
--avoid=msvc-inval --avoid=msvc-nothrow --avoid=pathmax \
--avoid=raise --avoid=threadlib \
=== modified file 'config.bat'
--- config.bat 2011-10-31 17:49:10 +0000
+++ config.bat 2011-11-01 05:03:56 +0000
@@ -163,22 +163,6 @@
if exist ..\autogen\config.in sed -f ../msdos/sed2x.inp < ..\autogen\config.in > config.tmp
:src4
sed -f ../msdos/sed2v2.inp <config.tmp >config.h2
-Rem See if DECL_ALIGN can be supported with this GCC
-rm -f junk.c junk.o junk junk.exe
-echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo; >junk.c
-rem Two percent signs because it is a special character for COMMAND.COM/CMD
-rem Filter thru Sed because "&" is special for CMD.EXE
-echo int main(void) { return (unsigned long)"&"foo %% 8; } | sed "s/.&./\&/" >>junk.c
-gcc -o junk junk.c
-if not exist junk.exe coff2exe junk
-junk
-If Not ErrorLevel 1 Goto alignOk
-Echo WARNING: Your GCC does not support 8-byte aligned variables.
-Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.
-rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG
-rem For details see lisp.h where it defines USE_LSB_TAG
-echo #define NO_DECL_ALIGN >>config.h2
-:alignOk
Rem See if they have libxml2 later than v2.2.0 installed
Echo Checking whether libxml2 v2.2.1 or later is installed ...
rm -f junk.c junk.o junk junk.exe
@@ -283,6 +267,7 @@
If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
If Exist alloca.in.h update alloca.in.h alloca.in-h
If Exist getopt.in.h update getopt.in.h getopt.in-h
+If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
If Exist signal.in.h update signal.in.h signal.in-h
If Exist stddef.in.h update stddef.in.h stddef.in-h
@@ -346,4 +331,3 @@
set djgpp_ver=
set sys_malloc=
set libxml=
-
=== modified file 'configure.in'
--- configure.in 2011-11-27 18:33:17 +0000
+++ configure.in 2011-11-28 16:07:26 +0000
@@ -1350,19 +1350,6 @@
dnl Check for endianness.
AC_C_BIGENDIAN
-AC_CACHE_CHECK([for __attribute__ ((__aligned__ (expr)))],
- [emacs_cv_attribute_aligned],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[char __attribute__ ((__aligned__ (1 << 3))) c;]],
- [[]])],
- [emacs_cv_attribute_aligned=yes],
- [emacs_cv_attribute_aligned=no])])
-if test $emacs_cv_attribute_aligned = yes; then
- AC_DEFINE([HAVE_ATTRIBUTE_ALIGNED], 1,
- [Define to 1 if GCC-style __attribute__ ((__aligned__ (expr))) works.])
-fi
-
dnl check for Make feature
AC_PROG_MAKE_SET
=== modified file 'doc/misc/ChangeLog'
--- doc/misc/ChangeLog 2011-11-25 13:26:30 +0000
+++ doc/misc/ChangeLog 2011-11-29 09:17:01 +0000
@@ -1,3 +1,7 @@
+2011-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * texinfo.tex: Merge from gnulib.
+
2011-11-24 Glenn Morris <rgm@gnu.org>
* gnus.texi, smtpmail.texi: Fix case of "GnuTLS".
=== modified file 'doc/misc/texinfo.tex'
--- doc/misc/texinfo.tex 2011-09-26 21:30:18 +0000
+++ doc/misc/texinfo.tex 2011-11-29 09:17:01 +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-09-23.09}
+\def\texinfoversion{2011-11-09.15}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -116,6 +116,7 @@
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
@@ -1194,29 +1195,31 @@
\def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
\def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
+ % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+ % others). Let's try in that order, PDF first since if
+ % someone has a scalable image, presumably better to use that than a
+ % bitmap.
\let\pdfimgext=\empty
\begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{png}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
@@ -2372,7 +2375,9 @@
\else\ifx\next-%
\else\ifx\next.%
\else\ptexslash
- \fi\fi\fi}
+ \fi\fi\fi
+ \aftersmartic
+}
% like \smartslanted except unconditionally uses \ttsl, and no ic.
% @var is set to this for defun arguments.
@@ -2382,9 +2387,15 @@
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+\def\aftersmartic{}
+\def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ \smartslanted{#1}%
+}
+
\let\i=\smartitalic
\let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
@@ -2480,7 +2491,7 @@
\plainfrenchspacing
#1%
}%
- \null
+ \null % reset spacefactor to 1000
}
% We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2762,6 +2773,7 @@
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
@@ -2774,6 +2786,7 @@
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @asis just yields its argument. Used with @table, for example.
@@ -2979,7 +2992,7 @@
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -8103,7 +8116,7 @@
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
@@ -8166,6 +8179,8 @@
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
+ %
+ % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
=== modified file 'lib/gettext.h'
--- lib/gettext.h 2011-02-15 04:53:29 +0000
+++ lib/gettext.h 2011-10-27 19:51:26 +0000
@@ -185,7 +185,7 @@
#include <string.h>
#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
- (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
+ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
/* || __STDC_VERSION__ >= 199901L */ )
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
=== modified file 'lib/gnulib.mk'
--- lib/gnulib.mk 2011-09-26 21:30:18 +0000
+++ lib/gnulib.mk 2011-11-29 09:17:01 +0000
@@ -21,7 +21,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=build-aux --avoid=msvc-inval --avoid=msvc-nothrow --avoid=pathmax --avoid=raise --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
+# 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=msvc-inval --avoid=msvc-nothrow --avoid=pathmax --avoid=raise --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 environ filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdalign stdarg stdio strftime strtoimax strtoumax symlink sys_stat
MOSTLYCLEANFILES += core *.stackdump
@@ -421,6 +421,29 @@
## end gnulib module stat
+## begin gnulib module stdalign
+
+BUILT_SOURCES += $(STDALIGN_H)
+
+# We need the following in order to create <stdalign.h> when the system
+# doesn't have one that works.
+if GL_GENERATE_STDALIGN_H
+stdalign.h: stdalign.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/stdalign.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdalign.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdalign.h stdalign.h-t
+
+EXTRA_DIST += stdalign.in.h
+
+## end gnulib module stdalign
+
## begin gnulib module stdarg
BUILT_SOURCES += $(STDARG_H)
@@ -710,7 +733,9 @@
-e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
@@ -736,7 +761,9 @@
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
@@ -754,6 +781,7 @@
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -1004,7 +1032,7 @@
-e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
- -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
-e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
=== modified file 'lib/md5.c'
--- lib/md5.c 2011-02-19 07:28:29 +0000
+++ lib/md5.c 2011-10-17 01:22:19 +0000
@@ -24,7 +24,8 @@
#include "md5.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
@@ -254,8 +255,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha1.c'
--- lib/sha1.c 2011-05-24 08:12:52 +0000
+++ lib/sha1.c 2011-10-17 01:22:19 +0000
@@ -26,7 +26,8 @@
#include "sha1.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -241,8 +242,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha256.c'
--- lib/sha256.c 2011-11-20 03:48:53 +0000
+++ lib/sha256.c 2011-11-29 09:17:01 +0000
@@ -24,7 +24,8 @@
#include "sha256.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -51,7 +52,7 @@
/*
Takes a pointer to a 256 bit block of data (eight 32 bit ints) and
- initializes it to the start constants of the SHA256 algorithm. This
+ intializes it to the start constants of the SHA256 algorithm. This
must be called before using hash in the call to sha256_hash
*/
void
@@ -373,8 +374,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha512.c'
--- lib/sha512.c 2011-11-20 03:48:53 +0000
+++ lib/sha512.c 2011-11-29 09:17:01 +0000
@@ -24,7 +24,8 @@
#include "sha512.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -58,7 +59,7 @@
/*
Takes a pointer to a 512 bit block of data (eight 64 bit ints) and
- initializes it to the start constants of the SHA512 algorithm. This
+ intializes it to the start constants of the SHA512 algorithm. This
must be called before using hash in the call to sha512_hash
*/
void
@@ -381,8 +382,7 @@
if (len >= 128)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (u64) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (u64) != 0)
if (UNALIGNED_P (buffer))
while (len > 128)
{
=== modified file 'lib/sigprocmask.c'
--- lib/sigprocmask.c 2011-10-07 21:15:00 +0000
+++ lib/sigprocmask.c 2011-11-29 09:17:01 +0000
@@ -344,5 +344,6 @@
else if (handler != SIG_IGN)
(*handler) (SIGPIPE);
}
+ return 0;
}
#endif
=== added file 'lib/stdalign.in.h'
--- lib/stdalign.in.h 1970-01-01 00:00:00 +0000
+++ lib/stdalign.in.h 2011-11-07 05:56:04 +0000
@@ -0,0 +1,89 @@
+/* A substitute for ISO C 1x <stdalign.h>.
+
+ Copyright 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Paul Eggert and Bruno Haible. */
+
+#ifndef _GL_STDALIGN_H
+#define _GL_STDALIGN_H
+
+/* ISO C1X <stdalign.h> for platforms that lack it.
+
+ References:
+ ISO C1X <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
+ sections 6.5.3.4, 6.7.5, 7.15.
+ C++0X <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>
+ section 18.10. */
+
+/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
+ requirement of a structure member (i.e., slot or field) that is of
+ type TYPE, as an integer constant expression.
+
+ This differs from GCC's __alignof__ operator, which can yield a
+ better-performing alignment for an object of that type. For
+ example, on x86 with GCC, __alignof__ (double) and __alignof__
+ (long long) are 8, whereas alignof (double) and alignof (long long)
+ are 4 unless the option '-malign-double' is used.
+
+ The result cannot be used as a value for an 'enum' constant, if you
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
+#include <stddef.h>
+#if defined __cplusplus
+ template <class __t> struct __alignof_helper { char __a; __t __b; };
+# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+#else
+# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+#endif
+#define alignof _Alignof
+#define __alignof_is_defined 1
+
+/* alignas (A), also known as _Alignas (A), aligns a variable or type
+ to the alignment A, where A is an integer constant expression. For
+ example:
+
+ int alignas (8) foo;
+ struct s { int a; int alignas (8) bar; };
+
+ aligns the address of FOO and the offset of BAR to be multiples of 8.
+
+ A should be a power of two that is at least the type's alignment
+ and at most the implementation's alignment limit. This limit is
+ 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
+ to MSVC through at least version 10.0, A should be an integer
+ constant, as MSVC does not support expressions such as 1 << 3.
+ To be portable to Sun C 5.11, do not align auto variables to
+ anything stricter than their default alignment.
+
+ The following draft C1X requirements are not supported here:
+
+ - If A is zero, alignas has no effect.
+ - alignas can be used multiple times; the strictest one wins.
+ - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
+
+ */
+
+#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+#elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+#endif
+#ifdef _Alignas
+# define alignas _Alignas
+# define __alignas_is_defined 1
+#endif
+
+#endif /* _GL_STDALIGN_H */
=== modified file 'lib/stdlib.in.h'
--- lib/stdlib.in.h 2011-07-24 22:15:47 +0000
+++ lib/stdlib.in.h 2011-11-29 09:17:01 +0000
@@ -247,7 +247,7 @@
#elif defined GNULIB_POSIXCHECK
# undef grantpt
# if HAVE_RAW_DECL_GRANTPT
-_GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
"use gnulib module grantpt for portability");
# endif
#endif
@@ -423,6 +423,22 @@
# endif
#endif
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal. Flags should
+ include O_RDWR, and may also include O_NOCTTY. */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+ "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
#if @GNULIB_PTSNAME@
/* Return the pathname of the pseudo-terminal slave associated with
the master FD is open on, or NULL on errors. */
@@ -439,6 +455,32 @@
# endif
#endif
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+ the master FD is open on and return 0, or set errno and return
+ non-zero on errors. */
+# if @REPLACE_PTSNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ptsname_r
+# define ptsname_r rpl_ptsname_r
+# endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+# if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+ "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
#if @GNULIB_PUTENV@
# if @REPLACE_PUTENV@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
=== modified file 'm4/dup2.m4'
--- m4/dup2.m4 2011-09-26 21:30:18 +0000
+++ m4/dup2.m4 2011-11-29 09:17:01 +0000
@@ -1,4 +1,4 @@
-#serial 16
+#serial 17
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,
@@ -67,7 +67,9 @@
m4_ifdef([gl_FUNC_FCHDIR], [
gl_TEST_FCHDIR
if test $HAVE_FCHDIR = 0; then
- REPLACE_DUP2=1
+ if test $HAVE_DUP2 = 1; then
+ REPLACE_DUP2=1
+ fi
fi
])
])
=== added file 'm4/environ.m4'
--- m4/environ.m4 1970-01-01 00:00:00 +0000
+++ m4/environ.m4 2011-11-29 09:17:01 +0000
@@ -0,0 +1,47 @@
+# environ.m4 serial 6
+dnl Copyright (C) 2001-2004, 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_ENVIRON],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ dnl Persuade glibc <unistd.h> to declare environ.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ gt_CHECK_VAR_DECL(
+ [#if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+ /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
+ #include <stdlib.h>
+ ],
+ [environ])
+ if test $gt_cv_var_environ_declaration != yes; then
+ HAVE_DECL_ENVIRON=0
+ fi
+])
+
+# Check if a variable is properly declared.
+# gt_CHECK_VAR_DECL(includes,variable)
+AC_DEFUN([gt_CHECK_VAR_DECL],
+[
+ define([gt_cv_var], [gt_cv_var_]$2[_declaration])
+ AC_MSG_CHECKING([if $2 is properly declared])
+ AC_CACHE_VAL([gt_cv_var], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[$1
+ extern struct { int foo; } $2;]],
+ [[$2.foo = 1;]])],
+ [gt_cv_var=no],
+ [gt_cv_var=yes])])
+ AC_MSG_RESULT([$gt_cv_var])
+ if test $gt_cv_var = yes; then
+ AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
+ [Define if you have the declaration of $2.])
+ fi
+ undefine([gt_cv_var])
+])
=== modified file 'm4/getopt.m4'
--- m4/getopt.m4 2011-07-24 22:15:47 +0000
+++ m4/getopt.m4 2011-11-29 09:17:01 +0000
@@ -1,4 +1,4 @@
-# getopt.m4 serial 38
+# getopt.m4 serial 39
dnl Copyright (C) 2002-2006, 2008-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,
@@ -25,8 +25,6 @@
if test $REPLACE_GETOPT = 1; then
dnl Arrange for getopt.h to be created.
gl_GETOPT_SUBSTITUTE_HEADER
- dnl Arrange for unistd.h to include getopt.h.
- GNULIB_UNISTD_H_GETOPT=1
fi
])
=== modified file 'm4/gl-comp.m4'
--- m4/gl-comp.m4 2011-10-07 21:15:00 +0000
+++ m4/gl-comp.m4 2011-11-29 09:17:01 +0000
@@ -48,6 +48,7 @@
# Code from module dosname:
# Code from module dtoastr:
# Code from module dup2:
+ # Code from module environ:
# Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
# Code from module filemode:
@@ -76,6 +77,7 @@
# Code from module socklen:
# Code from module ssize_t:
# Code from module stat:
+ # Code from module stdalign:
# Code from module stdarg:
dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
dnl for the builtin va_copy to work. With Autoconf 2.60 or later,
@@ -130,6 +132,8 @@
gl_PREREQ_DUP2
fi
gl_UNISTD_MODULE_INDICATOR([dup2])
+gl_ENVIRON
+gl_UNISTD_MODULE_INDICATOR([environ])
gl_FILEMODE
gl_GETLOADAVG
if test $HAVE_GETLOADAVG = 0; then
@@ -142,14 +146,20 @@
AC_LIBOBJ([getopt])
AC_LIBOBJ([getopt1])
gl_PREREQ_GETOPT
+ dnl Arrange for unistd.h to include getopt.h.
+ GNULIB_GL_UNISTD_H_GETOPT=1
fi
+AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
gl_FUNC_GETOPT_POSIX
if test $REPLACE_GETOPT = 1; then
AC_LIBOBJ([getopt])
AC_LIBOBJ([getopt1])
gl_PREREQ_GETOPT
+ dnl Arrange for unistd.h to include getopt.h.
+ GNULIB_GL_UNISTD_H_GETOPT=1
fi
+AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
AC_REQUIRE([AC_C_INLINE])
gl_INTTYPES_INCOMPLETE
gl_FUNC_LSTAT
@@ -180,6 +190,7 @@
gl_SIGNAL_H
gl_TYPE_SOCKLEN_T
gt_TYPE_SSIZE_T
+gl_STDALIGN_H
gl_STDARG_H
AM_STDBOOL_H
gl_STDDEF_H
@@ -311,18 +322,18 @@
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
func_gl_gnulib_m4code_stat
fi
- if test $ac_cv_func_strtoimax = no; then
- func_gl_gnulib_m4code_verify
- fi
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_func_strtoumax = no; then
+ if test $ac_cv_func_strtoimax = no; then
func_gl_gnulib_m4code_verify
fi
if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then
func_gl_gnulib_m4code_strtoull
fi
+ if test $ac_cv_func_strtoumax = no; then
+ func_gl_gnulib_m4code_verify
+ fi
m4_pattern_allow([^gl_GNULIB_ENABLED_])
AM_CONDITIONAL([gl_GNULIB_ENABLED_dosname], [$gl_gnulib_enabled_dosname])
AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36])
@@ -513,6 +524,7 @@
lib/signal.in.h
lib/sigprocmask.c
lib/stat.c
+ lib/stdalign.in.h
lib/stdarg.in.h
lib/stdbool.in.h
lib/stddef.in.h
@@ -538,6 +550,7 @@
m4/alloca.m4
m4/c-strtod.m4
m4/dup2.m4
+ m4/environ.m4
m4/extensions.m4
m4/filemode.m4
m4/getloadavg.m4
@@ -563,6 +576,7 @@
m4/ssize_t.m4
m4/st_dm_mode.m4
m4/stat.m4
+ m4/stdalign.m4
m4/stdarg.m4
m4/stdbool.m4
m4/stddef_h.m4
=== modified file 'm4/gnulib-common.m4'
--- m4/gnulib-common.m4 2011-10-07 21:15:00 +0000
+++ m4/gnulib-common.m4 2011-11-29 09:17:01 +0000
@@ -18,7 +18,7 @@
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|| 0x5110 <= __SUNPRO_C)
# define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
+# elif defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn
=== modified file 'm4/include_next.m4'
--- m4/include_next.m4 2011-09-26 21:30:18 +0000
+++ m4/include_next.m4 2011-10-27 19:51:26 +0000
@@ -1,4 +1,4 @@
-# include_next.m4 serial 22
+# include_next.m4 serial 23
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,
@@ -219,12 +219,17 @@
gl_dirsep_regex='[/\\]'
;;
*)
- gl_dirsep_regex='/'
+ gl_dirsep_regex='\/'
;;
esac
+ dnl A sed expression that turns a string into a basic regular
+ dnl expression, for use within "/.../".
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
changequote([,])
- gl_absolute_header_sed='\|'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[|{
- s|.*"\(.*'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[\)".*|\1|
+ gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
changequote(,)dnl
s|^/[^/]|//&|
changequote([,])dnl
=== modified file 'm4/pthread_sigmask.m4'
--- m4/pthread_sigmask.m4 2011-09-03 23:08:32 +0000
+++ m4/pthread_sigmask.m4 2011-10-17 01:22:19 +0000
@@ -1,4 +1,4 @@
-# pthread_sigmask.m4 serial 12
+# pthread_sigmask.m4 serial 13
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,
@@ -6,6 +6,8 @@
AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
[
+ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+
AC_CHECK_FUNCS_ONCE([pthread_sigmask])
LIB_PTHREAD_SIGMASK=
=== added file 'm4/stdalign.m4'
--- m4/stdalign.m4 1970-01-01 00:00:00 +0000
+++ m4/stdalign.m4 2011-10-27 19:39:30 +0000
@@ -0,0 +1,22 @@
+# Check for stdalign.h that conforms to C1x.
+
+dnl Copyright 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.
+
+# Prepare for substituting <stdalign.h> if it is not supported.
+
+AC_DEFUN([gl_STDALIGN_H],
+[
+ AC_CHECK_HEADERS_ONCE([stdalign.h])
+
+ if test $ac_cv_header_stdalign_h = yes; then
+ STDALIGN_H=''
+ else
+ STDALIGN_H='stdalign.h'
+ fi
+
+ AC_SUBST([STDALIGN_H])
+ AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"])
+])
=== modified file 'm4/stdlib_h.m4'
--- m4/stdlib_h.m4 2011-02-25 07:36:37 +0000
+++ m4/stdlib_h.m4 2011-11-29 09:17:01 +0000
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 37
+# stdlib_h.m4 serial 39
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,
@@ -19,10 +19,10 @@
#if HAVE_RANDOM_H
# include <random.h>
#endif
- ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
- mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
- setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
- unsetenv])
+ ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
+ initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt
+ ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r
+ strtod strtoll strtoull unlockpt unsetenv])
])
AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
@@ -50,7 +50,9 @@
GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
+ GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT])
GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
+ GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
@@ -76,7 +78,9 @@
HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
+ HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
+ HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
@@ -95,6 +99,7 @@
REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
+ REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
=== modified file 'm4/unistd_h.m4'
--- m4/unistd_h.m4 2011-09-26 21:30:18 +0000
+++ m4/unistd_h.m4 2011-11-29 09:17:01 +0000
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 61
+# unistd_h.m4 serial 62
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,
@@ -98,7 +98,6 @@
GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
- GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
=== modified file 'msdos/ChangeLog'
--- msdos/ChangeLog 2011-10-31 17:37:39 +0000
+++ msdos/ChangeLog 2011-11-08 06:35:37 +0000
@@ -1,3 +1,10 @@
+2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib stdalign module (Bug#9772, Bug#9960).
+ * sed2v2.inp (HAVE_ATTRIBUTE_ALIGNED): Remove edit.
+ * sedlibmk.inp (STDALIGN_H, @GL_GENERATE_STDALIGN_H_TRUE@)
+ (GL_GENERATE_STDALIGN_H_FALSE): New edits.
+
2011-10-31 Eli Zaretskii <eliz@gnu.org>
* sed3v2.inp (insrcdir): Comment out definition.
=== modified file 'msdos/sed2v2.inp'
--- msdos/sed2v2.inp 2011-10-31 02:25:01 +0000
+++ msdos/sed2v2.inp 2011-11-01 05:03:56 +0000
@@ -35,7 +35,6 @@
/^#undef HAVE_FREXP *$/s/^.*$/#define HAVE_FREXP 1/
/^#undef HAVE_FMOD *$/s/^.*$/#define HAVE_FMOD 1/
/^#undef HAVE_RINT *$/s/^.*$/#define HAVE_RINT 1/
-/^#undef HAVE_ATTRIBUTE_ALIGNED *$/s/^.*$/#define HAVE_ATTRIBUTE_ALIGNED 1/
/^#undef HAVE_C99_STRTOLD *$/s/^.*$/#define HAVE_C99_STRTOLD 1/
/^#undef HAVE_CBRT *$/s/^.*$/#define HAVE_CBRT 1/
/^#undef HAVE_DIFFTIME *$/s/^.*$/#define HAVE_DIFFTIME 1/
@@ -119,4 +118,3 @@
# might be defined in sys/config.h we include at the top of config.h.
/^#undef BSTRING/s|#undef|# undef|
/^#undef .*$/s|^.*$|/* & */|
-
=== modified file 'msdos/sedlibmk.inp'
--- msdos/sedlibmk.inp 2011-09-29 12:00:18 +0000
+++ msdos/sedlibmk.inp 2011-10-17 01:22:19 +0000
@@ -27,7 +27,7 @@
# otherwise edit them to zero:
#
# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/0/
-#
+#
# . If the module is a header or adds headers, edit the corresponding
# variable to either an empty value or to the name of the header.
# Examples:
@@ -547,6 +547,7 @@
/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/
/^ALLOCA_H *=/s/@[^@\n]*@/alloca.h/
/^STDBOOL_H *=/s/@[^@\n]*@//
+/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
/^STDARG_H *=/s/@[^@\n]*@//
/^STDDEF_H *=/s/@[^@\n]*@//
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
@@ -600,6 +601,8 @@
s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/
s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
s/^@GL_GENERATE_STDBOOL_H_FALSE@//
+s/^@GL_GENERATE_STDALIGN_H_TRUE@//
+s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/
s/^@GL_GENERATE_STDARG_H_TRUE@/\#/
s/^@GL_GENERATE_STDARG_H_FALSE@/\#/
s/^@GL_GENERATE_STDDEF_H_TRUE@/\#/
=== modified file 'nt/ChangeLog'
--- nt/ChangeLog 2011-11-27 18:52:53 +0000
+++ nt/ChangeLog 2011-11-28 16:07:26 +0000
@@ -1,3 +1,8 @@
+2011-11-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib stdalign module (Bug#9772, Bug#9960).
+ * config.nt (HAVE_ATTRIBUTE_ALIGNED): Remove.
+
2011-11-27 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
* inc/stdint.h (uint32_t, uint64_t) [_WIN64]: New typedefs.
=== modified file 'nt/config.nt'
--- nt/config.nt 2011-11-27 18:52:53 +0000
+++ nt/config.nt 2011-11-28 16:07:26 +0000
@@ -278,13 +278,6 @@
/* Preprocessor macros needed for gnulib imports. */
-/* Define to 1 if GCC-style __attribute__ ((__aligned__ (expr))) works. */
-#ifdef __GNUC__
-#define HAVE_ATTRIBUTE_ALIGNED 1
-#else
-#undef HAVE_ATTRIBUTE_ALIGNED
-#endif
-
/* Define to 1 if strtold conforms to C99. */
#ifdef __GNUC__
#define HAVE_C99_STRTOLD 1
=== modified file 'src/ChangeLog'
--- src/ChangeLog 2011-11-28 08:20:58 +0000
+++ src/ChangeLog 2011-11-28 16:07:26 +0000
@@ -1,3 +1,14 @@
+2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib stdalign module (Bug#9772, Bug#9960).
+ * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_LISP_OBJECT_ALIGNMENT)
+ (GC_POINTER_ALIGNMENT, pure_alloc): Simplify by using alignof.
+ (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
+ * lisp.h: Include <stdalign.h>.
+ (DECL_ALIGN): Simplify by using alignas.
+ Port to MSVC, by using ALIGN_GCTYPEBITS.
+ (ALIGN_GCTYPEBITS): New macro.
+
2011-11-28 Paul Eggert <eggert@cs.ucla.edu>
Remove GCPRO-related macros that exist only to avoid shadowing locals.
=== modified file 'src/alloc.c'
--- src/alloc.c 2011-11-20 03:07:02 +0000
+++ src/alloc.c 2011-11-28 16:07:26 +0000
@@ -507,12 +507,7 @@
hold a size_t value and (2) the header size is a multiple of the
alignment that Emacs needs for C types and for USE_LSB_TAG. */
#define XMALLOC_BASE_ALIGNMENT \
- offsetof ( \
- struct { \
- union { long double d; intmax_t i; void *p; } u; \
- char c; \
- }, \
- c)
+ alignof (union { long double d; intmax_t i; void *p; })
#ifdef USE_LSB_TAG
/* A common multiple of the positive integers A and B. Ideally this
would be the least common multiple, but there's no way to do that
@@ -4235,15 +4230,15 @@
}
-/* Alignment of Lisp_Object and pointer values. Use offsetof, as it
+/* Alignment of Lisp_Object and pointer values. Use alignof, as it
sometimes returns a smaller alignment than GCC's __alignof__ and
mark_memory might miss objects if __alignof__ were used. For
example, on x86 with WIDE_EMACS_INT, __alignof__ (Lisp_Object) is 8
but GC_LISP_OBJECT_ALIGNMENT should be 4. */
#ifndef GC_LISP_OBJECT_ALIGNMENT
-# define GC_LISP_OBJECT_ALIGNMENT offsetof (struct {char a; Lisp_Object b;}, b)
+# define GC_LISP_OBJECT_ALIGNMENT alignof (Lisp_Object)
#endif
-#define GC_POINTER_ALIGNMENT offsetof (struct {char a; void *b;}, b)
+#define GC_POINTER_ALIGNMENT alignof (void *)
/* Mark Lisp objects referenced from the address range START+OFFSET..END
or END+OFFSET..START. */
@@ -4662,17 +4657,11 @@
#ifdef USE_LSB_TAG
size_t alignment = (1 << GCTYPEBITS);
#else
- size_t alignment = sizeof (EMACS_INT);
+ size_t alignment = alignof (EMACS_INT);
/* Give Lisp_Floats an extra alignment. */
if (type == Lisp_Float)
- {
-#if defined __GNUC__ && __GNUC__ >= 2
- alignment = __alignof (struct Lisp_Float);
-#else
- alignment = sizeof (struct Lisp_Float);
-#endif
- }
+ alignment = alignof (struct Lisp_Float);
#endif
again:
=== modified file 'src/lisp.h'
--- src/lisp.h 2011-11-28 08:20:58 +0000
+++ src/lisp.h 2011-11-28 16:07:26 +0000
@@ -20,6 +20,7 @@
#ifndef EMACS_LISP_H
#define EMACS_LISP_H
+#include <stdalign.h>
#include <stdarg.h>
#include <stddef.h>
#include <inttypes.h>
@@ -163,27 +164,8 @@
/* First, try and define DECL_ALIGN(type,var) which declares a static
variable VAR of type TYPE with the added requirement that it be
TYPEBITS-aligned. */
-
-#ifndef GCTYPEBITS
-#define GCTYPEBITS 3
-#endif
-
-#ifndef NO_DECL_ALIGN
-# ifndef DECL_ALIGN
-# if HAVE_ATTRIBUTE_ALIGNED
-# define DECL_ALIGN(type, var) \
- type __attribute__ ((__aligned__ (1 << GCTYPEBITS))) var
-# elif defined(_MSC_VER)
-# define ALIGN_GCTYPEBITS 8
-# if (1 << GCTYPEBITS) != ALIGN_GCTYPEBITS
-# error ALIGN_GCTYPEBITS is wrong!
-# endif
-# define DECL_ALIGN(type, var) \
- type __declspec(align(ALIGN_GCTYPEBITS)) var
-# else
- /* What directives do other compilers use? */
-# endif
-# endif
+#ifdef alignas
+# define DECL_ALIGN(type, var) type alignas (ALIGN_GCTYPEBITS) var
#endif
/* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */
@@ -309,6 +291,14 @@
Lisp_Fwd_Kboard_Obj, /* Fwd to a Lisp_Object field of kboards. */
};
+#ifndef GCTYPEBITS
+#define GCTYPEBITS 3
+#define ALIGN_GCTYPEBITS 8 /* This must be an integer constant, for MSVC. */
+#endif
+#if 1 << GCTYPEBITS != ALIGN_GCTYPEBITS
+# error "ALIGN_GCTYPEBITS is wrong!"
+#endif
+
/* These values are overridden by the m- file on some machines. */
#ifndef VALBITS
#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9960: bug#10155: OSX breakage
2011-11-29 9:28 ` bug#9772: OSX breakage Paul Eggert
@ 2011-11-29 13:56 ` Stefan Monnier
2011-11-29 16:58 ` Paul Eggert
2011-11-29 16:39 ` bug#9772: " Eli Zaretskii
1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2011-11-29 13:56 UTC (permalink / raw)
To: Paul Eggert; +Cc: mario, Chong Yidong, 9772, 9960, 10155
> --- .bzrignore 2011-09-29 14:19:11 +0000
> +++ .bzrignore 2011-10-17 01:22:19 +0000
> @@ -53,6 +53,7 @@
> lib/c++defs.h
> lib/getopt.h
> lib/inttypes.h
> +lib/stdalign.h
> lib/stdbool.h
> lib/stdio.h
> lib/stdint.h
Shouldn't these be covered by a glob lib/*.h instead?
> + Use Gnulib stdalign module (Bug#9772, Bug#9960).
As already explained, we don't want this change now. Syncing gnulib
shouldn't impose such a change.
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9772: OSX breakage
2011-11-29 9:28 ` bug#9772: OSX breakage Paul Eggert
2011-11-29 13:56 ` bug#9960: bug#10155: " Stefan Monnier
@ 2011-11-29 16:39 ` Eli Zaretskii
2011-11-30 2:27 ` Chong Yidong
1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2011-11-29 16:39 UTC (permalink / raw)
To: Paul Eggert; +Cc: mario, cyd, 9772, 9960, 10155
> Date: Tue, 29 Nov 2011 01:28:30 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: Eli Zaretskii <eliz@gnu.org>, mario@lassnig.net,
> 9772@debbugs.gnu.org, 9960@debbugs.gnu.org, 10155@debbugs.gnu.org
>
> On 11/28/11 21:00, Chong Yidong wrote:
> > As Eli pointed out in the discussion on bug#10155, there is already code
> > in lib/unistd.in.h that apparently ought to handle this, but itsn't
> > working.
>
> Here's a proposed patch to fix that, by having Emacs use Gnulib's
> environ module. This syncs from Gnulib, and so it also brings
> in the patches for Bug#9772 and Bug#9960. (It is possible to
> pull out just the environ fix by hand, but that's an error-prone process
> and I'd rather avoid it.) I have tested this on Fedora 15,
> but not on OSX nor on Windows.
FWIW, I'd very much prefer not to install such large changes a day or
two before the next pretest. If the only practical way of fixing this
within gnulib is the proposed changeset, I'd say let's just add a
declaration of environ conditioned on OS X and FreeBSD. I don't like
this solution, but I think on balance it has less potential for
destabilizing the build.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#10155: OSX breakage
2011-11-29 13:56 ` bug#9960: bug#10155: " Stefan Monnier
@ 2011-11-29 16:58 ` Paul Eggert
2011-11-29 17:30 ` bug#9772: " Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Paul Eggert @ 2011-11-29 16:58 UTC (permalink / raw)
To: Stefan Monnier; +Cc: mario, 9960, Chong Yidong, 9772, 10155
On 11/29/11 05:56, Stefan Monnier wrote:
>> --- .bzrignore 2011-09-29 14:19:11 +0000
>> +++ .bzrignore 2011-10-17 01:22:19 +0000
>> @@ -53,6 +53,7 @@
>> lib/c++defs.h
>> lib/getopt.h
>> lib/inttypes.h
>> +lib/stdalign.h
>> lib/stdbool.h
>> lib/stdio.h
>> lib/stdint.h
>
> Shouldn't these be covered by a glob lib/*.h instead?
No, because the pattern "lib/*.h" would match many files that are
checked in under bzr and that we don't want bzr to ignore, such as
lib/allocator.h and lib/min-max.h.
> Syncing gnulib shouldn't impose such a change.
You're right, on further thought Emacs itself needn't use stdalign,
and I've prepared a simpler patch (below) that omits all changes to
src/*. Gnulib now uses stdalign, though, and Emacs uses
multiple Gnulib modules such as sha256 that use stdalign, so
this patch still brings in the stdalign module for Gnulib's own
purposes.
About 90% of the following patch is automatically generated by the
sync from gnulib. The only parts that aren't automatic are the
changes to Makefile.in, .bzrignore, config.bat, msdos/sedlibmk.inp,
and the ChangeLog files. I've reordered the patch to list these
changes first, for easier reviewing. I'm also CC'ing this to Eli
as the proposed config.bat and msdos changes affect Microsoft builds.
=== modified file 'ChangeLog'
--- ChangeLog 2011-11-27 18:33:17 +0000
+++ ChangeLog 2011-11-29 16:38:21 +0000
@@ -1,3 +1,19 @@
+2011-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use Gnulib environ module, syncing from Gnulib.
+ * Makefile.in (GNULIB_MODULES): Add environ.
+ * m4/environ.m4: New file, from gnulib.
+ * lib/stdalign.in.h, m4/environ.m4, m4/stdalign.m4:
+ New files, from gnulib.
+ * .bzrignore: Add lib/stdalign.h.
+ * config.bat: Copy lib/stdalign.in.h to lib/stdalign.in-h as needed.
+ * doc/misc/texinfo.tex, lib/gettext.h, lib/gnulib.mk:
+ * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+ * lib/sigprocmask.c, lib/stdlib.in.h:
+ * m4/dup2.m4, m4/getopt.m4, m4/gl-comp.m4, m4/gnulib-common.m4:
+ * m4/include_next.m4, m4/pthread_sigmask.m4, m4/stdlib_h.m4:
+ * m4/unistd_h.m4: Merge from gnulib.
+
2011-11-27 Jan Djärv <jan.h.d@swipnet.se>
* configure.in: Check for gtk_window_set_has_resize_grip.
=== modified file 'Makefile.in'
--- Makefile.in 2011-11-22 01:56:49 +0000
+++ Makefile.in 2011-11-29 16:38:21 +0000
@@ -334,7 +334,7 @@
GNULIB_MODULES = \
alloca-opt \
careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr \
- dup2 \
+ dup2 environ \
filemode getloadavg getopt-gnu ignore-value intprops lstat \
mktime pthread_sigmask readlink \
socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
=== modified file '.bzrignore'
--- .bzrignore 2011-09-29 14:19:11 +0000
+++ .bzrignore 2011-11-29 16:38:21 +0000
@@ -53,6 +53,7 @@
lib/c++defs.h
lib/getopt.h
lib/inttypes.h
+lib/stdalign.h
lib/stdbool.h
lib/stdio.h
lib/stdint.h
=== modified file 'config.bat'
--- config.bat 2011-10-31 17:49:10 +0000
+++ config.bat 2011-11-29 16:38:21 +0000
@@ -283,6 +283,7 @@
If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
If Exist alloca.in.h update alloca.in.h alloca.in-h
If Exist getopt.in.h update getopt.in.h getopt.in-h
+If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
If Exist signal.in.h update signal.in.h signal.in-h
If Exist stddef.in.h update stddef.in.h stddef.in-h
@@ -346,4 +347,3 @@
set djgpp_ver=
set sys_malloc=
set libxml=
-
=== modified file 'msdos/ChangeLog'
--- msdos/ChangeLog 2011-10-31 17:37:39 +0000
+++ msdos/ChangeLog 2011-11-29 16:38:21 +0000
@@ -1,3 +1,9 @@
+2011-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Adjust to Gnulib stdalign module.
+ * sedlibmk.inp (STDALIGN_H, @GL_GENERATE_STDALIGN_H_TRUE@)
+ (GL_GENERATE_STDALIGN_H_FALSE): New edits.
+
2011-10-31 Eli Zaretskii <eliz@gnu.org>
* sed3v2.inp (insrcdir): Comment out definition.
=== modified file 'msdos/sedlibmk.inp'
--- msdos/sedlibmk.inp 2011-09-29 12:00:18 +0000
+++ msdos/sedlibmk.inp 2011-11-29 16:38:21 +0000
@@ -27,7 +27,7 @@
# otherwise edit them to zero:
#
# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/0/
-#
+#
# . If the module is a header or adds headers, edit the corresponding
# variable to either an empty value or to the name of the header.
# Examples:
@@ -547,6 +547,7 @@
/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/
/^ALLOCA_H *=/s/@[^@\n]*@/alloca.h/
/^STDBOOL_H *=/s/@[^@\n]*@//
+/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
/^STDARG_H *=/s/@[^@\n]*@//
/^STDDEF_H *=/s/@[^@\n]*@//
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
@@ -600,6 +601,8 @@
s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/
s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
s/^@GL_GENERATE_STDBOOL_H_FALSE@//
+s/^@GL_GENERATE_STDALIGN_H_TRUE@//
+s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/
s/^@GL_GENERATE_STDARG_H_TRUE@/\#/
s/^@GL_GENERATE_STDARG_H_FALSE@/\#/
s/^@GL_GENERATE_STDDEF_H_TRUE@/\#/
=== modified file 'doc/misc/ChangeLog'
--- doc/misc/ChangeLog 2011-11-25 13:26:30 +0000
+++ doc/misc/ChangeLog 2011-11-29 16:38:21 +0000
@@ -1,3 +1,7 @@
+2011-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * texinfo.tex: Sync from gnulib.
+
2011-11-24 Glenn Morris <rgm@gnu.org>
* gnus.texi, smtpmail.texi: Fix case of "GnuTLS".
=== modified file 'doc/misc/texinfo.tex'
--- doc/misc/texinfo.tex 2011-09-26 21:30:18 +0000
+++ doc/misc/texinfo.tex 2011-11-29 16:38:21 +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-09-23.09}
+\def\texinfoversion{2011-11-09.15}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -116,6 +116,7 @@
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
@@ -1194,29 +1195,31 @@
\def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
\def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
+ % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+ % others). Let's try in that order, PDF first since if
+ % someone has a scalable image, presumably better to use that than a
+ % bitmap.
\let\pdfimgext=\empty
\begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{png}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
@@ -2372,7 +2375,9 @@
\else\ifx\next-%
\else\ifx\next.%
\else\ptexslash
- \fi\fi\fi}
+ \fi\fi\fi
+ \aftersmartic
+}
% like \smartslanted except unconditionally uses \ttsl, and no ic.
% @var is set to this for defun arguments.
@@ -2382,9 +2387,15 @@
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+\def\aftersmartic{}
+\def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ \smartslanted{#1}%
+}
+
\let\i=\smartitalic
\let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
@@ -2480,7 +2491,7 @@
\plainfrenchspacing
#1%
}%
- \null
+ \null % reset spacefactor to 1000
}
% We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2762,6 +2773,7 @@
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
@@ -2774,6 +2786,7 @@
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @asis just yields its argument. Used with @table, for example.
@@ -2979,7 +2992,7 @@
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -8103,7 +8116,7 @@
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
@@ -8166,6 +8179,8 @@
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
+ %
+ % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
=== modified file 'lib/gettext.h'
--- lib/gettext.h 2011-02-15 04:53:29 +0000
+++ lib/gettext.h 2011-11-29 16:38:21 +0000
@@ -185,7 +185,7 @@
#include <string.h>
#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
- (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
+ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
/* || __STDC_VERSION__ >= 199901L */ )
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
=== modified file 'lib/gnulib.mk'
--- lib/gnulib.mk 2011-09-26 21:30:18 +0000
+++ lib/gnulib.mk 2011-11-29 16:38:21 +0000
@@ -21,7 +21,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=build-aux --avoid=msvc-inval --avoid=msvc-nothrow --avoid=pathmax --avoid=raise --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
+# 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=msvc-inval --avoid=msvc-nothrow --avoid=pathmax --avoid=raise --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 environ filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
MOSTLYCLEANFILES += core *.stackdump
@@ -421,6 +421,29 @@
## end gnulib module stat
+## begin gnulib module stdalign
+
+BUILT_SOURCES += $(STDALIGN_H)
+
+# We need the following in order to create <stdalign.h> when the system
+# doesn't have one that works.
+if GL_GENERATE_STDALIGN_H
+stdalign.h: stdalign.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/stdalign.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdalign.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdalign.h stdalign.h-t
+
+EXTRA_DIST += stdalign.in.h
+
+## end gnulib module stdalign
+
## begin gnulib module stdarg
BUILT_SOURCES += $(STDARG_H)
@@ -710,7 +733,9 @@
-e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
-e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
-e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
-e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
-e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
-e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
-e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
@@ -736,7 +761,9 @@
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
-e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
@@ -754,6 +781,7 @@
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
-e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
@@ -1004,7 +1032,7 @@
-e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
-e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
-e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
- -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/0$(GNULIB_GL_UNISTD_H_GETOPT)/g' \
-e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
-e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
-e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
=== modified file 'lib/md5.c'
--- lib/md5.c 2011-02-19 07:28:29 +0000
+++ lib/md5.c 2011-11-29 16:38:21 +0000
@@ -24,7 +24,8 @@
#include "md5.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
@@ -254,8 +255,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha1.c'
--- lib/sha1.c 2011-05-24 08:12:52 +0000
+++ lib/sha1.c 2011-11-29 16:38:21 +0000
@@ -26,7 +26,8 @@
#include "sha1.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -241,8 +242,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha256.c'
--- lib/sha256.c 2011-11-20 03:48:53 +0000
+++ lib/sha256.c 2011-11-29 16:38:21 +0000
@@ -24,7 +24,8 @@
#include "sha256.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -51,7 +52,7 @@
/*
Takes a pointer to a 256 bit block of data (eight 32 bit ints) and
- initializes it to the start constants of the SHA256 algorithm. This
+ intializes it to the start constants of the SHA256 algorithm. This
must be called before using hash in the call to sha256_hash
*/
void
@@ -373,8 +374,7 @@
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
{
=== modified file 'lib/sha512.c'
--- lib/sha512.c 2011-11-20 03:48:53 +0000
+++ lib/sha512.c 2011-11-29 16:38:21 +0000
@@ -24,7 +24,8 @@
#include "sha512.h"
-#include <stddef.h>
+#include <stdalign.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -58,7 +59,7 @@
/*
Takes a pointer to a 512 bit block of data (eight 64 bit ints) and
- initializes it to the start constants of the SHA512 algorithm. This
+ intializes it to the start constants of the SHA512 algorithm. This
must be called before using hash in the call to sha512_hash
*/
void
@@ -381,8 +382,7 @@
if (len >= 128)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
-# define UNALIGNED_P(p) (((size_t) p) % alignof (u64) != 0)
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (u64) != 0)
if (UNALIGNED_P (buffer))
while (len > 128)
{
=== modified file 'lib/sigprocmask.c'
--- lib/sigprocmask.c 2011-10-07 21:15:00 +0000
+++ lib/sigprocmask.c 2011-11-29 16:38:21 +0000
@@ -344,5 +344,6 @@
else if (handler != SIG_IGN)
(*handler) (SIGPIPE);
}
+ return 0;
}
#endif
=== added file 'lib/stdalign.in.h'
--- lib/stdalign.in.h 1970-01-01 00:00:00 +0000
+++ lib/stdalign.in.h 2011-11-29 16:38:21 +0000
@@ -0,0 +1,89 @@
+/* A substitute for ISO C 1x <stdalign.h>.
+
+ Copyright 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Paul Eggert and Bruno Haible. */
+
+#ifndef _GL_STDALIGN_H
+#define _GL_STDALIGN_H
+
+/* ISO C1X <stdalign.h> for platforms that lack it.
+
+ References:
+ ISO C1X <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
+ sections 6.5.3.4, 6.7.5, 7.15.
+ C++0X <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>
+ section 18.10. */
+
+/* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
+ requirement of a structure member (i.e., slot or field) that is of
+ type TYPE, as an integer constant expression.
+
+ This differs from GCC's __alignof__ operator, which can yield a
+ better-performing alignment for an object of that type. For
+ example, on x86 with GCC, __alignof__ (double) and __alignof__
+ (long long) are 8, whereas alignof (double) and alignof (long long)
+ are 4 unless the option '-malign-double' is used.
+
+ The result cannot be used as a value for an 'enum' constant, if you
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */
+#include <stddef.h>
+#if defined __cplusplus
+ template <class __t> struct __alignof_helper { char __a; __t __b; };
+# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+#else
+# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+#endif
+#define alignof _Alignof
+#define __alignof_is_defined 1
+
+/* alignas (A), also known as _Alignas (A), aligns a variable or type
+ to the alignment A, where A is an integer constant expression. For
+ example:
+
+ int alignas (8) foo;
+ struct s { int a; int alignas (8) bar; };
+
+ aligns the address of FOO and the offset of BAR to be multiples of 8.
+
+ A should be a power of two that is at least the type's alignment
+ and at most the implementation's alignment limit. This limit is
+ 2**28 on typical GNUish hosts, and 2**13 on MSVC. To be portable
+ to MSVC through at least version 10.0, A should be an integer
+ constant, as MSVC does not support expressions such as 1 << 3.
+ To be portable to Sun C 5.11, do not align auto variables to
+ anything stricter than their default alignment.
+
+ The following draft C1X requirements are not supported here:
+
+ - If A is zero, alignas has no effect.
+ - alignas can be used multiple times; the strictest one wins.
+ - alignas (TYPE) is equivalent to alignas (alignof (TYPE)).
+
+ */
+
+#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+#elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+#endif
+#ifdef _Alignas
+# define alignas _Alignas
+# define __alignas_is_defined 1
+#endif
+
+#endif /* _GL_STDALIGN_H */
=== modified file 'lib/stdlib.in.h'
--- lib/stdlib.in.h 2011-07-24 22:15:47 +0000
+++ lib/stdlib.in.h 2011-11-29 16:38:21 +0000
@@ -247,7 +247,7 @@
#elif defined GNULIB_POSIXCHECK
# undef grantpt
# if HAVE_RAW_DECL_GRANTPT
-_GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
"use gnulib module grantpt for portability");
# endif
#endif
@@ -423,6 +423,22 @@
# endif
#endif
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal. Flags should
+ include O_RDWR, and may also include O_NOCTTY. */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+ "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
#if @GNULIB_PTSNAME@
/* Return the pathname of the pseudo-terminal slave associated with
the master FD is open on, or NULL on errors. */
@@ -439,6 +455,32 @@
# endif
#endif
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+ the master FD is open on and return 0, or set errno and return
+ non-zero on errors. */
+# if @REPLACE_PTSNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ptsname_r
+# define ptsname_r rpl_ptsname_r
+# endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+# if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+ "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
#if @GNULIB_PUTENV@
# if @REPLACE_PUTENV@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
=== modified file 'm4/dup2.m4'
--- m4/dup2.m4 2011-09-26 21:30:18 +0000
+++ m4/dup2.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-#serial 16
+#serial 17
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,
@@ -67,7 +67,9 @@
m4_ifdef([gl_FUNC_FCHDIR], [
gl_TEST_FCHDIR
if test $HAVE_FCHDIR = 0; then
- REPLACE_DUP2=1
+ if test $HAVE_DUP2 = 1; then
+ REPLACE_DUP2=1
+ fi
fi
])
])
=== added file 'm4/environ.m4'
--- m4/environ.m4 1970-01-01 00:00:00 +0000
+++ m4/environ.m4 2011-11-29 16:38:21 +0000
@@ -0,0 +1,47 @@
+# environ.m4 serial 6
+dnl Copyright (C) 2001-2004, 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,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN_ONCE([gl_ENVIRON],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ dnl Persuade glibc <unistd.h> to declare environ.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ gt_CHECK_VAR_DECL(
+ [#if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+ /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
+ #include <stdlib.h>
+ ],
+ [environ])
+ if test $gt_cv_var_environ_declaration != yes; then
+ HAVE_DECL_ENVIRON=0
+ fi
+])
+
+# Check if a variable is properly declared.
+# gt_CHECK_VAR_DECL(includes,variable)
+AC_DEFUN([gt_CHECK_VAR_DECL],
+[
+ define([gt_cv_var], [gt_cv_var_]$2[_declaration])
+ AC_MSG_CHECKING([if $2 is properly declared])
+ AC_CACHE_VAL([gt_cv_var], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[$1
+ extern struct { int foo; } $2;]],
+ [[$2.foo = 1;]])],
+ [gt_cv_var=no],
+ [gt_cv_var=yes])])
+ AC_MSG_RESULT([$gt_cv_var])
+ if test $gt_cv_var = yes; then
+ AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
+ [Define if you have the declaration of $2.])
+ fi
+ undefine([gt_cv_var])
+])
=== modified file 'm4/getopt.m4'
--- m4/getopt.m4 2011-07-24 22:15:47 +0000
+++ m4/getopt.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-# getopt.m4 serial 38
+# getopt.m4 serial 39
dnl Copyright (C) 2002-2006, 2008-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,
@@ -25,8 +25,6 @@
if test $REPLACE_GETOPT = 1; then
dnl Arrange for getopt.h to be created.
gl_GETOPT_SUBSTITUTE_HEADER
- dnl Arrange for unistd.h to include getopt.h.
- GNULIB_UNISTD_H_GETOPT=1
fi
])
=== modified file 'm4/gl-comp.m4'
--- m4/gl-comp.m4 2011-10-07 21:15:00 +0000
+++ m4/gl-comp.m4 2011-11-29 16:38:21 +0000
@@ -48,6 +48,7 @@
# Code from module dosname:
# Code from module dtoastr:
# Code from module dup2:
+ # Code from module environ:
# Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
# Code from module filemode:
@@ -76,6 +77,7 @@
# Code from module socklen:
# Code from module ssize_t:
# Code from module stat:
+ # Code from module stdalign:
# Code from module stdarg:
dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
dnl for the builtin va_copy to work. With Autoconf 2.60 or later,
@@ -130,6 +132,8 @@
gl_PREREQ_DUP2
fi
gl_UNISTD_MODULE_INDICATOR([dup2])
+gl_ENVIRON
+gl_UNISTD_MODULE_INDICATOR([environ])
gl_FILEMODE
gl_GETLOADAVG
if test $HAVE_GETLOADAVG = 0; then
@@ -142,14 +146,20 @@
AC_LIBOBJ([getopt])
AC_LIBOBJ([getopt1])
gl_PREREQ_GETOPT
+ dnl Arrange for unistd.h to include getopt.h.
+ GNULIB_GL_UNISTD_H_GETOPT=1
fi
+AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
gl_FUNC_GETOPT_POSIX
if test $REPLACE_GETOPT = 1; then
AC_LIBOBJ([getopt])
AC_LIBOBJ([getopt1])
gl_PREREQ_GETOPT
+ dnl Arrange for unistd.h to include getopt.h.
+ GNULIB_GL_UNISTD_H_GETOPT=1
fi
+AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
AC_REQUIRE([AC_C_INLINE])
gl_INTTYPES_INCOMPLETE
gl_FUNC_LSTAT
@@ -180,6 +190,7 @@
gl_SIGNAL_H
gl_TYPE_SOCKLEN_T
gt_TYPE_SSIZE_T
+gl_STDALIGN_H
gl_STDARG_H
AM_STDBOOL_H
gl_STDDEF_H
@@ -311,18 +322,18 @@
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
func_gl_gnulib_m4code_stat
fi
- if test $ac_cv_func_strtoimax = no; then
- func_gl_gnulib_m4code_verify
- fi
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_func_strtoumax = no; then
+ if test $ac_cv_func_strtoimax = no; then
func_gl_gnulib_m4code_verify
fi
if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then
func_gl_gnulib_m4code_strtoull
fi
+ if test $ac_cv_func_strtoumax = no; then
+ func_gl_gnulib_m4code_verify
+ fi
m4_pattern_allow([^gl_GNULIB_ENABLED_])
AM_CONDITIONAL([gl_GNULIB_ENABLED_dosname], [$gl_gnulib_enabled_dosname])
AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36])
@@ -513,6 +524,7 @@
lib/signal.in.h
lib/sigprocmask.c
lib/stat.c
+ lib/stdalign.in.h
lib/stdarg.in.h
lib/stdbool.in.h
lib/stddef.in.h
@@ -538,6 +550,7 @@
m4/alloca.m4
m4/c-strtod.m4
m4/dup2.m4
+ m4/environ.m4
m4/extensions.m4
m4/filemode.m4
m4/getloadavg.m4
@@ -563,6 +576,7 @@
m4/ssize_t.m4
m4/st_dm_mode.m4
m4/stat.m4
+ m4/stdalign.m4
m4/stdarg.m4
m4/stdbool.m4
m4/stddef_h.m4
=== modified file 'm4/gnulib-common.m4'
--- m4/gnulib-common.m4 2011-10-07 21:15:00 +0000
+++ m4/gnulib-common.m4 2011-11-29 16:38:21 +0000
@@ -18,7 +18,7 @@
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|| 0x5110 <= __SUNPRO_C)
# define _Noreturn __attribute__ ((__noreturn__))
-# elif 1200 <= _MSC_VER
+# elif defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn
=== modified file 'm4/include_next.m4'
--- m4/include_next.m4 2011-09-26 21:30:18 +0000
+++ m4/include_next.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-# include_next.m4 serial 22
+# include_next.m4 serial 23
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,
@@ -219,12 +219,17 @@
gl_dirsep_regex='[/\\]'
;;
*)
- gl_dirsep_regex='/'
+ gl_dirsep_regex='\/'
;;
esac
+ dnl A sed expression that turns a string into a basic regular
+ dnl expression, for use within "/.../".
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
changequote([,])
- gl_absolute_header_sed='\|'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[|{
- s|.*"\(.*'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[\)".*|\1|
+ gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
changequote(,)dnl
s|^/[^/]|//&|
changequote([,])dnl
=== modified file 'm4/pthread_sigmask.m4'
--- m4/pthread_sigmask.m4 2011-09-03 23:08:32 +0000
+++ m4/pthread_sigmask.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-# pthread_sigmask.m4 serial 12
+# pthread_sigmask.m4 serial 13
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,
@@ -6,6 +6,8 @@
AC_DEFUN([gl_FUNC_PTHREAD_SIGMASK],
[
+ AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
+
AC_CHECK_FUNCS_ONCE([pthread_sigmask])
LIB_PTHREAD_SIGMASK=
=== added file 'm4/stdalign.m4'
--- m4/stdalign.m4 1970-01-01 00:00:00 +0000
+++ m4/stdalign.m4 2011-11-29 16:38:21 +0000
@@ -0,0 +1,22 @@
+# Check for stdalign.h that conforms to C1x.
+
+dnl Copyright 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.
+
+# Prepare for substituting <stdalign.h> if it is not supported.
+
+AC_DEFUN([gl_STDALIGN_H],
+[
+ AC_CHECK_HEADERS_ONCE([stdalign.h])
+
+ if test $ac_cv_header_stdalign_h = yes; then
+ STDALIGN_H=''
+ else
+ STDALIGN_H='stdalign.h'
+ fi
+
+ AC_SUBST([STDALIGN_H])
+ AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"])
+])
=== modified file 'm4/stdlib_h.m4'
--- m4/stdlib_h.m4 2011-02-25 07:36:37 +0000
+++ m4/stdlib_h.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 37
+# stdlib_h.m4 serial 39
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,
@@ -19,10 +19,10 @@
#if HAVE_RANDOM_H
# include <random.h>
#endif
- ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
- mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
- setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
- unsetenv])
+ ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
+ initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt
+ ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r
+ strtod strtoll strtoull unlockpt unsetenv])
])
AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
@@ -50,7 +50,9 @@
GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
+ GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT])
GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
+ GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
@@ -76,7 +78,9 @@
HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
+ HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
+ HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
@@ -95,6 +99,7 @@
REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
+ REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
=== modified file 'm4/unistd_h.m4'
--- m4/unistd_h.m4 2011-09-26 21:30:18 +0000
+++ m4/unistd_h.m4 2011-11-29 16:38:21 +0000
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 61
+# unistd_h.m4 serial 62
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,
@@ -98,7 +98,6 @@
GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
- GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9772: bug#10155: OSX breakage
2011-11-29 16:58 ` Paul Eggert
@ 2011-11-29 17:30 ` Eli Zaretskii
2011-11-29 18:22 ` bug#9960: " Paul Eggert
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2011-11-29 17:30 UTC (permalink / raw)
To: Paul Eggert; +Cc: mario, 9960, cyd, 9772, 10155
> Date: Tue, 29 Nov 2011 08:58:34 -0800
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: Chong Yidong <cyd@gnu.org>, mario@lassnig.net, 9772@debbugs.gnu.org,
> 9960@debbugs.gnu.org, 10155@debbugs.gnu.org,
> Eli Zaretskii <eliz@gnu.org>
>
> You're right, on further thought Emacs itself needn't use stdalign,
> and I've prepared a simpler patch (below) that omits all changes to
> src/*. Gnulib now uses stdalign, though, and Emacs uses
> multiple Gnulib modules such as sha256 that use stdalign, so
> this patch still brings in the stdalign module for Gnulib's own
> purposes.
I understand that the only part needed for solving the problems with
the missing declaration of `environ' is this:
> === added file 'm4/environ.m4'
> --- m4/environ.m4 1970-01-01 00:00:00 +0000
> +++ m4/environ.m4 2011-11-29 16:38:21 +0000
> @@ -0,0 +1,47 @@
> +# environ.m4 serial 6
> +dnl Copyright (C) 2001-2004, 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,
> +dnl with or without modifications, as long as this notice is preserved.
> +
> +AC_DEFUN_ONCE([gl_ENVIRON],
> +[
> + AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
> + dnl Persuade glibc <unistd.h> to declare environ.
> + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
> +
> + AC_CHECK_HEADERS_ONCE([unistd.h])
> + gt_CHECK_VAR_DECL(
> + [#if HAVE_UNISTD_H
> + #include <unistd.h>
> + #endif
> + /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
> + #include <stdlib.h>
> + ],
> + [environ])
> + if test $gt_cv_var_environ_declaration != yes; then
> + HAVE_DECL_ENVIRON=0
> + fi
> +])
IOW, the reason why lib/unistd.in.h didn't do its job is that
HAVE_DECL_ENVIRON was not defined to zero.
If that is true, I wonder if we could have a much smaller change that
fixes just that single problem.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9960: bug#10155: OSX breakage
2011-11-29 17:30 ` bug#9772: " Eli Zaretskii
@ 2011-11-29 18:22 ` Paul Eggert
2011-11-30 2:45 ` bug#10155: bug#9772: " Chong Yidong
0 siblings, 1 reply; 13+ messages in thread
From: Paul Eggert @ 2011-11-29 18:22 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: mario, 9960, cyd, 9772, 10155
On 11/29/11 09:30, Eli Zaretskii wrote:
> I wonder if we could have a much smaller change that
> fixes just that single problem.
Yes we could, though it would involve more of the patch
than the part that you've identified, and it would involve
some other stuff done by hand. The simplest way to think
about it is, I expect, is that it would be a fork of gnulib.
I could look into preparing such a patch but it would take
some time and would introduce other reliability concerns,
so I hope I don't have to do that....
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9772: OSX breakage
2011-11-29 16:39 ` bug#9772: " Eli Zaretskii
@ 2011-11-30 2:27 ` Chong Yidong
0 siblings, 0 replies; 13+ messages in thread
From: Chong Yidong @ 2011-11-30 2:27 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: mario, Paul Eggert, 9772, 9960, 10155
Eli Zaretskii <eliz@gnu.org> writes:
>> Here's a proposed patch to fix that, by having Emacs use Gnulib's
>> environ module. This syncs from Gnulib, and so it also brings
>> in the patches for Bug#9772 and Bug#9960. (It is possible to
>> pull out just the environ fix by hand, but that's an error-prone process
>> and I'd rather avoid it.) I have tested this on Fedora 15,
>> but not on OSX nor on Windows.
>
> FWIW, I'd very much prefer not to install such large changes a day or
> two before the next pretest. If the only practical way of fixing this
> within gnulib is the proposed changeset, I'd say let's just add a
> declaration of environ conditioned on OS X and FreeBSD. I don't like
> this solution, but I think on balance it has less potential for
> destabilizing the build.
Agreed. Paul, can you pick out just the environ fix? If not, we should
go with the ifdefs as Eli suggested, and leave any Gnulib synch for
post-24.1.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#10155: bug#9772: bug#10155: OSX breakage
2011-11-29 18:22 ` bug#9960: " Paul Eggert
@ 2011-11-30 2:45 ` Chong Yidong
2011-11-30 4:04 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Chong Yidong @ 2011-11-30 2:45 UTC (permalink / raw)
To: Paul Eggert; +Cc: mario, 9772, 9960, 10155
Paul Eggert <eggert@cs.ucla.edu> writes:
> On 11/29/11 09:30, Eli Zaretskii wrote:
>> I wonder if we could have a much smaller change that
>> fixes just that single problem.
>
> Yes we could, though it would involve more of the patch
> than the part that you've identified, and it would involve
> some other stuff done by hand. The simplest way to think
> about it is, I expect, is that it would be a fork of gnulib.
> I could look into preparing such a patch but it would take
> some time and would introduce other reliability concerns,
> so I hope I don't have to do that....
OK, then let's go with the ifdef conditioning directly in the Emacs
sources.
But is conditioning on OS X and FreeBSD the right thing? We don't know
if it fails on other BSDs. Since revno 106533 was intended to fix the
MS-WINDOWS build, I think it's better to condition it for WINDOWSNT for
now, as below:
Eli, WDYT?
=== modified file 'lib-src/emacsclient.c'
*** lib-src/emacsclient.c 2011-11-27 18:52:53 +0000
--- lib-src/emacsclient.c 2011-11-30 02:44:47 +0000
***************
*** 1635,1640 ****
--- 1635,1645 ----
/* Send over our environment and current directory. */
if (!current_frame)
{
+ #ifndef WINDOWSNT
+ /* This is defined in stdlib.h on MS-Windows. It's defined in
+ unistd.h on some POSIX hosts, but not all (Bug#10155). */
+ extern char **environ;
+ #endif
int i;
for (i = 0; environ[i]; i++)
{
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#10155: bug#9772: bug#10155: OSX breakage
2011-11-30 2:45 ` bug#10155: bug#9772: " Chong Yidong
@ 2011-11-30 4:04 ` Eli Zaretskii
2011-11-30 8:14 ` Chong Yidong
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2011-11-30 4:04 UTC (permalink / raw)
To: Chong Yidong; +Cc: mario, eggert, 9772, 9960, 10155
> From: Chong Yidong <cyd@gnu.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, mario@lassnig.net, 9960@debbugs.gnu.org, 9772@debbugs.gnu.org, 10155@debbugs.gnu.org
> Date: Wed, 30 Nov 2011 10:45:42 +0800
>
> OK, then let's go with the ifdef conditioning directly in the Emacs
> sources.
>
> But is conditioning on OS X and FreeBSD the right thing? We don't know
> if it fails on other BSDs. Since revno 106533 was intended to fix the
> MS-WINDOWS build, I think it's better to condition it for WINDOWSNT for
> now, as below:
>
> Eli, WDYT?
Fine with me.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9772: bug#10155: OSX breakage
2011-11-30 4:04 ` Eli Zaretskii
@ 2011-11-30 8:14 ` Chong Yidong
2011-11-30 11:15 ` bug#10155: " Mario Lassnig
2011-11-30 17:48 ` bug#10155: " Jan Djärv
0 siblings, 2 replies; 13+ messages in thread
From: Chong Yidong @ 2011-11-30 8:14 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: mario, eggert, 9772, 9960, 10155
Eli Zaretskii <eliz@gnu.org> writes:
>> OK, then let's go with the ifdef conditioning directly in the Emacs
>> sources.
>>
>> But is conditioning on OS X and FreeBSD the right thing? We don't know
>> if it fails on other BSDs. Since revno 106533 was intended to fix the
>> MS-WINDOWS build, I think it's better to condition it for WINDOWSNT for
>> now, as below:
>>
>> Eli, WDYT?
>
> Fine with me.
Done. Could someone check if compilation on Mac OS X works now?
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#10155: bug#9772: bug#10155: OSX breakage
2011-11-30 8:14 ` Chong Yidong
@ 2011-11-30 11:15 ` Mario Lassnig
2011-12-01 16:12 ` Paul Eggert
2011-11-30 17:48 ` bug#10155: " Jan Djärv
1 sibling, 1 reply; 13+ messages in thread
From: Mario Lassnig @ 2011-11-30 11:15 UTC (permalink / raw)
To: Chong Yidong; +Cc: eggert, 9772, 9960, 10155
On 11-11-30 9:14 , Chong Yidong wrote:
> Eli Zaretskii<eliz@gnu.org> writes:
>
>>> OK, then let's go with the ifdef conditioning directly in the Emacs
>>> sources.
>>>
>>> But is conditioning on OS X and FreeBSD the right thing? We don't know
>>> if it fails on other BSDs. Since revno 106533 was intended to fix the
>>> MS-WINDOWS build, I think it's better to condition it for WINDOWSNT for
>>> now, as below:
>>>
>>> Eli, WDYT?
>>
>> Fine with me.
>
> Done. Could someone check if compilation on Mac OS X works now?
Looks good to me. Compiles, installs, runs. :-)
Thanks,
Mario
Mario@shodan:~/Development/emacs$ bzr clone
bzr://bzr.savannah.gnu.org/emacs/trunk/
The command 'bzr clone' has been deprecated in bzr 2.4. Please use 'bzr
branch' instead.
Branched 106554 revision(s).
Mario@shodan:~/Development/emacs$ cd trunk/
Mario@shodan:~/Development/emacs/trunk$ echo $CFLAGS
-march=core2 -msse4.1
Mario@shodan:~/Development/emacs/trunk$ echo $CC
Mario@shodan:~/Development/emacs/trunk$ which gcc
/usr/bin/gcc
Mario@shodan:~/Development/emacs/trunk$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build
5658) (LLVM build 2336.1.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Mario@shodan:~/Development/emacs/trunk$ sh autogen.sh
Checking whether you have the necessary tools...
(Read INSTALL.BZR for more details on building Emacs)
Checking for autoconf (need at least version 2.65)...
ok
Checking for automake (need at least version 1.11)...
ok
Your system has the required tools, running autoreconf...
configure.in:635: installing `build-aux/compile'
configure.in:379: installing `build-aux/config.guess'
configure.in:379: installing `build-aux/config.sub'
configure.in:29: installing `build-aux/install-sh'
configure.in:29: installing `build-aux/missing'
lib/Makefile.am: installing `build-aux/depcomp'
You can now run `./configure'.
Mario@shodan:~/Development/emacs/trunk$ ./configure --with-ns
<snip>
Configured for `x86_64-apple-darwin11.2.0'.
Where should the build process find the source code?
/Users/Mario/Development/emacs/trunk
What operating system and machine description files should Emacs use?
`s/darwin.h' and `m/amdx86-64.h'
What compiler should emacs be built with? gcc
-std=gnu99 -march=core2 -msse4.1
Should Emacs use the GNU version of malloc? no
(The GNU allocators don't work with this system configuration.)
Should Emacs use a relocating allocator for buffers? no
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? nextstep
What toolkit should Emacs use? none
Where do we find X Windows header files? Standard dirs
Where do we find X Windows libraries? /usr/X11/lib
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? no
Does Emacs use -ljpeg? no
Does Emacs use -ltiff? no
Does Emacs use a gif library? no
Does Emacs use -lpng? no
Does Emacs use -lrsvg-2? yes
Does Emacs use imagemagick? no
Does Emacs use -lgpm? no
Does Emacs use -ldbus? no
Does Emacs use -lgconf? no
Does Emacs use GSettings? no
Does Emacs use -lselinux? no
Does Emacs use -lgnutls? yes
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? no
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? no
Does Emacs use -lxft? no
Does Emacs use toolkit scroll bars? yes
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#10155: bug#9772: bug#10155: OSX breakage
2011-11-30 8:14 ` Chong Yidong
2011-11-30 11:15 ` bug#10155: " Mario Lassnig
@ 2011-11-30 17:48 ` Jan Djärv
1 sibling, 0 replies; 13+ messages in thread
From: Jan Djärv @ 2011-11-30 17:48 UTC (permalink / raw)
To: Chong Yidong; +Cc: mario, eggert, 9960, 9772, 10155
30 nov 2011 kl. 09:14 skrev Chong Yidong:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> OK, then let's go with the ifdef conditioning directly in the Emacs
>>> sources.
>>>
>>> But is conditioning on OS X and FreeBSD the right thing? We don't know
>>> if it fails on other BSDs. Since revno 106533 was intended to fix the
>>> MS-WINDOWS build, I think it's better to condition it for WINDOWSNT for
>>> now, as below:
>>>
>>> Eli, WDYT?
>>
>> Fine with me.
>
> Done. Could someone check if compilation on Mac OS X works now?
>
>
It does.
Jan D.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#9772: bug#10155: OSX breakage
2011-11-30 11:15 ` bug#10155: " Mario Lassnig
@ 2011-12-01 16:12 ` Paul Eggert
0 siblings, 0 replies; 13+ messages in thread
From: Paul Eggert @ 2011-12-01 16:12 UTC (permalink / raw)
To: mario; +Cc: Chong Yidong, 9772, 9960, 10155-done
On 11/30/11 03:15, Mario Lassnig wrote:
> Looks good to me. Compiles, installs, runs.
Thanks for checking. I'll mark Bug#10155 as done since the bug
itself is fixed. The cleaner fix for 'environ' can wait until
after Emacs 24 is out.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2011-12-01 16:12 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4ED3AA79.8060605@lassnig.net>
[not found] ` <838vn06swa.fsf@gnu.org>
[not found] ` <4ED3DA30.1050006@cs.ucla.edu>
[not found] ` <871usrh69t.fsf@gnu.org>
2011-11-29 9:28 ` bug#9772: OSX breakage Paul Eggert
2011-11-29 13:56 ` bug#9960: bug#10155: " Stefan Monnier
2011-11-29 16:58 ` Paul Eggert
2011-11-29 17:30 ` bug#9772: " Eli Zaretskii
2011-11-29 18:22 ` bug#9960: " Paul Eggert
2011-11-30 2:45 ` bug#10155: bug#9772: " Chong Yidong
2011-11-30 4:04 ` Eli Zaretskii
2011-11-30 8:14 ` Chong Yidong
2011-11-30 11:15 ` bug#10155: " Mario Lassnig
2011-12-01 16:12 ` Paul Eggert
2011-11-30 17:48 ` bug#10155: " Jan Djärv
2011-11-29 16:39 ` bug#9772: " Eli Zaretskii
2011-11-30 2:27 ` Chong Yidong
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).