From: Paul Eggert Date: Mon, 7 Feb 2011 01:01:26 +0000 (-0800) Subject: gnulib: allow multiple gnulib generated replacements to coexist X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~997^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=595785701d1fe44d8abac5a1454f2468a0482bf0;p=emacs.git gnulib: allow multiple gnulib generated replacements to coexist This defines a few preprocessor symbols that should not affect Emacs. * lib/getopt.in.h, lib/time.in.h, lib/unistd.in.h: Regenerate via "make sync-from-gnulib". --- diff --git a/ChangeLog b/ChangeLog index ec53bb0ecd5..07f01d6207e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2011-02-06 Paul Eggert + gnulib: allow multiple gnulib generated replacements to coexist + This defines a few preprocessor symbols that should not affect Emacs. + * lib/getopt.in.h, lib/time.in.h, lib/unistd.in.h: Regenerate + via "make sync-from-gnulib". + gnulib: undo previous change The upstream _HEADERS change was backed out of gnulib (see the same thread). Stay in sync with gnulib. diff --git a/lib/getopt.in.h b/lib/getopt.in.h index 9b0a9a58bc9..82e2937d6d2 100644 --- a/lib/getopt.in.h +++ b/lib/getopt.in.h @@ -181,6 +181,7 @@ extern int optopt; one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ +# if !GNULIB_defined_struct_option struct option { const char *name; @@ -190,6 +191,8 @@ struct option int *flag; int val; }; +# define GNULIB_defined_struct_option 1 +# endif /* Names for the values of the `has_arg' field of `struct option'. */ diff --git a/lib/time.in.h b/lib/time.in.h index 2d6da7161fb..cb533a46e10 100644 --- a/lib/time.in.h +++ b/lib/time.in.h @@ -69,13 +69,16 @@ extern "C" { # endif -# undef timespec -# define timespec rpl_timespec +# if !GNULIB_defined_struct_timespec +# undef timespec +# define timespec rpl_timespec struct timespec { time_t tv_sec; long int tv_nsec; }; +# define GNULIB_defined_struct_timespec 1 +# endif # ifdef __cplusplus } @@ -84,6 +87,7 @@ struct timespec # endif # endif +# if !GNULIB_defined_struct_time_t_must_be_integral /* Per http://austingroupbugs.net/view.php?id=327, POSIX requires time_t to be an integer type, even though C99 permits floating point. We don't know of any implementation that uses floating @@ -92,6 +96,8 @@ struct timespec struct __time_t_must_be_integral { unsigned int __floating_time_t_unsupported : (time_t) 1; }; +# define GNULIB_defined_struct_time_t_must_be_integral 1 +# endif /* Sleep for at least RQTP seconds unless interrupted, If interrupted, return -1 and store the remaining time into RMTP. See diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 14d685e0c8f..15893d7eecc 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -796,11 +796,14 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void)); # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getpagesize() _gl_getpagesize () # else +# if !GNULIB_defined_getpagesize_function static inline int getpagesize () { return _gl_getpagesize (); } +# define GNULIB_defined_getpagesize_function 1 +# endif # endif # endif # endif