strftime: remove dependencies on multibyte modules
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 18 Jan 2011 17:40:16 +0000 (09:40 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 18 Jan 2011 18:26:59 +0000 (10:26 -0800)
commit1c4cf2052ce432fb10a5405879f3b4d8f672e81c
treeb8fa16b63ae15f9e40bff827638fa37964b9083c
parent3e44a8369ff68484ca037028deecb287a49f9d4d
strftime: remove dependencies on multibyte modules

strftime depended on mbrlen, mbsinit, and wchar, but these modules
are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
only if __osf__ is defined, and I suspect OSF doesn't need these
other modules.  If my guess is wrong, we'll need to come up with a
variant of strftime that doesn't need the multibyte modules.

I discovered this problem when attempting modify Emacs to use the
strftime module.  With the previous gnulib, this caused Emacs to
need 31 new files, ranging from lib/config.charset to
m4/wint_t.m4.  This was overkill and I expect would be offputting
to the Emacs maintainers.  After this change, only 6 new files are
needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
stdbool.m4, and tm_gmtoff.m4.

* lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
and do not check for wchar.h.
* modules/strftime (Files): Remove m4/mbstate_t.m4.
(Depends-on): Remove mbrlen, mbsinit, wchar.
ChangeLog
lib/strftime.c
m4/strftime.m4
modules/strftime