diff --git a/ChangeLog b/ChangeLog
index 3dbd67a..5bd1421 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,536 @@
+2014-07-27 Sergey Poznyakoff
+
+ Version 1.28
+
+2014-07-27 Nathan Stratton Treadway
+
+ Minor change in docstrings. nor ch#
+
+ Restructure the remfiles testsuite.
+
+2014-07-22 Sergey Poznyakoff
+
+ Don't build ttyemu and run tty I/O test if grantpt is not
+ available.
+
+ * configure.ac (TAR_COND_GRANTPT): Define conditional depending
+ on whether grantpt is available.
+ * gnulib.modules: Remove grantpt. It relies upon a helper binary
+ pt_chown which it installs and which is useless in the testsuite.
+ * tests/Makefile.am [TAR_COND_GRANTPT]: Build ttyemu
+ * tests/iotty.at: Skip test if ttyemu is not build.
+ * tests/ttyemu.c (noecho): Fix error message
+ (main): Use TIOCSCTTY if it is defined.
+
+2014-07-22 Benno Schulenberg
+
+ Fix a typo and some wordings in the documentation.
+
+ * doc/tar.texi: Fix some missing articles, and make it clearer
+ that "any" does not mean "anything" but "either of the two".
+
+2014-07-22 Nathan Stratton Treadway
+
+ Fix the testsuite
+
+ * tests/incr07.at: Don't assume case-sensitive filesystem.
+
+2014-07-11 Paul Eggert
+
+ tar: minor fixups related to recent checkpoint.c change
+
+ * src/checkpoint.c (getwidth, format_checkpoint_string):
+ Use long and strtol, not int, to avoid overflow issues.
+ (getwidth): Don't assume termios.h defines TIOCGWINSZ,
+ as it doesn't on some older hosts.
+
+2014-07-11 Sergey Poznyakoff
+
+ Bugfixes
+
+ * gnulib.modules: Add faccessat
+ * src/checkpoint.c: Include termios.h
+
+2014-06-29 Nathan Stratton Treadway
+
+ tar: document xgetcwd test case better
+
+ * src/misc.c (normalize_filename): Add commentary for clarity.
+ * tests/extrac09.at: Retitle test case and add comments for
+ clarity.
+
+2014-06-24 Sergey Poznyakoff
+
+ Fix typos in ChangeLog
+
+ * ChangeLog.CVS: Fix typos.
+ * ChangeLog.amend: New file.
+ * Makefile.am: Define changelog_amend_file.
+
+2014-04-30 Paul Eggert
+
+ tar: do not dereference NULL pointer with '--remove-files .'
+
+ Problem reported by Thorsten Hirsch in:
+ http://lists.gnu.org/archive/html/bug-tar/2014-04/msg00011.html
+ * src/unlink.c (flush_deferred_unlinks):
+ Do not attempt to find the parent of "." when "." is
+ at the top level.
+ * tests/remfiles10.at: New file.
+ * tests/Makefile.am (TESTSUITE_AT):
+ * tests/testsuite.at: Add it.
+
+2014-03-27 Sergey Poznyakoff
+
+ Refuse to write archive contents to a tty.
+
+ * NEWS: Update.
+ * src/buffer.c (_open_archive): Refuse to write to a tty.
+ * tests/iotty.at: Test output to a tty.
+
+2014-03-26 Vitezslav Cizek
+
+ fix an eternal loop in handle_option
+
+ * src/names.c (handle_option): increment loop counter
+
+2014-03-20 Sergey Poznyakoff
+
+ Fail if archive comes from a terminal.
+
+ Based on patch from Pavel Raiskup .
+
+ * gnulib.modules: Add new modules.
+ * src/buffer.c (_open_archive): Refuse to read archive from a tty.
+ * tests/Makefile.am (TESTSUITE_AT): Add iotty.at
+ (check_PROGRAMS): New program ttyemu
+ * tests/testsuite.at: Include iotty.at
+ * tests/iotty.at: New file.
+ * tests/ttyemu.c: New file.
+
+2014-03-13 Paul Eggert
+
+ tar: port to Solaris 9
+
+ Problem reported by Jesse C in:
+ http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00034.html
+ * gnulib.modules: Add strtoimax and strtoumax, since tar invokes
+ these functions directly and they don't exist on Solaris 9.
+
+2014-02-25 Sergey Poznyakoff
+
+ Test the --[no-]recursive options (see commit 2bd9c153_.
+
+ * tests/recurs02.at: New test case.
+ * tests/Makefile.am: Add new file.
+ * tests/testsuite.at: Add new file.
+
+2014-02-22 Sergey Poznyakoff
+
+ Support exclusion patterns from various VCS ignore lists.
+
+ * src/Makefile.am (tar_SOURCES): Add exclist.c
+ * src/common.h (EXCL_DEFAULT, EXCL_RECURSIVE)
+ (EXCL_NON_RECURSIVE): New flags.
+ (excfile_add, info_attach_exclist)
+ (info_cleanup_exclist,info_free_exclist)
+ (exclude_vcs_ignores): New prototypes.
+ * src/create.c (dump_dir0): Call info_attach_exclist.
+ * src/exclist.c: New file.
+ * src/incremen.c (scan_directory): Call info_attach_exclist.
+ * src/names.c (excluded_name): Moved to exclist.c. Change
+ signature.
+ All uses updated.
+ * src/tar.c: New options: --exclude-ignore,
+ --exclude-ignore-recursive
+ and --exclude-vcs-ignores.
+ (tar_stat_destroy): Free exclist.
+ * src/tar.h (tar_stat_info): New member exclude_list.
+
+ * NEWS: Document new exclusion options.
+ * doc/tar.texi: Likewise.
+ * doc/tar.1: Likewise.
+
+2014-02-14 Sergey Poznyakoff
+
+ Fix in testsuite
+
+ * acls03.at: Fix improper invocation of setfacl.
+
+2014-02-14 Pavel Raiskup
+
+ testsuite: add test for buggy default ACLs
+
+ * tests/Makefile.am: Mention acls03.at.
+ * tests/testsuite.at: Likewise.
+ * tests/acls03.at: New testcase.
+
+2014-02-14 Pavel Raiskup
+
+ acls: bugfix for default ACLs extraction
+
+ When --acls option is on (regardless of tarball contents or
+ tarball format), we should explicitly set OR delete default ACLs
+ for extracted directories. Prior to this update, we always
+ created arbitrary default ACLs based standard file permissions.
+
+ * configure.ac (with_posix_acls): Check also for acl_free and
+ acl_delete_def_file to mark IEEE 1003.1e ACLs as supported.
+ * src/xattrs.c (acl_delete_def_file_at): New function.
+ (xattrs__acls_set): Do not treat acls_option at all; Delete
+ default ACLs if appropriate.
+
+ References:
+ http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html
+ Thanks: Juan J. MartÃnez and Mark Steinborn
+
+2014-02-14 Pavel Raiskup
+
+ tar: imply --xattrs when --xattrs-{inc,exc}lude used
+
+ Options --xattrs-include=MASK and --xattrs-exclude=MASK now turn
+ on the --xattrs option.
+
+ Fix also bug in printing in xattrs.c - don't print when option is
+ negative.
+
+ * src/tar.c (set_xattr_option): New static function.
+ (parse_opt): Call new function when --xatrrs, --xattrs-include or
+ --xattrs-exclude option is used.
+ * src/xattrs.c (xattrs_print, xattrs_print_char): Expect positive
+ values in options.
+
+2014-02-14 Sergey Poznyakoff
+
+ THANKS: Add Anthony G. Basile.
+
+2014-02-14 Sergey Poznyakoff
+
+ Use correct headers/libraries when providing xattr support
+
+ See https://savannah.gnu.org/patch/index.php?8252. Patch provided
+ by Anthony G. Basile.
+
+ * acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Look for
+ first and then for . Link against libattr.so if
+ needed.
+ * lib/xattr-at.h: Include sys/xattr.h or attr/xattr.h, depending
+ on which one is detected.
+ * src/Makefile.am [TAR_LIB_ATTR] (tar_LDADD): Link against -lattr.
+
+2014-02-14 Sergey Poznyakoff
+
+ Minor change
+
+ * src/tar.c (decode_options): Silently ignore --one-top-level
+ if used with a non-reading command.
+
+2014-02-14 Sergey Poznyakoff
+
+ New option --sort=ORDER
+
+ This option makes tar sort the entries of directories that will be
+ added to an archive according to ORDER (none, name, or order).
+
+ Based on proposition by Dick Streefland
+ (https://savannah.gnu.org/patch/?7892).
+
+ * src/common.h (savedir_sort_order): New global.
+ * src/create.c: Pass savedir_sort_order to streamsavedir.
+ * src/misc.c: Likewise.
+ * src/tar.c: New option --sort.
+
+ * NEWS: Update.
+ * doc/tar.texi: Document the --sort option.
+ * doc/tar.1: Likewise.
+
+2014-02-13 Sergey Poznyakoff
+
+ Fix the testsuite
+
+ * tests/opcomp01.at: Update expected error messages.
+ * tests/opcomp03.at: Likewise.
+
+2014-02-13 Sergey Poznyakoff
+
+ Fix --one-top-level used together with --list.
+
+ * src/extract.c: Move one_top_level stuff to tar.c
+ (decode_options).
+ * src/tar.c (option_conflict_error): New function.
+ (decode_options): Use option_conflict_error to complain about
+ conflicting options in a uniform manner.
+ Process one_top_level options here.
+ (request_stdin): Fix error message.
+ * tests/onetop04.at: New testcase: check --one-top-level with
+ --list.
+ * tests/Makefile.am: Add new testcase.
+ * tests/testsuite.at: Add new testcase.
+
+2014-02-13 Sergey Poznyakoff
+
+ Fix NEWS
+
+ * NEWS: Remove duplicate description of the --one-top-level
+ option.
+
+2014-02-12 Sergey Poznyakoff
+
+ configure.ac: look for host-prefixed ar
+
+ See https://savannah.gnu.org/patch/?8183
+
+2014-02-10 Sergey Poznyakoff
+
+ Bugfix
+
+ * src/suffix.c (find_compression_suffix): Fix eventual coredump.
+
+2014-02-10 Sergey Poznyakoff
+
+ Fix docs.
+
+2014-02-10 Sergey Poznyakoff
+
+ Update docs.
+
+ * NEWS: Document --one-top-level
+ * THANKS: Mention Connor Behan
+
+2014-01-30 Sergey Poznyakoff
+
+ Update copyright years.
+
+2014-01-28 Sergey Poznyakoff
+
+ Improve one-top-level functionality
+
+ Make sure the changes become visible with
+ --show-transformed-names.
+
+ * src/common.h (strip_compression_suffix): New function.
+ (one_top_level): Rename to one_top_level_dir. All uses changed.
+ * src/extract.c (extr_init): Use strip_compression_suffix.
+ Bail out if unable to determine top-level directory.
+ (maybe_prepend_name): Remove. All uses removed.
+ * src/tar.c (options): --one-top-level takes optional argument.
+ (parse_opt): Handle it.
+ * src/list.c (enforce_one_top_level): New function.
+ (transform_stat_info): Call enforce_one_top_level if required.
+ * src/suffix.c (compression_suffixes): List "tar" (no
+ compression);
+ terminate with NULL entry.
+ (find_compression_suffix): New static.
+ (strip_compression_suffix): New function.
+
+ * doc/tar.1: Update.
+ * doc/tar.texi: Update.
+
+ * tests/onetop01.at: New testcase.
+ * tests/onetop02.at: New testcase.
+ * tests/onetop03.at: New testcase.
+ * tests/Makefile.am: Add new testcases.
+ * tests/testsuite.at: Likewise.
+
+2014-01-27 Connor Behan
+
+ Detect tarbombs while extracting
+
+ * src/common.h (one_top_level_option): New global.
+ (one_top_level): New global.
+ * src/extract.c (extr_init): If one_top_level_option is set,
+ determine
+ the name one_top_level that might have to be prepended.
+ (extract_archive): If one_top_level_option is set, prepend
+ one_top_level
+ to all names that don't already start with it.
+ * src/tar.c (ONE_TOP_LEVEL_OPTION): New contant.
+ (options): New option --one-top-level.
+ (parse_opt): Handle this option.
+ (decode_options): Make it conflict with --absolute-names.
+
+2014-01-27 Sergey Poznyakoff
+
+ Don't install rmt.8 if rmt is not built.
+
+ * doc/Makefile.am [PU_RMT_COND]: Define RMT_8
+ (dist_man_MANS): use RMT_8 instead of the hardcoded rmt.8
+
+2014-01-27 Sergey Poznyakoff
+
+ Provide tar(1) and rmt(8) manpages.
+
+ * NEWS: Update.
+ * doc/Makefile.am: Add manpages.
+ * doc/tar.1: New file.
+
+ * src/tar.c (tar_help_filter): Handle LZOP_OPTION.
+
+2014-01-23 Sergey Poznyakoff
+
+ Make sure transformed file names retain trailing slash in listing.
+
+ * src/list.c (simple_print_header): Print trailing slash
+ if using the transformed name.
+ Use had_trailing_slash instead of analyzing last byte if temp_name
+
+2014-01-22 Sergey Poznyakoff
+
+ checkpoint actions: further improvements.
+
+ * NEWS: Update.
+ * doc/tar.texi: Update.
+ * src/buffer.c (print_stats): Avoid use of additional string
+ buffer.
+ Allow for text to be NULL.
+ Call gettext if it is not.
+ (format_total_stats): Don't use gettext when calling print_stats.
+ * src/checkpoint.c (def_format): Change default format.
+ (format_checkpoint_string): Implement optional arguments for
+ T conversion.
+ (finish_checkpoint_actions): Rename to checkpoint_flush_actions,
+ make extern. All uses changed.
+ * src/common.h (checkpoint_flush_actions): New proto.
+ * src/tar.c (main): Set error_hook
+
+2014-01-22 Sergey Poznyakoff
+
+ Improve checkpoint interface.
+
+ * src/buffer.c (format_total_stats): The format arg is const
+ All uses updated.
+ (default_total_format): const
+ * src/checkpoint.c (tty, tty_cleanup): New static.
+ (format_checkpoint_string): New "canned" format %c
+ (checkpoint_finish): New function.
+ * src/common.h (checkpoint_finish): New proto.
+ * src/tar.c (main): Call checkpoint_finish.`
+
+2014-01-21 Sergey Poznyakoff
+
+ Implement statistics display in checkpoint actions.
+
+ * NEWS: Update.
+ * configure.ac: Version 1.27.90
+ * gnulib.modules: Add fprintftime.
+ * doc/tar.texi: Document the "totals" action and new format
+ specifiers
+ for echo and ttyout checkpoint actions.
+ * src/buffer.c (compute_duration): Return computed value.
+ (print_stats): Don't print trailing newline. Return number of
+ characters output.
+ (format_total_stats): New function.
+ (print_total_stats): Rewrite via format_total_stats.
+ * src/checkpoint.c (checkpoint_opcode) : New opcode.
+ (checkpoint_compile_action): Handle cop_totals.
+ (expand_checkpoint_string): Remove.
+ (format_checkpoint_string): New function to be used instead of
+ expand_checkpoint_string. All callers updated.
+ * src/common.h (TF_READ,TF_WRITE)
+ (TF_DELETED): New constants.
+ (format_total_stats,print_total_stats): New protos.
+
+2014-01-10 Sergey Poznyakoff
+
+ Remove shar archives from distribution.
+
+ These are going to phase out in automake 2.0
+
+2014-01-10 Sergey Poznyakoff
+
+ Fix the use of --no-recursion and --recursion options.
+
+ Each option remains in effect until cancelled by the next
+ ocurrence
+ of its counterpart, as stated in the documentation.
+
+ * src/names.c (name_next_elt): Restore recursion_option from the
+ value of matching_flags.
+
+2014-01-09 Sergey Poznyakoff
+
+ Minor bugfixes
+
+ * src/compare.c (diff_dumpdir): Close descriptor if fstat failed.
+ (diff_multivol): Make sure the descriptor is closed and eventual
+ errors reported if lseek fails.
+ Both reported by Jiri Kukacka.
+
+2014-01-07 Paul Eggert
+
+ tar: work aruond IBM XL C bug
+
+ * src/incremen.c (show_snapshot_field_ranges)
+ (write_directory_file_entry): Use simpler array size expression,
+ one that evaluates to the same value. This works around
+ a compiler
+ bug with IBM XL C. Problem reported by Yannick Bergeron in
+ .
+
+2014-01-03 Paul Eggert
+
+ tar: update ancient configure cruft
+
+ * configure.ac: Use AC_PROG_CC_STDC, not just AC_PROG_CC.
+ Remove obsolete macros AC_ISC_POSIX, AC_HEADER_SYS_WAIT,
+ AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC, AC_TYPE_SIGNAL,
+ AC_TYPE_SIZE_T.
+ * lib/prepargs.c (IN_CTYPE_DOMAIN): Remove. All uses removed.
+ * src/list.c (from_header): Use isspace, not ISSPACE.
+ * src/system.c (pipe_handler, sys_exec_info_script):
+ * src/tar.c (sigstat):
+ Use void, not RETSIGTYPE.
+
+2013-11-17 Sergey Poznyakoff
+
+ Version 1.27.1
+
+2013-11-17 Sergey Poznyakoff
+
+ Fix star compatibility (sparse headers)
+
+ * src/sparse.c (star_get_sparse_info): Update file->dumped_size
+
+2013-11-17 Sergey Poznyakoff
+
+ Fix GNU long link header.
+
+ * src/create.c (write_gnu_long_link): Set timestamp to
+ 0 for backward compatibility. Bug reported by David Barri.
+ * THANKS: Update.
+
+2013-11-17 Sergey Poznyakoff
+
+ Fix unquoting of input file names.
+
+ * src/names.c (read_next_name): Unquote file names coming from the
+ -T argument. Bug reported by Nicolas Dudebout.
+ * THANKS: Update.
+
+2013-10-24 Paul Eggert
+
+ build: fix bug where 'configure --with-posix-acls' disables ACLs
+
+ Reported by Lars Wendler in
+ .
+ * configure.ac (with_posix_acls): Fix typo.
+
+2013-10-23 Paul Eggert
+
+ Fix core dump on Solaris 10 when "." isn't readable.
+
+ Reported by Peter Kruse in
+ .
+ This doesn't fix all the Solaris 10 test failures, just the
+ core dump.
+ * src/common.h, src/misc.c (tar_getcdpath): Now static.
+ * src/misc.c (normalize_filename): Report a fatal error
+ if cdpath is null, since we don't know the absolute name
+ of the working directory in that case. FIXME: there should
+ be no need to know absolute file names.
+ (chdir_arg): Simplify wd allocation.
+ Don't assume that xgetcwd returns non-null.
+
2013-10-06 Sergey Poznyakoff
Version 1.27
@@ -4727,7 +5260,7 @@ along with this program. If not, see .
this has undefined behavior. Likewise for assigning arbitrary
uintmax_t values to other types.
(read_negative_num, read_unsigned_num, read_timespec):
- New functions, to check input values a bit more carefuly.
+ New functions, to check input values a bit more carefully.
(read_num): Use read_unsigned_num. New arg MAX_VAL;
all callers changed.
(read_incr_db_2): Use these new functions.
@@ -4907,7 +5440,7 @@ along with this program. If not, see .
* src/delete.c: Remove second argument from calls to name_scan
* src/update.c: Likewise
* src/incremen.c (procdir): Use is_individual_file to check for
- files explicitely specified in the command line. Fixes bug
+ files explicitly specified in the command line. Fixes bug
reported by Dat Head on 19 Jun 2006 (descending into mountpoints
with --one-file-system in use)
* src/misc.c (maybe_backup_file): Second argument is bool
@@ -4966,7 +5499,7 @@ along with this program. If not, see .
* src/delete.c (records_skipped): Remove static qualifier, the
variable is used by print_total_stats in buffer.c
* src/extract.c (check_time): Use volume_start_time when checking
- for timestamp plausability.
+ for timestamp plausibility.
* src/tar.c: (options, parse_opt): Allow for optional argument to
the --totals option, which specifies a signal upon delivery of which
the statistics must be output.
@@ -5024,7 +5557,7 @@ along with this program. If not, see .
* src/transform.c (set_transform_expr,_transform_name_to_obstack):
Implement NUMBER flag.
- (add_char_segment): Fix length assignement
+ (add_char_segment): Fix length assignment
* doc/tar.texi: Update
@@ -5081,7 +5614,7 @@ along with this program. If not, see .
* doc/tar.texi: Update
* configure.ac (AM_INIT_AUTOMAKE): Use tar-ustar option. Raise
version requirement to 1.9
- * src/common.h (struct name): Refactured
+ * src/common.h (struct name): Refactored
(warn_regex_usage): New variable.
(dump_file): First argument is const char*.
(name_init,name_add): Removed
@@ -5456,13 +5989,13 @@ along with this program. If not, see .
* src/common.h (struct name): New member `explicit'. Remove unused
member `isdir'.
* src/incremen.c (procdir): If name_scan() returns something,
- check if it was explicitely given in the command line
+ check if it was explicitly given in the command line
* src/names.c (addname,add_hierarchy_to_namelist): Initialize
explicit member appropriately.
* src/incremen.c (procdir): If --one-file-system is given and a
directory is found to be on another device, *and* this directory
- is explicitely given in the command line, then do not omit it.
+ is explicitly given in the command line, then do not omit it.
2005-12-11 Sergey Poznyakoff
@@ -5497,7 +6030,7 @@ along with this program. If not, see .
(mode_to_chars, off_to_chars, size_to_chars, time_to_chars)
(uid_to_chars, uintmax_to_chars): Return bool
(to_chars): Return bool
- (start_header): Check return values of convertion routines. Fail
+ (start_header): Check return values of conversion routines. Fail
if unable to store data in the header.
2005-12-07 Sergey Poznyakoff
@@ -5797,13 +6330,13 @@ along with this program. If not, see .
archives.
* src/incremen.c (dumpdir_size, get_gnu_dumpdir): New functions.
(purge_directory): Use stat_info.dumpdir instead of getting its
- value explicitely.
+ value explicitly.
* src/list.c (list_archive): Handle incremental backups in pax
format.
(decode_header): Initialize stat_info.dumpdir
* src/sparse.c (sparse_diff_file): Bugfix: set seekable.
(pax_dump_header): Store sparse map in GNU.sparse.map. If this
- variable has been explicitely deleted, use GNU.sparse.offset/
+ variable has been explicitly deleted, use GNU.sparse.offset/
GNU.sparse.numbytes variables.
* src/tar.c (decode_options): Incremental options are allowed with
--format=pax
@@ -5881,7 +6414,7 @@ along with this program. If not, see .
* bootstrap: Fix quoting in help output.
(update_po): Use backward-compatible wget option --cache instead
- of deprecated -C to accomodate for wget 1.10.
+ of deprecated -C to accommodate for wget 1.10.
Changes proposed by Eric Blake
* THANKS: Add Eric Blake
@@ -6432,7 +6965,7 @@ along with this program. If not, see .
* src/list.c: Likewise
* tests/multiv03.at: Modified to match the new behavior
- * tests/multiv04.at: New file. Test splittind directory members between
+ * tests/multiv04.at: New file. Test splitting directory members between
the archive volumes.
* tests/Makefile.am: Add multiv04.at
* tests/testsuite.at: Likewise.
@@ -8186,7 +8719,7 @@ along with this program. If not, see .
* src/create.c: Do not zero-terminate name field if
the name is exactly 100 characters long.
- (write_ustar_long_name): Fixed cheking for unsplittable
+ (write_ustar_long_name): Fixed checking for unsplittable
names.
2003-11-14 Sergey Poznyakoff
@@ -8883,7 +9416,7 @@ along with this program. If not, see .
interface.
(child_open_for_compress): Do not increase size to BLOCKSIZE.
(open_archive): Open index file name.
- Strip trailing slahes from file names.
+ Strip trailing slashes from file names.
(flush_write): Set size to 0 if not saving names.
(flush_write, flush_read): Use safer_name_suffix rather than
inline code.
@@ -9716,7 +10249,7 @@ along with this program. If not, see .
(decode_options): Dates that look like an absolute path name,
or that start with '.', are presumed to be file names whose
dates are taken.
- Remove 'I' as an aliase for 'T'.
+ Remove 'I' as an alias for 'T'.
Update copyright.
* src/extract.c (): Do not include; system.h now does this.
diff --git a/INSTALL b/INSTALL
index 007e939..2099840 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,8 +12,8 @@ without warranty of any kind.
Basic Installation
==================
- Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package. The following
+ Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
diff --git a/Makefile.am b/Makefile.am
index 0fea308..96505c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Main Makefile for GNU tar.
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013 Free Software
-# Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free
+# Software Foundation, Inc.
# This file is part of GNU tar.
@@ -36,3 +36,4 @@ include Make.rules
gen_start_date = 2009-03-06
prev_change_log = ChangeLog.CVS
changelog_dir = .
+changelog_amend_file=ChangeLog.amend
diff --git a/Makefile.in b/Makefile.in
index 907819f..f9f1d1d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.6 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,8 @@
# Main Makefile for GNU tar.
-# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013 Free Software
-# Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2007, 2009, 2013-2014 Free
+# Software Foundation, Inc.
# This file is part of GNU tar.
@@ -79,23 +79,51 @@
# gen_start_date [optional] Start ChangeLog from this date.
# changelog_dir [mandatory] Directory where to create ChangeLog
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
esac; \
- test $$am__dry = yes; \
- }
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -113,26 +141,26 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Make.rules \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/build-aux/compile \
+DIST_COMMON = $(srcdir)/Make.rules INSTALL NEWS README AUTHORS \
+ ChangeLog THANKS $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in ABOUT-NLS COPYING TODO build-aux/compile \
+ build-aux/config.guess build-aux/config.rpath \
+ build-aux/config.sub build-aux/depcomp build-aux/install-sh \
+ build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex \
+ build-aux/ylwrap $(top_srcdir)/build-aux/compile \
$(top_srcdir)/build-aux/config.guess \
$(top_srcdir)/build-aux/config.rpath \
$(top_srcdir)/build-aux/config.sub \
$(top_srcdir)/build-aux/install-sh \
- $(top_srcdir)/build-aux/missing $(top_srcdir)/configure \
- ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \
- build-aux/compile build-aux/config.guess \
- build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
- build-aux/install-sh build-aux/mdate-sh build-aux/missing \
- build-aux/texinfo.tex build-aux/ylwrap
+ $(top_srcdir)/build-aux/missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
+ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
@@ -144,9 +172,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
- $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \
- $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \
+ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \
+ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
+ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
@@ -158,19 +187,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
- $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
- $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \
+ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getline.m4 \
+ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 \
+ $(top_srcdir)/m4/group-member.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
- $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
- $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
+ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libunistring-base.m4 \
$(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
$(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
@@ -196,19 +227,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
- $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
- $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
- $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
- $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \
- $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \
- $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
- $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
- $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \
+ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \
+ $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \
+ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \
+ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rewinddir.m4 \
+ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+ $(top_srcdir)/m4/secure_getenv.m4 \
$(top_srcdir)/m4/selinux-context-h.m4 \
$(top_srcdir)/m4/selinux-selinux-h.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \
@@ -221,20 +254,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
- $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
- $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \
- $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
- $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
- $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \
$(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
- $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
- $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \
- $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+ $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \
$(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
@@ -270,13 +306,14 @@ am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -284,9 +321,30 @@ am__can_run_installinfo = \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
@@ -326,10 +384,9 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz \
- $(distdir).shar.gz
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz
GZIP_ENV = --best
-DIST_TARGETS = dist-xz dist-shar dist-bzip2 dist-gzip
+DIST_TARGETS = dist-xz dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -901,6 +958,7 @@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_ACL = @LIB_ACL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_EACCESS = @LIB_EACCESS@
LIB_SELINUX = @LIB_SELINUX@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1016,11 +1074,13 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1029,6 +1089,7 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -1095,6 +1156,7 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
@@ -1122,6 +1184,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RSH = @RSH@
+SED = @SED@
SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -1159,6 +1222,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -1203,6 +1267,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1217,6 +1282,7 @@ SUBDIRS = doc gnu lib rmt src scripts po tests
gen_start_date = 2009-03-06
prev_change_log = ChangeLog.CVS
changelog_dir = .
+changelog_amend_file = ChangeLog.amend
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -1258,8 +1324,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -1278,14 +1344,13 @@ distclean-hdr:
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
@@ -1306,31 +1371,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1346,12 +1393,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -1363,15 +1405,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -1380,18 +1418,16 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
clean-cscope:
-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
-cscope.files: clean-cscope cscopelist-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
@@ -1496,9 +1532,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
+
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -1700,26 +1743,23 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-cscope \
- clean-generic cscope cscopelist cscopelist-recursive ctags \
- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
- dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
- distclean distclean-generic distclean-hdr distclean-local \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+.MAKE: $(am__recursive_targets) all install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-generic distclean-hdr \
+ distclean-local distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+ tags-am uninstall uninstall-am
dist-hook:
diff --git a/NEWS b/NEWS
index ffeb4b8..32bc881 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,86 @@
-GNU tar NEWS - User visible changes. 2013-10-05
+GNU tar NEWS - User visible changes. 2014-07-27
Please send GNU tar bug reports to
+
+version 1.28, 2014-07-28
+
+* New checkpoint action: totals
+
+The --checkpoint-action=totals option instructs tar to output the
+total number of bytes transferred at each checkpoint.
+
+* Extended checkpoint format specification.
+
+New conversion specifiers are implemented. Some of them take
+optional arguments, supplied in curly braces between the percent
+sign and the specifier letter.
+
+ %d - Number of seconds since tar started.
+ %{r,w,d}T - I/O totals; optional arguments supply prefixes
+ to be used before number of bytes read, written and
+ deleted, correspondingly.
+ %{FMT}t - Current local time using FMT as strftime(3) format.
+ If {FMT} is omitted, use %c.
+ %{N}* - Pad output with spaces to the Nth column, or to the
+ current screen width, if {N} is not given.
+ %c - A shortcut for "%{%Y-%m-%d %H:%M:%S}t: %ds, %{read,wrote}T%*\r"
+
+* New option --one-top-level
+
+The option --one-top-level tells tar to extract all files into a
+subdirectory named by the base name of the archive (minus standard
+compression suffixes recognizable by --auto-compress). When used with
+an argument, as in --one-top-level=DIR, the files are extracted into the
+supplied DIRectory. This ensures that no archive members are
+extracted outside of the specified directory, even if the archive is
+crafted so as to put them elsewhere.
+
+* New option --sort
+
+The --sort=ORDER option instructs tar to sort directory entries
+according to ORDER. It takes effect when creating archives.
+Available ORDERs are: none (the default), name and inode. The
+latter may be absent, if the underlying system does not provide
+the necessary information.
+
+Using --sort=name ensures the member ordering in the created archive
+is uniform and reproducible. Using --sort=inode reduces the number
+of disk seeks made when creating the archive and thus can considerably
+speed up archivation.
+
+* New exclusion options
+
+ --exclude-ignore=FILE Before dumping a directory check if it
+ contains FILE, and if so read exclude
+ patterns for this directory from FILE.
+ --exclude-ignore-recursive=FILE
+ Same as above, but the exclusion patterns
+ read from FILE remain in effect for any
+ subdirectory, recursively.
+ --exclude-vcs-ignores Read exclude tags from VCS ignore files,
+ where such files exist. Supported VCS's
+ are: CVS, Git, Bazaar, Mercurial.
+
+
+* Tar refuses to read input from and write output to a tty device.
+
+* Manpages
+
+This release includes official tar(1) and rmt(8) manpages.
+Distribution maintainers are kindly asked to use these instead of the
+home-made pages they have been providing so far.
+
+
+version 1.27.1 - Sergey Poznyakoff, 2013-11-17
+
+* Bug fixes
+
+* Fix unquoting of file names obtained via the -T option.
+
+* Fix GNU long link header timestamp (backward compatibility).
+
+* Fix extracting sparse members from star archives.
+
version 1.27 - Sergey Poznyakoff, 2013-10-05
@@ -1425,7 +1505,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason.
-Copyright 1994-2001, 2003-2010, 2013 Free Software Foundation, Inc.
+Copyright 1994-2001, 2003-2010, 2013-2014 Free Software Foundation, Inc.
This file is part of GNU tar.
diff --git a/README b/README
index 9c60103..b3895b0 100644
--- a/README
+++ b/README
@@ -222,7 +222,7 @@ and share your findings by writing to .
* Copying
-Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2013 Free
+Copyright 1990-1992, 1994, 1997-2001, 2003-2004, 2007, 2012-2014 Free
Software Foundation, Inc.
This file is part of GNU tar.
diff --git a/THANKS b/THANKS
index 79aa0ce..b4c5427 100644
--- a/THANKS
+++ b/THANKS
@@ -36,6 +36,7 @@ Andrew Torda torda@igc.chem.ethz.ch
Andrey A. Chernov ache@astral.msk.su
Andy Gay andy@rdl.co.uk
Antonio Jose Coutinho ajc@di.uminho.pt
+Anthony G. Basile blueness@gentoo.org
Ariel Faigon ariel@engr.sgi.com
Arne Wichmann aw@math.uni-sb.de
Arnold Robbins arnold@gnu.org
@@ -101,6 +102,7 @@ Claude Scarpelli claude@genethon.fr
Claus Heine Claus_Heine@ac2.maus.de
Cliff Krumvieda cliff@cs.cornell.edu
Clinton Carr clint@netcom.com
+Connor Behan connor.behan@gmail.com
Conrad Hughes chughes@maths.tcd.ie
Constantin Belous const@cris.net
Coranth Gryphon gryphon@bur.visidyne.com
@@ -119,6 +121,7 @@ Danny R. Johnston danny@cs.weber.edu
Dave Barr barr@math.psu.edu
Dave Gentzel gentzel@nova.enet.dec.com
Dave Gregorich dtg@ipac.caltech.edu
+David Barri japgolly@gmail.com
David Brown davidb@davidb.org
David J. MacKenzie djm@uunet.uu.net
David Johnson David.W.Johnson@colorado.edu
@@ -368,6 +371,7 @@ Neil Faulks neil@dcs.kcl.ac.uk
Neil Jerram nj104@cus.cam.ac.uk
Nelson H.F. Beebe beebe@math.utah.edu
Nick Barron nikb@cix.compulink.co.uk
+Nicolas Dudebout nicolas.dudebout@gmail.com
Noah Friedman friedman@gnu.org
Noel Cragg noel@red-bean.com
Norbert Kiesel norbert@rwthi3.informatik.rwth-aachen.de
diff --git a/TODO b/TODO
index c8ed3c9..c56d335 100644
--- a/TODO
+++ b/TODO
@@ -45,7 +45,7 @@ Suggestions for improving GNU tar.
* Copyright notice
-Copyright 2003, 2004, 2007, 2013 Free Software Foundation, Inc.
+Copyright 2003-2004, 2007, 2013-2014 Free Software Foundation, Inc.
This file is part of GNU tar.
diff --git a/acinclude.m4 b/acinclude.m4
index d48c881..3b28b3b 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,6 +1,6 @@
dnl Special Autoconf macros for GNU tar -*- autoconf -*-
-dnl Copyright 2009, 2013 Free Software Foundation, Inc.
+dnl Copyright 2009, 2013-2014 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU tar.
dnl
@@ -37,18 +37,40 @@ AC_DEFUN([TAR_HEADERS_ATTR_XATTR_H],
[], [with_xattrs=maybe]
)
- AC_CHECK_HEADERS([attr/xattr.h])
- AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes])
- if test "$ac_cv_header_attr_xattr_h" = yes; then
+ # First check for
+ AC_CHECK_HEADERS([sys/xattr.h])
+ AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_sys_xattr_h" = yes])
+ AM_CONDITIONAL([TAR_LIB_ATTR],[false])
+ if test "$ac_cv_header_sys_xattr_h" = yes; then
AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \
setxattr fsetxattr lsetxattr \
listxattr flistxattr llistxattr,
# only when functions are present
- AC_DEFINE([HAVE_ATTR_XATTR_H], [1],
- [define to 1 if we have header])
+ AC_DEFINE([HAVE_SYS_XATTR_H], [1],
+ [define to 1 if we have header])
if test "$with_xattrs" != no; then
AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
fi
)
fi
+
+ # If is not found, then check for
+ if test "$ac_cv_header_sys_xattr_h" != yes; then
+ AC_CHECK_HEADERS([attr/xattr.h])
+ AM_CONDITIONAL([TAR_COND_XATTR_H],[test "$ac_cv_header_attr_xattr_h" = yes])
+ AC_CHECK_LIB([attr],[fgetxattr])
+ AM_CONDITIONAL([TAR_LIB_ATTR],[test "$ac_cv_lib_attr_fgetxattr" = yes])
+ if test "$ac_cv_header_attr_xattr_h" = yes; then
+ AC_CHECK_FUNCS(getxattr fgetxattr lgetxattr \
+ setxattr fsetxattr lsetxattr \
+ listxattr flistxattr llistxattr,
+ # only when functions are present
+ AC_DEFINE([HAVE_ATTR_XATTR_H], [1],
+ [define to 1 if we have header])
+ if test "$with_xattrs" != no; then
+ AC_DEFINE([HAVE_XATTRS],,[Define when we have working linux xattrs.])
+ fi
+ )
+ fi
+ fi
])
diff --git a/aclocal.m4 b/aclocal.m4
index 30203bd..0e09589 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.12.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.14 -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -11,6 +11,7 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
@@ -19,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -31,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12.6], [],
+m4_if([$1], [1.14], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12.6])dnl
+[AM_AUTOMAKE_VERSION([1.14])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +111,7 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +142,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -332,7 +333,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -343,7 +344,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -372,7 +373,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
@@ -408,7 +409,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -417,6 +418,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -429,7 +436,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -459,8 +466,7 @@ AC_SUBST([CYGPATH_W])
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[AC_DIAGNOSE([obsolete],
-[$0: two- and three-arguments forms are deprecated. For more info, see:
-http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+ [$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
@@ -514,22 +520,60 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-dnl Support for Objective C++ was only introduced in Autoconf 2.65,
-dnl but we still cater to Autoconf 2.62.
-m4_ifdef([AC_PROG_OBJCXX],
-[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard:
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: .
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -537,7 +581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -559,7 +602,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -580,7 +623,7 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -601,7 +644,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -649,41 +692,9 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -698,8 +709,8 @@ AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -712,8 +723,8 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN(['missing' script is too old or missing])
@@ -722,7 +733,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -751,7 +762,54 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -770,7 +828,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -851,7 +909,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -911,7 +969,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -939,7 +997,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -958,7 +1016,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -977,81 +1035,120 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/00gnulib.m4])
+m4_include([m4/absolute-header.m4])
m4_include([m4/acl.m4])
m4_include([m4/alloca.m4])
m4_include([m4/argp.m4])
@@ -1080,9 +1177,11 @@ m4_include([m4/eealloc.m4])
m4_include([m4/environ.m4])
m4_include([m4/errno_h.m4])
m4_include([m4/error.m4])
+m4_include([m4/euidaccess.m4])
m4_include([m4/exponentd.m4])
m4_include([m4/extensions.m4])
m4_include([m4/extern-inline.m4])
+m4_include([m4/faccessat.m4])
m4_include([m4/fchdir.m4])
m4_include([m4/fchmodat.m4])
m4_include([m4/fchownat.m4])
@@ -1105,6 +1204,7 @@ m4_include([m4/getcwd-path-max.m4])
m4_include([m4/getcwd.m4])
m4_include([m4/getdelim.m4])
m4_include([m4/getdtablesize.m4])
+m4_include([m4/getgroups.m4])
m4_include([m4/getline.m4])
m4_include([m4/getopt.m4])
m4_include([m4/getpagesize.m4])
@@ -1114,6 +1214,7 @@ m4_include([m4/gettimeofday.m4])
m4_include([m4/glibc21.m4])
m4_include([m4/gnulib-common.m4])
m4_include([m4/gnulib-comp.m4])
+m4_include([m4/group-member.m4])
m4_include([m4/human.m4])
m4_include([m4/iconv.m4])
m4_include([m4/include_next.m4])
@@ -1123,6 +1224,7 @@ m4_include([m4/inttostr.m4])
m4_include([m4/inttypes-pri.m4])
m4_include([m4/inttypes.m4])
m4_include([m4/inttypes_h.m4])
+m4_include([m4/isatty.m4])
m4_include([m4/iswblank.m4])
m4_include([m4/langinfo_h.m4])
m4_include([m4/largefile.m4])
@@ -1180,9 +1282,12 @@ m4_include([m4/parse-datetime.m4])
m4_include([m4/pathmax.m4])
m4_include([m4/paxutils.m4])
m4_include([m4/po.m4])
+m4_include([m4/posix_openpt.m4])
m4_include([m4/printf.m4])
m4_include([m4/priv-set.m4])
m4_include([m4/progtest.m4])
+m4_include([m4/ptsname.m4])
+m4_include([m4/ptsname_r.m4])
m4_include([m4/quote.m4])
m4_include([m4/quotearg.m4])
m4_include([m4/raise.m4])
@@ -1228,11 +1333,14 @@ m4_include([m4/strcase.m4])
m4_include([m4/strchrnul.m4])
m4_include([m4/strdup.m4])
m4_include([m4/strerror.m4])
+m4_include([m4/strftime.m4])
m4_include([m4/string_h.m4])
m4_include([m4/strings_h.m4])
m4_include([m4/strndup.m4])
m4_include([m4/strnlen.m4])
+m4_include([m4/strtoimax.m4])
m4_include([m4/strtol.m4])
+m4_include([m4/strtoll.m4])
m4_include([m4/strtoul.m4])
m4_include([m4/strtoull.m4])
m4_include([m4/strtoumax.m4])
@@ -1249,12 +1357,14 @@ m4_include([m4/time_h.m4])
m4_include([m4/time_r.m4])
m4_include([m4/timespec.m4])
m4_include([m4/tm_gmtoff.m4])
+m4_include([m4/ttyname_r.m4])
m4_include([m4/unistd-safer.m4])
m4_include([m4/unistd_h.m4])
m4_include([m4/unlink.m4])
m4_include([m4/unlinkat.m4])
m4_include([m4/unlinkdir.m4])
m4_include([m4/unlocked-io.m4])
+m4_include([m4/unlockpt.m4])
m4_include([m4/utimbuf.m4])
m4_include([m4/utimens.m4])
m4_include([m4/utimensat.m4])
diff --git a/build-aux/compile b/build-aux/compile
index 718dc6d..531136b 100755
--- a/build-aux/compile
+++ b/build-aux/compile
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey .
#
# This program is free software; you can redistribute it and/or modify
diff --git a/build-aux/config.guess b/build-aux/config.guess
index b79252d..1f5c50c 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 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."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -826,7 +826,7 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -969,10 +969,10 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1260,16 +1260,26 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1371,6 @@ EOF
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <
-# include
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <, 1996
#
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 8b612ab..5d7d62f 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2013-04-24'
+timestamp='2014-03-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 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."
@@ -257,7 +257,7 @@ case $basic_machine in
| avr | avr32 \
| be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
@@ -265,6 +265,7 @@ case $basic_machine in
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -295,8 +296,7 @@ case $basic_machine in
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or1k | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@@ -324,7 +324,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -372,7 +372,7 @@ case $basic_machine in
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -381,6 +381,7 @@ case $basic_machine in
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@@ -413,6 +414,7 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -794,7 +796,7 @@ case $basic_machine in
os=-mingw64
;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -830,7 +832,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1546,6 +1548,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
@@ -1589,9 +1594,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
new file mode 100644
index 0000000..1049375
--- /dev/null
+++ b/build-aux/git-log-fix
@@ -0,0 +1,9 @@
+# This file is expected to be used via gitlog-to-changelog's --amend=FILE
+# option. It specifies what changes to make to each given SHA1's commit
+# log and metadata, using Perl-eval'able expressions.
+
+# Here is an example, with leading "#" to comment it out:
+#
+#3a169f4c5d9159283548178668d2fae6fced3030
+## fix title:
+#s/all tile types/all file types/
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index e02d34c..78afff4 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -9,7 +9,7 @@ my $VERSION = '2012-07-29 06:11'; # UTC
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 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
diff --git a/build-aux/install-sh b/build-aux/install-sh
index 377bb86..0436737 100755
--- a/build-aux/install-sh
+++ b/build-aux/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-10-30.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
@@ -137,40 +122,39 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
@@ -223,16 +207,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -270,40 +254,14 @@ do
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
@@ -314,74 +272,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -391,53 +349,51 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -472,15 +428,12 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -493,24 +446,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
diff --git a/build-aux/missing b/build-aux/missing
index 9a55648..cdea514 100755
--- a/build-aux/missing
+++ b/build-aux/missing
@@ -1,10 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2012-06-26.16; # UTC
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard , 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard , 1996.
# 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
@@ -29,61 +29,33 @@ if test $# -eq 0; then
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, 'missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file 'aclocal.m4'
- autoconf touch file 'configure'
- autoheader touch file 'config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all 'Makefile.in' files
- bison create 'y.tab.[ch]', if possible, from existing .[ch]
- flex create 'lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create 'lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create 'y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
@@ -98,228 +70,141 @@ Send bug reports to ."
;;
-*)
- echo 1>&2 "$0: Unknown '$1' option"
+ echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running '$TOOL --version' or '$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acinclude.m4' or '${configure_ac}'. You might want
- to install the Automake and Perl packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified '${configure_ac}'. You might want to install the
- Autoconf and GNU m4 packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'acconfig.h' or '${configure_ac}'. You might want
- to install the Autoconf and GNU m4 packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
- You might want to install the Automake and Perl packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: '$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get '$1' as part of Autoconf from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: '$1' $msg. You should only need it if
- you modified a '.y' file. You may need the Bison package
- in order for those modifications to take effect. You can get
- Bison from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.l' file. You may need the Flex package
- in order for those modifications to take effect. You can get
- Flex from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- Help2man package in order for those modifications to take
- effect. You can get Help2man from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: '$1' is $msg. You should only need it if
- you modified a '.texi' or '.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy 'make' (AIX,
- DU, IRIX). You might want to install the Texinfo package or
- the GNU make package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
- *)
- echo 1>&2 "\
-WARNING: '$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the 'README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing '$1' program."
- exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'automa4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
;;
-esac
-
-exit 0
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 8007f07..8111780 100644
--- a/build-aux/snippet/arg-nonnull.h
+++ b/build-aux/snippet/arg-nonnull.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
index 7b0e540..047a78a 100644
--- a/build-aux/snippet/c++defs.h
+++ b/build-aux/snippet/c++defs.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* C++ compatible function declaration macros.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 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
diff --git a/build-aux/snippet/unused-parameter.h b/build-aux/snippet/unused-parameter.h
index f30ef47..d2d0e74 100644
--- a/build-aux/snippet/unused-parameter.h
+++ b/build-aux/snippet/unused-parameter.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A C macro for declaring that specific function parameters are not used.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
index e760dbc..feb1063 100644
--- a/build-aux/snippet/warn-on-use.h
+++ b/build-aux/snippet/warn-on-use.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 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
diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex
index 3427d2a..0f2673c 100644
--- a/build-aux/texinfo.tex
+++ b/build-aux/texinfo.tex
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2013-06-23.10}
+\def\texinfoversion{2014-03-17.07}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -281,9 +281,9 @@
\toks6=\expandafter{\prevsectiondefs}%
\toks8=\expandafter{\lastcolordefs}%
\mark{%
- \the\toks0 \the\toks2
- \noexpand\or \the\toks4 \the\toks6
- \noexpand\else \the\toks8
+ \the\toks0 \the\toks2 % 0: top marks (\last...)
+ \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...)
+ \noexpand\else \the\toks8 % 2: color marks
}%
}
% \topmark doesn't work for the very first chapter (after the title
@@ -322,10 +322,13 @@
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
+ \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
+ %
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
- \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+ \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
+ %
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
- \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+ \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
%
{%
% Have to do this stuff outside the \shipout because we want it to
@@ -1135,10 +1138,12 @@
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex,
+ % Color manipulation macros using ideas from pdfcolor.tex,
% except using rgb instead of cmyk; the latter is said to render as a
% very dark gray on-screen and a very dark halftone in print, instead
- % of actual black.
+ % of actual black. The dark red here is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing. We use
+ % black by default, though.
\def\rgbDarkRed{0.50 0.09 0.12}
\def\rgbBlack{0 0 0}
%
@@ -1248,10 +1253,9 @@
% used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
%
- % by default, use a color that is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\rgbDarkRed}
- \def\linkcolor{\rgbDarkRed}
+ % by default, use black for everything.
+ \def\urlcolor{\rgbBlack}
+ \def\linkcolor{\rgbBlack}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
@@ -2377,8 +2381,10 @@
\ifx\next,%
\else\ifx\next-%
\else\ifx\next.%
+ \else\ifx\next\.%
+ \else\ifx\next\comma%
\else\ptexslash
- \fi\fi\fi
+ \fi\fi\fi\fi\fi
\aftersmartic
}
@@ -2519,7 +2525,9 @@
\ifx\codedashprev\codedash
\else \discretionary{}{}{}\fi
\fi
- \global\let\codedashprev=\next
+ % we need the space after the = for the case when \next itself is a
+ % space token; it would get swallowed otherwise. As in @code{- a}.
+ \global\let\codedashprev= \next
}
}
\def\normaldash{-}
@@ -2567,37 +2575,21 @@
\let\file=\code
\let\option=\code
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url.
-% (This \urefnobreak definition isn't used now, leaving it for a while
-% for comparison.)
-\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
-\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
+% @uref (abbreviation for `urlref') aka @url takes an optional
+% (comma-separated) second argument specifying the text to display and
+% an optional third arg as text to display instead of (rather than in
+% addition to) the url itself. First (mandatory) arg is the url.
+
+% TeX-only option to allow changing PDF output to show only the second
+% arg (if given), and not the url (which is then just the link target).
+\newif\ifurefurlonlylink
-% This \urefbreak definition is the active one.
+% The main macro is \urefbreak, which allows breaking at expected
+% places within the url. (There used to be another version, which
+% didn't support automatic breaking.)
\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
\let\uref=\urefbreak
+%
\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
\unsepspaces
@@ -2606,12 +2598,19 @@
\ifdim\wd0 > 0pt
\unhbox0 % third arg given, show only that
\else
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}% look for second arg
\ifdim\wd0 > 0pt
\ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
+ \ifurefurlonlylink
+ % PDF plus option to not display url, show just arg
+ \unhbox0
+ \else
+ % PDF, normally display both arg and url for consistency,
+ % visibility, if the pdf is eventually used to print, etc.
+ \unhbox0\ (\urefcode{#1})%
+ \fi
\else
- \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
\fi
\else
\urefcode{#1}% only url given, so show it
@@ -2651,8 +2650,10 @@
% we put a little stretch before and after the breakable chars, to help
% line breaking of long url's. The unequal skips make look better in
% cmtt at least, especially for dots.
-\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
-\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
+\def\urefprestretchamount{.13em}
+\def\urefpoststretchamount{.1em}
+\def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax}
+\def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax}
%
\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
\def\urefcodedot{\urefprestretch .\urefpoststretch}
@@ -2887,6 +2888,15 @@
\def\inlinefmtname{#1}%
\ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
}
+%
+% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+% FMTNAME is tex, else ELSE-TEXT.
+\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi
+}
+%
% For raw, must switch into @tex before parsing the argument, to avoid
% setting catcodes prematurely. Doing it this way means that, for
% example, @inlineraw{html, foo{bar} gets a parse error instead of being
@@ -2903,6 +2913,23 @@
\endgroup % close group opened by \tex.
}
+% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set.
+%
+\long\def\inlineifset#1{\doinlineifset #1,\finish}
+\long\def\doinlineifset#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax
+ \else\ignorespaces#2\fi
+}
+
+% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set.
+%
+\long\def\inlineifclear#1{\doinlineifclear #1,\finish}
+\long\def\doinlineifclear#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi
+}
+
\message{glyphs,}
% and logos.
@@ -3658,7 +3685,7 @@
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
%
- % Try typesetting the item mark that if the document erroneously says
+ % Try typesetting the item mark so that if the document erroneously says
% something like @itemize @samp (intending @table), there's an error
% right away at the @itemize. It's not the best error message in the
% world, but it's better than leaving it to the @item. This means if
@@ -3908,19 +3935,23 @@
}
% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry. \everycr resets \everytab so we don't have to
+%
+% @headitem starts a heading row, which we typeset in bold. Assignments
+% have to be global since we are inside the implicit group of an
+% alignment entry. \everycr below resets \everytab so we don't have to
% undo it ourselves.
\def\headitemfont{\b}% for people to use in the template row; not changeable
\def\headitem{%
\checkenv\multitable
\crcr
+ \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
\the\everytab % for the first item
}%
%
+% default for tables with no headings.
+\let\headitemcrhook=\relax
+%
% A \tab used to include \hskip1sp. But then the space in a template
% line is not enough. That is bad. So let's go back to just `&' until
% we again encounter the problem the 1sp was intended to solve.
@@ -3951,15 +3982,15 @@
%
\everycr = {%
\noalign{%
- \global\everytab={}%
+ \global\everytab={}% Reset from possible headitem.
\global\colcount=0 % Reset the column counter.
- % Check for saved footnotes, etc.
+ %
+ % Check for saved footnotes, etc.:
\checkinserts
- % Keeps underfull box messages off when table breaks over pages.
- %\filbreak
- % Maybe so, but it also creates really weird page breaks when the
- % table breaks over pages. Wouldn't \vfil be better? Wait until the
- % problem manifests itself, so it can be fixed for real --karl.
+ %
+ % Perhaps a \nobreak, then reset:
+ \headitemcrhook
+ \global\let\headitemcrhook=\relax
}%
}%
%
@@ -4198,7 +4229,7 @@
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
- \catcode`\- = \active \catcode`\_ = \active
+ \catcode`\-=\active \catcode`\_=\active
%
\gdef\makevalueexpandable{%
\let\value = \expandablevalue
@@ -4218,7 +4249,12 @@
% variable's value contains other Texinfo commands, it's almost certain
% it will fail (although perhaps we could fix that with sufficient work
% to do a one-level expansion on the result, instead of complete).
-%
+%
+% Unfortunately, this has the consequence that when _ is in the *value*
+% of an @set, it does not print properly in the roman fonts (get the cmr
+% dot accent at position 126 instead). No fix comes to mind, and it's
+% been this way since 2003 or earlier, so just ignore it.
+%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
{[No value for ``#1'']}%
@@ -4396,7 +4432,7 @@
% complicated, when \tex is in effect and \{ is a \delimiter again.
% We can't use \lbracecmd and \rbracecmd because texindex assumes
% braces and backslashes are used only as delimiters. Perhaps we
- % should define @lbrace and @rbrace commands a la @comma.
+ % should use @lbracechar and @rbracechar?
\def\{{{\tt\char123}}%
\def\}{{\tt\char125}}%
%
@@ -4417,8 +4453,7 @@
% @end macro
% ...
% @funindex commtest
- %
- % The above is not enough to reproduce the bug, but it gives the flavor.
+ % This is not enough to reproduce the bug, but it gives the flavor.
%
% Sample whatsit resulting:
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
@@ -4619,8 +4654,21 @@
\definedummyword\verb
\definedummyword\w
\definedummyword\xref
+ %
+ % Consider:
+ % @macro mkind{arg1,arg2}
+ % @cindex \arg2\
+ % @end macro
+ % @mkind{foo, bar}
+ % The space after the comma will end up in the temporary definition
+ % that we make for arg2 (see \parsemargdef ff.). We want all this to be
+ % expanded for the sake of the index, so we end up just seeing "bar".
+ \let\xeatspaces = \eatspaces
}
+% For testing: output @{ and @} in index sort strings as \{ and \}.
+\newif\ifusebracesinindexes
+
% \indexnofonts is used when outputting the strings to sort the index
% by, and when constructing control sequence names. It eliminates all
% control sequences and just writes whatever the best ASCII sort string
@@ -4649,11 +4697,16 @@
% Unfortunately, texindex is not prepared to handle braces in the
% content at all. So for index sorting, we map @{ and @} to strings
% starting with |, since that ASCII character is between ASCII { and }.
- \def\{{|a}%
- \def\lbracechar{|a}%
+ \ifusebracesinindexes
+ \def\lbracechar{\lbracecmd}%
+ \def\rbracechar{\rbracecmd}%
+ \else
+ \def\lbracechar{|a}%
+ \def\rbracechar{|b}%
+ \fi
+ \let\{=\lbracechar
+ \let\}=\rbracechar
%
- \def\}{|b}%
- \def\rbracechar{|b}%
%
% Non-English letters.
\def\AA{AA}%
@@ -5905,7 +5958,7 @@
%
% Now the second mark, after the heading break. No break points
% between here and the heading.
- \let\prevsectiondefs=\lastsectiondefs
+ \global\let\prevsectiondefs=\lastsectiondefs
\domark
%
% Only insert the space after the number if we have a section number.
@@ -6272,8 +6325,8 @@
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
- \catcode`\`=\other
- \catcode`\'=\other
+ \catcode `\`=\other
+ \catcode `\'=\other
\escapechar=`\\
%
% ' is active in math mode (mathcode"8000). So reset it, and all our
@@ -6297,7 +6350,7 @@
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
- \expandafter \let\csname top\endcsname=\ptextop % outer
+ \expandafter \let\csname top\endcsname=\ptextop % we've made it outer
\let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
@@ -6381,8 +6434,6 @@
% side, and for 6pt waste from
% each corner char, and rule thickness
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing = t%
%
% If this cartouche directly follows a sectioning command, we need the
% \parskip glue (backspaced over by default) or the cartouche can
@@ -6549,9 +6600,13 @@
% @raggedright does more-or-less normal line breaking but no right
-% justification. From plain.tex.
+% justification. From plain.tex. Don't stretch around special
+% characters in urls in this environment, since the stretch at the right
+% should be enough.
\envdef\raggedright{%
- \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+ \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax
+ \def\urefprestretchamount{0pt}%
+ \def\urefpoststretchamount{0pt}%
}
\let\Eraggedright\par
@@ -7444,7 +7499,7 @@
% Parse the optional {params} list. Set up \paramno and \paramlist
% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
-% in the params list to some hook where the argument si to be expanded. If
+% in the params list to some hook where the argument is to be expanded. If
% there are less than 10 arguments that hook is to be replaced by ##N where N
% is the position in that list, that is to say the macro arguments are to be
% defined `a la TeX in the macro body.
@@ -8306,6 +8361,7 @@
\gdef\footnote{%
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
+ %
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
@@ -8329,6 +8385,11 @@
%
\gdef\dofootnote{%
\insert\footins\bgroup
+ %
+ % Nested footnotes are not supported in TeX, that would take a lot
+ % more work. (\startsavinginserts does not suffice.)
+ \let\footnote=\errfootnote
+ %
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
@@ -8366,13 +8427,19 @@
}
}%end \catcode `\@=11
+\def\errfootnote{%
+ \errhelp=\EMsimple
+ \errmessage{Nested footnotes not supported in texinfo.tex,
+ even though they work in makeinfo; sorry}
+}
+
% In case a @footnote appears in a vbox, save the footnote text and create
% the real \insert just after the vbox finished. Otherwise, the insertion
% would be lost.
% Similarly, if a @footnote appears inside an alignment, save the footnote
% text to a box and make the \insert when a row of the table is finished.
% And the same can be done for other insert classes. --kasal, 16nov03.
-
+%
% Replace the \insert primitive by a cheating macro.
% Deeper inside, just make sure that the saved insertions are not spilled
% out prematurely.
@@ -9940,11 +10007,9 @@
\catcode`\"=\active
\def\activedoublequote{{\tt\char34}}
\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
+\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
+\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
@@ -9954,16 +10019,26 @@
\catcode`\|=\active
\def|{{\tt\char124}}
+
\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
+\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
+\catcode`\+=\active \def+{{\tt \char 43}}
+\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% used for headline/footline in the output routine, in case the page
+% breaks in the middle of an @tex block.
+\def\texinfochars{%
+ \let< = \activeless
+ \let> = \activegtr
+ \let~ = \activetilde
+ \let^ = \activehat
+ \markupsetuplqdefault \markupsetuprqdefault
+ \let\b = \strong
+ \let\i = \smartitalic
+ % in principle, all other definitions in \tex have to be undone too.
+}
% If a .fmt file is being used, characters that might appear in a file
% name cannot be active until we have parsed the command line.
diff --git a/build-aux/ylwrap b/build-aux/ylwrap
index 7befa46..8f072a8 100755
--- a/build-aux/ylwrap
+++ b/build-aux/ylwrap
@@ -1,9 +1,9 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-scriptversion=2012-07-14.08; # UTC
+scriptversion=2013-01-12.17; # UTC
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# Written by Tom Tromey .
#
@@ -40,12 +40,13 @@ get_dirname ()
# guard FILE
# ----------
# The CPP macro used to guard inclusion of FILE.
-guard()
+guard ()
{
- printf '%s\n' "$from" \
- | sed \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
- -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'
+ printf '%s\n' "$1" \
+ | sed \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
+ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' \
+ -e 's/__*/_/g'
}
# quote_for_sed [STRING]
@@ -95,17 +96,17 @@ esac
# The input.
-input="$1"
+input=$1
shift
# We'll later need for a correct munging of "#line" directives.
input_sub_rx=`get_dirname "$input" | quote_for_sed`
-case "$input" in
+case $input in
[\\/]* | ?:[\\/]*)
# Absolute path; do nothing.
;;
*)
# Relative path. Make it absolute.
- input="`pwd`/$input"
+ input=`pwd`/$input
;;
esac
input_rx=`get_dirname "$input" | quote_for_sed`
@@ -121,12 +122,18 @@ fi
# The parser itself, the first file, is the destination of the .y.c
# rule in the Makefile.
parser=$1
+
# A sed program to s/FROM/TO/g for all the FROM/TO so that, for
# instance, we rename #include "y.tab.h" into #include "parse.h"
# during the conversion from y.tab.c to parse.c.
-rename_sed=
-while test "$#" -ne 0; do
- if test "$1" = "--"; then
+sed_fix_filenames=
+
+# Also rename header guards, as Bison 2.7 for instance uses its header
+# guard in its implementation file.
+sed_fix_header_guards=
+
+while test $# -ne 0; do
+ if test x"$1" = x"--"; then
shift
break
fi
@@ -141,20 +148,19 @@ while test "$#" -ne 0; do
shift
to=$1
shift
- rename_sed="${rename_sed}s|"`quote_for_sed "$from"`"|$to|g;"
+ sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;"
+ sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;"
done
# The program to run.
-prog="$1"
+prog=$1
shift
# Make any relative path in $prog absolute.
-case "$prog" in
+case $prog in
[\\/]* | ?:[\\/]*) ;;
- *[\\/]*) prog="`pwd`/$prog" ;;
+ *[\\/]*) prog=`pwd`/$prog ;;
esac
-# FIXME: add hostname here for parallel makes that run commands on
-# other machines. But that might take us over the 14-char limit.
dirname=ylwrap$$
do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
@@ -174,13 +180,13 @@ ret=$?
if test $ret -eq 0; then
for from in *
do
- to=`printf '%s\n' "$from" | sed "$rename_sed"`
+ to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"`
if test -f "$from"; then
# If $2 is an absolute path name, then just use that,
# otherwise prepend '../'.
case $to in
[\\/]* | ?:[\\/]*) target=$to;;
- *) target="../$to";;
+ *) target=../$to;;
esac
# Do not overwrite unchanged header files to avoid useless
@@ -189,7 +195,7 @@ if test $ret -eq 0; then
# output of all other files to a temporary file so we can
# compare them to existing versions.
if test $from != $parser; then
- realtarget="$target"
+ realtarget=$target
target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'`
fi
@@ -197,10 +203,11 @@ if test $ret -eq 0; then
# debug information point at an absolute srcdir. Use the real
# output file name, not yy.lex.c for instance. Adjust the
# include guards too.
- FROM=`guard "$from"`
- TARGET=`guard "$to"`
- sed -e "/^#/!b" -e "s|$input_rx|$input_sub_rx|" -e "$rename_sed" \
- -e "s|$FROM|$TARGET|" "$from" >"$target" || ret=$?
+ sed -e "/^#/!b" \
+ -e "s|$input_rx|$input_sub_rx|" \
+ -e "$sed_fix_filenames" \
+ -e "$sed_fix_header_guards" \
+ "$from" >"$target" || ret=$?
# Check whether files must be updated.
if test "$from" != "$parser"; then
diff --git a/config.h.in b/config.h.in
index e213790..6646ea5 100644
--- a/config.h.in
+++ b/config.h.in
@@ -126,6 +126,14 @@
/* Define to 1 if futimesat mishandles a NULL file name. */
#undef FUTIMESAT_NULL_BUG
+/* Define to the type of elements in the array set by `getgroups'. Usually
+ this is either `int' or `gid_t'. */
+#undef GETGROUPS_T
+
+/* Define this to 1 if getgroups(0,NULL) does not return the number of groups.
+ */
+#undef GETGROUPS_ZERO_BUG
+
/* Define if gettimeofday clobbers the localtime buffer. */
#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
@@ -153,6 +161,10 @@
whether the gnulib module dirname shall be considered present. */
#undef GNULIB_DIRNAME
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module faccessat shall be considered present. */
+#undef GNULIB_FACCESSAT
+
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
whether the gnulib module fchmodat shall be considered present. */
#undef GNULIB_FCHMODAT
@@ -246,6 +258,12 @@
/* Define to 1 when the gnulib module environ should be tested. */
#undef GNULIB_TEST_ENVIRON
+/* Define to 1 when the gnulib module euidaccess should be tested. */
+#undef GNULIB_TEST_EUIDACCESS
+
+/* Define to 1 when the gnulib module faccessat should be tested. */
+#undef GNULIB_TEST_FACCESSAT
+
/* Define to 1 when the gnulib module fchdir should be tested. */
#undef GNULIB_TEST_FCHDIR
@@ -285,6 +303,9 @@
/* Define to 1 when the gnulib module getdtablesize should be tested. */
#undef GNULIB_TEST_GETDTABLESIZE
+/* Define to 1 when the gnulib module getgroups should be tested. */
+#undef GNULIB_TEST_GETGROUPS
+
/* Define to 1 when the gnulib module getline should be tested. */
#undef GNULIB_TEST_GETLINE
@@ -297,6 +318,12 @@
/* Define to 1 when the gnulib module gettimeofday should be tested. */
#undef GNULIB_TEST_GETTIMEOFDAY
+/* Define to 1 when the gnulib module group-member should be tested. */
+#undef GNULIB_TEST_GROUP_MEMBER
+
+/* Define to 1 when the gnulib module isatty should be tested. */
+#undef GNULIB_TEST_ISATTY
+
/* Define to 1 when the gnulib module iswblank should be tested. */
#undef GNULIB_TEST_ISWBLANK
@@ -378,6 +405,15 @@
/* Define to 1 when the gnulib module opendir should be tested. */
#undef GNULIB_TEST_OPENDIR
+/* Define to 1 when the gnulib module posix_openpt should be tested. */
+#undef GNULIB_TEST_POSIX_OPENPT
+
+/* Define to 1 when the gnulib module ptsname should be tested. */
+#undef GNULIB_TEST_PTSNAME
+
+/* Define to 1 when the gnulib module ptsname_r should be tested. */
+#undef GNULIB_TEST_PTSNAME_R
+
/* Define to 1 when the gnulib module raise should be tested. */
#undef GNULIB_TEST_RAISE
@@ -450,6 +486,9 @@
/* Define to 1 when the gnulib module strnlen should be tested. */
#undef GNULIB_TEST_STRNLEN
+/* Define to 1 when the gnulib module strtoll should be tested. */
+#undef GNULIB_TEST_STRTOLL
+
/* Define to 1 when the gnulib module strtoull should be tested. */
#undef GNULIB_TEST_STRTOULL
@@ -462,12 +501,18 @@
/* Define to 1 when the gnulib module time_r should be tested. */
#undef GNULIB_TEST_TIME_R
+/* Define to 1 when the gnulib module ttyname_r should be tested. */
+#undef GNULIB_TEST_TTYNAME_R
+
/* Define to 1 when the gnulib module unlink should be tested. */
#undef GNULIB_TEST_UNLINK
/* Define to 1 when the gnulib module unlinkat should be tested. */
#undef GNULIB_TEST_UNLINKAT
+/* Define to 1 when the gnulib module unlockpt should be tested. */
+#undef GNULIB_TEST_UNLOCKPT
+
/* Define to 1 when the gnulib module unsetenv should be tested. */
#undef GNULIB_TEST_UNSETENV
@@ -492,6 +537,9 @@
/* Define to the program name of gzip compressor program */
#undef GZIP_PROGRAM
+/* Define to 1 if you have the `access' function. */
+#undef HAVE_ACCESS
+
/* Define to 1 if you have the `aclsort' function. */
#undef HAVE_ACLSORT
@@ -772,6 +820,14 @@
don't. */
#undef HAVE_DECL_STRNLEN
+/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you
+ don't. */
+#undef HAVE_DECL_STRTOIMAX
+
+/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
+ don't. */
+#undef HAVE_DECL_STRTOLL
+
/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOULL
@@ -788,6 +844,10 @@
don't. */
#undef HAVE_DECL_TOWLOWER
+/* Define to 1 if you have the declaration of `ttyname_r', and to 0 if you
+ don't. */
+#undef HAVE_DECL_TTYNAME_R
+
/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
*/
#undef HAVE_DECL_TZNAME
@@ -825,9 +885,18 @@
/* Define to 1 if you have the 'dup2' function. */
#undef HAVE_DUP2
+/* Define to 1 if you have the `eaccess' function. */
+#undef HAVE_EACCESS
+
/* Define if you have the declaration of environ. */
#undef HAVE_ENVIRON_DECL
+/* Define to 1 if you have the `euidaccess' function. */
+#undef HAVE_EUIDACCESS
+
+/* Define to 1 if you have the `faccessat' function. */
+#undef HAVE_FACCESSAT
+
/* Define to 1 if you have the `facl' function. */
#undef HAVE_FACL
@@ -900,6 +969,9 @@
/* Define to 1 if you have the `getdtablesize' function. */
#undef HAVE_GETDTABLESIZE
+/* Define to 1 if your system has a working `getgroups' function. */
+#undef HAVE_GETGROUPS
+
/* Define to 1 if you have the header file. */
#undef HAVE_GETOPT_H
@@ -921,6 +993,9 @@
/* Define to 1 if you have the `getxattr' function. */
#undef HAVE_GETXATTR
+/* Define to 1 if you have the `grantpt' function. */
+#undef HAVE_GRANTPT
+
/* Define to 1 if you have the header file. */
#undef HAVE_GRP_H
@@ -973,6 +1048,12 @@
/* Define to 1 if you have the `lgetxattr' function. */
#undef HAVE_LGETXATTR
+/* Define to 1 if you have the `attr' library (-lattr). */
+#undef HAVE_LIBATTR
+
+/* Define to 1 if you have the header file. */
+#undef HAVE_LIBGEN_H
+
/* Define to 1 if you have the header file. */
#undef HAVE_LIBINTL_H
@@ -1019,6 +1100,9 @@
to 0 otherwise. */
#undef HAVE_MALLOC_GNU
+/* Define to 1 if you have the header file. */
+#undef HAVE_MALLOC_H
+
/* Define if the 'malloc' function is POSIX compliant. */
#undef HAVE_MALLOC_POSIX
@@ -1079,9 +1163,6 @@
/* Define to 1 if you have the `nanotime' function. */
#undef HAVE_NANOTIME
-/* Define to 1 if you have the header file, and it defines `DIR'. */
-#undef HAVE_NDIR_H
-
/* Define to 1 if you have the header file. */
#undef HAVE_NETDB_H
@@ -1113,9 +1194,15 @@
/* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE
+/* Define if the ttyname_r function has a POSIX compliant declaration. */
+#undef HAVE_POSIXDECL_TTYNAME_R
+
/* Define when we have working POSIX acls */
#undef HAVE_POSIX_ACLS
+/* Define to 1 if you have the `posix_openpt' function. */
+#undef HAVE_POSIX_OPENPT
+
/* Define to 1 if you have the header file. */
#undef HAVE_PRIV_H
@@ -1125,6 +1212,12 @@
/* Define if program_invocation_short_name is defined */
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
+/* Define to 1 if you have the `ptsname' function. */
+#undef HAVE_PTSNAME
+
+/* Define to 1 if you have the `ptsname_r' function. */
+#undef HAVE_PTSNAME_R
+
/* Define to 1 if you have the header file. */
#undef HAVE_PWD_H
@@ -1741,6 +1834,9 @@
/* Define to 1 if you have the `renameat' function. */
#undef HAVE_RENAMEAT
+/* Define to 1 if you have the `revoke' function. */
+#undef HAVE_REVOKE
+
/* Define to 1 if you have the `rewinddir' function. */
#undef HAVE_REWINDDIR
@@ -1762,6 +1858,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_SELINUX_SELINUX_H
+/* Define to 1 if you have the `setdtablesize' function. */
+#undef HAVE_SETDTABLESIZE
+
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
@@ -1843,9 +1942,15 @@
/* Define to 1 if you have the `strnlen' function. */
#undef HAVE_STRNLEN
+/* Define to 1 if you have the `strtoimax' function. */
+#undef HAVE_STRTOIMAX
+
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
+/* Define to 1 if you have the `strtoll' function. */
+#undef HAVE_STRTOLL
+
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
@@ -1924,10 +2029,6 @@
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_DEVICE_H
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_DIR_H
-
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_GENTAPE_H
@@ -1946,10 +2047,6 @@
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_MTIO_H
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_NDIR_H
-
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_PARAM_H
@@ -1977,6 +2074,9 @@
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_WAIT_H
+/* define to 1 if we have header */
+#undef HAVE_SYS_XATTR_H
+
/* Define if struct tm has the tm_gmtoff member. */
#undef HAVE_TM_GMTOFF
@@ -1990,16 +2090,28 @@
/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH
+/* Define to 1 if you have the `ttyname' function. */
+#undef HAVE_TTYNAME
+
+/* Define to 1 if you have the `ttyname_r' function. */
+#undef HAVE_TTYNAME_R
+
/* Define to 1 if you don't have `tm_zone' but do have the external array
`tzname'. */
#undef HAVE_TZNAME
+/* Define to 1 if you have the `tzset' function. */
+#undef HAVE_TZSET
+
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `unlinkat' function. */
#undef HAVE_UNLINKAT
+/* Define to 1 if you have the `unlockpt' function. */
+#undef HAVE_UNLOCKPT
+
/* Define to 1 if you have the `unsetenv' function. */
#undef HAVE_UNSETENV
@@ -2033,9 +2145,6 @@
/* Define to 1 if you have the `wcrtomb' function. */
#undef HAVE_WCRTOMB
-/* Define to 1 if you have the `wcscoll' function. */
-#undef HAVE_WCSCOLL
-
/* Define to 1 if you have the `wcslen' function. */
#undef HAVE_WCSLEN
@@ -2094,15 +2203,15 @@
/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
#undef HAVE__SET_INVALID_PARAMETER_HANDLER
-/* Define to 1 if you have the `__fpending' function. */
-#undef HAVE___FPENDING
-
/* Define to 1 if you have the `__secure_getenv' function. */
#undef HAVE___SECURE_GETENV
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
+/* Define to 1 if isatty() may fail without setting errno. */
+#undef ISATTY_FAILS_WITHOUT_SETTING_ERRNO
+
/* Define to 1 if linkat fails to recognize a trailing slash. */
#undef LINKAT_TRAILING_SLASH_BUG
@@ -2162,9 +2271,6 @@
/* Define to mt_model (v.g., for DG/UX), else to mt_type. */
#undef MTIO_CHECK_FIELD
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Define to 1 if open() fails to recognize a trailing slash. */
#undef OPEN_TRAILING_SLASH_BUG
@@ -2258,9 +2364,6 @@
/* Define if vasnprintf exists but is overridden by gnulib. */
#undef REPLACE_VASNPRINTF
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'sig_atomic_t'. */
#undef SIG_ATOMIC_T_SUFFIX
@@ -2451,27 +2554,41 @@
'reference to static identifier "f" in extern inline function'.
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
- Suppress the use of extern inline on Apple's platforms, as Libc at least
- through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
+ Suppress the use of extern inline on problematic Apple configurations.
+ OS X 10.8 and earlier mishandle it; see, e.g.,
.
+ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+ for clang but remains for g++; see .
Perhaps Apple will fix this some day. */
+#if (defined __APPLE__ \
+ && (defined __header_inline \
+ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+ && ! defined __clang__) \
+ : ((! defined _DONT_USE_CTYPE_INLINE_ \
+ && (defined __GNUC__ || defined __cplusplus)) \
+ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+ && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_APPLE_BUG
+#endif
#if ((__GNUC__ \
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !(defined __SUNPRO_C && __STDC__))) \
- && !defined __APPLE__)
+ && !defined _GL_EXTERN_INLINE_APPLE_BUG)
# define _GL_INLINE inline
# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
- && !defined __APPLE__)
-# if __GNUC_GNU_INLINE__
+ && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
# else
# define _GL_INLINE extern inline
# endif
# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
#else
# define _GL_INLINE static _GL_UNUSED
# define _GL_EXTERN_INLINE static _GL_UNUSED
@@ -2515,9 +2632,6 @@
/* A replacement for va_copy, if needed. */
#define gl_va_copy(a,b) ((a) = (b))
-/* Define to rpl_gmtime if the replacement function should be used. */
-#undef gmtime
-
/* Conversion descriptor type */
#undef iconv_t
@@ -2549,9 +2663,6 @@
/* Define to 1 if the compiler is checking for lint. */
#undef lint
-/* Define to rpl_localtime if the replacement function should be used. */
-#undef localtime
-
/* Type of major device numbers. */
#undef major_t
@@ -2564,6 +2675,9 @@
/* Define to `int' if does not define. */
#undef mode_t
+/* Define to the name of the strftime replacement function. */
+#undef my_strftime
+
/* Define to the type of st_nlink in struct stat, or a supertype. */
#undef nlink_t
diff --git a/configure b/configure
index 8b3c4f7..cfdd721 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GNU tar 1.27.
+# Generated by GNU Autoconf 2.69 for GNU tar 1.28.
#
# Report bugs to .
#
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU tar'
PACKAGE_TARNAME='tar'
-PACKAGE_VERSION='1.27'
-PACKAGE_STRING='GNU tar 1.27'
+PACKAGE_VERSION='1.28'
+PACKAGE_STRING='GNU tar 1.28'
PACKAGE_BUGREPORT='bug-tar@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/tar/'
@@ -652,6 +652,7 @@ GMSGFMT
MSGFMT
GETTEXT_MACRO_VERSION
USE_NLS
+SED
LTLIBICONV
LIBICONV
DEFAULT_QUOTING_STYLE
@@ -660,12 +661,18 @@ DEFAULT_ARCHIVE
DEFAULT_ARCHIVE_FORMAT
RSH
LIBOBJS
+TAR_COND_GRANTPT_FALSE
+TAR_COND_GRANTPT_TRUE
+TAR_LIB_ATTR_FALSE
+TAR_LIB_ATTR_TRUE
TAR_COND_XATTR_H_FALSE
TAR_COND_XATTR_H_TRUE
GNULIB_TEST_WARN_CFLAGS
GNULIB_WARN_CFLAGS
WARN_CFLAGS
WERROR_CFLAGS
+PU_RMT_COND_FALSE
+PU_RMT_COND_TRUE
DEFAULT_RMT_COMMAND
DEFAULT_RMT_DIR
PU_RMT_PROG
@@ -745,6 +752,8 @@ HAVE__BOOL
GL_GENERATE_STDBOOL_H_FALSE
GL_GENERATE_STDBOOL_H_TRUE
STDBOOL_H
+REPLACE_LOCALTIME
+REPLACE_GMTIME
REPLACE_TIMEGM
REPLACE_NANOSLEEP
REPLACE_MKTIME
@@ -888,6 +897,7 @@ PRIPTR_PREFIX
PRI_MACROS_BROKEN
INT64_MAX_EQ_LONG_MAX
INT32_MAX_LT_INTMAX_MAX
+REPLACE_STRTOUMAX
REPLACE_STRTOIMAX
HAVE_DECL_STRTOUMAX
HAVE_DECL_STRTOIMAX
@@ -1099,6 +1109,7 @@ GNULIB_FUTIMENS
GNULIB_FSTATAT
GNULIB_FSTAT
GNULIB_FCHMODAT
+LIB_EACCESS
EOVERFLOW_VALUE
EOVERFLOW_HIDDEN
ENOLINK_VALUE
@@ -1118,6 +1129,7 @@ PRAGMA_SYSTEM_HEADER
INCLUDE_NEXT_AS_FIRST_DIRECTIVE
INCLUDE_NEXT
pkglibexecdir
+runstatedir
lispdir
REPLACE_FDOPENDIR
REPLACE_DIRFD
@@ -1165,6 +1177,7 @@ REPLACE_ISATTY
REPLACE_GETPAGESIZE
REPLACE_GETGROUPS
REPLACE_GETLOGIN_R
+REPLACE_GETDTABLESIZE
REPLACE_GETDOMAINNAME
REPLACE_GETCWD
REPLACE_FTRUNCATE
@@ -1445,6 +1458,7 @@ ALLOCA_H
ALLOCA
GL_COND_LIBTOOL_FALSE
GL_COND_LIBTOOL_TRUE
+ac_ct_AR
ARFLAGS
AR
EGREP
@@ -2122,7 +2136,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU tar 1.27 to adapt to many kinds of systems.
+\`configure' configures GNU tar 1.28 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2192,7 +2206,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU tar 1.27:";;
+ short | recursive ) echo "Configuration of GNU tar 1.28:";;
esac
cat <<\_ACEOF
@@ -2342,7 +2356,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU tar configure 1.27
+GNU tar configure 1.28
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3051,7 +3065,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU tar $as_me 1.27, which was
+It was created by GNU tar $as_me 1.28, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3366,6 +3380,7 @@ as_fn_append ac_header_list " sys/socket.h"
as_fn_append ac_func_list " fchdir"
as_fn_append ac_header_list " dirent.h"
as_fn_append ac_func_list " fdopendir"
+as_fn_append ac_func_list " faccessat"
as_fn_append ac_func_list " fchmodat"
as_fn_append ac_func_list " lchmod"
as_fn_append ac_func_list " fcntl"
@@ -3380,7 +3395,6 @@ as_fn_append ac_func_list " wmempcpy"
as_fn_append ac_header_list " wctype.h"
gl_fnmatch_required=GNU
as_fn_append ac_header_list " stdio_ext.h"
-as_fn_append ac_func_list " __fpending"
as_fn_append ac_header_list " sys/stat.h"
as_fn_append ac_func_list " fstatat"
as_fn_append ac_func_list " futimens"
@@ -3411,8 +3425,11 @@ as_fn_append ac_func_list " mkfifoat"
as_fn_append ac_func_list " mknodat"
as_fn_append ac_func_list " mknod"
as_fn_append ac_func_list " nl_langinfo"
+as_fn_append ac_func_list " posix_openpt"
as_fn_append ac_header_list " priv.h"
-as_fn_append ac_func_list " wcscoll"
+as_fn_append ac_func_list " ptsname_r"
+as_fn_append ac_func_list " fchmod"
+as_fn_append ac_header_list " malloc.h"
as_fn_append ac_func_list " renameat"
as_fn_append ac_func_list " secure_getenv"
as_fn_append ac_header_list " selinux/selinux.h"
@@ -3420,8 +3437,10 @@ as_fn_append ac_func_list " setenv"
as_fn_append ac_func_list " sleep"
as_fn_append ac_func_list " snprintf"
as_fn_append ac_func_list " strdup"
+as_fn_append ac_func_list " tzset"
as_fn_append ac_header_list " strings.h"
as_fn_append ac_func_list " strndup"
+as_fn_append ac_func_list " strtoimax"
as_fn_append ac_func_list " strtoumax"
as_fn_append ac_func_list " symlinkat"
as_fn_append ac_header_list " sysexits.h"
@@ -3441,8 +3460,8 @@ as_fn_append ac_header_list " sys/wait.h"
as_fn_append ac_header_list " pwd.h"
as_fn_append ac_header_list " grp.h"
as_fn_append ac_func_list " setlocale"
-as_fn_append ac_func_list " fchmod"
as_fn_append ac_func_list " fsync"
+as_fn_append ac_func_list " grantpt"
gt_needs="$gt_needs need-formatstring-macros"
# Check that the precious variables saved in the cache have kept the same
# value.
@@ -3545,7 +3564,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers="$ac_config_headers config.h"
-am__api_version='1.12'
+am__api_version='1.14'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -3729,8 +3748,8 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
@@ -4031,7 +4050,7 @@ fi
# Define the identity of the package.
PACKAGE='tar'
- VERSION='1.27'
+ VERSION='1.28'
cat >>confdefs.h <<_ACEOF
@@ -4072,86 +4091,125 @@ mkdir_p='$(MKDIR_P)'
AMTAR='$${TAR-tar}'
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
-$as_echo_n "checking how to create a ustar tar archive... " >&6; }
-# Loop over all known methods to create a tar archive until one works.
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar plaintar pax cpio none'
-_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- { echo "$as_me:$LINENO: $_am_tar --version" >&5
+
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
+$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
+ if test $am_uid -le $am_max_uid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
+$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
+ if test $am_gid -le $am_max_gid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
($_am_tar --version) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && break
- done
- am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x ustar -w "$$tardir"'
- am__tar_='pax -L -x ustar -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
- am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
- am__untar='cpio -i -H ustar -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_ustar}" && break
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_ustar}" && break
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
(tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
- rm -rf conftest.dir
- if test -s conftest.tar; then
- { echo "$as_me:$LINENO: $am__untar &5
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar &5
($am__untar &5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
+ { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+ (cat conftest.dir/file) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
-if ${am_cv_prog_tar_ustar+:} false; then :
+ if ${am_cv_prog_tar_ustar+:} false; then :
$as_echo_n "(cached) " >&6
else
am_cv_prog_tar_ustar=$_am_tool
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
$as_echo "$am_cv_prog_tar_ustar" >&6; }
@@ -4159,6 +4217,48 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard:
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: .
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# Enable silent rules by default:
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
@@ -4200,6 +4300,69 @@ fi
AM_BACKSLASH='\'
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4988,68 +5151,64 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
+int
+main ()
+{
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CC" am_compiler_list=
@@ -5180,6 +5339,298 @@ else
fi
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
+if ${ac_cv_prog_cc_c99+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+#include
+#include
+#include
+#include
+
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+ your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+ continue;
+ return 0;
+}
+
+// Check varargs and va_copy.
+static void
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+
+ const char *str;
+ int number;
+ float fnumber;
+
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case 's': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case 'd': // int
+ number = va_arg (args_copy, int);
+ break;
+ case 'f': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+}
+
+int
+main ()
+{
+
+ // Check bool.
+ _Bool success = false;
+
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
+
+ // Check varargs.
+ test_varargs ("s, d' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+
+ ni.number = 58;
+
+ int dynamic_array[ni.number];
+ dynamic_array[ni.number - 1] = 543;
+
+ // work around unused variable warnings
+ return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+ || dynamic_array[ni.number - 1] != 543);
+
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c99" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c99"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+#include
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+else
+ ac_cv_prog_cc_stdc=no
+fi
+
+fi
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
+$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
+ if ${ac_cv_prog_cc_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;; #(
+ '') :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
+$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
+esac
+
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
@@ -5823,131 +6274,6 @@ fi
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
@@ -6468,301 +6794,10 @@ $as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h
fi
- case $ac_cv_prog_cc_stdc in #(
- no) :
- ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
- *) :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if ${ac_cv_prog_cc_c99+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#include
-#include
-#include
-
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
- your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
- int datasize;
- double data[];
-};
-
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
- // See if C++-style comments work.
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\0'; ++i)
- continue;
- return 0;
-}
-
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
-
- const char *str;
- int number;
- float fnumber;
-
- while (*format)
- {
- switch (*format++)
- {
- case 's': // string
- str = va_arg (args_copy, const char *);
- break;
- case 'd': // int
- number = va_arg (args_copy, int);
- break;
- case 'f': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-}
-
-int
-main ()
-{
-
- // Check bool.
- _Bool success = false;
-
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
-
- // Check varargs.
- test_varargs ("s, d' f .", "string", 65, 34.234);
- test_varargs_macros ();
-
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
-
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
-
- ni.number = 58;
-
- int dynamic_array[ni.number];
- dynamic_array[ni.number - 1] = 543;
-
- // work around unused variable warnings
- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
- || dynamic_array[ni.number - 1] != 543);
-
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c99"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c99" != xno; then :
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
-else
- ac_cv_prog_cc_stdc=no
-fi
-
-fi
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
-$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
- if ${ac_cv_prog_cc_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-
- case $ac_cv_prog_cc_stdc in #(
- no) :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;; #(
- '') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;; #(
- *) :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
-$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
-esac
-
+ # Code from module absolute-header:
# Code from module acl:
# Code from module alloca:
# Code from module alloca-opt:
@@ -6804,11 +6839,13 @@ esac
# Code from module environ:
# Code from module errno:
# Code from module error:
+ # Code from module euidaccess:
# Code from module exclude:
# Code from module exitfail:
# Code from module extensions:
# Code from module extern-inline:
+ # Code from module faccessat:
# Code from module fchdir:
# Code from module fchmodat:
# Code from module fchownat:
@@ -6824,6 +6861,7 @@ esac
# Code from module fnmatch:
# Code from module fnmatch-gnu:
# Code from module fpending:
+ # Code from module fprintftime:
# Code from module fseek:
# Code from module fseeko:
@@ -6835,6 +6873,7 @@ esac
# Code from module getcwd-lgpl:
# Code from module getdelim:
# Code from module getdtablesize:
+ # Code from module getgroups:
# Code from module getline:
# Code from module getopt-gnu:
# Code from module getopt-posix:
@@ -6844,6 +6883,7 @@ esac
# Code from module gettime:
# Code from module gettimeofday:
# Code from module gitlog-to-changelog:
+ # Code from module group-member:
# Code from module hash:
# Code from module havelib:
# Code from module human:
@@ -6852,6 +6892,7 @@ esac
# Code from module inttostr:
# Code from module inttypes:
# Code from module inttypes-incomplete:
+ # Code from module isatty:
# Code from module iswblank:
# Code from module langinfo:
# Code from module largefile:
@@ -6900,8 +6941,11 @@ esac
# Code from module opendir:
# Code from module parse-datetime:
# Code from module pathmax:
+ # Code from module posix_openpt:
# Code from module priv-set:
# Code from module progname:
+ # Code from module ptsname:
+ # Code from module ptsname_r:
# Code from module qacl:
# Code from module quote:
# Code from module quotearg:
@@ -6960,12 +7004,15 @@ esac
# Code from module streq:
# Code from module strerror:
# Code from module strerror-override:
+ # Code from module strftime:
# Code from module string:
# Code from module strings:
# Code from module strndup:
# Code from module strnlen:
# Code from module strnlen1:
+ # Code from module strtoimax:
# Code from module strtol:
+ # Code from module strtoll:
# Code from module strtoul:
# Code from module strtoull:
# Code from module strtoumax:
@@ -6979,6 +7026,7 @@ esac
# Code from module time:
# Code from module time_r:
# Code from module timespec:
+ # Code from module ttyname_r:
# Code from module unistd:
# Code from module unistd-safer:
# Code from module unitypes:
@@ -6988,6 +7036,7 @@ esac
# Code from module unlinkat:
# Code from module unlinkdir:
# Code from module unlocked-io:
+ # Code from module unlockpt:
# Code from module unsetenv:
# Code from module utimens:
# Code from module utimensat:
@@ -7013,6 +7062,106 @@ esac
# Code from module xstrtoumax:
# Code from module xvasprintf:
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
# Check whether --enable-largefile was given.
if test "${enable_largefile+set}" = set; then :
@@ -7216,62 +7365,6 @@ $as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-$as_echo_n "checking for library containing strerror... " >&6; }
-if ${ac_cv_search_strerror+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' cposix; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_strerror=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_strerror+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_strerror+:} false; then :
-
-else
- ac_cv_search_strerror=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
-$as_echo "$ac_cv_search_strerror" >&6; }
-ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
if ${ac_cv_c_inline+:} false; then :
@@ -7384,206 +7477,6 @@ fi
done
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
-$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
-if ${ac_cv_header_sys_wait_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
-
-int
-main ()
-{
- int s;
- wait (&s);
- s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_sys_wait_h=yes
-else
- ac_cv_header_sys_wait_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5
-$as_echo "$ac_cv_header_sys_wait_h" >&6; }
-if test $ac_cv_header_sys_wait_h = yes; then
-
-$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
-
-fi
-
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval \${$as_ac_Header+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_ac_Header=yes"
-else
- eval "$as_ac_Header=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_ac_Header
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5
$as_echo_n "checking whether sys/types.h defines makedev... " >&6; }
if ${ac_cv_header_sys_types_h_makedev+:} false; then :
@@ -7634,160 +7527,6 @@ fi
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
-
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
-
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
-
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stat_broken=no
-else
- ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
-
-$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#include
-#include
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_fstype string in struct stat" >&5
$as_echo_n "checking for st_fstype string in struct stat... " >&6; }
@@ -7828,7 +7567,9 @@ fi
# Check whether --with-posix-acls was given.
if test "${with_posix_acls+set}" = set; then :
- withval=$with_posix_acls; with_posix_acls=no
+ withval=$with_posix_acls;
+else
+ with_posix_acls=yes
fi
if test "x$with_posix_acls" != "xno"; then
@@ -7847,7 +7588,8 @@ fi
done
for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
- acl_to_text acl_from_text; do \
+ acl_to_text acl_from_text acl_delete_def_file \
+ acl_free; do \
test "x$with_posix_acls" = xno && break
as_ac_Search=`$as_echo "ac_cv_search_$tar_acl_func" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $tar_acl_func" >&5
@@ -7920,39 +7662,6 @@ else
export enable_acl=no
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if ${ac_cv_type_signal+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_type_signal=int
-else
- ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
if test "x$ac_cv_type_mode_t" = xyes; then :
@@ -7986,17 +7695,6 @@ _ACEOF
fi
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
if ${ac_cv_type_uid_t+:} false; then :
@@ -8111,6 +7809,17 @@ $as_echo "#define ssize_t int" >>confdefs.h
LIBC_FATAL_STDERR_=1
export LIBC_FATAL_STDERR_
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
@@ -8618,7 +8327,7 @@ DIR *dp = opendir (".");
e = readdir (dp);
if (! e)
return 2;
- if (stat (e->d_name, &st) != 0)
+ if (lstat (e->d_name, &st) != 0)
return 3;
if (e->d_ino != st.st_ino)
return 4;
@@ -9456,6 +9165,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h
REPLACE_FTRUNCATE=0;
REPLACE_GETCWD=0;
REPLACE_GETDOMAINNAME=0;
+ REPLACE_GETDTABLESIZE=0;
REPLACE_GETLOGIN_R=0;
REPLACE_GETGROUPS=0;
REPLACE_GETPAGESIZE=0;
@@ -10069,36 +9779,40 @@ if ${gl_cv_next_errno_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'errno.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_errno_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'errno.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_errno_h
+ gl_cv_next_errno_h='"'$gl_header'"'
fi
@@ -10438,6 +10152,75 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5
+$as_echo_n "checking type of array argument to getgroups... " >&6; }
+if ${ac_cv_type_getgroups+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_type_getgroups=cross
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Thanks to Mike Rendell for this test. */
+$ac_includes_default
+#define NGID 256
+#undef MAX
+#define MAX(x, y) ((x) > (y) ? (x) : (y))
+
+int
+main ()
+{
+ gid_t gidset[NGID];
+ int i, n;
+ union { gid_t gval; long int lval; } val;
+
+ val.lval = -1;
+ for (i = 0; i < NGID; i++)
+ gidset[i] = val.gval;
+ n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
+ gidset);
+ /* Exit non-zero if getgroups seems to require an array of ints. This
+ happens when gid_t is short int but getgroups modifies an array
+ of ints. */
+ return n > 0 && gidset[n] != val.gval;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_type_getgroups=gid_t
+else
+ ac_cv_type_getgroups=int
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+if test $ac_cv_type_getgroups = cross; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then :
+ ac_cv_type_getgroups=gid_t
+else
+ ac_cv_type_getgroups=int
+fi
+rm -f conftest*
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5
+$as_echo "$ac_cv_type_getgroups" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define GETGROUPS_T $ac_cv_type_getgroups
+_ACEOF
+
+
+
+
ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default"
if test "x$ac_cv_have_decl_fchdir" = xyes; then :
@@ -10714,8 +10497,6 @@ $as_echo "#define mbstate_t int" >>confdefs.h
-
-
GNULIB_DPRINTF=0;
GNULIB_FCLOSE=0;
GNULIB_FDOPEN=0;
@@ -10926,36 +10707,40 @@ if ${gl_cv_next_sys_types_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'sys/types.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'sys/types.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_sys_types_h
+ gl_cv_next_sys_types_h='"'$gl_header'"'
fi
@@ -11049,6 +10834,48 @@ $as_echo "$gl_cv_func_fseeko" >&6; }
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
+if ${ac_cv_header_stat_broken+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+#include
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stat_broken=no
+else
+ ac_cv_header_stat_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
+$as_echo "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+
+fi
+
@@ -11077,36 +10904,40 @@ else
if test $ac_cv_header_sys_stat_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'sys/stat.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'sys/stat.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_sys_stat_h
+ gl_cv_next_sys_stat_h='"'$gl_header'"'
else
gl_cv_next_sys_stat_h='<'sys/stat.h'>'
fi
@@ -11431,36 +11262,40 @@ else
if test $ac_cv_header_getopt_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'getopt.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'getopt.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_getopt_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_getopt_h
+ gl_cv_next_getopt_h='"'$gl_header'"'
else
gl_cv_next_getopt_h='<'getopt.h'>'
fi
@@ -12069,36 +11904,40 @@ else
if test $ac_cv_header_sys_time_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'sys/time.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'sys/time.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_sys_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_sys_time_h
+ gl_cv_next_sys_time_h='"'$gl_header'"'
else
gl_cv_next_sys_time_h='<'sys/time.h'>'
fi
@@ -12503,36 +12342,40 @@ else
if test $ac_cv_header_stdint_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'stdint.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stdint.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_stdint_h
+ gl_cv_next_stdint_h='"'$gl_header'"'
else
gl_cv_next_stdint_h='<'stdint.h'>'
fi
@@ -13180,6 +13023,7 @@ fi
HAVE_DECL_STRTOIMAX=1;
HAVE_DECL_STRTOUMAX=1;
REPLACE_STRTOIMAX=0;
+ REPLACE_STRTOUMAX=0;
INT32_MAX_LT_INTMAX_MAX=1;
INT64_MAX_EQ_LONG_MAX='defined _LP64';
PRI_MACROS_BROKEN=0;
@@ -13213,36 +13057,40 @@ else
if test $ac_cv_header_inttypes_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'inttypes.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'inttypes.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_inttypes_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_inttypes_h
+ gl_cv_next_inttypes_h='"'$gl_header'"'
else
gl_cv_next_inttypes_h='<'inttypes.h'>'
fi
@@ -13464,36 +13312,40 @@ else
if test $ac_cv_header_wctype_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'wctype.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'wctype.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_wctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_wctype_h
+ gl_cv_next_wctype_h='"'$gl_header'"'
else
gl_cv_next_wctype_h='<'wctype.h'>'
fi
@@ -13963,36 +13815,40 @@ if ${gl_cv_next_stddef_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stddef.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'stddef.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_stddef_h
+ gl_cv_next_stddef_h='"'$gl_header'"'
fi
@@ -14799,6 +14655,10 @@ _ACEOF
REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
REPLACE_TIMEGM=GNULIB_PORTCHECK;
+ : ${GNULIB_GETTIMEOFDAY=0};
+ REPLACE_GMTIME=0;
+ REPLACE_LOCALTIME=0;
+
ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
if test "x$ac_cv_have_decl_alarm" = xyes; then :
ac_have_decl=1
@@ -15046,6 +14906,12 @@ fi
+
+
+
+
+
+
GNULIB_PTHREAD_SIGMASK=0;
GNULIB_RAISE=0;
GNULIB_SIGNAL_H_SIGPIPE=0;
@@ -15149,12 +15015,14 @@ fi
# Warn if SELinux is found but libselinux is absent;
- if test "$ac_cv_search_setfilecon" = no &&
- test "$host" = "$build" && test -d /selinux; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5
+ if test "$ac_cv_search_setfilecon" = no; then
+ if test "$host" = "$build" && test -d /selinux; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: This system supports SELinux but libselinux is missing." >&5
$as_echo "$as_me: WARNING: This system supports SELinux but libselinux is missing." >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be compiled without SELinux support." >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GNU tar will be compiled without SELinux support." >&5
$as_echo "$as_me: WARNING: GNU tar will be compiled without SELinux support." >&2;}
+ fi
+ with_selinux=no
fi
@@ -15425,6 +15293,8 @@ $as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h
+
+
if test $gl_cv_have_include_next = yes; then
gl_cv_next_string_h='<'string.h'>'
else
@@ -15434,36 +15304,40 @@ if ${gl_cv_next_string_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'string.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_string_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'string.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_string_h
+ gl_cv_next_string_h='"'$gl_header'"'
fi
@@ -15552,36 +15426,40 @@ else
if test $ac_cv_header_strings_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'strings.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_strings_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'strings.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_strings_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_strings_h
+ gl_cv_next_strings_h='"'$gl_header'"'
else
gl_cv_next_strings_h='<'strings.h'>'
fi
@@ -15683,6 +15561,19 @@ _ACEOF
+ac_fn_c_check_decl "$LINENO" "strtoimax" "ac_cv_have_decl_strtoimax" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoimax" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOIMAX $ac_have_decl
+_ACEOF
+
+
+
ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default"
if test "x$ac_cv_have_decl_strtoumax" = xyes; then :
ac_have_decl=1
@@ -15817,36 +15708,40 @@ if ${gl_cv_next_time_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'time.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_time_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'time.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_time_h
+ gl_cv_next_time_h='"'$gl_header'"'
fi
@@ -15871,6 +15766,17 @@ $as_echo "$gl_cv_next_time_h" >&6; }
+ac_fn_c_check_decl "$LINENO" "ttyname_r" "ac_cv_have_decl_ttyname_r" "$ac_includes_default"
+if test "x$ac_cv_have_decl_ttyname_r" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_TTYNAME_R $ac_have_decl
+_ACEOF
+
@@ -17477,6 +17383,10 @@ $as_echo "#define GNULIB_TEST_CLOSEDIR 1" >>confdefs.h
if test "x$localedir" = x; then
localedir='${datarootdir}/locale'
+ fi
+ if test "x$runstatedir" = x; then
+ runstatedir='${localstatedir}/run'
+
fi
pkglibexecdir='${libexecdir}/${PACKAGE}'
@@ -17513,7 +17423,7 @@ DIR *dp = opendir (".");
e = readdir (dp);
if (! e)
return 2;
- if (stat (e->d_name, &st) != 0)
+ if (lstat (e->d_name, &st) != 0)
return 3;
if (e->d_ino != st.st_ino)
return 4;
@@ -17568,36 +17478,40 @@ else
if test $ac_cv_header_dirent_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'dirent.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'dirent.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_dirent_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_dirent_h
+ gl_cv_next_dirent_h='"'$gl_header'"'
else
gl_cv_next_dirent_h='<'dirent.h'>'
fi
@@ -17978,9 +17892,11 @@ int result = 0;
/* Many gnulib modules require POSIX conformance of EBADF. */
if (dup2 (2, 1000000) == -1 && errno != EBADF)
result |= 16;
- /* Flush out a cygwin core dump. */
+ /* Flush out some cygwin core dumps. */
if (dup2 (2, -1) != -1 || errno != EBADF)
result |= 32;
+ dup2 (2, 255);
+ dup2 (2, 256);
return result;
;
@@ -18005,6 +17921,17 @@ $as_echo "$gl_cv_func_dup2_works" >&6; }
*yes) ;;
*)
REPLACE_DUP2=1
+ for ac_func in setdtablesize
+do :
+ ac_fn_c_check_func "$LINENO" "setdtablesize" "ac_cv_func_setdtablesize"
+if test "x$ac_cv_func_setdtablesize" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SETDTABLESIZE 1
+_ACEOF
+
+fi
+done
+
;;
esac
fi
@@ -18125,6 +18052,310 @@ $as_echo "$ac_cv_lib_error_at_line" >&6; }
+ for ac_func in euidaccess
+do :
+ ac_fn_c_check_func "$LINENO" "euidaccess" "ac_cv_func_euidaccess"
+if test "x$ac_cv_func_euidaccess" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_EUIDACCESS 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_euidaccess = no; then
+ HAVE_EUIDACCESS=0
+ fi
+
+ if test $HAVE_EUIDACCESS = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS euidaccess.$ac_objext"
+
+
+
+ for ac_header in libgen.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
+if test "x$ac_cv_header_libgen_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBGEN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+ ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups"
+if test "x$ac_cv_func_getgroups" = xyes; then :
+
+fi
+
+
+ # If we don't yet have getgroups, see if it's in -lbsd.
+ # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
+ ac_save_LIBS=$LIBS
+ if test $ac_cv_func_getgroups = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5
+$as_echo_n "checking for getgroups in -lbsd... " >&6; }
+if ${ac_cv_lib_bsd_getgroups+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char getgroups ();
+int
+main ()
+{
+return getgroups ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_bsd_getgroups=yes
+else
+ ac_cv_lib_bsd_getgroups=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5
+$as_echo "$ac_cv_lib_bsd_getgroups" >&6; }
+if test "x$ac_cv_lib_bsd_getgroups" = xyes; then :
+ GETGROUPS_LIB=-lbsd
+fi
+
+ fi
+
+ # Run the program to test the functionality of the system-supplied
+ # getgroups function only if there is such a function.
+ if test $ac_cv_func_getgroups = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5
+$as_echo_n "checking for working getgroups... " >&6; }
+if ${ac_cv_func_getgroups_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in # ((
+ # Guess yes on glibc systems.
+ *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) ac_cv_func_getgroups_works="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+/* On Ultrix 4.3, getgroups (0, 0) always fails. */
+ return getgroups (0, 0) == -1;
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_func_getgroups_works=yes
+else
+ ac_cv_func_getgroups_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5
+$as_echo "$ac_cv_func_getgroups_works" >&6; }
+ else
+ ac_cv_func_getgroups_works=no
+ fi
+ case "$ac_cv_func_getgroups_works" in
+ *yes)
+
+$as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h
+
+ ;;
+ esac
+ LIBS=$ac_save_LIBS
+
+
+ # Solaris 9 and 10 need -lgen to get the eaccess function.
+ # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all*
+ # programs in the package would end up linked with that potentially-shared
+ # library, inducing unnecessary run-time overhead.
+ LIB_EACCESS=
+
+ gl_saved_libs=$LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing eaccess" >&5
+$as_echo_n "checking for library containing eaccess... " >&6; }
+if ${ac_cv_search_eaccess+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char eaccess ();
+int
+main ()
+{
+return eaccess ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' gen; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_eaccess=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_eaccess+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_eaccess+:} false; then :
+
+else
+ ac_cv_search_eaccess=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_eaccess" >&5
+$as_echo "$ac_cv_search_eaccess" >&6; }
+ac_res=$ac_cv_search_eaccess
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ test "$ac_cv_search_eaccess" = "none required" ||
+ LIB_EACCESS=$ac_cv_search_eaccess
+fi
+
+ for ac_func in eaccess
+do :
+ ac_fn_c_check_func "$LINENO" "eaccess" "ac_cv_func_eaccess"
+if test "x$ac_cv_func_eaccess" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_EACCESS 1
+_ACEOF
+
+fi
+done
+
+ LIBS=$gl_saved_libs
+
+ fi
+
+
+
+
+
+ GNULIB_EUIDACCESS=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_EUIDACCESS 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_faccessat = no; then
+ HAVE_FACCESSAT=0
+ fi
+
+ if test $HAVE_FACCESSAT = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS faccessat.$ac_objext"
+
+
+ for ac_func in access
+do :
+ ac_fn_c_check_func "$LINENO" "access" "ac_cv_func_access"
+if test "x$ac_cv_func_access" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ACCESS 1
+_ACEOF
+
+fi
+done
+
+
+ fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FACCESSAT 1
+_ACEOF
+
+
+
+
+
+
+
+ GNULIB_FACCESSAT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FACCESSAT 1" >>confdefs.h
+
+
+
+
+
+
+
if test $ac_cv_have_decl_fchdir = no; then
HAVE_DECL_FCHDIR=0
@@ -18615,36 +18846,40 @@ if ${gl_cv_next_fcntl_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'fcntl.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_fcntl_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'fcntl.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_fcntl_h
+ gl_cv_next_fcntl_h='"'$gl_header'"'
fi
@@ -19009,36 +19244,40 @@ if ${gl_cv_next_float_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'float.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_float_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'float.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_float_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_float_h
+ gl_cv_next_float_h='"'$gl_header'"'
fi
@@ -19311,14 +19550,42 @@ _ACEOF
fi
-
fp_headers='
-# include
-# if HAVE_STDIO_EXT_H
-# include
-# endif
-'
- ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers
+ #include
+ #if HAVE_STDIO_EXT_H
+ # include
+ #endif
+ '
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __fpending" >&5
+$as_echo_n "checking for __fpending... " >&6; }
+if ${gl_cv_func___fpending+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$fp_headers
+int
+main ()
+{
+return ! __fpending (stdin);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_func___fpending=yes
+else
+ gl_cv_func___fpending=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func___fpending" >&5
+$as_echo "$gl_cv_func___fpending" >&6; }
+ if test $gl_cv_func___fpending = yes; then
+ ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers
"
if test "x$ac_cv_have_decl___fpending" = xyes; then :
ac_have_decl=1
@@ -19330,8 +19597,9 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL___FPENDING $ac_have_decl
_ACEOF
+ fi
- if test $ac_cv_func___fpending = no; then
+ if test $gl_cv_func___fpending = no; then
@@ -20078,6 +20346,7 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include
#include
#if HAVE_UNISTD_H
# include
@@ -20469,11 +20738,62 @@ $as_echo "#define GNULIB_TEST_GETDELIM 1" >>confdefs.h
- if test $ac_cv_func_getdtablesize != yes; then
+
+ if test $ac_cv_func_getdtablesize = yes; then
+ # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
+ # up to an unchangeable hard limit; all other platforms correctly
+ # require setrlimit before getdtablesize() can report a larger value.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getdtablesize works" >&5
+$as_echo_n "checking whether getdtablesize works... " >&6; }
+if ${gl_cv_func_getdtablesize_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+ gl_cv_func_getdtablesize_works="guessing no" ;;
+ *) gl_cv_func_getdtablesize_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include
+int
+main ()
+{
+int size = getdtablesize();
+ if (dup2 (0, getdtablesize()) != -1)
+ return 1;
+ if (size != getdtablesize())
+ return 2;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_getdtablesize_works=yes
+else
+ gl_cv_func_getdtablesize_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getdtablesize_works" >&5
+$as_echo "$gl_cv_func_getdtablesize_works" >&6; }
+ case "$gl_cv_func_getdtablesize_works" in
+ *yes) ;;
+ *) REPLACE_GETDTABLESIZE=1 ;;
+ esac
+ else
HAVE_GETDTABLESIZE=0
fi
- if test $HAVE_GETDTABLESIZE = 0; then
+ if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then
@@ -20506,6 +20826,206 @@ $as_echo "#define GNULIB_TEST_GETDTABLESIZE 1" >>confdefs.h
+ ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups"
+if test "x$ac_cv_func_getgroups" = xyes; then :
+
+fi
+
+
+ # If we don't yet have getgroups, see if it's in -lbsd.
+ # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
+ ac_save_LIBS=$LIBS
+ if test $ac_cv_func_getgroups = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5
+$as_echo_n "checking for getgroups in -lbsd... " >&6; }
+if ${ac_cv_lib_bsd_getgroups+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char getgroups ();
+int
+main ()
+{
+return getgroups ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_bsd_getgroups=yes
+else
+ ac_cv_lib_bsd_getgroups=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5
+$as_echo "$ac_cv_lib_bsd_getgroups" >&6; }
+if test "x$ac_cv_lib_bsd_getgroups" = xyes; then :
+ GETGROUPS_LIB=-lbsd
+fi
+
+ fi
+
+ # Run the program to test the functionality of the system-supplied
+ # getgroups function only if there is such a function.
+ if test $ac_cv_func_getgroups = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5
+$as_echo_n "checking for working getgroups... " >&6; }
+if ${ac_cv_func_getgroups_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in # ((
+ # Guess yes on glibc systems.
+ *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) ac_cv_func_getgroups_works="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+/* On Ultrix 4.3, getgroups (0, 0) always fails. */
+ return getgroups (0, 0) == -1;
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_func_getgroups_works=yes
+else
+ ac_cv_func_getgroups_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5
+$as_echo "$ac_cv_func_getgroups_works" >&6; }
+ else
+ ac_cv_func_getgroups_works=no
+ fi
+ case "$ac_cv_func_getgroups_works" in
+ *yes)
+
+$as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h
+
+ ;;
+ esac
+ LIBS=$ac_save_LIBS
+
+ if test $ac_cv_func_getgroups != yes; then
+ HAVE_GETGROUPS=0
+ else
+ if test "$ac_cv_type_getgroups" != gid_t \
+ || { case "$ac_cv_func_getgroups_works" in
+ *yes) false;;
+ *) true;;
+ esac
+ }; then
+ REPLACE_GETGROUPS=1
+
+$as_echo "#define GETGROUPS_ZERO_BUG 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getgroups handles negative values" >&5
+$as_echo_n "checking whether getgroups handles negative values... " >&6; }
+if ${gl_cv_func_getgroups_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_getgroups_works="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+int size = getgroups (0, 0);
+ gid_t *list = malloc (size * sizeof *list);
+ return getgroups (-1, list) != -1;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_getgroups_works=yes
+else
+ gl_cv_func_getgroups_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getgroups_works" >&5
+$as_echo "$gl_cv_func_getgroups_works" >&6; }
+ case "$gl_cv_func_getgroups_works" in
+ *yes) ;;
+ *) REPLACE_GETGROUPS=1 ;;
+ esac
+ fi
+ fi
+ test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
+
+ if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getgroups.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_GETGROUPS=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_GETGROUPS 1" >>confdefs.h
+
+
+
+
+
+
+
+
gl_getline_needs_run_time_check=no
@@ -20876,12 +21396,8 @@ $as_echo "$gl_cv_func_gettimeofday_clobber" >&6; }
*yes)
REPLACE_GETTIMEOFDAY=1
-
-$as_echo "#define gmtime rpl_gmtime" >>confdefs.h
-
-
-$as_echo "#define localtime rpl_localtime" >>confdefs.h
-
+ REPLACE_GMTIME=1
+ REPLACE_LOCALTIME=1
$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h
@@ -21013,6 +21529,51 @@ $as_echo "#define GNULIB_TEST_GETTIMEOFDAY 1" >>confdefs.h
+
+
+
+
+ ac_fn_c_check_func "$LINENO" "group_member" "ac_cv_func_group_member"
+if test "x$ac_cv_func_group_member" = xyes; then :
+
+else
+
+ HAVE_GROUP_MEMBER=0
+
+fi
+
+
+ if test $HAVE_GROUP_MEMBER = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS group-member.$ac_objext"
+
+
+
+
+ fi
+
+
+
+
+
+ GNULIB_GROUP_MEMBER=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_GROUP_MEMBER 1" >>confdefs.h
+
+
+
+
:
@@ -21280,6 +21841,40 @@ $as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+ case $host_os in
+ mingw*) REPLACE_ISATTY=1 ;;
+ esac
+
+ if test $REPLACE_ISATTY = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS isatty.$ac_objext"
+
+ :
+ fi
+
+
+
+
+
+ GNULIB_ISATTY=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ISATTY 1" >>confdefs.h
+
+
+
+
+
@@ -21377,36 +21972,40 @@ else
if test $ac_cv_header_langinfo_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'langinfo.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'langinfo.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_langinfo_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_langinfo_h
+ gl_cv_next_langinfo_h='"'$gl_header'"'
else
gl_cv_next_langinfo_h='<'langinfo.h'>'
fi
@@ -22197,36 +22796,40 @@ if ${gl_cv_next_locale_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'locale.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
- gl_header_literal_regex=`echo 'locale.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_cv_absolute_locale_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_locale_h
+ gl_cv_next_locale_h='"'$gl_header'"'
fi
@@ -25265,6 +25868,43 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
+
+
+ if test $ac_cv_func_posix_openpt != yes; then
+ HAVE_POSIX_OPENPT=0
+ fi
+
+ if test $HAVE_POSIX_OPENPT = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS posix_openpt.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_POSIX_OPENPT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_POSIX_OPENPT 1" >>confdefs.h
+
+
+
+
for ac_func in getppriv
do :
ac_fn_c_check_func "$LINENO" "getppriv" "ac_cv_func_getppriv"
@@ -25303,6 +25943,237 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+
+
+
+
+ for ac_func in ptsname
+do :
+ ac_fn_c_check_func "$LINENO" "ptsname" "ac_cv_func_ptsname"
+if test "x$ac_cv_func_ptsname" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_PTSNAME 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_ptsname = no; then
+ HAVE_PTSNAME=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname sets errno on failure" >&5
+$as_echo_n "checking whether ptsname sets errno on failure... " >&6; }
+if ${gl_cv_func_ptsname_sets_errno+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_ptsname_sets_errno="guessing yes" ;;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_ptsname_sets_errno="guessing no" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+
+int
+main ()
+{
+
+ return ptsname (-1) || !errno;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_ptsname_sets_errno=yes
+else
+ gl_cv_func_ptsname_sets_errno=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ptsname_sets_errno" >&5
+$as_echo "$gl_cv_func_ptsname_sets_errno" >&6; }
+ case $gl_cv_func_ptsname_sets_errno in
+ *no) REPLACE_PTSNAME=1 ;;
+ esac
+ fi
+
+ if test $HAVE_PTSNAME = 0 || test $REPLACE_PTSNAME = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS ptsname.$ac_objext"
+
+
+ :
+
+ fi
+
+
+
+
+
+ GNULIB_PTSNAME=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_PTSNAME 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_ptsname_r = no; then
+ HAVE_PTSNAME_R=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ptsname_r has the same signature as in glibc" >&5
+$as_echo_n "checking whether ptsname_r has the same signature as in glibc... " >&6; }
+if ${gl_cv_func_ptsname_r_signature_ok+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+ #include
+ /* Test whether ptsname_r is declared at all. */
+ int (*f) (int, char *, size_t) = ptsname_r;
+ /* Test whether it has the same declaration as in glibc. */
+ #undef ptsname_r
+ extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ int ptsname_r (int, char *, size_t);
+
+int
+main ()
+{
+return f (0, NULL, 0);
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_ptsname_r_signature_ok=yes
+else
+ gl_cv_func_ptsname_r_signature_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ptsname_r_signature_ok" >&5
+$as_echo "$gl_cv_func_ptsname_r_signature_ok" >&6; }
+ if test $gl_cv_func_ptsname_r_signature_ok = no; then
+ REPLACE_PTSNAME_R=1
+ fi
+ fi
+
+ if test $HAVE_PTSNAME_R = 0 || test $REPLACE_PTSNAME_R = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS ptsname_r.$ac_objext"
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether isatty sets errno when it fails" >&5
+$as_echo_n "checking whether isatty sets errno when it fails... " >&6; }
+if ${gl_cv_func_isatty_sets_errno+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ irix* | solaris* | mingw*)
+ gl_cv_func_isatty_sets_errno="guessing no";;
+ *)
+ gl_cv_func_isatty_sets_errno="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ # include
+ #else
+ # include
+ #endif
+
+int
+main ()
+{
+errno = 0;
+ isatty (-1);
+ return errno == 0;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_isatty_sets_errno=yes
+else
+ gl_cv_func_isatty_sets_errno=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_isatty_sets_errno" >&5
+$as_echo "$gl_cv_func_isatty_sets_errno" >&6; }
+ case "$gl_cv_func_isatty_sets_errno" in
+ *yes) ;;
+ *)
+
+$as_echo "#define ISATTY_FAILS_WITHOUT_SETTING_ERRNO 1" >>confdefs.h
+
+ ;;
+ esac
+
+ fi
+
+
+
+
+
+ GNULIB_PTSNAME_R=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_PTSNAME_R 1" >>confdefs.h
+
+
+
+
# Check whether --enable-acl was given.
if test "${enable_acl+set}" = set; then :
enableval=$enable_acl;
@@ -25311,6 +26182,7 @@ else
fi
+
LIB_ACL=
use_acl=0
if test "x$enable_acl" != "xno"; then
@@ -25410,10 +26282,8 @@ $as_echo_n "checking for working acl_get_file... " >&6; }
if ${gl_cv_func_working_acl_get_file+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
- gl_cv_func_working_acl_get_file=cross-compiling
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ gl_cv_func_working_acl_get_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
@@ -25430,20 +26300,19 @@ if (!acl_get_file (".", ACL_TYPE_ACCESS) && errno == ENOENT)
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- gl_cv_func_working_acl_get_file=yes
-else
- gl_cv_func_working_acl_get_file=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+if ac_fn_c_try_link "$LINENO"; then :
+ if test $cross_compiling = yes; then
+ gl_cv_func_working_acl_get_file="guessing yes"
+ elif ./conftest$ac_exeext; then
+ gl_cv_func_working_acl_get_file=yes
+ fi
fi
-
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_acl_get_file" >&5
$as_echo "$gl_cv_func_working_acl_get_file" >&6; }
-
- if test $gl_cv_func_working_acl_get_file = yes; then :
+ if test "$gl_cv_func_working_acl_get_file" != no; then :
use_acl=1
fi
@@ -26141,6 +27010,7 @@ fi
# If cross compiling, assume the test would fail and use the included
# regex.c.
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working re_compile_pattern" >&5
$as_echo_n "checking for working re_compile_pattern... " >&6; }
if ${gl_cv_func_re_compile_pattern_working+:} false; then :
@@ -26156,9 +27026,19 @@ else
#include
#include
#include
- #if HAVE_DECL_ALARM
- # include
+
+ #if defined M_CHECK_ACTION || HAVE_DECL_ALARM
# include
+ # include
+ #endif
+
+ #if HAVE_MALLOC_H
+ # include
+ #endif
+
+ #ifdef M_CHECK_ACTION
+ /* Exit with distinguishable exit code. */
+ static void sigabrt_no_core (int sig) { raise (SIGTERM); }
#endif
int
@@ -26171,11 +27051,18 @@ int result = 0;
const char *s;
struct re_registers regs;
+ /* Some builds of glibc go into an infinite loop on this
+ test. Use alarm to force death, and mallopt to avoid
+ malloc recursion in diagnosing the corrupted heap. */
#if HAVE_DECL_ALARM
- /* Some builds of glibc go into an infinite loop on this test. */
signal (SIGALRM, SIG_DFL);
alarm (2);
#endif
+#ifdef M_CHECK_ACTION
+ signal (SIGABRT, sigabrt_no_core);
+ mallopt (M_CHECK_ACTION, 2);
+#endif
+
if (setlocale (LC_ALL, "en_US.UTF-8"))
{
{
@@ -26424,6 +27311,7 @@ $as_echo "#define regfree rpl_regfree" >>confdefs.h
+
for ac_header in libintl.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
@@ -27162,36 +28050,40 @@ else
if test $ac_cv_header_selinux_selinux_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'selinux/selinux.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_selinux_selinux_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'selinux/selinux.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_selinux_selinux_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_selinux_selinux_h
+ gl_cv_next_selinux_selinux_h='"'$gl_header'"'
else
gl_cv_next_selinux_selinux_h='<'selinux/selinux.h'>'
fi
@@ -27400,36 +28292,40 @@ if ${gl_cv_next_signal_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'signal.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
- gl_header_literal_regex=`echo 'signal.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_cv_absolute_signal_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_signal_h
+ gl_cv_next_signal_h='"'$gl_header'"'
fi
@@ -28239,7 +29135,8 @@ else
/* Test _Alignas only on platforms where gnulib can help. */
#if \
- (__GNUC__ || __IBMC__ || __IBMCPP__ \
+ ((defined __cplusplus && 201103 <= __cplusplus) \
+ || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
|| 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
struct alignas_test { char c; char alignas (8) alignas_8; };
char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
@@ -28349,36 +29246,40 @@ if ${gl_cv_next_stdarg_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stdarg.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_stdarg_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'stdarg.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_stdarg_h
+ gl_cv_next_stdarg_h='"'$gl_header'"'
fi
@@ -28552,36 +29453,40 @@ if ${gl_cv_next_stddef_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stddef.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_stddef_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
- gl_header_literal_regex=`echo 'stddef.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_header=$gl_cv_absolute_stddef_h
+ gl_cv_next_stddef_h='"'$gl_header'"'
fi
@@ -28624,36 +29529,40 @@ if ${gl_cv_next_stdio_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stdio.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
- gl_header_literal_regex=`echo 'stdio.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_cv_absolute_stdio_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_stdio_h
+ gl_cv_next_stdio_h='"'$gl_header'"'
fi
@@ -28771,36 +29680,40 @@ if ${gl_cv_next_stdlib_h+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'stdlib.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
- gl_header_literal_regex=`echo 'stdlib.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ gl_cv_absolute_stdlib_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_stdlib_h
+ gl_cv_next_stdlib_h='"'$gl_header'"'
fi
@@ -29286,6 +30199,20 @@ done
fi
+ # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
+
+
+
+
+
+
+
+$as_echo "#define my_strftime nstrftime" >>confdefs.h
+
+
+
+
+
@@ -29484,6 +30411,131 @@ $as_echo "#define GNULIB_TEST_STRNLEN 1" >>confdefs.h
+
+
+
+
+ if test "$ac_cv_have_decl_strtoimax" != yes; then
+ HAVE_DECL_STRTOIMAX=0
+ fi
+
+ if test "$ac_cv_func_strtoimax" = yes; then
+ HAVE_STRTOIMAX=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtoimax works" >&5
+$as_echo_n "checking whether strtoimax works... " >&6; }
+if ${gl_cv_func_strtoimax+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ # Guess no on AIX 5.
+ aix5*) gl_cv_func_strtoimax="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_strtoimax="guessing yes" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include
+#include
+#include
+int main ()
+{
+ if (sizeof (intmax_t) > sizeof (int))
+ {
+ const char *s = "4294967295";
+ char *p;
+ intmax_t res;
+ errno = 0;
+ res = strtoimax (s, &p, 10);
+ if (p != s + strlen (s))
+ return 1;
+ if (errno != 0)
+ return 2;
+ if (res != (intmax_t) 65535 * (intmax_t) 65537)
+ return 3;
+ }
+ else
+ {
+ const char *s = "2147483647";
+ char *p;
+ intmax_t res;
+ errno = 0;
+ res = strtoimax (s, &p, 10);
+ if (p != s + strlen (s))
+ return 1;
+ if (errno != 0)
+ return 2;
+ if (res != 2147483647)
+ return 3;
+ }
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_strtoimax=yes
+else
+ gl_cv_func_strtoimax=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtoimax" >&5
+$as_echo "$gl_cv_func_strtoimax" >&6; }
+ case "$gl_cv_func_strtoimax" in
+ *no) REPLACE_STRTOIMAX=1 ;;
+ esac
+ else
+ if test "$ac_cv_have_decl_strtoimax" = yes; then
+ # HP-UX 11.11 has "#define strtoimax(...) ..." but no function.
+ REPLACE_STRTOIMAX=1
+ fi
+ HAVE_STRTOIMAX=0
+ fi
+
+ if test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strtoimax.$ac_objext"
+
+
+ ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRTOLL $ac_have_decl
+_ACEOF
+
+
+
+ fi
+
+
+
+
+
+ GNULIB_STRTOIMAX=1
+
+
+
+
+
for ac_func in strtol
do :
ac_fn_c_check_func "$LINENO" "strtol" "ac_cv_func_strtol"
@@ -29509,6 +30561,56 @@ done
fi
+
+
+ if test "$ac_cv_type_long_long_int" = yes; then
+ for ac_func in strtoll
+do :
+ ac_fn_c_check_func "$LINENO" "strtoll" "ac_cv_func_strtoll"
+if test "x$ac_cv_func_strtoll" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STRTOLL 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_strtoll = no; then
+ HAVE_STRTOLL=0
+ fi
+ fi
+
+ if test $HAVE_STRTOLL = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strtoll.$ac_objext"
+
+
+ :
+
+ fi
+
+
+
+
+
+ GNULIB_STRTOLL=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STRTOLL 1" >>confdefs.h
+
+
+
+
for ac_func in strtoul
do :
ac_fn_c_check_func "$LINENO" "strtoul" "ac_cv_func_strtoul"
@@ -29588,11 +30690,16 @@ $as_echo "#define GNULIB_TEST_STRTOULL 1" >>confdefs.h
- if test "$ac_cv_have_decl_strtoumax" != yes; then
+ if test "$ac_cv_have_decl_strtoumax" = yes; then
+ if test "$ac_cv_func_strtoumax" != yes; then
+ # HP-UX 11.11 has "#define strtoimax(...) ..." but no function.
+ REPLACE_STRTOUMAX=1
+ fi
+ else
HAVE_DECL_STRTOUMAX=0
fi
- if test $ac_cv_func_strtoumax = no; then
+ if test $HAVE_DECL_STRTOUMAX = 0 || test $REPLACE_STRTOUMAX = 1; then
@@ -29778,36 +30885,40 @@ else
if test $ac_cv_header_sys_stat_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'sys/stat.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'sys/stat.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_sys_stat_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_sys_stat_h
+ gl_cv_next_sys_stat_h='"'$gl_header'"'
else
gl_cv_next_sys_stat_h='<'sys/stat.h'>'
fi
@@ -29929,36 +31040,40 @@ else
if test $ac_cv_header_sysexits_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'sysexits.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_sysexits_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'sysexits.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_sysexits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_sysexits_h
+ gl_cv_next_sysexits_h='"'$gl_header'"'
else
gl_cv_next_sysexits_h='<'sysexits.h'>'
fi
@@ -30147,6 +31262,167 @@ $as_echo "#define GNULIB_TEST_TIME_R 1" >>confdefs.h
+ if test $ac_cv_have_decl_ttyname_r = no; then
+ HAVE_DECL_TTYNAME_R=0
+ fi
+
+ for ac_func in ttyname_r
+do :
+ ac_fn_c_check_func "$LINENO" "ttyname_r" "ac_cv_func_ttyname_r"
+if test "x$ac_cv_func_ttyname_r" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_TTYNAME_R 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_ttyname_r = no; then
+ HAVE_TTYNAME_R=0
+ else
+ HAVE_TTYNAME_R=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r is compatible with its POSIX signature" >&5
+$as_echo_n "checking whether ttyname_r is compatible with its POSIX signature... " >&6; }
+if ${gl_cv_func_ttyname_r_posix+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include
+ #include
+int
+main ()
+{
+*ttyname_r (0, NULL, 0);
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_ttyname_r_posix=no
+else
+ gl_cv_func_ttyname_r_posix=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_posix" >&5
+$as_echo "$gl_cv_func_ttyname_r_posix" >&6; }
+ if test $gl_cv_func_ttyname_r_posix = no; then
+ REPLACE_TTYNAME_R=1
+ else
+
+$as_echo "#define HAVE_POSIXDECL_TTYNAME_R 1" >>confdefs.h
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r works with small buffers" >&5
+$as_echo_n "checking whether ttyname_r works with small buffers... " >&6; }
+if ${gl_cv_func_ttyname_r_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ case "$host_os" in
+ # Guess no on Solaris.
+ solaris*) gl_cv_func_ttyname_r_works="guessing no" ;;
+ # Guess no on OSF/1.
+ osf*) gl_cv_func_ttyname_r_works="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_ttyname_r_works="guessing yes" ;;
+ esac
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include
+#include
+int
+main (void)
+{
+ int result = 0;
+ int fd;
+ char buf[31]; /* use any size < 128 here */
+
+ fd = open ("/dev/tty", O_RDONLY);
+ if (fd < 0)
+ result |= 16;
+ else if (ttyname_r (fd, buf, sizeof (buf)) != 0)
+ result |= 17;
+ else if (ttyname_r (fd, buf, 1) == 0)
+ result |= 18;
+ return result;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_ttyname_r_works=yes
+else
+ case $? in
+ 17 | 18) gl_cv_func_ttyname_r_works=no ;;
+ esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_ttyname_r_works" >&5
+$as_echo "$gl_cv_func_ttyname_r_works" >&6; }
+ case "$gl_cv_func_ttyname_r_works" in
+ *yes) ;;
+ *) REPLACE_TTYNAME_R=1 ;;
+ esac
+ fi
+ fi
+
+ if test $HAVE_TTYNAME_R = 0 || test $REPLACE_TTYNAME_R = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS ttyname_r.$ac_objext"
+
+
+ for ac_func in ttyname
+do :
+ ac_fn_c_check_func "$LINENO" "ttyname" "ac_cv_func_ttyname"
+if test "x$ac_cv_func_ttyname" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_TTYNAME 1
+_ACEOF
+
+fi
+done
+
+
+ fi
+
+
+
+
+
+ GNULIB_TTYNAME_R=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_TTYNAME_R 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
@@ -30165,36 +31441,40 @@ else
if test $ac_cv_header_unistd_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'unistd.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'unistd.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_unistd_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_unistd_h
+ gl_cv_next_unistd_h='"'$gl_header'"'
else
gl_cv_next_unistd_h='<'unistd.h'>'
fi
@@ -30646,6 +31926,66 @@ $as_echo "#define USE_UNLOCKED_IO 1" >>confdefs.h
+
+
+
+ for ac_func in unlockpt
+do :
+ ac_fn_c_check_func "$LINENO" "unlockpt" "ac_cv_func_unlockpt"
+if test "x$ac_cv_func_unlockpt" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_UNLOCKPT 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_unlockpt = no; then
+ HAVE_UNLOCKPT=0
+ fi
+
+ if test $HAVE_UNLOCKPT = 0; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS unlockpt.$ac_objext"
+
+
+ for ac_func in revoke
+do :
+ ac_fn_c_check_func "$LINENO" "revoke" "ac_cv_func_revoke"
+if test "x$ac_cv_func_revoke" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_REVOKE 1
+_ACEOF
+
+fi
+done
+
+
+ fi
+
+
+
+
+
+ GNULIB_UNLOCKPT=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_UNLOCKPT 1" >>confdefs.h
+
+
+
+
+
if test $ac_cv_have_decl_unsetenv = no; then
HAVE_DECL_UNSETENV=0
@@ -31384,36 +32724,40 @@ else
if test $ac_cv_header_wchar_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'wchar.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'wchar.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_wchar_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_wchar_h
+ gl_cv_next_wchar_h='"'$gl_header'"'
else
gl_cv_next_wchar_h='<'wchar.h'>'
fi
@@ -31843,36 +33187,40 @@ else
if test $ac_cv_header_wctype_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
-
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
- case "$host_os" in
- mingw*)
- gl_dirsep_regex='[/\\]'
- ;;
- *)
- gl_dirsep_regex='\/'
- ;;
- esac
- gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-
- gl_header_literal_regex=`echo 'wctype.h' \
- | 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/
- s|^/[^/]|//&|
- p
- q
- }'
- gl_cv_next_wctype_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n "$gl_absolute_header_sed"`'"'
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+ gl_header_literal_regex=`echo 'wctype.h' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+
+ gl_cv_absolute_wctype_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`
+
+ gl_header=$gl_cv_absolute_wctype_h
+ gl_cv_next_wctype_h='"'$gl_header'"'
else
gl_cv_next_wctype_h='<'wctype.h'>'
fi
@@ -32753,6 +34101,14 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
fi
+ if test "$pu_cv_header_rmt" = yes; then
+ PU_RMT_COND_TRUE=
+ PU_RMT_COND_FALSE='#'
+else
+ PU_RMT_COND_TRUE='#'
+ PU_RMT_COND_FALSE=
+fi
+
@@ -32920,12 +34276,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Werror__Wunknown_warning_option=yes
else
gl_cv_warn_c__Werror__Wunknown_warning_option=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -32957,12 +34314,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Werror=yes
else
gl_cv_warn_c__Werror=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33146,7 +34504,6 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
-Wmissing-include-dirs \
-Wmissing-parameter-type \
-Wmissing-prototypes \
- -Wmudflap \
-Wmultichar \
-Wnarrowing \
-Wnested-externs \
@@ -33204,6 +34561,8 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
-Wvla \
-Wvolatile-register-var \
-Wwrite-strings \
+ -fdiagnostics-show-option \
+ -funit-at-a-time \
\
; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
@@ -33238,6 +34597,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
for w in $ws; do
as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh`
+gl_positive="$w"
+case $gl_positive in
+ -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
+esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
$as_echo_n "checking whether C compiler handles $w... " >&6; }
if eval \${$as_gl_Warn+:} false; then :
@@ -33245,7 +34608,7 @@ if eval \${$as_gl_Warn+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $w"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33257,12 +34620,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
eval "$as_gl_Warn=yes"
else
eval "$as_gl_Warn=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33283,7 +34647,7 @@ if ${gl_cv_warn_c__Wno_sign_compare+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-sign-compare"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wsign-compare"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33295,12 +34659,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_sign_compare=yes
else
gl_cv_warn_c__Wno_sign_compare=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33319,7 +34684,7 @@ if ${gl_cv_warn_c__Wno_type_limits+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-type-limits"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wtype-limits"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33331,12 +34696,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_type_limits=yes
else
gl_cv_warn_c__Wno_type_limits=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33355,7 +34721,7 @@ if ${gl_cv_warn_c__Wno_unused_parameter+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-parameter"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-parameter"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33367,12 +34733,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_parameter=yes
else
gl_cv_warn_c__Wno_unused_parameter=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33391,7 +34758,7 @@ if ${gl_cv_warn_c__Wno_format_nonliteral+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-format-nonliteral"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-nonliteral"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33403,12 +34770,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_format_nonliteral=yes
else
gl_cv_warn_c__Wno_format_nonliteral=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33440,12 +34808,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__fdiagnostics_show_option=yes
else
gl_cv_warn_c__fdiagnostics_show_option=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33476,12 +34845,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__funit_at_a_time=yes
else
gl_cv_warn_c__funit_at_a_time=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33538,7 +34908,7 @@ if ${gl_cv_warn_c__Wno_missing_field_initializers+:} false; then :
else
gl_save_compiler_FLAGS="$CFLAGS"
- as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-missing-field-initializers"
+ as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wmissing-field-initializers"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33550,12 +34920,13 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_missing_field_initializers=yes
else
gl_cv_warn_c__Wno_missing_field_initializers=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@@ -33602,19 +34973,20 @@ else
fi
- for ac_header in attr/xattr.h
+ # First check for
+ for ac_header in sys/xattr.h
do :
- ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
-if test "x$ac_cv_header_attr_xattr_h" = xyes; then :
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_xattr_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTR_XATTR_H 1
+#define HAVE_SYS_XATTR_H 1
_ACEOF
fi
done
- if test "$ac_cv_header_attr_xattr_h" = yes; then
+ if test "$ac_cv_header_sys_xattr_h" = yes; then
TAR_COND_XATTR_H_TRUE=
TAR_COND_XATTR_H_FALSE='#'
else
@@ -33622,7 +34994,15 @@ else
TAR_COND_XATTR_H_FALSE=
fi
- if test "$ac_cv_header_attr_xattr_h" = yes; then
+ if false; then
+ TAR_LIB_ATTR_TRUE=
+ TAR_LIB_ATTR_FALSE='#'
+else
+ TAR_LIB_ATTR_TRUE='#'
+ TAR_LIB_ATTR_FALSE=
+fi
+
+ if test "$ac_cv_header_sys_xattr_h" = yes; then
for ac_func in getxattr fgetxattr lgetxattr \
setxattr fsetxattr lsetxattr \
listxattr flistxattr llistxattr
@@ -33635,7 +35015,7 @@ if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
_ACEOF
# only when functions are present
-$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
+$as_echo "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
if test "$with_xattrs" != no; then
@@ -33648,12 +35028,122 @@ done
fi
+ # If is not found, then check for
+ if test "$ac_cv_header_sys_xattr_h" != yes; then
+ for ac_header in attr/xattr.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
+if test "x$ac_cv_header_attr_xattr_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTR_XATTR_H 1
+_ACEOF
+
+fi
+
+done
+
+ if test "$ac_cv_header_attr_xattr_h" = yes; then
+ TAR_COND_XATTR_H_TRUE=
+ TAR_COND_XATTR_H_FALSE='#'
+else
+ TAR_COND_XATTR_H_TRUE='#'
+ TAR_COND_XATTR_H_FALSE=
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+if ${ac_cv_lib_attr_fgetxattr+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lattr $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fgetxattr ();
+int
+main ()
+{
+return fgetxattr ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_attr_fgetxattr=yes
+else
+ ac_cv_lib_attr_fgetxattr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBATTR 1
+_ACEOF
+
+ LIBS="-lattr $LIBS"
+
+fi
+
+ if test "$ac_cv_lib_attr_fgetxattr" = yes; then
+ TAR_LIB_ATTR_TRUE=
+ TAR_LIB_ATTR_FALSE='#'
+else
+ TAR_LIB_ATTR_TRUE='#'
+ TAR_LIB_ATTR_FALSE=
+fi
+
+ if test "$ac_cv_header_attr_xattr_h" = yes; then
+ for ac_func in getxattr fgetxattr lgetxattr \
+ setxattr fsetxattr lsetxattr \
+ listxattr flistxattr llistxattr
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ # only when functions are present
+
+$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
+
+ if test "$with_xattrs" != no; then
+
+$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+
+ fi
+
+fi
+done
+
+ fi
+ fi
+
+ if test $ac_cv_func_grantpt = yes; then
+ TAR_COND_GRANTPT_TRUE=
+ TAR_COND_GRANTPT_FALSE='#'
+else
+ TAR_COND_GRANTPT_TRUE='#'
+ TAR_COND_GRANTPT_FALSE=
+fi
+
ac_fn_c_check_decl "$LINENO" "getgrgid" "ac_cv_have_decl_getgrgid" "#include
"
@@ -34997,6 +36487,75 @@ fi
# Gettext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
$as_echo_n "checking whether NLS is requested... " >&6; }
@@ -36620,10 +38179,30 @@ fi
gltests_LTLIBOBJS=$gltests_ltlibobjs
+if test -z "${PU_RMT_COND_TRUE}" && test -z "${PU_RMT_COND_FALSE}"; then
+ as_fn_error $? "conditional \"PU_RMT_COND\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then
as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${TAR_COND_GRANTPT_TRUE}" && test -z "${TAR_COND_GRANTPT_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_GRANTPT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
@@ -37021,7 +38600,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU tar $as_me 1.27, which was
+This file was extended by GNU tar $as_me 1.28, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -37089,7 +38668,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU tar config.status 1.27
+GNU tar config.status 1.28
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -37836,7 +39415,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -37887,7 +39466,7 @@ $as_echo X"$mf" |
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
diff --git a/configure.ac b/configure.ac
index 3bff70e..a93c6c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Configure template for GNU tar. -*- autoconf -*-
-# Copyright 1991, 1994-2010, 2013 Free Software Foundation, Inc.
+# Copyright 1991, 1994-2010, 2013-2014 Free Software Foundation, Inc.
# This file is part of GNU tar.
@@ -17,24 +17,24 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-AC_INIT([GNU tar], [1.27], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.28], [bug-tar@gnu.org])
AC_CONFIG_SRCDIR([src/tar.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_PREREQ([2.63])
-AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 dist-xz dist-shar std-options silent-rules])
+AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 dist-xz std-options silent-rules])
# Enable silent rules by default:
AM_SILENT_RULES([yes])
-AC_PROG_CC
+AC_PROG_CC_STDC
AC_EXEEXT
AC_PROG_RANLIB
AC_PROG_YACC
gl_EARLY
+AC_CHECK_TOOLS([AR], [ar])
AC_SYS_LARGEFILE
-AC_ISC_POSIX
AC_C_INLINE
AC_CHECK_HEADERS_ONCE(fcntl.h linux/fd.h memory.h net/errno.h \
@@ -49,12 +49,7 @@ AC_CHECK_HEADERS([sys/buf.h], [], [],
#include
#endif])
-AC_HEADER_SYS_WAIT
-
-AC_HEADER_DIRENT
AC_HEADER_MAJOR
-AC_HEADER_STAT
-AC_HEADER_STDC
AC_MSG_CHECKING([for st_fstype string in struct stat])
AC_CACHE_VAL(diff_cv_st_fstype_string,
@@ -74,11 +69,13 @@ fi
AC_ARG_WITH([posix-acls],
AS_HELP_STRING([--without-posix-acls],
[do not use POSIX.1e access control lists]),
- [with_posix_acls=no])
+ [],
+ [with_posix_acls=yes])
if test "x$with_posix_acls" != "xno"; then
AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acls=no])
for tar_acl_func in acl_get_file acl_get_fd acl_set_file acl_set_fd \
- acl_to_text acl_from_text; do \
+ acl_to_text acl_from_text acl_delete_def_file \
+ acl_free; do \
test "x$with_posix_acls" = xno && break
AC_SEARCH_LIBS([$tar_acl_func], [acl pacl], [], [with_posix_acls=no])
done
@@ -90,11 +87,9 @@ else
export enable_acl=no
fi
-AC_TYPE_SIGNAL
AC_TYPE_MODE_T
AC_TYPE_PID_T
AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
AC_TYPE_UID_T
AC_CHECK_TYPE(major_t, , AC_DEFINE(major_t, int,
[Type of major device numbers.]))
@@ -209,7 +204,8 @@ fi
TAR_HEADERS_ATTR_XATTR_H
-AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink])
+AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink grantpt])
+AM_CONDITIONAL([TAR_COND_GRANTPT], [test $ac_cv_func_grantpt = yes])
AC_CHECK_DECLS([getgrgid],,, [#include ])
AC_CHECK_DECLS([getpwuid],,, [#include ])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b45d70e..b654941 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,7 @@
# Makefile for GNU tar documentation.
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013 Free Software
-# Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014 Free
+# Software Foundation, Inc.
# This file is part of GNU tar.
@@ -32,7 +32,13 @@ tar_TEXINFOS = \
snapshot.texi\
sparse.texi\
value.texi
-EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el
+
+dist_man_MANS=tar.1 $(RMT_8)
+if PU_RMT_COND
+ RMT_8=rmt.8
+endif
+
+EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el rmt.8
# The rendering level is anyone of PUBLISH, DISTRIB or PROOF.
# Just call 'make RENDITION=PROOF [target]' if you want PROOF rendition.
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 9f81366..ca44f1a 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.6 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -16,8 +16,8 @@
# Makefile for GNU tar documentation.
-# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013 Free Software
-# Foundation, Inc.
+# Copyright 1994-1997, 1999-2001, 2003, 2006-2007, 2013-2014 Free
+# Software Foundation, Inc.
# This file is part of GNU tar.
@@ -34,23 +34,51 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -69,16 +97,16 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/stamp-vti $(srcdir)/version.texi $(tar_TEXINFOS) \
- $(top_srcdir)/build-aux/mdate-sh \
- $(top_srcdir)/build-aux/texinfo.tex
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(tar_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \
+ $(srcdir)/version.texi $(srcdir)/stamp-vti \
+ $(top_srcdir)/build-aux/texinfo.tex $(dist_man_MANS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
+ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
@@ -90,9 +118,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
- $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \
- $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \
+ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \
+ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
+ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
@@ -104,19 +133,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
- $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
- $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \
+ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getline.m4 \
+ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 \
+ $(top_srcdir)/m4/group-member.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
- $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
- $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
+ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libunistring-base.m4 \
$(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
$(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
@@ -142,19 +173,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
- $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
- $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
- $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
- $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \
- $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \
- $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
- $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
- $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \
+ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \
+ $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \
+ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \
+ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rewinddir.m4 \
+ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+ $(top_srcdir)/m4/secure_getenv.m4 \
$(top_srcdir)/m4/selinux-context-h.m4 \
$(top_srcdir)/m4/selinux-selinux-h.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \
@@ -167,20 +200,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
- $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
- $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \
- $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
- $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
- $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \
$(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
- $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
- $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \
- $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+ $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \
$(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
@@ -259,7 +295,8 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-am__installdirs = "$(DESTDIR)$(infodir)"
+am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \
+ "$(DESTDIR)$(man8dir)"
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -287,6 +324,11 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
+man1dir = $(mandir)/man1
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
@@ -855,6 +897,7 @@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_ACL = @LIB_ACL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_EACCESS = @LIB_EACCESS@
LIB_SELINUX = @LIB_SELINUX@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -970,11 +1013,13 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -983,6 +1028,7 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -1049,6 +1095,7 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
@@ -1076,6 +1123,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RSH = @RSH@
+SED = @SED@
SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -1113,6 +1161,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -1157,6 +1206,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1180,7 +1230,9 @@ tar_TEXINFOS = \
sparse.texi\
value.texi
-EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el
+dist_man_MANS = tar.1 $(RMT_8)
+@PU_RMT_COND_TRUE@RMT_8 = rmt.8
+EXTRA_DIST = gendocs_template mastermenu.el texify.sed untabify.el rmt.8
# The rendering level is anyone of PUBLISH, DISTRIB or PROOF.
# Just call 'make RENDITION=PROOF [target]' if you want PROOF rendition.
@@ -1248,25 +1300,23 @@ $(am__aclocal_m4_deps):
.texi.dvi:
$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull)
+ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.pdf:
$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull)
+ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.html:
$(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
$(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
+ rm -rf $(@:.html=.htp); exit 1; \
fi
$(srcdir)/tar.info: tar.texi $(srcdir)/version.texi $(tar_TEXINFOS)
tar.dvi: tar.texi $(srcdir)/version.texi $(tar_TEXINFOS)
@@ -1372,8 +1422,7 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -rf tar.aux tar.cp tar.cps tar.fn tar.kw tar.ky tar.log tar.op tar.ops \
- tar.pg tar.tmp tar.toc tar.tp tar.tps tar.vr
+ -rm -rf tar.t2d tar.t2p
clean-aminfo:
-test -z "tar.dvi tar.pdf tar.ps tar.html" \
@@ -1385,11 +1434,95 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
-tags: TAGS
-TAGS:
+install-man1: $(dist_man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(dist_man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
-ctags: CTAGS
-CTAGS:
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-man8: $(dist_man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(dist_man_MANS)'; \
+ test -n "$(man8dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.8[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man8:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man8dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.8[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
cscope cscopelist:
@@ -1429,9 +1562,9 @@ distdir: $(DISTFILES)
dist-info
check-am: all-am
check: check-am
-all-am: Makefile $(INFO_DEPS)
+all-am: Makefile $(INFO_DEPS) $(MANS)
installdirs:
- for dir in "$(DESTDIR)$(infodir)"; do \
+ for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1484,7 +1617,7 @@ info: info-am
info-am: $(INFO_DEPS)
-install-data-am: install-info-am
+install-data-am: install-info-am install-man
install-dvi: install-dvi-am
@@ -1567,7 +1700,7 @@ install-info-am: $(INFO_DEPS)
install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
done; \
else : ; fi
-install-man:
+install-man: install-man1 install-man8
install-pdf: install-pdf-am
@@ -1621,23 +1754,27 @@ ps: ps-am
ps-am: $(PSS)
uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
- uninstall-pdf-am uninstall-ps-am
+ uninstall-man uninstall-pdf-am uninstall-ps-am
+
+uninstall-man: uninstall-man1 uninstall-man8
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
- clean-local dist-info distclean distclean-generic distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
+ clean-local cscopelist-am ctags-am dist-info distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-man8 install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
maintainer-clean-aminfo maintainer-clean-generic \
maintainer-clean-vti mostlyclean mostlyclean-aminfo \
mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-pdf-am uninstall-ps-am
+ tags-am uninstall uninstall-am uninstall-dvi-am \
+ uninstall-html-am uninstall-info-am uninstall-man \
+ uninstall-man1 uninstall-man8 uninstall-pdf-am uninstall-ps-am
header.texi: $(top_srcdir)/src/tar.h
diff --git a/doc/dumpdir.texi b/doc/dumpdir.texi
index 7af3ba7..76af48e 100644
--- a/doc/dumpdir.texi
+++ b/doc/dumpdir.texi
@@ -1,5 +1,5 @@
@c This is part of the paxutils manual.
-@c Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+@c Copyright (C) 2006-2007, 2014 Free Software Foundation, Inc.
@c Written by Sergey Poznyakoff
@c This file is distributed under GFDL 1.1 or any later version
@c published by the Free Software Foundation.
diff --git a/doc/fdl.texi b/doc/fdl.texi
index fc19ddd..fed27fe 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -5,7 +5,8 @@
@c hence no sectioning command or @node.
@display
-Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2002, 2007-2008, 2014 Free Software
+Foundation, Inc.
@uref{http://fsf.org/}
Everyone is permitted to copy and distribute verbatim copies
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 0af20fd..ef1ff41 100755
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -106,7 +106,7 @@ Please send broken links and other corrections (or suggestions) to
-Copyright 2004, 2013 Free Software Foundation, Inc.,
+Copyright 2004, 2013-2014 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is
diff --git a/doc/header.texi b/doc/header.texi
index f7625c7..9f8595d 100644
--- a/doc/header.texi
+++ b/doc/header.texi
@@ -1,7 +1,7 @@
@comment GNU tar Archive Format description.
@comment
-@comment Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2013
-@comment Free Software Foundation, Inc.
+@comment Copyright 1988-1989, 1991-1997, 2000-2001, 2003-2007, 2012-2014 Free
+@comment Software Foundation, Inc.
@comment
@comment This file is part of GNU tar.
@comment
diff --git a/doc/intern.texi b/doc/intern.texi
index 7a918c4..f516973 100644
--- a/doc/intern.texi
+++ b/doc/intern.texi
@@ -1,5 +1,5 @@
@c This is part of the paxutils manual.
-@c Copyright (C) 2006 Free Software Foundation, Inc.
+@c Copyright (C) 2006, 2014 Free Software Foundation, Inc.
@c This file is distributed under GFDL 1.1 or any later version
@c published by the Free Software Foundation.
diff --git a/doc/mastermenu.el b/doc/mastermenu.el
index c7af88f..dcc8dd1 100644
--- a/doc/mastermenu.el
+++ b/doc/mastermenu.el
@@ -1,6 +1,6 @@
;;; mastermenu.el --- Redefinition of texinfo-master-menu-list
-;; Copyright 2006-2007, 2013 Free Software Foundation, Inc.
+;; Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
;; Author: Sergey Poznyakoff
;; Maintainer: bug-tar@gnu.org
diff --git a/doc/parse-datetime.texi b/doc/parse-datetime.texi
index 6b3e973..7fa3c9e 100644
--- a/doc/parse-datetime.texi
+++ b/doc/parse-datetime.texi
@@ -1,6 +1,6 @@
@c GNU date syntax documentation
-@c Copyright (C) 1994-2006, 2009-2013 Free Software Foundation, Inc.
+@c Copyright (C) 1994-2006, 2009-2014 Free Software Foundation, Inc.
@c Permission is granted to copy, distribute and/or modify this document
@c under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/doc/rendition.texi b/doc/rendition.texi
index 493b325..f008fff 100644
--- a/doc/rendition.texi
+++ b/doc/rendition.texi
@@ -1,5 +1,5 @@
@c This is part of GNU tar manual.
-@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013 Free Software
+@c Copyright 1992, 1994-1997, 1999-2004, 2006, 2013-2014 Free Software
@c Foundation, Inc.
@c See file tar.texi for copying conditions.
diff --git a/doc/rmt.8 b/doc/rmt.8
new file mode 100644
index 0000000..7550277
--- /dev/null
+++ b/doc/rmt.8
@@ -0,0 +1,254 @@
+.\" This file is part of GNU tar. -*- nroff -*-
+.\" Copyright 2013 Free Software Foundation, Inc.
+.\"
+.\" GNU tar 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 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" GNU tar 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, see .
+.TH RMT 1 "January 27, 2014" "RMT" "GNU TAR Manual"
+.SH NAME
+rmt \- remote magnetic tape server
+.SH SYNOPSIS
+.B rmt
+.SH DESCRIPTION
+.B Rmt
+provides remote access to files and devices for
+.BR tar (1),
+.BR cpio (1),
+and similar backup utilities. It is normally called by running
+.BR rsh (1)
+or
+.BR ssh (1)
+to the remote machine, optionally using a different
+login name if one is supplied.
+.PP
+The calling program communicates with
+.B rmt
+by sending requests on its standard input and reading replies from the
+standard output. A request consists of a request letter followed by
+an argument (if required) and a newline character. Additional data,
+if any, are sent after the newline. On success,
+.B rmt
+returns
+.PP
+.in +4
+.BI A number \en
+.PP
+where \fInumber\fR is an ASCII representation of a decimal return
+code. Additional data are returned after this line. On error, the
+following response is returned:
+.PP
+.in +4
+.BI E errno \en error-message \en
+.PP
+where \fIerrno\fR is one of the system error codes, as described in
+.BR errno (3),
+and \fIerror-message\fR is a one-line human-readable description of
+the error, as printed by
+.BR perror (3).
+.PP
+Available commands and possible responses are discussed in detail in
+the subsequent section.
+.SH COMMANDS
+.TP
+.BI O device \en flags \en
+Opens the \fIdevice\fR with given \fIflags\fR. If a
+device had already been opened, it is closed before opening the new one.
+.sp
+.B Arguments
+.RS
+.TP
+.I device
+The name of the device to open.
+.TP
+.I flags
+Flags for
+.BR open (2):
+a decimal number, or any valid \fBO_*\fR constant from
+.B fcntl.h
+(the initial \fBO_\fR may be omitted), or a bitwise or (using \fB|\fR)
+of any number of these, e.g.:
+.in +4
+.EX
+576
+64|512
+CREAT|TRUNC
+.EE
+.RS
+In addition, a combined form is also allowed, i.e. a decimal mode followed
+by its symbolic representation. In this case the symbolic representation
+is given preference.
+.RE
+.sp
+.B Reply
+.RS
+.B A0\en
+on success.
+.RE
+.sp
+.B Extensions
+.RS
+BSD version allows only decimal number as \fIflags\fR.
+.RE 1
+.TP
+\fBC\fR[\fIdevice\fR]\fB\en\fR
+Close the currently open device.
+.RS
+.TP
+.B Arguments
+.br
+Any arguments are silently ignored.
+.TP
+.B Reply
+.br
+.B A0\en
+on success.
+.RE
+.TP
+.BI L whence \en offset \en
+.RS
+Performs an
+.BR lseek (2)
+on the currently open device with the specified
+parameters.
+.TP
+.B Arguments
+.RS
+.TP
+.I whence
+Where to measure offset from. Valid values are:
+.sp
+.nf
+.ta 1n 20n
+ 0, SET, SEEK_SET seek from the file beginning
+ 1, CUR, SEEK_CUR seek from the current location
+ 2, END, SEEK_END seek from the file end
+.fi
+.RE
+.TP
+.B Reply
+.br
+.BI A offset \en
+on success. The \fIoffset\fR is the new offset in file.
+.TP
+.B Extensions
+BSD version allows only 0,1,2 as \fIwhence\fR.
+.RE
+.TP
+.BI R count \en
+.br
+Read \fIcount\fR bytes of data from the current device.
+.RS
+.TP
+.B Arguments
+.RS
+.TP
+.I count
+number of bytes to read.
+.RE
+.TP
+.B Reply
+.br
+On success:
+.sp
+.in +4
+.BI A rdcount \en
+.in
+.sp
+followed by \fIrdcount\fR bytes of data read from the device.
+.RE
+.TP
+.BI W count \en
+Writes data onto the current device. The command is followed by
+\fIcount\fR bytes of input data.
+.RS
+.TP
+.B Arguments
+.RS
+.TP
+.I count
+Number of bytes to write.
+.RE
+.TP
+.B Reply
+.br
+On success: \fBA\fIwrcount\fB\en\fR, where \fIwrcount\fR is the number of
+bytes actually written.
+.RE
+.TP
+.BI I opcode \en count \en
+Perform a
+.B MTIOCOP
+.BR ioctl (2)
+command with the specified paramedters.
+.RS
+.TP
+.B Arguments
+.RS
+.TP
+.I opcode
+.B MTIOCOP
+operation code.
+.TP
+.I count
+mt_count.
+.RE
+.TP
+.B Reply
+.br
+On success: \fBA0\en\fR.
+.RE
+.TP
+.B S\en
+Returns the status of the currently open device, as obtained from a
+.B MTIOCGET
+.BR ioctl (2)
+call.
+.RS
+.TP
+.B Arguments
+.br
+None
+.TP
+.B Reply
+.br
+On success: \fBA\fIcount\fB\en\fR followed by \fIcount\fR bytes of
+data.
+.RE
+.SH "SEE ALSO"
+.BR tar (1).
+.SH BUGS
+Using this utility as a general-purpose remote file access tool is
+discouraged.
+.SH "BUG REPORTS"
+Report bugs to .
+.SH HISTORY
+The
+.B rmt
+command appeared in 4.2BSD. The GNU
+.BR rmt
+is written from scratch, using the BSD specification.
+.SH COPYRIGHT
+Copyright \(co 2013 Free Software Foundation, Inc.
+.br
+.na
+License GPLv3+: GNU GPL version 3 or later
+.br
+.ad
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+.\" Local variables:
+.\" eval: (add-hook 'write-file-hooks 'time-stamp)
+.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
+.\" time-stamp-format: "%:B %:d, %:y"
+.\" time-stamp-end: "\""
+.\" time-stamp-line-limit: 20
+.\" end:
diff --git a/doc/snapshot.texi b/doc/snapshot.texi
index ed394a4..f57e55f 100644
--- a/doc/snapshot.texi
+++ b/doc/snapshot.texi
@@ -1,5 +1,5 @@
@c This is part of the paxutils manual.
-@c Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+@c Copyright (C) 2005, 2007, 2014 Free Software Foundation, Inc.
@c Written by Sergey Poznyakoff
@c This file is distributed under GFDL 1.1 or any later version
@c published by the Free Software Foundation.
diff --git a/doc/sparse.texi b/doc/sparse.texi
index bd8f75f..1bbccfc 100644
--- a/doc/sparse.texi
+++ b/doc/sparse.texi
@@ -1,5 +1,5 @@
@c This is part of the paxutils manual.
-@c Copyright (C) 2006 Free Software Foundation, Inc.
+@c Copyright (C) 2006, 2014 Free Software Foundation, Inc.
@c This file is distributed under GFDL 1.1 or any later version
@c published by the Free Software Foundation.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 905e035..85496ec 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 24 September 2013
-@set UPDATED-MONTH September 2013
-@set EDITION 1.27
-@set VERSION 1.27
+@set UPDATED 22 July 2014
+@set UPDATED-MONTH July 2014
+@set EDITION 1.28
+@set VERSION 1.28
diff --git a/doc/tar-snapshot-edit.texi b/doc/tar-snapshot-edit.texi
index 697a409..9dc96f5 100644
--- a/doc/tar-snapshot-edit.texi
+++ b/doc/tar-snapshot-edit.texi
@@ -1,5 +1,5 @@
@c This is part of the paxutils manual.
-@c Copyright (C) 2007 Free Software Foundation, Inc.
+@c Copyright (C) 2007, 2014 Free Software Foundation, Inc.
@c This file is distributed under GFDL 1.1 or any later version
@c published by the Free Software Foundation.
diff --git a/doc/tar.1 b/doc/tar.1
new file mode 100644
index 0000000..d256a0a
--- /dev/null
+++ b/doc/tar.1
@@ -0,0 +1,1174 @@
+.\" This file is part of GNU tar. -*- nroff -*-
+.\" Copyright 2013-2014 Free Software Foundation, Inc.
+.\"
+.\" GNU tar 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 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" GNU tar 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, see .
+.TH TAR 1 "February 22, 2014" "TAR" "GNU TAR Manual"
+.SH NAME
+tar \- an archiving utility
+.SH SYNOPSIS
+.SS Traditional usage
+\fBtar\fR {\fBA\fR|\fBc\fR|\fBd\fR|\fBr\fR|\fBt\fR|\fBu\fR|\fBx\fR}\
+[\fBGnSkUWOmpsMBiajJzZhPlRvwo\fR] [\fIARG\fR...]
+.SS UNIX-style usage
+.sp
+\fBtar\fR \fB\-A\fR [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR
+.sp
+\fBtar\fR \fB\-c\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-d\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-t\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
+.sp
+\fBtar\fR \fB\-r\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-u\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-x\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
+.SS GNU-style usage
+.sp
+\fBtar\fR {\fB\-\-catenate\fR|\fB\-\-concatenate} [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR
+.sp
+\fBtar\fR \fB\-\-create\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR {\fB\-\-diff\fR|\fB\-\-compare\fR} [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-\-delete\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
+.sp
+\fBtar\fR \fB\-\-append\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-\-list\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
+.sp
+\fBtar\fR \fB\-\-test\-label\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fILABEL\fR...]
+.sp
+\fBtar\fR \fB\-\-update\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR \fB\-\-update\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
+.sp
+\fBtar\fR {\fB\-\-extract\fR|\fB\-\-get\fR} [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
+.SH NOTE
+This manpage is a short description of GNU \fBtar\fR. For a detailed
+discussion, including examples and usage recommendations, refer to the
+\fBGNU Tar Manual\fR available in texinfo format. If the \fBinfo\fR
+reader and the tar documentation are properly installed on your
+system, the command
+.PP
+.RS +4
+.B info tar
+.RE
+.PP
+should give you access to the complete manual.
+.PP
+You can also view the manual using the info mode in
+.BR emacs (1),
+or find it in various formats online at
+.PP
+.RS +4
+.B http://www.gnu.org/software/tar/manual
+.RE
+.PP
+If any discrepancies occur between this manpage and the
+\fBGNU Tar Manual\fR, the later shall be considered the authoritative
+source.
+.SH DESCRIPTION
+GNU
+.B tar
+is an archiving program designed to store multiple files in a single
+file (an \fBarchive\fR), and to manipulate such archives. The archive
+can be either a regular file or a device (e.g. a tape drive, hence the name
+of the program, which stands for \fBt\fRape \fBar\fRchiver), which can
+be located either on the local or on a remote machine.
+.PP
+
+.SS Option styles
+Options to GNU \fBtar\fR can be given in three different styles.
+In
+.BR "traditional style" ,
+the first argument is a cluster of option letters and all subsequent
+arguments supply arguments to those options that require them. The
+arguments are read in the same order as the option letters. Any
+command line words that remain after all options has been processed
+are treated as non-optional arguments: file or archive member names.
+.PP
+For example, the \fBc\fR option requires creating the archive, the
+\fBv\fR option requests the verbose operation, and the \fBf\fR option
+takes an argument that sets the name of the archive to operate upon.
+The following command, written in the traditional style, instructs tar
+to store all files from the directory
+.B /etc
+into the archive file
+.B etc.tar
+verbosely listing the files being archived:
+.PP
+.EX
+.B tar cfv a.tar /etc
+.EE
+.PP
+In
+.BR "UNIX " or " short-option style" ,
+each option letter is prefixed with a single dash, as in other command
+line utilities. If an option takes argument, the argument follows it,
+either as a separate command line word, or immediately following the
+option. However, if the option takes an \fBoptional\fR argument, the
+argument must follow the option letter without any intervening
+whitespace, as in \fB\-g/tmp/snar.db\fR.
+.PP
+Any number of options not taking arguments can be
+clustered together after a single dash, e.g. \fB\-vkp\fR. Options
+that take arguments (whether mandatory or optional), can appear at
+the end of such a cluster, e.g. \fB\-vkpf a.tar\fR.
+.PP
+The example command above written in the
+.B short-option style
+could look like:
+.PP
+.EX
+.B tar -cvf a.tar /etc
+or
+.B tar -c -v -f a.tar /etc
+.EE
+.PP
+In
+.BR "GNU " or " long-option style" ,
+each option begins with two dashes and has a meaningful name,
+consisting of lower-case letters and dashes. When used, the long
+option can be abbreviated to its initial letters, provided that
+this does not create ambiguity. Arguments to long options are
+supplied either as a separate command line word, immediately following
+the option, or separated from the option by an equals sign with no
+intervening whitespace. Optional arguments must always use the latter
+method.
+.PP
+Here are several ways of writing the example command in this style:
+.PP
+.EX
+.B tar --create --file a.tar --verbose /etc
+.EE
+or (abbreviating some options):
+.EX
+.B tar --cre --file=a.tar --verb /etc
+.EE
+.PP
+The options in all three styles can be intermixed, although doing so
+with old options is not encouraged.
+.SS Operation mode
+The options listed in the table below tell GNU \fBtar\fR what
+operation it is to perform. Exactly one of them must be given.
+Meaning of non-optional arguments depends on the operation mode
+requested.
+.TP
+\fB\-A\fR, \fB\-\-catenate\fR, \fB\-\-concatenate\fR
+Append archive to the end of another archive. The arguments are
+treated as the names of archives to append. All archives must be of
+the same format as the archive they are appended to, otherwise the
+resulting archive might be unusable with non-GNU implementations of
+\fBtar\fR. Notice also that when more than one archive is given, the
+members from archives other than the first one will be accessible in
+the resulting archive only if using the \fB\-i\fR
+(\fB\-\-ignore\-zeros) option.
+
+Compressed archives cannot be concatenated.
+.TP
+\fB\-c\fR, \fB\-\-create\fR
+Create a new archive. Arguments supply the names of the files to be
+archived. Directories are archived recursively, unless the
+\fB\-\-no\-recursion\fR option is given.
+.TP
+\fB\-d\fR, \fB\-\-diff\fR, \fB\-\-compare\fR
+Find differences between archive and file system. The arguments are
+optional and specify archive members to compare. If not given, the
+current working directory is assumed.
+.TP
+\fB\-\-delete\fR
+Delete from the archive. The arguments supply names of the archive
+members to be removed. At least one argument must be given.
+
+This option does not operate on compressed archives. There is no
+short option equivalent.
+.TP
+\fB\-r\fR, \fB\-\-append\fR
+Append files to the end of an archive. Arguments have the same
+meaning as for \fB\-c\fR (\fB\-\-create).
+.TP
+\fB\-t\fR, \fB\-\-list\fR
+List the contents of an archive. Arguments are optional. When given,
+they specify the names of the members to list.
+.TP
+\fB\-\-test\-label
+Test the archive volume label and exit. When used without arguments,
+it prints the volume label (if any) and exits with status \fB0\fR.
+When one or more command line arguments are given.
+.B tar
+compares the volume label with each argument. It exits with code
+\fB0\fR if a match is found, and with code \fB1\fR otherwise. No
+output is displayed, unless used together with the \fB\-v\fR
+(\fB\-\-verbose\fR) option.
+
+There is no short option equivalent for this option.
+.TP
+\fB\-u\fR, \fB\-\-update\fR
+Append files which are newer than the corresponding copy in the
+archive. Arguments have the same meaning as with \fB\-c\fR and
+\fB\-r\fR options.
+.TP
+\fB\-x\fR, \fB\-\-extract\fR, \fB\-\-get\fR
+Extract files from an archive. Arguments are optional. When given,
+they specify names of the archive members to be extracted.
+.TP
+.TP
+\fB\-\-show\-defaults\fR
+Show built-in defaults for various \fBtar\fR options and exit. No
+arguments are allowed.
+.TP
+\fB\-?\fR, \fB\-\-help
+Display a short option summary and exit. No arguments allowed.
+.TP
+\fB\-\-usage\fR
+Display a list of available options and exit. No arguments allowed.
+.TP
+\fB\-\-version\fR
+Print program version and copyright information and exit.
+.SH OPTIONS
+.SS Operation modifiers
+.TP
+\fB\-\-check\-device\fR
+Check device numbers when creating incremental archives (default).
+.TP
+\fB\-g\fR, \fB\-\-listed\-incremental\fR=\fIFILE\fR
+Handle new GNU-format incremental backups. \fIFILE\fR is the name of
+a \fBsnapshot file\fR, where tar stores additional information which
+is used to decide which files changed since the previous incremental
+dump and, consequently, must be dumped again. If \fIFILE\fR does not
+exist when creating an archive, it will be created and all files will
+be added to the resulting archive (the \fBlevel 0\fR dump). To create
+incremental archives of non-zero level \fBN\fR, create a copy of the
+snapshot file created during the level \fBN-1\fR, and use it as
+\fIFILE\fR.
+
+When listing or extracting, the actual contents of \fIFILE\fR is not
+inspected, it is needed only due to syntactical requirements. It is
+therefore common practice to use \fB/dev/null\fR in its place.
+.TP
+\fB\-G\fR, \fB\-\-incremental\fR
+Handle old GNU-format incremental backups.
+.TP
+\fB\-\-ignore\-failed\-read\fR
+Do not exit with nonzero on unreadable files.
+.TP
+\fB\-\-level\fR=\fINUMBER\fR
+Set dump level for created listed-incremental archive. Currently only
+\fB\-\-level=0\fR is meaningful: it instructs \fBtar\fR to truncate
+the snapshot file before dumping, thereby forcing a level 0 dump.
+.TP
+\fB\-n\fR, \fB\-\-seek\fR
+Assume the archive is seekable. Normally \fBtar\fR determines
+automatically whether the archive can be seeked or not. This option
+is intended for use in cases when such recognition fails. It takes
+effect only if the archive is open for reading (e.g. with
+.B \-\-list
+or
+.B \-\-extract
+options).
+.TP
+\fB\-\-no\-check\-device\fR
+Do not check device numbers when creating incremental archives.
+.TP
+\fB\-\-no\-seek\fR
+Assume the archive is not seekable.
+.TP
+\fB\-\-occurrence\fR[=\fIN\fR]
+Process only the \fIN\fRth occurrence of each file in the
+archive. This option is valid only when used with one of the
+following subcommands: \fB\-\-delete\fR, \fB\-\-diff\fR,
+\fB\-\-extract\fR or \fB\-\-list\fR and when a list of files is given
+either on the command line or via the \fB\-\fRT option. The default
+\fIN\fR is \fB1\fR.
+.TP
+\fB\-\-restrict\fR
+Disable the use of some potentially harmful options.
+.TP
+\fB\-\-sparse\-version\fR=\fIMAJOR\fR[.\fIMINOR\fR]
+Set version of the sparse format to use (implies \fB\-\-sparse\fR).
+This option implies
+.BR \-\-sparse .
+Valid argument values are
+.BR 0.0 ,
+.BR 0.1 ", and"
+.BR 1.0 .
+For a detailed discussion of sparse formats, refer to the \fBGNU Tar
+Manual\fR, appendix \fBD\fR, "\fBSparse Formats\fR". Using \fBinfo\fR
+reader, it can be accessed running the following command:
+.BR "info tar 'Sparse Formats'" .
+.TP
+\fB\-S\fR, \fB\-\-sparse\fR
+Handle sparse files efficiently. Some files in the file system may
+have segments which were actually never written (quite often these are
+database files created by such systems as \fBDBM\fR). When given this
+option, \fBtar\fR attempts to determine if the file is sparse prior to
+archiving it, and if so, to reduce the resulting archive size by not
+dumping empty parts of the file.
+.SS Overwrite control
+These options control \fBtar\fR actions when extracting a file over
+an existing copy on disk.
+.TP
+\fB\-k\fR, \fB\-\-keep\-old\-files\fR
+Don't replace existing files when extracting.
+.TP
+\fB\-\-keep\-newer\-files\fR
+Don't replace existing files that are newer than their archive copies.
+.TP
+\fB\-\-no\-overwrite\-dir\fR
+Preserve metadata of existing directories.
+.TP
+\fB\-\-one\-top\-level\fR[\fB=\fIDIR\fR]
+Extract all files into \fIDIR\fR, or, if used without argument, into a
+subdirectory named by the base name of the archive (minus standard
+compression suffixes recognizable by \fB\-\-auto\-compress).
+.TP
+\fB\-\-overwrite\fR
+Overwrite existing files when extracting.
+.TP
+\fB\-\-overwrite\-dir\fR
+Overwrite metadata of existing directories when extracting (default).
+.TP
+\fB\-\-recursive\-unlink\fR
+Recursively remove all files in the directory prior to extracting it.
+.TP
+\fB\-\-remove\-files\fR
+Remove files from disk after adding them to the archive.
+.TP
+\fB\-U\fR, \fB\-\-unlink\-first\fR
+Remove each file prior to extracting over it.
+.TP
+\fB\-W\fR, \fB\-\-verify\fR
+Verify the archive after writing it.
+.SS Output stream selection
+.TP
+\fB\-\-ignore\-command\-error\fR
+.TP
+Ignore subprocess exit codes.
+.TP
+\fB\-\-no\-ignore\-command\-error\fR
+Treat non-zero exit codes of children as error (default).
+.TP
+\fB\-O\fR, \fB\-\-to\-stdout\fR
+Extract files to standard output.
+.TP
+\fB\-\-to\-command\fR=\fICOMMAND\fR
+Pipe extracted files to \fICOMMAND\fR. The argument is the pathname
+of an external program, optionally with command line arguments. The
+program will be invoked and the contents of the file being extracted
+supplied to it on its standard output. Additional data will be
+supplied via the following environment variables:
+.RS
+.TP
+.B TAR_FILETYPE
+Type of the file. It is a single letter with the following meaning:
+.sp
+.nf
+.ta 8n 20n
+ f Regular file
+ d Directory
+ l Symbolic link
+ h Hard link
+ b Block device
+ c Character device
+.fi
+
+Currently only regular files are supported.
+.TP
+.B TAR_MODE
+File mode, an octal number.
+.TP
+.B TAR_FILENAME
+The name of the file.
+.TP
+.B TAR_REALNAME
+Name of the file as stored in the archive.
+.TP
+.B TAR_UNAME
+Name of the file owner.
+.TP
+.B TAR_GNAME
+Name of the file owner group.
+.TP
+.B TAR_ATIME
+Time of last access. It is a decimal number, representing seconds
+since the Epoch. If the archive provides times with nanosecond
+precision, the nanoseconds are appended to the timestamp after a
+decimal point.
+.TP
+.B TAR_MTIME
+Time of last modification.
+.TP
+.B TAR_CTIME
+Time of last status change.
+.TP
+.B TAR_SIZE
+Size of the file.
+.TP
+.B TAR_UID
+UID of the file owner.
+.TP
+.B TAR_GID
+GID of the file owner.
+.RE
+.RS
+
+Additionally, the following variables contain information about
+\fBtar\fR operation mode and the archive being processed:
+.TP
+.B TAR_VERSION
+GNU \fBtar\fR version number.
+.TP
+.B TAR_ARCHIVE
+The name of the archive \fBtar\fR is processing.
+.TP
+.B TAR_BLOCKING_FACTOR
+Current blocking factor, i.e. number of 512-byte blocks in a record.
+.TP
+.B TAR_VOLUME
+Ordinal number of the volume \fBtar\fR is processing (set if
+reading a multi-volume archive).
+.TP
+.B TAR_FORMAT
+Format of the archive being processed. One of:
+.BR gnu ,
+.BR oldgnu ,
+.BR posix ,
+.BR ustar ,
+.BR v7 .
+.B TAR_SUBCOMMAND
+A short option (with a leading dash) describing the operation \fBtar\fR is
+executing.
+.RE
+.SS Handling of file attributes
+.TP
+\fB\-\-atime\-preserve\fR[=\fIMETHOD\fR]
+Preserve access times on dumped files, either by restoring the times
+after reading (\fIMETHOD\fR=\fBreplace\fR, this is the default) or by
+not setting the times in the first place (\fIMETHOD\fR=\fBsystem\fR)
+.TP
+\fB\-\-delay\-directory\-restore\fR
+Delay setting modification times and permissions of extracted
+directories until the end of extraction. Use this option when
+extracting from an archive which has unusual member ordering.
+.TP
+\fB\-\-group\fR=\fINAME\fR
+Force \fINAME\fR as group for added files.
+.TP
+\fB\-\-mode\fR=\fICHANGES\fR
+Force symbolic mode \fICHANGES\fR for added files.
+.TP
+\fB\-\-mtime\fR=\fIDATE-OR-FILE\fR
+Set mtime for added files. \fIDATE-OR-FILE\fR is either a date/time
+in almost arbitrary formate, or the name of an existing file. In the
+latter case the mtime of that file will be used.
+.TP
+\fB\-m\fR, \fB\-\-touch\fR
+Don't extract file modified time.
+.TP
+\fB\-\-no\-delay\-directory\-restore\fR
+Cancel the effect of the prior \fB\-\-delay\-directory\-restore\fR option.
+.TP
+\fB\-\-no\-same\-owner\fR
+Extract files as yourself (default for ordinary users).
+.TP
+\fB\-\-no\-same\-permissions\fR
+Apply the user's umask when extracting permissions from the archive
+(default for ordinary users).
+.TP
+\fB\-\-numeric\-owner\fR
+Always use numbers for user/group names.
+.TP
+\fB\-\-owner\fR=\fINAME\fR
+Force \fINAME\fR as owner for added files.
+.TP
+\fB\-p\fR, \fB\-\-preserve\-permissions\fR, \fB\-\-same\-permissions\fR
+extract information about file permissions (default for superuser)
+.TP
+\fB\-\-preserve\fR
+Same as both \fB\-p\fR and \fB\-s\fR.
+.TP
+\fB\-\-same\-owner\fR
+Try extracting files with the same ownership as exists in the archive
+(default for superuser).
+.TP
+\fB\-s\fR, \fB\-\-preserve\-order\fR, \fB\-\-same\-order\fR
+Sort names to extract to match archive
+.TP
+\fB\-\-sort=\fIORDER\fR
+When creating an archive, sort directory entries according to
+\fIORDER\fR, which is one of
+.BR none ,
+.BR name ", or"
+.BR inode .
+
+The default is \fB\-\-sort=none\fR, which stores archive members in
+the same order as returned by the operating system.
+
+Using \fB\-\-sort=name\fR ensures the member ordering in the created archive
+is uniform and reproducible.
+
+Using \fB\-\-sort=inode\fR reduces the number of disk seeks made when
+creating the archive and thus can considerably speed up archivation.
+This sorting order is supported only if the underlying system provides
+the necessary information.
+.SS Device selection and switching
+.TP
+\fB\-f\fR, \fB\-\-file\fR=\fIARCHIVE\fR
+Use archive file or device \fIARCHIVE\fR. If this option is not
+given, \fBtar\fR will first examine the environment variable `TAPE'.
+If it is set, its value will be used as the archive name. Otherwise,
+\fBtar\fR will assume the compiled-in default. The default
+value can be inspected either using the
+.B \-\-show\-defaults
+option, or at the end of the \fBtar \-\-help\fR output.
+
+An archive name that has a colon in it specifies a file or device on a
+remote machine. The part before the colon is taken as the machine
+name or IP address, and the part after it as the file or device
+pathname, e.g.:
+
+.EX
+--file=remotehost:/dev/sr0
+.EE
+
+An optional username can be prefixed to the hostname, placing a \fB@\fR
+sign between them.
+
+By default, the remote host is accessed via the
+.BR rsh (1)
+command. Nowadays it is common to use
+.BR ssh (1)
+instead. You can do so by giving the following command line option:
+
+.EX
+--rsh-command=/usr/bin/ssh
+.EE
+
+The remote mashine should have the
+.BR rmt (8)
+command installed. If its pathname does not match \fBtar\fR's
+default, you can inform \fBtar\fR about the correct pathname using the
+.B \-\-rmt\-command
+option.
+.TP
+\fB\-\-force\-local\fR
+Archive file is local even if it has a colon.
+.TP
+\fB\-\fRF, \fB\-\-info\-script\fR=\fICOMMAND\fR, \fB\-\-new\-volume\-script\fR=\fICOMMAND\fR
+Run \fICOMMAND\fR at the end of each tape (implies \fB\-M\fR). The
+command can include arguments. When started, it will inherit \fBtar\fR's
+environment plus the following variables:
+.RS
+.TP
+.B TAR_VERSION
+GNU \fBtar\fR version number.
+.TP
+.B TAR_ARCHIVE
+The name of the archive \fBtar\fR is processing.
+.TP
+.B TAR_BLOCKING_FACTOR
+Current blocking factor, i.e. number of 512-byte blocks in a record.
+.TP
+.B TAR_VOLUME
+Ordinal number of the volume \fBtar\fR is processing (set if
+reading a multi-volume archive).
+.TP
+.B TAR_FORMAT
+Format of the archive being processed. One of:
+.BR gnu ,
+.BR oldgnu ,
+.BR posix ,
+.BR ustar ,
+.BR v7 .
+.TP
+.B TAR_SUBCOMMAND
+A short option (with a leading dash) describing the operation \fBtar\fR is
+executing.
+.TP
+.B TAR_FD
+File descriptor which can be used to communicate the new volume name
+to
+.BR tar .
+.RE
+.RS
+
+If the info script fails, \fBtar\fR exits; otherwise, it begins writing
+the next volume.
+.RE
+.TP
+\fB\-L\fR, \fB\-\-tape\-length\fR=\fN\fR
+Change tape after writing \fIN\fRx1024 bytes. If \fIN\fR is followed
+by a size suffix (see the subsection
+.B Size suffixes
+below), the suffix specifies the multiplicative factor to be used
+instead of 1024.
+
+This option implies
+.BR \-M .
+.TP
+\fB\-M\fR, \fB\-\-multi\-volume\fR
+Create/list/extract multi-volume archive.
+.TP
+\fB\-\-rmt\-command\fR=\fICOMMAND\fR
+Use \fICOMMAND\fR instead of \fBrmt\fR when accessing remote
+archives. See the description of the
+.B \-f
+option, above.
+.TP
+\fB\-\-rsh\-command\fR=\fICOMMAND\fR
+Use \fICOMMAND\fR instead of \fBrsh\fR when accessing remote
+archives. See the description of the
+.B \-f
+option, above.
+.TP
+\fB\-\-volno\-file\fR=\fIFILE\fR
+When this option is used in conjunction with
+.BR \-\-multi\-volume ,
+.B tar
+will keep track of which volume of a multi-volume archive it is
+working in \fIFILE\fR.
+.SS Device blocking
+.TP
+\fB\-b\fR, \fB\-\-blocking\-factor\fR=\fIBLOCKS\fR
+Set record size to \fIBLOCKS\fRx\fB512\fR bytes.
+.TP
+\fB\-B\fR, \fB\-\-read\-full\-records\fR
+When listing or extracting, accept incomplete input records after
+end-of-file marker.
+.TP
+\fB\-i\fR, \fB\-\-ignore\-zeros\fR
+Ignore zeroed blocks in archive. Normally two consecutive 512-blocks
+filled with zeroes mean EOF and tar stops reading after encountering
+them. This option instructs it to read further and is useful when
+reading archives created with the \fB\-A\fR option.
+.TP
+\fB\-\-record\-size\fR=\fINUMBER\fR
+Set record size. \fINUMBER\fR is the number of bytes per record. It
+must be multiple of \fB512\fR. It can can be suffixed with a \fBsize
+suffix\fR, e.g. \fB\-\-record-size=10K\fR, for 10 Kilobytes. See the
+subsection
+.BR "Size suffixes" ,
+for a list of valid suffixes.
+.SS Archive format selection
+.TP
+\fB\-H\fR, \fB\-\-format\fR=\fIFORMAT\fR
+Create archive of the given format. Valid formats are:
+.RS
+.TP
+.B gnu
+GNU tar 1.13.x format
+.TP
+.B oldgnu
+GNU format as per tar <= 1.12.
+.TP
+\fBpax\fR, \fBposix\fR
+POSIX 1003.1-2001 (pax) format.
+.TP
+.B ustar
+POSIX 1003.1-1988 (ustar) format.
+.TP
+.B v7
+Old V7 tar format.
+.RE
+.TP
+\fB\-\-old\-archive\fR, \fB\-\-portability\fR
+Same as \fB\-\-format=v7\fR.
+.TP
+\fB\-\-pax\-option\fR=\fIkeyword\fR[[:]=\fIvalue\fR][,\fIkeyword\fR[[:]=\fIvalue\fR]]...
+Control pax keywords when creating \fBPAX\fR archives (\fB\-H
+pax\fR). This option is equivalent to the \fB\-o\fR option of the
+.BR pax (1) utility.
+.TP
+\fB\-\-posix\fR
+Same as \fB\-\-format=posix\fR.
+.TP
+\fB\-V\fR, \fB\-\-label\fR=\fITEXT\fR
+Create archive with volume name \fITEXT\fR. If listing or extracting,
+use \fITEXT\fR as a globbing pattern for volume name.
+.SS Compression options
+.TP
+\fB\-a\fR, \fB\-\-auto\-compress\fR
+Use archive suffix to determine the compression program.
+.TP
+\fB\-\fRI, \fB\-\-use\-compress\-program\fI=\fICOMMAND\fR
+Filter data through \fICOMMAND\fR. It must accept the \fB\-d\fR
+option, for decompression. The argument can contain command line
+options.
+.TP
+\fB\-j\fR, \fB\-\-bzip2\fR
+Filter the archive through
+.BR bzip2 (1).
+.TP
+\fB\-J\fR, \fB\-\-xz\fR
+Filter the archive through
+.BR xz (1).
+.TP
+\fB\-\-lzip\fR
+Filter the archive through
+.BR lzip (1).
+.TP
+\fB\-\-lzma\fR
+Filter the archive through
+.BR lzma (1).
+.TP
+\fB\-\-lzop\fR
+Filter the archive through
+.BR lzop (1).
+.TP
+\fB\-\-no\-auto\-compress\fR
+Do not use archive suffix to determine the compression program.
+.TP
+\fB\-z\fR, \fB\-\-gzip\fR, \fB\-\-gunzip\fR, \fB\-\-ungzip\fR
+Filter the archive through
+.BR gzip (1).
+.TP
+\fB\-\fRZ, \fB\-\-compress\fR, \fB\-\-uncompress\fR
+Filter the archive through
+.BR compress (1).
+.SS Local file selection
+.TP
+\fB\-\-add\-file\fR=\fIFILE\fR
+Add \fIFILE\fR to the archive (useful if its name starts with a dash).
+.TP
+\fB\-\-backup\fR[=\fICONTROL\fR]
+Backup before removal. The \fICONTROL\fR argument, if supplied,
+controls the backup policy. Its valid values are:
+.RS
+.TP
+.BR none ", " off
+Never make backups.
+.TP
+.BR t ", " numbered
+Make numbered backups.
+.TP
+.BR nil ", " existing
+Make numbered backups if numbered backups exist, simple backups otherwise.
+.TP
+.BR never ", " simple
+Always make simple backups
+.RS
+.RE
+
+If \fICONTROL\fR is not given, the value is taken from the
+.B VERSION_CONTROL
+environment variable. If it is not set, \fBexisting\fR is assumed.
+.RE
+.TP
+\fB\-C\fR, \fB\-\-directory\fR=\fIDIR\fR
+Change to directory DIR.
+.TP
+\fB\-\-exclude\fR=\fIPATTERN\fR
+Exclude files matching \fIPATTERN\fR, a
+.BR glob (3)-style
+wildcard pattern.
+.TP
+\fB\-\-exclude\-backups\fR
+Exclude backup and lock files.
+.TP
+\fB\-\-exclude\-caches\fR
+Exclude contents of directories containing file \fBCACHEDIR.TAG\fR,
+except for the tag file itself.
+.TP
+\fB\-\-exclude\-caches\-all\fR
+Exclude directories containing file \fBCACHEDIR.TAG\fR and the file itself.
+.TP
+\fB\-\-exclude\-caches\-under\fR
+Exclude everything under directories containing \fBCACHEDIR.TAG\fR
+.TP
+\fB\-\-exclude\-ignore=\fIFILE\fR
+Before dumping a directory, see if it contains \fIFILE\fR.
+If so, read exclusion patterns from this file. The patterns affect
+only the directory itself.
+.TP
+\fB\-\-exclude\-ignore\-recursive=\fIFILE\fR
+Same as \fB\-\-exclude\-ignore\fR, except that patterns from
+\fIFILE\fR affect both the directory and all its subdirectories.
+.TP
+\fB\-\-exclude\-tag\fR=\fIFILE\fR
+Exclude contents of directories containing \fIFILE\fR, except for
+\fIFILE\fR itself.
+.TP
+\fB\-\-exclude\-tag\-all\fR=\fIFILE\fR
+Exclude directories containing \fIFILE\fR.
+.TP
+\fB\-\-exclude\-tag\-under\fR=\fIFILE\fR
+Exclude everything under directories containing \fIFILE\fR.
+.TP
+\fB\-\-exclude\-vcs\fR
+Exclude version control system directories.
+.TP
+\fB\-\-exclude\-vcs\-ignores\fR
+Exclude files that match patterns read from VCS-specific ignore
+files. Supported files are:
+.BR .cvsignore ,
+.BR .gitignore ,
+.BR .bzrignore ", and"
+.BR .hgignore .
+.TP
+\fB\-h\fR, \fB\-\-dereference\fR
+Follow symlinks; archive and dump the files they point to.
+.TP
+\fB\-\-hard\-dereference\fR
+Follow hard links; archive and dump the files they refer to.
+.TP
+\fB\-K\fR, \fB\-\-starting\-file\fR=\fIMEMBER\fR
+Begin at the given member in the archive.
+.TP
+\fB\-\-newer\-mtime\fR=\fIDATE\fR
+Work on files whose data changed after the \fIDATE\fR. If \fIDATE\fR
+starts with \fB/\fR or \fB.\fR it is taken to be a file name; the
+mtime of that file is used as the date.
+.TP
+\fB\-\-no\-null\fR
+Disable the effect of the previous \fB\-\-null\fR option.
+.TP
+\fB\-\-no\-recursion\fR
+Avoid descending automatically in directories.
+.TP
+\fB\-\-no\-unquote\fR
+Do not unquote input file or member names.
+.TP
+\fB\-\-null\fR
+Instruct subsequent \fB\-T\fR options to read null-terminated names,
+disable handling of the \fB\-C\fR option read from the file.
+.TP
+\fB\-N\fR, \fB\-\-newer\fR=\fIDATE\fR, \fB\-\-after\-date\fR=\fIDATE\fR
+Only store files newer than DATE. If \fIDATE\fR starts with \fB/\fR
+or \fB.\fR it is taken to be a file name; the ctime of that file is
+used as the date.
+.TP
+\fB\-\-one\-file\-system\fR
+Stay in local file system when creating archive.
+.TP
+\fB\-P\fR, \fB\-\-absolute\-names\fR
+Don't strip leading slashes from file names when creating archives.
+.TP
+\fB\-\-recursion\fR
+Recurse into directories (default).
+.TP
+\fB\-\-suffix\fR=\fISTRING\fR
+Backup before removal, override usual suffix. Default suffix is \fB~\fR,
+unless overridden by environment variable \fBSIMPLE_BACKUP_SUFFIX\fR.
+.TP
+\fB\-T\fR, \fB\-\-files\-from\fR=\fIFILE\fR
+Get names to extract or create from \fIFILE\fR.
+.TP
+\fB\-\-unquote\fR
+Unquote file or member names (default).
+.TP
+\fB\-X\fR, \fB\-\-exclude\-from\fR=\fIFILE\fR
+Exclude files matching patterns listed in FILE.
+.SS File name transformations
+.TP
+\fB\-\-strip\-components\fR=\fINUMBER\fR
+Strip \fINUMBER\fR leading components from file names on extraction.
+.TP
+\fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR
+Use sed replace \fIEXPRESSION\fR to transform file names.
+.SS File name matching options
+These options affect both exclude and include patterns.
+.TP
+\fB\-\-anchored\fR
+Patterns match file name start.
+.TP
+\fB\-\-ignore\-case\fR
+Ignore case.
+.TP
+\fB\-\-no\-anchored\fR
+Patterns match after any \fB/\fR (default for exclusion).
+.TP
+\fB\-\-no\-ignore\-case\fR
+Case sensitive matching (default).
+.TP
+\fB\-\-no\-wildcards\fR
+Verbatim string matching.
+.TP
+\fB\-\-no\-wildcards\-match\-slash\fR
+Wildcards do not match \fB/\fR.
+.TP
+\fB\-\-wildcards\fR
+Use wildcards (default for exclusion).
+.TP
+\fB\-\-wildcards\-match\-slash\fR
+Wildcards match \fB/\fR (default for exclusion).
+.SS Informative output
+.TP
+\fB\-\-checkpoint\fR[=\fIN\fR]
+Display progress messages every \fIN\fRth record (default 10).
+.TP
+\fB\-\-checkpoint\-action\fR=\fIACTION\fR
+Run \fIACTION\fR on each checkpoint.
+.TP
+\fB\-\-full\-time\fR
+Print file time to its full resolution.
+.TP
+\fB\-\-index\-file\fR=\fIFILE\fR
+Send verbose output to \fIFILE\fR.
+.TP
+\fB\-l\fR, \fB\-\-check\-links\fR
+Print a message if not all links are dumped.
+.TP
+\fB\-\-no\-quote\-chars\fR=\fISTRING\fR
+Disable quoting for characters from \fISTRING\fR.
+.TP
+\fB\-\-quote\-chars\fR=\fISTRING\fR
+Additionally quote characters from \fISTRING\fR.
+.TP
+\fB\-\-quoting\-style\fR=\fISTYLE\fR
+Set quoting style for file and member names. Valid values for
+\fISTYLE\fR are
+.BR literal ,
+.BR shell ,
+.BR shell-always ,
+.BR c ,
+.BR c-maybe ,
+.BR escape ,
+.BR locale ,
+.BR clocale .
+.TP
+\fB\-R\fR, \fB\-\-block\-number\fR
+Show block number within archive with each message.
+.TP
+\fB\-\-show\-omitted\-dirs\fR
+When listing or extracting, list each directory that does not match
+search criteria.
+.TP
+\fB\-\-show\-transformed\-names\fR, \fB\-\-show\-stored\-names\fR
+Show file or archive names after transformation by \fB\-\-strip\fR and
+\fB\-\-transform\fR options.
+.TP
+\fB\-\-totals\fR[=\fISIGNAL\fR]
+Print total bytes after processing the archive. If \fISIGNAL\fR is
+given, print total bytes when this signal is delivered. Allowed
+signals are:
+.BR SIGHUP ,
+.BR SIGQUIT ,
+.BR SIGINT ,
+.BR SIGUSR1 ", and"
+.BR SIGUSR2 .
+The \fBSIG\fR prefix can be omitted.
+.TP
+\fB\-\-utc\fR
+Print file modification times in UTC.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+Verbosely list files processed.
+.TP
+\fB\-\-warning\fR=\fIKEYWORD\fR
+Enable or disable warning messages identified by \fIKEYWORD\fR. The
+messages are suppressed if \fIKEYWORD\fR is prefixed with \fBno\-\fR
+and enabled otherwise.
+
+Multiple \fB\-\-warning\fR messages accumulate.
+
+Keywords controlling general \fBtar\fR operation:
+.RS
+.TP
+.B all
+Enable all warning messages. This is the default.
+.TP
+.B none
+Disable all warning messages.
+.TP
+.B filename-with-nuls
+"%s: file name read contains nul character"
+.TP
+.B alone-zero-block
+"A lone zero block at %s"
+.HP
+Keywords applicable for \fBtar --create\fR:
+.TP
+.B cachedir
+"%s: contains a cache directory tag %s; %s"
+.TP
+.B file-shrank
+"%s: File shrank by %s bytes; padding with zeros"
+.TP
+.B xdev
+"%s: file is on a different filesystem; not dumped"
+.TP
+.B file-ignored
+"%s: Unknown file type; file ignored"
+.br
+"%s: socket ignored"
+.br
+"%s: door ignored"
+.TP
+.B file-unchanged
+"%s: file is unchanged; not dumped"
+.TP
+.B ignore-archive
+"%s: file is the archive; not dumped"
+.TP
+.B file-removed
+"%s: File removed before we read it"
+.TP
+.B file-changed
+"%s: file changed as we read it"
+.HP
+Keywords applicable for \fBtar --extract\fR:
+.TP
+.B timestamp
+"%s: implausibly old time stamp %s"
+.br
+"%s: time stamp %s is %s s in the future"
+.TP
+.B contiguous-cast
+"Extracting contiguous files as regular files"
+.TP
+.B symlink-cast
+"Attempting extraction of symbolic links as hard links"
+.TP
+.B unknown-cast
+"%s: Unknown file type '%c', extracted as normal file"
+.TP
+.B ignore-newer
+"Current %s is newer or same age"
+.TP
+.B unknown-keyword
+"Ignoring unknown extended header keyword '%s'"
+.TP
+.B decompress-program
+Controls verbose description of failures occurring when trying to run
+alternative decompressor programs. This warning is disabled by
+default (unless \fB\-\-verbose\fR is used). A common example of what
+you can get when using this warning is:
+
+.EX
+$ \fBtar --warning=decompress-program -x -f archive.Z
+tar (child): cannot run compress: No such file or directory
+tar (child): trying gzip
+.EE
+
+This means that \fBtar\fR first tried to decompress
+\fBarchive.Z\fR using \fBcompress\fR, and, when that
+failed, switched to \fBgzip\fR.
+.TP
+.B record-size
+"Record size = %lu blocks"
+.HP
+Keywords controlling incremental extraction:
+.TP
+.B rename-directory
+"%s: Directory has been renamed from %s"
+.br
+"%s: Directory has been renamed"
+.TP
+.B new-directory
+"%s: Directory is new"
+.TP
+.B xdev
+"%s: directory is on a different device: not purging"
+.TP
+.B bad-dumpdir
+"Malformed dumpdir: 'X' never used"
+.RE
+.TP
+\fB\-w\fR, \fB\-\-interactive\fR, \fB\-\-confirmation\fR
+Ask for confirmation for every action.
+.SS Compatibility options
+.TP
+\fB\-o\fR
+When creating, same as \fB\-\-old\-archive\fR. When extracting, same
+as \fB\-\-no\-same\-owner\fR.
+.SS Size suffixes
+.sp
+.nf
+.ta 8n 18n 42n
+.ul
+ Suffix Units Byte Equivalent
+ b Blocks \fISIZE\fR x 512
+ B Kilobytes \fISIZE\fR x 1024
+ c Bytes \fISIZE\fR
+ G Gigabytes \fISIZE\fR x 1024^3
+ K Kilobytes \fISIZE\fR x 1024
+ k Kilobytes \fISIZE\fR x 1024
+ M Megabytes \fISIZE\fR x 1024^2
+ P Petabytes \fISIZE\fR x 1024^5
+ T Terabytes \fISIZE\fR x 1024^4
+ w Words \fISIZE\fR x 2
+.fi
+.PP
+.SH "RETURN VALUE"
+Tar exit code indicates whether it was able to successfully perform
+the requested operation, and if not, what kind of error occurred.
+.TP
+.B 0
+Successful termination.
+.TP
+.B 1
+.I Some files differ.
+If tar was invoked with the \fB\-\-compare\fR (\fB\-\-diff\fR, \fB\-d\fR)
+command line option, this means that some files in the archive differ
+from their disk counterparts. If tar was given one of the \fB\-\-create\fR,
+\fB\-\-append\fR or \fB\-\-update\fR options, this exit code means
+that some files were changed while being archived and so the resulting
+archive does not contain the exact copy of the file set.
+.TP
+.B 2
+.I Fatal error.
+This means that some fatal, unrecoverable error occurred.
+.PP
+If a subprocess that had been invoked by
+.B tar
+exited with a nonzero exit code,
+.B tar
+itself exits with that code as well. This can happen, for example, if
+a compression option (e.g. \fB\-z\fR) was used and the external
+compressor program failed. Another example is
+.B rmt
+failure during backup to a remote device.
+.SH "SEE ALSO"
+.BR bzip2 (1),
+.BR compress (1),
+.BR gzip (1),
+.BR lzma (1),
+.BR lzop (1),
+.BR rmt (8),
+.BR symlink (7),
+.BR tar (5),
+.BR xz (1).
+.PP
+Complete \fBtar\fR manual: run
+.B info tar
+or use
+.BR emacs (1)
+info mode to read it.
+.PP
+Online copies of \fBGNU tar\fR documentation in various formats can be
+found at:
+.PP
+.in +4
+.B http://www.gnu.org/software/tar/manual
+.SH "BUG REPORTS"
+Report bugs to .
+.SH COPYRIGHT
+Copyright \(co 2013 Free Software Foundation, Inc.
+.br
+.na
+License GPLv3+: GNU GPL version 3 or later
+.br
+.ad
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+.\" Local variables:
+.\" eval: (add-hook 'write-file-hooks 'time-stamp)
+.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
+.\" time-stamp-format: "%:B %:d, %:y"
+.\" time-stamp-end: "\""
+.\" time-stamp-line-limit: 20
+.\" end:
+
diff --git a/doc/tar.info b/doc/tar.info
index 06ccdaa..9dfe69d 100644
--- a/doc/tar.info
+++ b/doc/tar.info
@@ -1,6 +1,6 @@
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.27, 24 September 2013), which
+This manual is for GNU `tar' (version 1.28, 22 July 2014), which
creates and extracts files from archives.
Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software
@@ -30,411 +30,420 @@ END-INFO-DIR-ENTRY
Indirect:
-tar.info-1: 1146
-tar.info-2: 298426
-tar.info-3: 562228
+tar.info-1: 1141
+tar.info-2: 299746
+tar.info-3: 569473
Tag Table:
(Indirect)
-Node: Top1146
-Node: Introduction10453
-Node: Book Contents11240
-Node: Definitions13412
-Node: What tar Does15215
-Node: Naming tar Archives17981
-Node: Authors18701
-Node: Reports20514
-Node: Tutorial20871
-Node: assumptions21684
-Node: stylistic conventions24159
-Node: basic tar options24602
-Node: frequent operations28240
-Node: Two Frequent Options28892
-Node: file tutorial29523
-Node: verbose tutorial30880
-Ref: verbose member listing33094
-Node: help tutorial35854
-Node: create36208
-Node: prepare for examples37709
-Node: Creating the archive39478
-Node: create verbose42310
-Node: short create43130
-Node: create dir45883
-Node: list48591
-Ref: listing member and file names49870
-Node: list dir52184
-Node: extract53196
-Node: extracting archives54310
-Node: extracting files54815
-Ref: extracting files-Footnote-157462
-Node: extract dir57842
-Node: extracting untrusted archives60235
-Node: failing commands61114
-Node: going further62208
-Node: tar invocation62421
-Node: Synopsis64201
-Ref: exit status67522
-Node: using tar options69156
-Ref: TAR_OPTIONS70733
-Node: Styles71750
-Ref: Styles-Footnote-173249
-Node: Long Options73505
-Node: Short Options75677
-Ref: Short Options-Footnote-177485
-Node: Old Options77702
-Node: Mixing80465
-Ref: Mixing-Footnote-182831
-Node: All Options82951
-Node: Operation Summary83556
-Ref: --append83676
-Ref: --catenate83756
-Ref: --compare83827
-Ref: --concatenate84030
-Ref: --create84140
-Ref: --delete84208
-Ref: --diff84322
-Ref: --extract84378
-Ref: --get84480
-Ref: --list84538
-Ref: --update84606
-Node: Option Summary84816
-Ref: --absolute-names84971
-Ref: --after-date85261
-Ref: --anchored85313
-Ref: --atime-preserve85446
-Ref: --auto-compress87966
-Ref: --backup88193
-Ref: --block-number88384
-Ref: --blocking-factor88558
-Ref: --bzip288710
-Ref: --check-device88817
-Ref: --checkpoint89012
-Ref: --checkpoint-action89454
-Ref: --check-links90605
-Ref: --compress90882
-Ref: --uncompress90882
-Ref: --confirmation91086
-Ref: --delay-directory-restore91154
-Ref: --dereference91355
-Ref: --directory91549
-Ref: --exclude91802
-Ref: --exclude-backups91921
-Ref: --exclude-from92011
-Ref: --exclude-caches92157
-Ref: --exclude-caches-under92365
-Ref: --exclude-caches-all92543
-Ref: --exclude-tag92672
-Ref: --exclude-tag-under92843
-Ref: --exclude-tag-all93033
-Ref: --exclude-vcs93162
-Ref: --file93328
-Ref: --files-from93528
-Ref: --force-local93731
-Ref: --format93922
-Ref: --full-time94592
-Ref: --group95272
-Ref: --gzip95568
-Ref: --gunzip95568
-Ref: --ungzip95568
-Ref: --hard-dereference95791
-Ref: --help95978
-Ref: --ignore-case96112
-Ref: --ignore-command-error96239
-Ref: --ignore-failed-read96350
-Ref: --ignore-zeros96491
-Ref: --incremental96636
-Ref: --index-file96901
-Ref: --info-script96986
-Ref: --new-volume-script96986
-Ref: --interactive97283
-Ref: ----keep-directory-symlink97495
-Ref: --keep-newer-files98043
-Ref: --keep-old-files98185
-Ref: --label98397
-Ref: --level98685
-Ref: --listed-incremental99126
-Ref: --lzip99490
-Ref: --lzma99590
-Ref: --mode99790
-Ref: --mtime100081
-Ref: --multi-volume100522
-Ref: --newer100726
-Ref: --newer-mtime101004
-Ref: --no-anchored101228
-Ref: --no-auto-compress101365
-Ref: --no-check-device101516
-Ref: --no-delay-directory-restore101699
-Ref: --no-ignore-case101952
-Ref: --no-ignore-command-error102045
-Ref: --no-null102200
-Ref: --no-overwrite-dir102405
-Ref: --no-quote-chars102548
-Ref: --no-recursion102729
-Ref: --no-same-owner102834
-Ref: --no-same-permissions103017
-Ref: --no-seek103219
-Ref: --no-unquote103437
-Ref: --no-wildcards103575
-Ref: --no-wildcards-match-slash103659
-Ref: --null103761
-Ref: --numeric-owner103989
-Ref: --occurrence104640
-Ref: --old-archive105207
-Ref: --one-file-system105256
-Ref: --overwrite105434
-Ref: --overwrite-dir105576
-Ref: --owner105721
-Ref: --pax-option106046
-Ref: --portability106353
-Ref: --posix106418
-Ref: --preserve106460
-Ref: --preserve-order106598
-Ref: --preserve-permissions106662
-Ref: --same-permissions106662
-Ref: --quote-chars107076
-Ref: --quoting-style107229
-Ref: --read-full-records107550
-Ref: --record-size107715
-Ref: --recursion108059
-Ref: --recursive-unlink108162
-Ref: --remove-files108329
-Ref: --restrict108475
-Ref: --rmt-command108663
-Ref: --rsh-command108804
-Ref: --same-order108926
-Ref: --same-owner109218
-Ref: --seek109595
-Ref: --show-defaults109964
-Ref: --show-omitted-dirs110472
-Ref: --show-snapshot-field-ranges110626
-Ref: --show-transformed-names110822
-Ref: --show-stored-names110822
-Ref: --skip-old-files111211
-Ref: --sparse111661
-Ref: --sparse-version111800
-Ref: --starting-file112024
-Ref: --strip-components112213
-Ref: --suffix112525
-Ref: --tape-length112644
-Ref: --test-label113059
-Ref: --to-command113211
-Ref: --to-stdout113370
-Ref: --totals113523
-Ref: --touch113754
-Ref: --transform113956
-Ref: --xform113956
-Ref: --unlink-first114567
-Ref: --unquote114735
-Ref: --use-compress-program114842
-Ref: --utc115020
-Ref: --verbose115113
-Ref: --verify115365
-Ref: --version115483
-Ref: --volno-file115655
-Ref: --warning115842
-Ref: --wildcards116019
-Ref: --wildcards-match-slash116139
-Ref: --xz116231
-Ref: Option Summary-Footnote-1116362
-Node: Short Option Summary116580
-Node: help118781
-Ref: help-Footnote-1122610
-Node: defaults122821
-Node: verbose123840
-Ref: totals126141
-Ref: Progress information127731
-Ref: show-omitted-dirs128710
-Ref: block-number129129
-Ref: verbose-Footnote-1130156
-Node: checkpoints130263
-Ref: checkpoint exec134138
-Node: warnings136164
-Node: interactive139563
-Node: external141662
-Node: operations143243
-Node: Basic tar143502
-Ref: Basic tar-Footnote-1146609
-Node: Advanced tar146753
-Node: Operations147598
-Node: append149497
-Ref: append-Footnote-1152592
-Node: appending files152779
-Node: multiple154517
-Node: update157239
-Node: how to update158215
-Node: concatenate159999
-Ref: concatenate-Footnote-1163247
-Node: delete163390
-Node: compare165163
-Node: create options166595
-Node: override167053
-Node: Ignore Failed Read171190
-Node: extract options171410
-Node: Reading172243
-Node: read full records173743
-Node: Ignore Zeros174079
-Node: Writing175070
-Node: Dealing with Old Files175627
-Node: Overwrite Old Files178430
-Node: Keep Old Files179887
-Node: Keep Newer Files180694
-Node: Unlink First180984
-Node: Recursive Unlink181388
-Node: Data Modification Times181941
-Node: Setting Access Permissions182751
-Node: Directory Modification Times and Permissions183383
-Node: Writing to Standard Output186995
-Node: Writing to an External Program188530
-Node: remove files192111
-Node: Scarce192304
-Node: Starting File192552
-Node: Same Order193353
-Node: backup194189
-Node: Applications197275
-Node: looking ahead198736
-Node: Backups199562
-Node: Full Dumps201143
-Node: Incremental Dumps202949
-Ref: --level=0205863
-Ref: device numbers206396
-Ref: incremental-op210374
-Ref: Incremental Dumps-Footnote-1210748
-Ref: Incremental Dumps-Footnote-2210898
-Node: Backup Levels211386
-Node: Backup Parameters213773
-Node: General-Purpose Variables214954
-Ref: RSH218115
-Node: Magnetic Tape Control219994
-Node: User Hooks221332
-Node: backup-specs example222661
-Node: Scripted Backups223804
-Ref: Scripted Backups-Footnote-1226667
-Node: Scripted Restoration227051
-Node: Choosing229662
-Node: file230784
-Ref: remote-dev233420
-Ref: local and remote archives233805
-Node: Selecting Archive Members234836
-Ref: input name quoting235517
-Node: files237503
-Ref: files-Footnote-1239999
-Node: nul240157
-Node: exclude242571
-Node: problems with exclude247745
-Node: wildcards249790
-Node: controlling pattern-matching252374
-Ref: controlling pattern-matching-Footnote-1256364
-Node: quoting styles256580
-Ref: escape sequences256926
-Node: transform263057
-Ref: show-transformed-names265048
-Node: after271239
-Node: recurse274841
-Node: one277565
-Node: directory278998
-Node: absolute282060
-Ref: absolute-Footnote-1285388
-Node: Date input formats285739
-Node: General date syntax288137
-Node: Calendar date items291120
-Node: Time of day items293117
-Node: Time zone items295313
-Node: Combined date and time of day items296565
-Node: Day of week items297417
-Node: Relative items in date strings298426
-Node: Pure numbers in date strings301228
-Node: Seconds since the Epoch302209
-Node: Specifying time zone rules303830
-Node: Authors of parse_datetime306202
-Ref: Authors of get_date306381
-Node: Formats307344
-Node: Compression312032
-Node: gzip312324
-Ref: alternative decompression programs314533
-Ref: auto-compress318303
-Ref: use-compress-program319034
-Ref: gzip-Footnote-1320957
-Ref: gzip-Footnote-2321006
-Node: lbzip2321146
-Node: sparse322243
-Node: Attributes325297
-Node: Portability331118
-Node: Portable Names332604
-Node: dereference333309
-Node: hard links334436
-Ref: hard links-Footnote-1337321
-Node: old337377
-Node: ustar338561
-Node: gnu339152
-Node: posix340029
-Node: PAX keywords340510
-Node: Checksumming346120
-Node: Large or Negative Values348046
-Node: Other Tars349646
-Node: Split Recovery350782
-Node: Sparse Recovery354514
-Ref: extracting sparse v.0.x358147
-Ref: Sparse Recovery-Footnote-1361436
-Ref: Sparse Recovery-Footnote-2361459
-Node: cpio361580
-Node: Media366337
-Node: Device368284
-Ref: size-suffixes373073
-Node: Remote Tape Server374193
-Node: Common Problems and Solutions377855
-Node: Blocking378247
-Ref: Blocking-Footnote-1384730
-Node: Format Variations384834
-Node: Blocking Factor385746
-Node: Many397398
-Node: Tape Positioning401192
-Node: mt403065
-Node: Using Multiple Tapes404620
-Node: Multi-Volume Archives406686
-Ref: tape-length408171
-Ref: change volume prompt408731
-Ref: volno-file409602
-Ref: info-script410154
-Ref: Multi-Volume Archives-Footnote-1415738
-Ref: Multi-Volume Archives-Footnote-2415848
-Node: Tape Files415916
-Node: Tarcat417398
-Node: label418443
-Ref: --test-label option420030
-Ref: label-Footnote-1423480
-Ref: label-Footnote-2423589
-Ref: label-Footnote-3423722
-Node: verify423957
-Node: Write Protection427257
-Node: Reliability and security428087
-Node: Reliability428475
-Node: Permissions problems429253
-Node: Data corruption and repair429692
-Node: Race conditions430618
-Node: Security432358
-Node: Privacy432961
-Node: Integrity434210
-Node: Live untrusted data436421
-Node: Security rules of thumb438761
-Node: Changes440290
-Node: Configuring Help Summary443905
-Node: Fixing Snapshot Files450406
-Node: Tar Internals453775
-Node: Standard454107
-Node: Extensions476308
-Node: Sparse Formats478868
-Node: Old GNU Format480158
-Node: PAX 0482559
-Node: PAX 1485690
-Node: Snapshot Files487428
-Node: Dumpdir492998
-Node: Genfile496244
-Node: Generate Mode497337
-Node: Status Mode501634
-Node: Exec Mode503432
-Node: Free Software Needs Free Documentation506177
-Node: GNU Free Documentation License511159
-Node: Index of Command Line Options536372
-Node: Index562228
+Node: Top1141
+Node: Introduction10443
+Node: Book Contents11230
+Node: Definitions13402
+Node: What tar Does15205
+Node: Naming tar Archives17971
+Node: Authors18691
+Node: Reports20504
+Node: Tutorial20861
+Node: assumptions21674
+Node: stylistic conventions24149
+Node: basic tar options24592
+Node: frequent operations28230
+Node: Two Frequent Options28882
+Node: file tutorial29513
+Node: verbose tutorial30870
+Ref: verbose member listing33084
+Node: help tutorial35844
+Node: create36198
+Node: prepare for examples37699
+Node: Creating the archive39468
+Node: create verbose42300
+Node: short create43120
+Node: create dir45873
+Node: list48581
+Ref: listing member and file names49860
+Node: list dir52174
+Node: extract53186
+Node: extracting archives54300
+Node: extracting files54805
+Ref: extracting files-Footnote-157452
+Node: extract dir57832
+Node: extracting untrusted archives60225
+Node: failing commands61104
+Node: going further62198
+Node: tar invocation62411
+Node: Synopsis64191
+Ref: exit status67512
+Node: using tar options69146
+Ref: TAR_OPTIONS70723
+Node: Styles71740
+Ref: Styles-Footnote-173239
+Node: Long Options73495
+Node: Short Options75667
+Ref: Short Options-Footnote-177475
+Node: Old Options77692
+Node: Mixing80455
+Ref: Mixing-Footnote-182821
+Node: All Options82941
+Node: Operation Summary83546
+Ref: --append83666
+Ref: --catenate83746
+Ref: --compare83817
+Ref: --concatenate84020
+Ref: --create84130
+Ref: --delete84198
+Ref: --diff84312
+Ref: --extract84368
+Ref: --get84470
+Ref: --list84528
+Ref: --update84596
+Node: Option Summary84806
+Ref: --absolute-names84961
+Ref: --after-date85251
+Ref: --anchored85303
+Ref: --atime-preserve85436
+Ref: --auto-compress87956
+Ref: --backup88183
+Ref: --block-number88374
+Ref: --blocking-factor88548
+Ref: --bzip288700
+Ref: --check-device88807
+Ref: --checkpoint89002
+Ref: --checkpoint-action89444
+Ref: --check-links90595
+Ref: --compress90872
+Ref: --uncompress90872
+Ref: --confirmation91076
+Ref: --delay-directory-restore91144
+Ref: --dereference91345
+Ref: --directory91539
+Ref: --exclude91792
+Ref: --exclude-backups91911
+Ref: --exclude-from92001
+Ref: --exclude-caches92147
+Ref: --exclude-caches-under92355
+Ref: --exclude-caches-all92533
+Ref: --exclude-ignore92662
+Ref: --exclude-ignore-recursive92882
+Ref: --exclude-tag93126
+Ref: --exclude-tag-under93297
+Ref: --exclude-tag-all93487
+Ref: --exclude-vcs93616
+Ref: --exclude-vcs-ignores93775
+Ref: --file94167
+Ref: --files-from94367
+Ref: --force-local94570
+Ref: --format94761
+Ref: --full-time95431
+Ref: --group96111
+Ref: --gzip96407
+Ref: --gunzip96407
+Ref: --ungzip96407
+Ref: --hard-dereference96630
+Ref: --help96817
+Ref: --ignore-case96951
+Ref: --ignore-command-error97078
+Ref: --ignore-failed-read97189
+Ref: --ignore-zeros97330
+Ref: --incremental97475
+Ref: --index-file97740
+Ref: --info-script97825
+Ref: --new-volume-script97825
+Ref: --interactive98122
+Ref: ----keep-directory-symlink98334
+Ref: --keep-newer-files98882
+Ref: --keep-old-files99024
+Ref: --label99236
+Ref: --level99524
+Ref: --listed-incremental99965
+Ref: --lzip100329
+Ref: --lzma100429
+Ref: --mode100629
+Ref: --mtime100920
+Ref: --multi-volume101361
+Ref: --newer101565
+Ref: --newer-mtime101843
+Ref: --no-anchored102067
+Ref: --no-auto-compress102204
+Ref: --no-check-device102355
+Ref: --no-delay-directory-restore102538
+Ref: --no-ignore-case102791
+Ref: --no-ignore-command-error102884
+Ref: --no-null103039
+Ref: --no-overwrite-dir103244
+Ref: --no-quote-chars103387
+Ref: --no-recursion103568
+Ref: --no-same-owner103673
+Ref: --no-same-permissions103856
+Ref: --no-seek104058
+Ref: --no-unquote104276
+Ref: --no-wildcards104414
+Ref: --no-wildcards-match-slash104498
+Ref: --null104600
+Ref: --numeric-owner104828
+Ref: --occurrence105479
+Ref: --old-archive106046
+Ref: --one-file-system106095
+Ref: --one-top-level106273
+Ref: --overwrite106909
+Ref: --overwrite-dir107051
+Ref: --owner107196
+Ref: --pax-option107521
+Ref: --portability107828
+Ref: --posix107893
+Ref: --preserve107935
+Ref: --preserve-order108073
+Ref: --preserve-permissions108137
+Ref: --same-permissions108137
+Ref: --quote-chars108551
+Ref: --quoting-style108704
+Ref: --read-full-records109025
+Ref: --record-size109190
+Ref: --recursion109534
+Ref: --recursive-unlink109637
+Ref: --remove-files109804
+Ref: --restrict109950
+Ref: --rmt-command110138
+Ref: --rsh-command110279
+Ref: --same-order110401
+Ref: --same-owner110693
+Ref: --seek111070
+Ref: --show-defaults111439
+Ref: --show-omitted-dirs111947
+Ref: --show-snapshot-field-ranges112101
+Ref: --show-transformed-names112297
+Ref: --show-stored-names112297
+Ref: --skip-old-files112686
+Ref: --sort113136
+Ref: --sparse113780
+Ref: --sparse-version113919
+Ref: --starting-file114143
+Ref: --strip-components114332
+Ref: --suffix114644
+Ref: --tape-length114763
+Ref: --test-label115178
+Ref: --to-command115330
+Ref: --to-stdout115489
+Ref: --totals115642
+Ref: --touch115873
+Ref: --transform116075
+Ref: --xform116075
+Ref: --unlink-first116686
+Ref: --unquote116854
+Ref: --use-compress-program116961
+Ref: --utc117139
+Ref: --verbose117232
+Ref: --verify117484
+Ref: --version117602
+Ref: --volno-file117774
+Ref: --warning117961
+Ref: --wildcards118138
+Ref: --wildcards-match-slash118258
+Ref: --xz118350
+Ref: Option Summary-Footnote-1118481
+Node: Short Option Summary118699
+Node: help120900
+Ref: help-Footnote-1124734
+Node: defaults124945
+Node: verbose125964
+Ref: totals128265
+Ref: Progress information129855
+Ref: show-omitted-dirs130834
+Ref: block-number131253
+Ref: verbose-Footnote-1132280
+Node: checkpoints132387
+Ref: checkpoint exec138449
+Node: warnings140475
+Node: interactive143874
+Node: external145973
+Node: operations147554
+Node: Basic tar147813
+Ref: Basic tar-Footnote-1150920
+Node: Advanced tar151064
+Node: Operations151909
+Node: append153808
+Ref: append-Footnote-1156903
+Node: appending files157090
+Node: multiple158828
+Node: update161550
+Node: how to update162526
+Node: concatenate164310
+Ref: concatenate-Footnote-1167558
+Node: delete167701
+Node: compare169474
+Node: create options170906
+Node: override171364
+Node: Ignore Failed Read175501
+Node: extract options175721
+Node: Reading176554
+Node: read full records178054
+Node: Ignore Zeros178390
+Node: Writing179381
+Node: Dealing with Old Files179938
+Node: Overwrite Old Files182741
+Node: Keep Old Files184198
+Node: Keep Newer Files185005
+Node: Unlink First185295
+Node: Recursive Unlink185699
+Node: Data Modification Times186252
+Node: Setting Access Permissions187062
+Node: Directory Modification Times and Permissions187694
+Node: Writing to Standard Output191306
+Node: Writing to an External Program192841
+Node: remove files196422
+Node: Scarce196615
+Node: Starting File196863
+Node: Same Order197664
+Node: backup198500
+Node: Applications201586
+Node: looking ahead203047
+Node: Backups203873
+Node: Full Dumps205454
+Node: Incremental Dumps207260
+Ref: --level=0210174
+Ref: device numbers210707
+Ref: incremental-op214685
+Ref: Incremental Dumps-Footnote-1215059
+Ref: Incremental Dumps-Footnote-2215209
+Node: Backup Levels215697
+Node: Backup Parameters218084
+Node: General-Purpose Variables219265
+Ref: RSH222426
+Node: Magnetic Tape Control224305
+Node: User Hooks225643
+Node: backup-specs example226972
+Node: Scripted Backups228115
+Ref: Scripted Backups-Footnote-1230978
+Node: Scripted Restoration231362
+Node: Choosing233973
+Node: file235095
+Ref: remote-dev237731
+Ref: local and remote archives238116
+Node: Selecting Archive Members239147
+Ref: input name quoting239828
+Node: files241814
+Ref: files-Footnote-1244310
+Node: nul244468
+Node: exclude246882
+Ref: exclude-vcs-ignores248437
+Ref: exclude-vcs250146
+Ref: exclude-Footnote-1254048
+Ref: exclude-Footnote-2254303
+Node: problems with exclude254374
+Node: wildcards256419
+Node: controlling pattern-matching259003
+Ref: controlling pattern-matching-Footnote-1262993
+Node: quoting styles263209
+Ref: escape sequences263555
+Node: transform269686
+Ref: show-transformed-names271677
+Node: after277868
+Node: recurse281470
+Node: one284194
+Node: directory285627
+Node: absolute288689
+Ref: absolute-Footnote-1292017
+Node: Date input formats292368
+Node: General date syntax294766
+Node: Calendar date items297749
+Node: Time of day items299746
+Node: Time zone items301942
+Node: Combined date and time of day items303194
+Node: Day of week items304046
+Node: Relative items in date strings305055
+Node: Pure numbers in date strings307857
+Node: Seconds since the Epoch308838
+Node: Specifying time zone rules310459
+Node: Authors of parse_datetime312831
+Ref: Authors of get_date313010
+Node: Formats313973
+Node: Compression318661
+Node: gzip318953
+Ref: alternative decompression programs321162
+Ref: auto-compress324932
+Ref: use-compress-program325663
+Ref: gzip-Footnote-1327586
+Ref: gzip-Footnote-2327635
+Node: lbzip2327775
+Node: sparse328872
+Node: Attributes331926
+Node: Portability337747
+Node: Portable Names339233
+Node: dereference339938
+Node: hard links341065
+Ref: hard links-Footnote-1343950
+Node: old344006
+Node: ustar345190
+Node: gnu345793
+Node: posix346670
+Node: PAX keywords347151
+Node: Checksumming352761
+Node: Large or Negative Values354704
+Node: Other Tars356304
+Node: Split Recovery357440
+Node: Sparse Recovery361172
+Ref: extracting sparse v.0.x364805
+Ref: Sparse Recovery-Footnote-1368094
+Ref: Sparse Recovery-Footnote-2368117
+Node: cpio368238
+Node: Media372995
+Node: Device374942
+Ref: size-suffixes379731
+Node: Remote Tape Server380851
+Node: Common Problems and Solutions384513
+Node: Blocking384905
+Ref: Blocking-Footnote-1391388
+Node: Format Variations391492
+Node: Blocking Factor392404
+Node: Many404056
+Node: Tape Positioning407850
+Node: mt409723
+Node: Using Multiple Tapes411278
+Node: Multi-Volume Archives413344
+Ref: tape-length414829
+Ref: change volume prompt415389
+Ref: volno-file416260
+Ref: info-script416812
+Ref: Multi-Volume Archives-Footnote-1422396
+Ref: Multi-Volume Archives-Footnote-2422506
+Node: Tape Files422574
+Node: Tarcat424056
+Node: label425101
+Ref: --test-label option426688
+Ref: label-Footnote-1430138
+Ref: label-Footnote-2430247
+Ref: label-Footnote-3430380
+Node: verify430615
+Node: Write Protection433915
+Node: Reliability and security434745
+Node: Reliability435133
+Node: Permissions problems435911
+Node: Data corruption and repair436350
+Node: Race conditions437276
+Node: Security439016
+Node: Privacy439619
+Node: Integrity440868
+Node: Live untrusted data443079
+Node: Security rules of thumb445419
+Node: Changes446948
+Node: Configuring Help Summary450563
+Node: Fixing Snapshot Files457064
+Node: Tar Internals460433
+Node: Standard460765
+Node: Extensions482966
+Node: Sparse Formats485526
+Node: Old GNU Format486816
+Node: PAX 0489217
+Node: PAX 1492348
+Node: Snapshot Files494086
+Node: Dumpdir499656
+Node: Genfile502902
+Node: Generate Mode503995
+Node: Status Mode508292
+Node: Exec Mode510090
+Node: Free Software Needs Free Documentation512835
+Node: GNU Free Documentation License517817
+Node: Index of Command Line Options543033
+Node: Index569473
End Tag Table
diff --git a/doc/tar.info-1 b/doc/tar.info-1
index c8541d8..6fe9be8 100644
--- a/doc/tar.info-1
+++ b/doc/tar.info-1
@@ -1,6 +1,6 @@
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.27, 24 September 2013), which
+This manual is for GNU `tar' (version 1.28, 22 July 2014), which
creates and extracts files from archives.
Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software
@@ -34,7 +34,7 @@ File: tar.info, Node: Top, Next: Introduction, Up: (dir)
GNU tar: an archiver tool
*************************
-This manual is for GNU `tar' (version 1.27, 24 September 2013), which
+This manual is for GNU `tar' (version 1.28, 22 July 2014), which
creates and extracts files from archives.
Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software
@@ -567,7 +567,7 @@ in version 1.11. Thomas Bushnell, n/BSG and Amy Gorin worked on a
tutorial and manual for GNU `tar'. Franc,ois Pinard put version 1.11.8
of the manual together by taking information from all these sources and
merging them. Melissa Weisshaus finally edited and redesigned the book
-to create version 1.12. The book for versions from 1.14 up to 1.27
+to create version 1.12. The book for versions from 1.14 up to 1.28
were edited by the current maintainer, Sergey Poznyakoff.
For version 1.12, Daniel Hagerty contributed a great deal of
@@ -2340,6 +2340,16 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera
Exclude from dump any directory containing a valid cache directory
tag file. *Note exclude::.
+`--exclude-ignore=FILE'
+ Before dumping a directory, `tar' checks if it contains FILE. If
+ so, exclusion patterns are read from this file. The patterns
+ affect only the directory itself. *Note exclude::.
+
+`--exclude-ignore-recursive=FILE'
+ Before dumping a directory, `tar' checks if it contains FILE. If
+ so, exclusion patterns are read from this file. The patterns
+ affect the directory and all itssubdirectories. *Note exclude::.
+
`--exclude-tag=FILE'
Exclude from dump any directory containing file named FILE, but
dump the directory node and FILE itself. *Note exclude-tag:
@@ -2358,7 +2368,15 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera
Exclude from dump directories and files, that are internal for some
widely used version control systems.
- *Note exclude-vcs: exclude.
+ *Note exclude-vcs::.
+
+`--exclude-vcs-ignores'
+ Exclude files that match patterns read from VCS-specific ignore
+ files. Supported files are: `.cvsignore', `.gitignore',
+ `.bzrignore', and `.hgignore'. The semantics of each file is the
+ same as for the corresponding VCS, e.g. patterns read from
+ `.gitignore' affect the directory and all its subdirectories.
+ *Note exclude-vcs-ignores::.
`--file=ARCHIVE'
`-f ARCHIVE'
@@ -2523,7 +2541,7 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera
`--level=N'
Force incremental backup of level N. As of GNU `tar' version
- 1.27, the option `--level=0' truncates the snapshot file, thereby
+ 1.28, the option `--level=0' truncates the snapshot file, thereby
forcing the level 0 dump. Other values of N are effectively
ignored. *Note --level=0::, for details and examples.
@@ -2702,6 +2720,17 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera
directories that are on different file systems from the current
directory.
+`--one-top-level[=DIR]'
+ Tells `tar' to create a new directory beneath the extraction
+ directory (or the one passed to `-C') and use it to guard against
+ tarbombs. In the absence of DIR argument, the name of the new
+ directory will be equal to the base name of the archive (file name
+ minus the archive suffix, if recognized). Any member names that
+ do not begin with that directory name (after transformations from
+ `--transform' and `--strip-components') will be prefixed with it.
+ Recognized file name suffixes are `.tar', and any compression
+ suffixes recognizable by *Note --auto-compress::.
+
`--overwrite'
Overwrite existing files and directory metadata when extracting
files from an archive. *Note Overwrite Old Files::.
@@ -2864,6 +2893,25 @@ File: tar.info, Node: Option Summary, Next: Short Option Summary, Prev: Opera
this option to produce warning messages about existing old files
(*note warnings::).
+`--sort=ORDER'
+ Specify the directory sorting order when reading directories.
+ ORDER may be one of the following:
+
+ `none'
+ No directory sorting is performed. This is the default.
+
+ `name'
+ Sort the directory entries on name. The operating system may
+ deliver directory entries in a more or less random order, and
+ sorting them makes archive creation reproducible.
+
+ `inode'
+ Sort the directory entries on inode number. Sorting
+ directories on inode number may reduce the amount of disk
+ seek operations when creating an archive for some file
+ systems.
+
+
`--sparse'
`-S'
Invokes a GNU extension when adding files to an archive that
@@ -3083,8 +3131,8 @@ information about its name, version, origin and legal status, all on
standard output, and then exit successfully. For example,
`tar --version' might print:
- tar (GNU tar) 1.27
- Copyright (C) 2013 Free Software Foundation, Inc.
+ tar (GNU tar) 1.28
+ Copyright (C) 2013-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
@@ -3364,18 +3412,59 @@ do so by placing an equals sign and the message right after it, e.g.:
--checkpoint-action="echo=Hit %s checkpoint #%u"
- The `%s' and `%u' in the above example are "meta-characters". The
-`%s' meta-character is replaced with the "type" of the checkpoint:
-`write' or `read' (or a corresponding translated version in locales
-other than POSIX). The `%u' meta-character is replaced with the
-ordinal number of the checkpoint. Thus, the above example could
-produce the following output when used with the `--create' option:
+ The `%s' and `%u' in the above example are "format specifiers". The
+`%s' specifier is replaced with the "type" of the checkpoint: `write' or
+`read' (or a corresponding translated version in locales other than
+POSIX). The `%u' specifier is replaced with the ordinal number of the
+checkpoint. Thus, the above example could produce the following output
+when used with the `--create' option:
tar: Hit write checkpoint #10
tar: Hit write checkpoint #20
tar: Hit write checkpoint #30
- Aside from meta-character expansion, the message string is subject to
+ The complete list of available format specifiers follows. Some of
+them can take optional arguments. These arguments, if given, are
+supplied in curly braces between the percent sign and the specifier
+letter.
+
+`%s'
+ Print type of the checkpoint (`write' or `read').
+
+`%u'
+ Print number of the checkpoint.
+
+`%{r,w,d}T'
+ Print number of bytes transferred so far and approximate transfer
+ speed. Optional arguments supply prefixes to be used before number
+ of bytes read, written and deleted, correspondingly. If absent,
+ they default to `R'. `W', `D'. Any or all of them can be omitted,
+ so, that e.g. `%{}T' means to print corresponding statistics
+ without any prefixes. Any surplus arguments, if present, are
+ silently ignored.
+
+ $ tar --delete -f f.tar --checkpoint-action=echo="#%u: %T" main.c
+ tar: #1: R: 0 (0B, 0B/s),W: 0 (0B, 0B/s),D: 0
+ tar: #2: R: 10240 (10KiB, 19MiB/s),W: 0 (0B, 0B/s),D: 10240
+
+ See also the `totals' action, described below.
+
+`%{FMT}t'
+ Output current local time using FMT as format for `strftime'
+ (*note strftime: (strftime(3))strftime.). The `{FMT}' part is
+ optional. If not present, the default format is `%c', i.e. the
+ preferred date and time representation for the current locale.
+
+`%{N}*'
+ Pad output with spaces to the Nth column. If the `{N}' part is
+ omitted, the current screen width is assumed.
+
+`%c'
+ This is a shortcut for `%{%Y-%m-%d %H:%M:%S}t: %ds,
+ %{read,wrote}T%*\r', intended mainly for use with `ttyout' action
+ (see below).
+
+ Aside from format expansion, the message string is subject to
"unquoting", during which the backslash "escape sequences" are replaced
with their corresponding ASCII characters (*note escape sequences::).
E.g. the following action will produce an audible bell and the message
@@ -3396,7 +3485,16 @@ to the string, nor does it output a newline after it. For example, the
following action will print the checkpoint message at the same screen
line, overwriting any previous message:
- --checkpoint-action="ttyout=\rHit %s checkpoint #%u"
+ --checkpoint-action="ttyout=Hit %s checkpoint #%u%*\r"
+
+Notice the use of `%*' specifier to clear out any eventual remains of
+the prior output line. As as more complex example, consider this:
+
+ --checkpoint-action=ttyout='%{%Y-%m-%d %H:%M:%S}t (%d sec): #%u, %T%*\r'
+
+This prints the current local time, number of seconds expired since tar
+was started, the checkpoint ordinal number, transferred bytes and
+average computed I/O speed.
Another available checkpoint action is `dot' (or `.'). It instructs
`tar' to print a single dot on the standard listing stream, e.g.:
@@ -3408,6 +3506,11 @@ line, overwriting any previous message:
be abbreviated by placing a dot in front of the checkpoint frequency,
as shown in the previous section.
+ The `totals' action prints the total number of bytes transferred so
+far. The format of the data is the same as for the `--totals' option
+(*note totals::). See also `%T' format specifier of the `echo' or
+`ttyout' action.
+
Yet another action, `sleep', pauses `tar' for a specified amount of
seconds. The following example will stop for 30 seconds at each
checkpoint:
@@ -6214,12 +6317,60 @@ difficult to catch using text editors.
However, empty lines are OK.
+ When archiving directories that are under some version control
+system (VCS), it is often convenient to read exclusion patterns from
+this VCS' ignore files (e.g. `.cvsignore', `.gitignore', etc.) The
+following options provide such possibilty:
+
+`--exclude-vcs-ignores'
+ Before archiving a directory, see if it contains any of the
+ following files: `cvsignore', `.gitignore', `.bzrignore', or
+ `.hgignore'. If so, read ignore patterns from these files.
+
+ The patterns are treated much as the corresponding VCS would treat
+ them, i.e.:
+
+ `.cvsignore'
+ Contains shell-style globbing patterns that apply only to the
+ directory where this file resides. No comments are allowed
+ in the file. Empty lines are ignored.
+
+ `.gitignore'
+ Contains shell-style globbing patterns. Applies to the
+ directory where `.gitfile' is located and all its
+ subdirectories.
+
+ Any line beginning with a `#' is a comment. Backslash escapes
+ the comment character.
+
+ `.bzrignore'
+ Contains shell globbing-patterns and regular expressions (if
+ prefixed with `RE:'(1). Patterns affect the directory and
+ all its subdirectories.
+
+ Any line beginning with a `#' is a comment.
+
+ `.hgignore'
+ Contains posix regular expressions(2). The line `syntax:
+ glob' switches to shell globbing patterns. The line `syntax:
+ regexp' switches back. Comments begin with a `#'. Patterns
+ affect the directory and all its subdirectories.
+
+`--exclude-ignore=FILE'
+ Before dumping a directory, `tar' checks if it contains FILE. If
+ so, exclusion patterns are read from this file. The patterns
+ affect only the directory itself.
+
+`--exclude-ignore-recursive=FILE'
+ Same as `--exclude-ignore', except that the patterns read affect
+ both the directory where FILE resides and all its subdirectories.
+
`--exclude-vcs'
Exclude files and directories used by following version control
systems: `CVS', `RCS', `SCCS', `SVN', `Arch', `Bazaar',
`Mercurial', and `Darcs'.
- As of version 1.27, the following files are excluded:
+ As of version 1.28, the following files are excluded:
* `CVS/', and everything under it
@@ -6363,6 +6514,15 @@ entirely:
* problems with exclude::
+ ---------- Footnotes ----------
+
+ (1) According to the Bazaar docs, globbing-patterns are Korn-shell
+style and regular expressions are perl-style. As of GNU `tar' version
+1.28, these are treated as shell-style globs and posix extended
+regexps. This will be fixed in future releases.
+
+ (2) Support for perl-style regexps will appear in future releases.
+
File: tar.info, Node: problems with exclude, Up: exclude
@@ -7558,120 +7718,3 @@ any of the following:
MONTH DAY
-
-File: tar.info, Node: Time of day items, Next: Time zone items, Prev: Calendar date items, Up: Date input formats
-
-7.3 Time of day items
-=====================
-
-A "time of day item" in date strings specifies the time on a given day.
-Here are some examples, all of which represent the same time:
-
- 20:02:00.000000
- 20:02
- 8:02pm
- 20:02-0500 # In EST (U.S. Eastern Standard Time).
-
- More generally, the time of day may be given as
-`HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE
-is a number between 0 and 59, and SECOND is a number between 0 and 59
-possibly followed by `.' or `,' and a fraction containing one or more
-digits. Alternatively, `:SECOND' can be omitted, in which case it is
-taken to be zero. On the rare hosts that support leap seconds, SECOND
-may be 60.
-
- If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR
-is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken
-to be zero). `am' indicates the first half of the day, `pm' indicates
-the second half of the day. In this notation, 12 is the predecessor of
-1: midnight is `12am' while noon is `12pm'. (This is the zero-oriented
-interpretation of `12am' and `12pm', as opposed to the old tradition
-derived from Latin which uses `12m' for noon and `12pm' for midnight.)
-
- The time may alternatively be followed by a time zone correction,
-expressed as `SHHMM', where S is `+' or `-', HH is a number of zone
-hours and MM is a number of zone minutes. The zone minutes term, MM,
-may be omitted, in which case the one- or two-digit correction is
-interpreted as a number of hours. You can also separate HH from MM
-with a colon. When a time zone correction is given this way, it forces
-interpretation of the time relative to Coordinated Universal Time
-(UTC), overriding any previous specification for the time zone or the
-local time zone. For example, `+0530' and `+05:30' both stand for the
-time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to
-specify a time zone correction by fractional parts of an hour. The
-maximum zone correction is 24 hours.
-
- Either `am'/`pm' or a time zone correction may be specified, but not
-both.
-
-
-File: tar.info, Node: Time zone items, Next: Combined date and time of day items, Prev: Time of day items, Up: Date input formats
-
-7.4 Time zone items
-===================
-
-A "time zone item" specifies an international time zone, indicated by a
-small set of letters, e.g., `UTC' or `Z' for Coordinated Universal
-Time. Any included periods are ignored. By following a
-non-daylight-saving time zone by the string `DST' in a separate word
-(that is, separated by some white space), the corresponding daylight
-saving time zone may be specified. Alternatively, a
-non-daylight-saving time zone can be followed by a time zone
-correction, to add the two values. This is normally done only for
-`UTC'; for example, `UTC+05:30' is equivalent to `+05:30'.
-
- Time zone items other than `UTC' and `Z' are obsolescent and are not
-recommended, because they are ambiguous; for example, `EST' has a
-different meaning in Australia than in the United States. Instead,
-it's better to use unambiguous numeric time zone corrections like
-`-0500', as described in the previous section.
-
- If neither a time zone item nor a time zone correction is supplied,
-time stamps are interpreted using the rules of the default time zone
-(*note Specifying time zone rules::).
-
-
-File: tar.info, Node: Combined date and time of day items, Next: Day of week items, Prev: Time zone items, Up: Date input formats
-
-7.5 Combined date and time of day items
-=======================================
-
-The ISO 8601 date and time of day extended format consists of an ISO
-8601 date, a `T' character separator, and an ISO 8601 time of day.
-This format is also recognized if the `T' is replaced by a space.
-
- In this format, the time of day should use 24-hour notation.
-Fractional seconds are allowed, with either comma or period preceding
-the fraction. ISO 8601 fractional minutes and hours are not supported.
-Typically, hosts support nanosecond timestamp resolution; excess
-precision is silently discarded.
-
- Here are some examples:
-
- 2012-09-24T20:02:00.052-0500
- 2012-12-31T23:59:59,999999999+1100
- 1970-01-01 00:00Z
-
-
-File: tar.info, Node: Day of week items, Next: Relative items in date strings, Prev: Combined date and time of day items, Up: Date input formats
-
-7.6 Day of week items
-=====================
-
-The explicit mention of a day of the week will forward the date (only
-if necessary) to reach that day of the week in the future.
-
- Days of the week may be spelled out in full: `Sunday', `Monday',
-`Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Days may
-be abbreviated to their first three letters, optionally followed by a
-period. The special abbreviations `Tues' for `Tuesday', `Wednes' for
-`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed.
-
- A number may precede a day of the week item to move forward
-supplementary weeks. It is best used in expression like `third
-monday'. In this context, `last DAY' or `next DAY' is also acceptable;
-they move one week before or after the day that DAY by itself would
-represent.
-
- A comma following a day of the week item is ignored.
-
diff --git a/doc/tar.info-2 b/doc/tar.info-2
index e31d8b3..22c9814 100644
--- a/doc/tar.info-2
+++ b/doc/tar.info-2
@@ -1,6 +1,6 @@
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.27, 24 September 2013), which
+This manual is for GNU `tar' (version 1.28, 22 July 2014), which
creates and extracts files from archives.
Copyright (C) 1992, 1994-1997, 1999-2001, 2003-2013 Free Software
@@ -28,6 +28,123 @@ START-INFO-DIR-ENTRY
* tar: (tar)tar invocation. Invoking GNU `tar'.
END-INFO-DIR-ENTRY
+
+File: tar.info, Node: Time of day items, Next: Time zone items, Prev: Calendar date items, Up: Date input formats
+
+7.3 Time of day items
+=====================
+
+A "time of day item" in date strings specifies the time on a given day.
+Here are some examples, all of which represent the same time:
+
+ 20:02:00.000000
+ 20:02
+ 8:02pm
+ 20:02-0500 # In EST (U.S. Eastern Standard Time).
+
+ More generally, the time of day may be given as
+`HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE
+is a number between 0 and 59, and SECOND is a number between 0 and 59
+possibly followed by `.' or `,' and a fraction containing one or more
+digits. Alternatively, `:SECOND' can be omitted, in which case it is
+taken to be zero. On the rare hosts that support leap seconds, SECOND
+may be 60.
+
+ If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR
+is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken
+to be zero). `am' indicates the first half of the day, `pm' indicates
+the second half of the day. In this notation, 12 is the predecessor of
+1: midnight is `12am' while noon is `12pm'. (This is the zero-oriented
+interpretation of `12am' and `12pm', as opposed to the old tradition
+derived from Latin which uses `12m' for noon and `12pm' for midnight.)
+
+ The time may alternatively be followed by a time zone correction,
+expressed as `SHHMM', where S is `+' or `-', HH is a number of zone
+hours and MM is a number of zone minutes. The zone minutes term, MM,
+may be omitted, in which case the one- or two-digit correction is
+interpreted as a number of hours. You can also separate HH from MM
+with a colon. When a time zone correction is given this way, it forces
+interpretation of the time relative to Coordinated Universal Time
+(UTC), overriding any previous specification for the time zone or the
+local time zone. For example, `+0530' and `+05:30' both stand for the
+time zone 5.5 hours ahead of UTC (e.g., India). This is the best way to
+specify a time zone correction by fractional parts of an hour. The
+maximum zone correction is 24 hours.
+
+ Either `am'/`pm' or a time zone correction may be specified, but not
+both.
+
+
+File: tar.info, Node: Time zone items, Next: Combined date and time of day items, Prev: Time of day items, Up: Date input formats
+
+7.4 Time zone items
+===================
+
+A "time zone item" specifies an international time zone, indicated by a
+small set of letters, e.g., `UTC' or `Z' for Coordinated Universal
+Time. Any included periods are ignored. By following a
+non-daylight-saving time zone by the string `DST' in a separate word
+(that is, separated by some white space), the corresponding daylight
+saving time zone may be specified. Alternatively, a
+non-daylight-saving time zone can be followed by a time zone
+correction, to add the two values. This is normally done only for
+`UTC'; for example, `UTC+05:30' is equivalent to `+05:30'.
+
+ Time zone items other than `UTC' and `Z' are obsolescent and are not
+recommended, because they are ambiguous; for example, `EST' has a
+different meaning in Australia than in the United States. Instead,
+it's better to use unambiguous numeric time zone corrections like
+`-0500', as described in the previous section.
+
+ If neither a time zone item nor a time zone correction is supplied,
+time stamps are interpreted using the rules of the default time zone
+(*note Specifying time zone rules::).
+
+
+File: tar.info, Node: Combined date and time of day items, Next: Day of week items, Prev: Time zone items, Up: Date input formats
+
+7.5 Combined date and time of day items
+=======================================
+
+The ISO 8601 date and time of day extended format consists of an ISO
+8601 date, a `T' character separator, and an ISO 8601 time of day.
+This format is also recognized if the `T' is replaced by a space.
+
+ In this format, the time of day should use 24-hour notation.
+Fractional seconds are allowed, with either comma or period preceding
+the fraction. ISO 8601 fractional minutes and hours are not supported.
+Typically, hosts support nanosecond timestamp resolution; excess
+precision is silently discarded.
+
+ Here are some examples:
+
+ 2012-09-24T20:02:00.052-0500
+ 2012-12-31T23:59:59,999999999+1100
+ 1970-01-01 00:00Z
+
+
+File: tar.info, Node: Day of week items, Next: Relative items in date strings, Prev: Combined date and time of day items, Up: Date input formats
+
+7.6 Day of week items
+=====================
+
+The explicit mention of a day of the week will forward the date (only
+if necessary) to reach that day of the week in the future.
+
+ Days of the week may be spelled out in full: `Sunday', `Monday',
+`Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Days may
+be abbreviated to their first three letters, optionally followed by a
+period. The special abbreviations `Tues' for `Tuesday', `Wednes' for
+`Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed.
+
+ A number may precede a day of the week item to move forward
+supplementary weeks. It is best used in expression like `third
+monday'. In this context, `last DAY' or `next DAY' is also acceptable;
+they move one week before or after the day that DAY by itself would
+represent.
+
+ A comma following a day of the week item is ignored.
+
File: tar.info, Node: Relative items in date strings, Next: Pure numbers in date strings, Prev: Day of week items, Up: Date input formats
@@ -267,7 +384,7 @@ v7
Makefiles. This practice will change in the future, in the
meantime, however this means that projects containing file names
more than 99 characters long will not be able to use GNU `tar'
- 1.27 and Automake prior to 1.9.
+ 1.28 and Automake prior to 1.9.
ustar
Archive format defined by POSIX.1-1988 specification. It stores
@@ -403,7 +520,7 @@ a list of recognized suffixes).
Some compression programs are able to handle different compression
formats. GNU `tar' uses this, if the principal decompressor for the
given format is not available. For example, if `compress' is not
-installed, `tar' will try to use `gzip'. As of version 1.27 the
+installed, `tar' will try to use `gzip'. As of version 1.28 the
following alternatives are tried(2):
Format Main decompressor Alternatives
@@ -986,14 +1103,15 @@ File: tar.info, Node: ustar, Next: gnu, Prev: old, Up: Portability
8.3.5 Ustar Archive Format
--------------------------
-Archive format defined by POSIX.1-1988 specification is called `ustar'.
-Although it is more flexible than the V7 format, it still has many
-restrictions (*note ustar: Formats, for the detailed description of
-`ustar' format). Along with V7 format, `ustar' format is a good choice
-for archives intended to be read with other implementations of `tar'.
+The archive format defined by the POSIX.1-1988 specification is called
+`ustar'. Although it is more flexible than the V7 format, it still has
+many restrictions (*note ustar: Formats, for the detailed description
+of `ustar' format). Along with V7 format, `ustar' format is a good
+choice for archives intended to be read with other implementations of
+`tar'.
- To create archive in `ustar' format, use `--format=ustar' option in
-conjunction with the `--create' (`-c').
+ To create an archive in `ustar' format, use the `--format=ustar'
+option in conjunction with `--create' (`-c').
File: tar.info, Node: gnu, Next: posix, Prev: ustar, Up: Portability
@@ -1178,22 +1296,22 @@ File: tar.info, Node: Checksumming, Next: Large or Negative Values, Prev: pos
SunOS and HP-UX `tar' fail to accept archives created using GNU `tar'
and containing non-ASCII file names, that is, file names having
-characters with the eight bit set, because they use signed checksums,
+characters with the eighth bit set, because they use signed checksums,
while GNU `tar' uses unsigned checksums while creating archives, as per
POSIX standards. On reading, GNU `tar' computes both checksums and
-accepts any. It is somewhat worrying that a lot of people may go
-around doing backup of their files using faulty (or at least
+accepts either of them. It is somewhat worrying that a lot of people
+may go around doing backup of their files using faulty (or at least
non-standard) software, not learning about it until it's time to
restore their missing files with an incompatible file extractor, or
vice versa.
- GNU `tar' computes checksums both ways, and accept any on read, so
-GNU tar can read Sun tapes even with their wrong checksums. GNU `tar'
-produces the standard checksum, however, raising incompatibilities with
-Sun. That is to say, GNU `tar' has not been modified to _produce_
-incorrect archives to be read by buggy `tar''s. I've been told that
-more recent Sun `tar' now read standard archives, so maybe Sun did a
-similar patch, after all?
+ GNU `tar' computes checksums both ways, and accepts either of them
+on read, so GNU tar can read Sun tapes even with their wrong checksums.
+GNU `tar' produces the standard checksum, however, raising
+incompatibilities with Sun. That is to say, GNU `tar' has not been
+modified to _produce_ incorrect archives to be read by buggy `tar''s.
+I've been told that more recent Sun `tar' now read standard archives,
+so maybe Sun did a similar patch, after all?
The story seems to be that when Sun first imported `tar' sources on
their system, they recompiled it without realizing that the checksums
@@ -1201,7 +1319,7 @@ were computed differently, because of a change in the default signing
of `char''s in their compiler. So they started computing checksums
wrongly. When they later realized their mistake, they merely decided
to stay compatible with it, and with themselves afterwards.
-Presumably, but I do not really know, HP-UX has chosen that their `tar'
+Presumably, but I do not really know, HP-UX has chosen their `tar'
archives to be compatible with Sun's. The current standards do not
favor Sun `tar' format. In any case, it now falls on the shoulders of
SunOS and HP-UX users to get a `tar' able to read the good archives
@@ -3285,7 +3403,7 @@ Appendix A Changes
******************
This appendix lists some important user-visible changes between version
-GNU `tar' 1.27 and previous versions. An up-to-date version of this
+GNU `tar' 1.28 and previous versions. An up-to-date version of this
document is available at the GNU `tar' documentation page
(http://www.gnu.org/software/tar/manual/changes.html).
@@ -4353,13 +4471,13 @@ backups (*note Incremental Dumps::). It contains the status of the
file system at the time of the dump and is used to determine which
files were modified since the last backup.
- GNU `tar' version 1.27 supports three snapshot file formats. The
+ GNU `tar' version 1.28 supports three snapshot file formats. The
first format, called "format 0", is the one used by GNU `tar' versions
up to and including 1.15.1. The second format, called "format 1" is an
extended version of this format, that contains more metadata and allows
for further extensions. It was used by alpha release version 1.15.90.
For alpha version 1.15.91 and stable releases version 1.16 up through
-1.27, the "format 2" is used.
+1.28, the "format 2" is used.
GNU `tar' is able to read all three formats, but will create
snapshots only in format 2.
@@ -4418,7 +4536,7 @@ snapshots only in format 2.
2. `Format 2' snapshot file begins with a format identifier, as
described for version 1, e.g.:
- GNU tar-1.27-2
+ GNU tar-1.28-2
This line is followed by newline. Rest of file consists of
records, separated by null (ASCII 0) characters. Thus, in contrast
@@ -4986,7 +5104,8 @@ Appendix G GNU Free Documentation License
Version 1.3, 3 November 2008
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2000-2002, 2007-2008, 2014 Free Software
+ Foundation, Inc.
`http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
@@ -5478,7 +5597,7 @@ Summary::.
[index ]
* Menu:
-* --keep-directory-symlink, summary: Option Summary. (line 359)
+* --keep-directory-symlink, summary: Option Summary. (line 377)
* absolute-names: absolute. (line 10)
* absolute-names, summary: Option Summary. (line 6)
* add-file: files. (line 60)
@@ -5542,24 +5661,30 @@ Summary::.
* exclude, potential problems with: problems with exclude.
(line 6)
* exclude, summary: Option Summary. (line 181)
-* exclude-backups: exclude. (line 82)
+* exclude-backups: exclude. (line 130)
* exclude-backups, summary: Option Summary. (line 185)
-* exclude-caches: exclude. (line 105)
+* exclude-caches: exclude. (line 153)
* exclude-caches, summary: Option Summary. (line 193)
-* exclude-caches-all: exclude. (line 113)
+* exclude-caches-all: exclude. (line 161)
* exclude-caches-all, summary: Option Summary. (line 206)
-* exclude-caches-under: exclude. (line 109)
+* exclude-caches-under: exclude. (line 157)
* exclude-caches-under, summary: Option Summary. (line 200)
* exclude-from: exclude. (line 6)
* exclude-from, summary: Option Summary. (line 188)
-* exclude-tag: exclude. (line 122)
-* exclude-tag, summary: Option Summary. (line 210)
-* exclude-tag-all: exclude. (line 130)
-* exclude-tag-all, summary: Option Summary. (line 220)
-* exclude-tag-under: exclude. (line 126)
-* exclude-tag-under, summary: Option Summary. (line 215)
-* exclude-vcs: exclude. (line 37)
-* exclude-vcs, summary: Option Summary. (line 224)
+* exclude-ignore: exclude. (line 76)
+* exclude-ignore, summary: Option Summary. (line 210)
+* exclude-ignore-recursive: exclude. (line 81)
+* exclude-ignore-recursive, summary: Option Summary. (line 215)
+* exclude-tag: exclude. (line 170)
+* exclude-tag, summary: Option Summary. (line 220)
+* exclude-tag-all: exclude. (line 178)
+* exclude-tag-all, summary: Option Summary. (line 230)
+* exclude-tag-under: exclude. (line 174)
+* exclude-tag-under, summary: Option Summary. (line 225)
+* exclude-vcs: exclude. (line 85)
+* exclude-vcs, summary: Option Summary. (line 234)
+* exclude-vcs-ignores: exclude. (line 42)
+* exclude-vcs-ignores, summary: Option Summary. (line 240)
* extract: extract. (line 6)
* extract, additional options: extract options. (line 6)
* extract, complementary notes: Basic tar. (line 48)
@@ -5568,56 +5693,56 @@ Summary::.
(line 121)
* file: file. (line 6)
* file, short description: file. (line 15)
-* file, summary: Option Summary. (line 230)
+* file, summary: Option Summary. (line 248)
* file, tutorial: file tutorial. (line 6)
* files-from: files. (line 14)
-* files-from, summary: Option Summary. (line 236)
+* files-from, summary: Option Summary. (line 254)
* force-local, short description: Device. (line 70)
-* force-local, summary: Option Summary. (line 242)
-* format, summary: Option Summary. (line 247)
-* full-time, summary: Option Summary. (line 272)
+* force-local, summary: Option Summary. (line 260)
+* format, summary: Option Summary. (line 265)
+* full-time, summary: Option Summary. (line 290)
* get, summary: Operation Summary. (line 42)
* group: override. (line 88)
-* group, summary: Option Summary. (line 290)
-* gunzip, summary: Option Summary. (line 298)
+* group, summary: Option Summary. (line 308)
+* gunzip, summary: Option Summary. (line 316)
* gzip: gzip. (line 91)
-* gzip, summary: Option Summary. (line 298)
+* gzip, summary: Option Summary. (line 316)
* hard-dereference, described: hard links. (line 59)
-* hard-dereference, summary: Option Summary. (line 306)
+* hard-dereference, summary: Option Summary. (line 324)
* help: help tutorial. (line 6)
* help, introduction: help. (line 26)
-* help, summary: Option Summary. (line 312)
+* help, summary: Option Summary. (line 330)
* ignore-case: controlling pattern-matching.
(line 86)
-* ignore-case, summary: Option Summary. (line 317)
+* ignore-case, summary: Option Summary. (line 335)
* ignore-command-error: Writing to an External Program.
(line 110)
-* ignore-command-error, summary: Option Summary. (line 321)
+* ignore-command-error, summary: Option Summary. (line 339)
* ignore-failed-read: Ignore Failed Read. (line 7)
-* ignore-failed-read, summary: Option Summary. (line 325)
+* ignore-failed-read, summary: Option Summary. (line 343)
* ignore-zeros: Ignore Zeros. (line 6)
* ignore-zeros, short description: Blocking Factor. (line 156)
-* ignore-zeros, summary: Option Summary. (line 329)
-* incremental, summary: Option Summary. (line 334)
+* ignore-zeros, summary: Option Summary. (line 347)
+* incremental, summary: Option Summary. (line 352)
* incremental, using with --list: Incremental Dumps. (line 186)
-* index-file, summary: Option Summary. (line 341)
+* index-file, summary: Option Summary. (line 359)
* info-script: Multi-Volume Archives.
(line 88)
* info-script, short description: Device. (line 122)
-* info-script, summary: Option Summary. (line 344)
+* info-script, summary: Option Summary. (line 362)
* interactive: interactive. (line 14)
-* interactive, summary: Option Summary. (line 352)
+* interactive, summary: Option Summary. (line 370)
* keep-newer-files: Keep Newer Files. (line 6)
-* keep-newer-files, summary: Option Summary. (line 372)
+* keep-newer-files, summary: Option Summary. (line 390)
* keep-old-files: Keep Old Files. (line 9)
* keep-old-files, introduced: Dealing with Old Files.
(line 16)
-* keep-old-files, summary: Option Summary. (line 376)
+* keep-old-files, summary: Option Summary. (line 394)
* label <1>: label. (line 6)
* label: Tape Files. (line 6)
-* label, summary: Option Summary. (line 384)
+* label, summary: Option Summary. (line 402)
* level, described: Incremental Dumps. (line 76)
-* level, summary: Option Summary. (line 391)
+* level, summary: Option Summary. (line 409)
* list: list. (line 6)
* list, summary: Operation Summary. (line 46)
* list, using with --incremental: Incremental Dumps. (line 186)
@@ -5625,207 +5750,209 @@ Summary::.
* list, using with --verbose: list. (line 30)
* list, using with file name arguments: list. (line 68)
* listed-incremental, described: Incremental Dumps. (line 14)
-* listed-incremental, summary: Option Summary. (line 401)
+* listed-incremental, summary: Option Summary. (line 419)
* listed-incremental, using with --extract: Incremental Dumps.
(line 121)
* listed-incremental, using with --list: Incremental Dumps. (line 186)
* lzip: gzip. (line 104)
-* lzip, summary: Option Summary. (line 409)
+* lzip, summary: Option Summary. (line 427)
* lzma: gzip. (line 107)
-* lzma, summary: Option Summary. (line 413)
+* lzma, summary: Option Summary. (line 431)
* lzop: gzip. (line 110)
* mode: override. (line 14)
-* mode, summary: Option Summary. (line 421)
+* mode, summary: Option Summary. (line 439)
* mtime: override. (line 29)
-* mtime, summary: Option Summary. (line 427)
+* mtime, summary: Option Summary. (line 445)
* multi-volume: Multi-Volume Archives.
(line 6)
* multi-volume, short description: Device. (line 88)
-* multi-volume, summary: Option Summary. (line 436)
+* multi-volume, summary: Option Summary. (line 454)
* new-volume-script: Multi-Volume Archives.
(line 88)
* new-volume-script, short description: Device. (line 122)
-* new-volume-script, summary: Option Summary. (line 344)
+* new-volume-script, summary: Option Summary. (line 362)
* newer: after. (line 24)
-* newer, summary: Option Summary. (line 444)
+* newer, summary: Option Summary. (line 462)
* newer-mtime: after. (line 35)
-* newer-mtime, summary: Option Summary. (line 452)
+* newer-mtime, summary: Option Summary. (line 470)
* no-anchored: controlling pattern-matching.
(line 79)
-* no-anchored, summary: Option Summary. (line 457)
-* no-auto-compress, summary: Option Summary. (line 461)
+* no-anchored, summary: Option Summary. (line 475)
+* no-auto-compress, summary: Option Summary. (line 479)
* no-check-device, described: Incremental Dumps. (line 104)
-* no-check-device, summary: Option Summary. (line 465)
+* no-check-device, summary: Option Summary. (line 483)
* no-delay-directory-restore: Directory Modification Times and Permissions.
(line 68)
-* no-delay-directory-restore, summary: Option Summary. (line 470)
+* no-delay-directory-restore, summary: Option Summary. (line 488)
* no-ignore-case: controlling pattern-matching.
(line 86)
-* no-ignore-case, summary: Option Summary. (line 476)
+* no-ignore-case, summary: Option Summary. (line 494)
* no-ignore-command-error: Writing to an External Program.
(line 115)
-* no-ignore-command-error, summary: Option Summary. (line 479)
+* no-ignore-command-error, summary: Option Summary. (line 497)
* no-null, described: nul. (line 15)
-* no-null, summary: Option Summary. (line 483)
-* no-overwrite-dir, summary: Option Summary. (line 488)
-* no-quote-chars, summary: Option Summary. (line 492)
+* no-null, summary: Option Summary. (line 501)
+* no-overwrite-dir, summary: Option Summary. (line 506)
+* no-quote-chars, summary: Option Summary. (line 510)
* no-recursion: recurse. (line 11)
-* no-recursion, summary: Option Summary. (line 497)
+* no-recursion, summary: Option Summary. (line 515)
* no-same-owner: Attributes. (line 63)
-* no-same-owner, summary: Option Summary. (line 501)
-* no-same-permissions, summary: Option Summary. (line 507)
-* no-seek, summary: Option Summary. (line 512)
+* no-same-owner, summary: Option Summary. (line 519)
+* no-same-permissions, summary: Option Summary. (line 525)
+* no-seek, summary: Option Summary. (line 530)
* no-unquote: Selecting Archive Members.
(line 42)
-* no-unquote, summary: Option Summary. (line 517)
+* no-unquote, summary: Option Summary. (line 535)
* no-wildcards: controlling pattern-matching.
(line 41)
-* no-wildcards, summary: Option Summary. (line 521)
+* no-wildcards, summary: Option Summary. (line 539)
* no-wildcards-match-slash: controlling pattern-matching.
(line 92)
-* no-wildcards-match-slash, summary: Option Summary. (line 524)
+* no-wildcards-match-slash, summary: Option Summary. (line 542)
* null, described: nul. (line 11)
-* null, summary: Option Summary. (line 527)
+* null, summary: Option Summary. (line 545)
* numeric-owner: Attributes. (line 69)
-* numeric-owner, summary: Option Summary. (line 533)
+* numeric-owner, summary: Option Summary. (line 551)
* occurrence, described: append. (line 34)
-* occurrence, summary: Option Summary. (line 550)
-* old-archive, summary: Option Summary. (line 564)
+* occurrence, summary: Option Summary. (line 568)
+* old-archive, summary: Option Summary. (line 582)
* one-file-system: one. (line 14)
-* one-file-system, summary: Option Summary. (line 567)
+* one-file-system, summary: Option Summary. (line 585)
+* one-top-level, summary: Option Summary. (line 590)
* overwrite: Overwrite Old Files. (line 6)
* overwrite, introduced: Dealing with Old Files.
(line 32)
-* overwrite, summary: Option Summary. (line 572)
+* overwrite, summary: Option Summary. (line 601)
* overwrite-dir: Overwrite Old Files. (line 28)
* overwrite-dir, introduced: Dealing with Old Files.
(line 6)
-* overwrite-dir, summary: Option Summary. (line 576)
+* overwrite-dir, summary: Option Summary. (line 605)
* owner: override. (line 57)
-* owner, summary: Option Summary. (line 580)
+* owner, summary: Option Summary. (line 609)
* pax-option: PAX keywords. (line 6)
-* pax-option, summary: Option Summary. (line 588)
-* portability, summary: Option Summary. (line 594)
-* posix, summary: Option Summary. (line 598)
+* pax-option, summary: Option Summary. (line 617)
+* portability, summary: Option Summary. (line 623)
+* posix, summary: Option Summary. (line 627)
* preserve: Attributes. (line 122)
-* preserve, summary: Option Summary. (line 601)
+* preserve, summary: Option Summary. (line 630)
* preserve-order: Same Order. (line 6)
-* preserve-order, summary: Option Summary. (line 605)
+* preserve-order, summary: Option Summary. (line 634)
* preserve-permissions: Setting Access Permissions.
(line 10)
* preserve-permissions, short description: Attributes. (line 109)
-* preserve-permissions, summary: Option Summary. (line 608)
-* quote-chars, summary: Option Summary. (line 618)
+* preserve-permissions, summary: Option Summary. (line 637)
+* quote-chars, summary: Option Summary. (line 647)
* quoting-style: quoting styles. (line 38)
-* quoting-style, summary: Option Summary. (line 622)
+* quoting-style, summary: Option Summary. (line 651)
* read-full-records <1>: read full records. (line 6)
* read-full-records: Reading. (line 6)
* read-full-records, short description: Blocking Factor. (line 172)
-* read-full-records, summary: Option Summary. (line 629)
-* record-size, summary: Option Summary. (line 634)
+* read-full-records, summary: Option Summary. (line 658)
+* record-size, summary: Option Summary. (line 663)
* recursion: recurse. (line 22)
-* recursion, summary: Option Summary. (line 641)
+* recursion, summary: Option Summary. (line 670)
* recursive-unlink: Recursive Unlink. (line 6)
-* recursive-unlink, summary: Option Summary. (line 645)
+* recursive-unlink, summary: Option Summary. (line 674)
* remove-files: remove files. (line 6)
-* remove-files, summary: Option Summary. (line 650)
-* restrict, summary: Option Summary. (line 654)
-* rmt-command, summary: Option Summary. (line 659)
+* remove-files, summary: Option Summary. (line 679)
+* restrict, summary: Option Summary. (line 683)
+* rmt-command, summary: Option Summary. (line 688)
* rsh-command: Device. (line 73)
-* rsh-command, summary: Option Summary. (line 663)
+* rsh-command, summary: Option Summary. (line 692)
* same-order: Same Order. (line 6)
-* same-order, summary: Option Summary. (line 667)
+* same-order, summary: Option Summary. (line 696)
* same-owner: Attributes. (line 44)
-* same-owner, summary: Option Summary. (line 675)
+* same-owner, summary: Option Summary. (line 704)
* same-permissions: Setting Access Permissions.
(line 10)
* same-permissions, short description: Attributes. (line 109)
-* same-permissions, summary: Option Summary. (line 608)
-* seek, summary: Option Summary. (line 684)
+* same-permissions, summary: Option Summary. (line 637)
+* seek, summary: Option Summary. (line 713)
* show-defaults: defaults. (line 6)
-* show-defaults, summary: Option Summary. (line 693)
+* show-defaults, summary: Option Summary. (line 722)
* show-omitted-dirs: verbose. (line 107)
-* show-omitted-dirs, summary: Option Summary. (line 705)
+* show-omitted-dirs, summary: Option Summary. (line 734)
* show-snapshot-field-ranges: Snapshot Files. (line 113)
-* show-snapshot-field-ranges, summary: Option Summary. (line 709)
+* show-snapshot-field-ranges, summary: Option Summary. (line 738)
* show-stored-names: list. (line 60)
-* show-stored-names, summary: Option Summary. (line 714)
+* show-stored-names, summary: Option Summary. (line 743)
* show-transformed-names: transform. (line 45)
-* show-transformed-names, summary: Option Summary. (line 714)
+* show-transformed-names, summary: Option Summary. (line 743)
* skip-old-files, introduced: Dealing with Old Files.
(line 28)
-* skip-old-files, summary: Option Summary. (line 722)
+* skip-old-files, summary: Option Summary. (line 751)
+* sort, summary: Option Summary. (line 763)
* sparse: sparse. (line 22)
-* sparse, summary: Option Summary. (line 734)
+* sparse, summary: Option Summary. (line 782)
* sparse-version: sparse. (line 57)
-* sparse-version, summary: Option Summary. (line 739)
+* sparse-version, summary: Option Summary. (line 787)
* starting-file: Starting File. (line 6)
-* starting-file, summary: Option Summary. (line 744)
+* starting-file, summary: Option Summary. (line 792)
* strip-components: transform. (line 25)
-* strip-components, summary: Option Summary. (line 750)
+* strip-components, summary: Option Summary. (line 798)
* suffix: backup. (line 68)
-* suffix, summary: Option Summary. (line 759)
+* suffix, summary: Option Summary. (line 807)
* tape-length: Multi-Volume Archives.
(line 33)
* tape-length, short description: Device. (line 96)
-* tape-length, summary: Option Summary. (line 763)
+* tape-length, summary: Option Summary. (line 811)
* test-label: label. (line 35)
-* test-label, summary: Option Summary. (line 772)
+* test-label, summary: Option Summary. (line 820)
* to-command: Writing to an External Program.
(line 9)
-* to-command, summary: Option Summary. (line 776)
+* to-command, summary: Option Summary. (line 824)
* to-stdout: Writing to Standard Output.
(line 14)
-* to-stdout, summary: Option Summary. (line 780)
+* to-stdout, summary: Option Summary. (line 828)
* totals: verbose. (line 46)
-* totals, summary: Option Summary. (line 785)
+* totals, summary: Option Summary. (line 833)
* touch <1>: Attributes. (line 33)
* touch: Data Modification Times.
(line 15)
-* touch, summary: Option Summary. (line 790)
+* touch, summary: Option Summary. (line 838)
* transform: transform. (line 74)
-* transform, summary: Option Summary. (line 796)
+* transform, summary: Option Summary. (line 844)
* uncompress: gzip. (line 113)
* uncompress, summary: Option Summary. (line 153)
* ungzip: gzip. (line 91)
-* ungzip, summary: Option Summary. (line 298)
+* ungzip, summary: Option Summary. (line 316)
* unlink-first: Unlink First. (line 6)
* unlink-first, introduced: Dealing with Old Files.
(line 52)
-* unlink-first, summary: Option Summary. (line 816)
+* unlink-first, summary: Option Summary. (line 864)
* unquote: Selecting Archive Members.
(line 39)
-* unquote, summary: Option Summary. (line 822)
+* unquote, summary: Option Summary. (line 870)
* update <1>: how to update. (line 6)
* update: update. (line 6)
* update, summary: Operation Summary. (line 50)
* usage: help. (line 53)
* use-compress-program: gzip. (line 177)
-* use-compress-program, summary: Option Summary. (line 826)
-* utc, summary: Option Summary. (line 831)
+* use-compress-program, summary: Option Summary. (line 874)
+* utc, summary: Option Summary. (line 879)
* verbose: verbose. (line 18)
* verbose, introduced: verbose tutorial. (line 6)
-* verbose, summary: Option Summary. (line 835)
+* verbose, summary: Option Summary. (line 883)
* verbose, using with --create: create verbose. (line 6)
* verbose, using with --list: list. (line 30)
* verify, short description: verify. (line 8)
-* verify, summary: Option Summary. (line 842)
+* verify, summary: Option Summary. (line 890)
* verify, using with --create: verify. (line 24)
* version: help. (line 6)
-* version, summary: Option Summary. (line 847)
+* version, summary: Option Summary. (line 895)
* volno-file: Multi-Volume Archives.
(line 79)
-* volno-file, summary: Option Summary. (line 852)
+* volno-file, summary: Option Summary. (line 900)
* warning, explained: warnings. (line 12)
-* warning, summary: Option Summary. (line 857)
+* warning, summary: Option Summary. (line 905)
* wildcards: controlling pattern-matching.
(line 38)
-* wildcards, summary: Option Summary. (line 862)
+* wildcards, summary: Option Summary. (line 910)
* wildcards-match-slash: controlling pattern-matching.
(line 92)
-* wildcards-match-slash, summary: Option Summary. (line 866)
+* wildcards-match-slash, summary: Option Summary. (line 914)
* xform: transform. (line 74)
-* xform, summary: Option Summary. (line 796)
+* xform, summary: Option Summary. (line 844)
* xz: gzip. (line 96)
-* xz, summary: Option Summary. (line 869)
+* xz, summary: Option Summary. (line 917)
diff --git a/doc/tar.info-3 b/doc/tar.info-3
index f6db655..0fdc5e3 100644
Binary files a/doc/tar.info-3 and b/doc/tar.info-3 differ
diff --git a/doc/tar.texi b/doc/tar.texi
index 9fde5a0..82c303d 100644
--- a/doc/tar.texi
+++ b/doc/tar.texi
@@ -2608,6 +2608,19 @@ tag file, but still dump the directory node itself.
Exclude from dump any directory containing a valid cache directory
tag file. @xref{exclude}.
+@opsummary{exclude-ignore}
+@item --exclude-ignore=@var{file}
+Before dumping a directory, @command{tar} checks if it contains
+@var{file}. If so, exclusion patterns are read from this file.
+The patterns affect only the directory itself. @xref{exclude}.
+
+@opsummary{exclude-ignore-recursive}
+@item --exclude-ignore-recursive=@var{file}
+Before dumping a directory, @command{tar} checks if it contains
+@var{file}. If so, exclusion patterns are read from this file.
+The patterns affect the directory and all itssubdirectories.
+@xref{exclude}.
+
@opsummary{exclude-tag}
@item --exclude-tag=@var{file}
@@ -2633,7 +2646,16 @@ Exclude from dump any directory containing file named @var{file}.
Exclude from dump directories and files, that are internal for some
widely used version control systems.
-@xref{exclude,,exclude-vcs}.
+@xref{exclude-vcs}.
+
+@opsummary{exclude-vcs-ignores}
+@item --exclude-vcs-ignores
+Exclude files that match patterns read from VCS-specific ignore
+files. Supported files are: @file{.cvsignore}, @file{.gitignore},
+@file{.bzrignore}, and @file{.hgignore}. The semantics of each file
+is the same as for the corresponding VCS, e.g. patterns read from
+@file{.gitignore} affect the directory and all its subdirectories.
+@xref{exclude-vcs-ignores}.
@opsummary{file}
@item --file=@var{archive}
@@ -3086,6 +3108,19 @@ Used when creating an archive. Prevents @command{tar} from recursing into
directories that are on different file systems from the current
directory.
+@opsummary{one-top-level}
+@item --one-top-level[=@var{dir}]
+Tells @command{tar} to create a new directory beneath the extraction directory
+(or the one passed to @option{-C}) and use it to guard against
+tarbombs. In the absence of @var{dir} argument, the name of the new directory
+will be equal to the base name of the archive (file name minus the
+archive suffix, if recognized). Any member names that do not begin
+with that directory name (after
+transformations from @option{--transform} and
+@option{--strip-components}) will be prefixed with it. Recognized
+file name suffixes are @samp{.tar}, and any compression suffixes
+recognizable by @xref{--auto-compress}.
+
@opsummary{overwrite}
@item --overwrite
@@ -3306,6 +3341,27 @@ The @option{--warning=existing-file} option can be used together with
this option to produce warning messages about existing old files
(@pxref{warnings}).
+@opsummary{sort}
+@item --sort=@var{order}
+Specify the directory sorting order when reading directories.
+@var{Order} may be one of the following:
+
+@table @samp
+@item none
+No directory sorting is performed. This is the default.
+
+@item name
+Sort the directory entries on name. The operating system may deliver
+directory entries in a more or less random order, and sorting them
+makes archive creation reproducible.
+
+@item inode
+Sort the directory entries on inode number. Sorting directories on
+inode number may reduce the amount of disk seek operations when
+creating an archive for some file systems.
+
+@end table
+
@opsummary{sparse}
@item --sparse
@itemx -S
@@ -3614,7 +3670,7 @@ successfully. For example, @w{@samp{tar --version}} might print:
@smallexample
tar (GNU tar) @value{VERSION}
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2013-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
@@ -3961,10 +4017,10 @@ e.g.:
@end smallexample
The @samp{%s} and @samp{%u} in the above example are
-@dfn{meta-characters}. The @samp{%s} meta-character is replaced with
+@dfn{format specifiers}. The @samp{%s} specifier is replaced with
the @dfn{type} of the checkpoint: @samp{write} or
@samp{read} (or a corresponding translated version in locales other
-than @acronym{POSIX}). The @samp{%u} meta-character is replaced with
+than @acronym{POSIX}). The @samp{%u} specifier is replaced with
the ordinal number of the checkpoint. Thus, the above example could
produce the following output when used with the @option{--create}
option:
@@ -3975,7 +4031,54 @@ tar: Hit write checkpoint #20
tar: Hit write checkpoint #30
@end smallexample
-Aside from meta-character expansion, the message string is subject to
+The complete list of available format specifiers follows. Some of
+them can take optional arguments. These arguments, if given, are
+supplied in curly braces between the percent sign and the specifier
+letter.
+
+@table @samp
+@item %s
+Print type of the checkpoint (@samp{write} or @samp{read}).
+
+@item %u
+Print number of the checkpoint.
+
+@item %@{r,w,d@}T
+Print number of bytes transferred so far and approximate transfer
+speed. Optional arguments supply prefixes to be used before number
+of bytes read, written and deleted, correspondingly. If absent,
+they default to @samp{R}. @samp{W}, @samp{D}. Any or all of them can
+be omitted, so, that e.g. @samp{%@{@}T} means to print corresponding
+statistics without any prefixes. Any surplus arguments, if present,
+are silently ignored.
+
+@example
+$ @kbd{tar --delete -f f.tar --checkpoint-action=echo="#%u: %T" main.c}
+tar: #1: R: 0 (0B, 0B/s),W: 0 (0B, 0B/s),D: 0
+tar: #2: R: 10240 (10KiB, 19MiB/s),W: 0 (0B, 0B/s),D: 10240
+@end example
+
+@noindent
+See also the @samp{totals} action, described below.
+
+@item %@{@var{fmt}@}t
+Output current local time using @var{fmt} as format for @command{strftime}
+(@pxref{strftime, strftime,,strftime(3), strftime(3) man page}). The
+@samp{@{@var{fmt}@}} part is optional. If not present, the default
+format is @samp{%c}, i.e. the preferred date and time representation
+for the current locale.
+
+@item %@{@var{n}@}*
+Pad output with spaces to the @var{n}th column. If the
+@samp{@{@var{n}@}} part is omitted, the current screen width
+is assumed.
+
+@item %c
+This is a shortcut for @samp{%@{%Y-%m-%d %H:%M:%S@}t: %ds, %@{read,wrote@}T%*\r},
+intended mainly for use with @samp{ttyout} action (see below).
+@end table
+
+Aside from format expansion, the message string is subject to
@dfn{unquoting}, during which the backslash @dfn{escape sequences} are
replaced with their corresponding @acronym{ASCII} characters
(@pxref{escape sequences}). E.g. the following action will produce an
@@ -4002,9 +4105,23 @@ following action will print the checkpoint message at the same screen
line, overwriting any previous message:
@smallexample
---checkpoint-action="ttyout=\rHit %s checkpoint #%u"
+--checkpoint-action="ttyout=Hit %s checkpoint #%u%*\r"
+@end smallexample
+
+@noindent
+Notice the use of @samp{%*} specifier to clear out any eventual
+remains of the prior output line. As as more complex example,
+consider this:
+
+@smallexample
+--checkpoint-action=ttyout='%@{%Y-%m-%d %H:%M:%S@}t (%d sec): #%u, %T%*\r'
@end smallexample
+@noindent
+This prints the current local time, number of seconds expired since
+tar was started, the checkpoint ordinal number, transferred bytes and
+average computed I/O speed.
+
@cindex @code{dot}, checkpoint action
Another available checkpoint action is @samp{dot} (or @samp{.}). It
instructs @command{tar} to print a single dot on the standard listing
@@ -4019,6 +4136,12 @@ For compatibility with previous @GNUTAR{} versions, this action can
be abbreviated by placing a dot in front of the checkpoint frequency,
as shown in the previous section.
+@cindex @code{totals}, checkpoint action
+The @samp{totals} action prints the total number of bytes transferred
+so far. The format of the data is the same as for the
+@option{--totals} option (@pxref{totals}). See also @samp{%T} format
+specifier of the @samp{echo} or @samp{ttyout} action.
+
@cindex @code{sleep}, checkpoint action
Yet another action, @samp{sleep}, pauses @command{tar} for a specified
amount of seconds. The following example will stop for 30 seconds at each
@@ -7280,6 +7403,77 @@ which is difficult to catch using text editors.
However, empty lines are OK.
+@cindex VCS, excluding patterns from ignore files
+@cindex VCS, ignore files
+@cindex CVS, ignore files
+@cindex Git, ignore files
+@cindex Bazaar, ignore files
+@cindex Mercurial, ignore files
+When archiving directories that are under some version control system (VCS),
+it is often convenient to read exclusion patterns from this VCS'
+ignore files (e.g. @file{.cvsignore}, @file{.gitignore}, etc.) The
+following options provide such possibilty:
+
+@table @option
+@anchor{exclude-vcs-ignores}
+@opindex exclude-vcs-ignores
+@item --exclude-vcs-ignores
+Before archiving a directory, see if it contains any of the following
+files: @file{cvsignore}, @file{.gitignore}, @file{.bzrignore}, or
+@file{.hgignore}. If so, read ignore patterns from these files.
+
+The patterns are treated much as the corresponding VCS would treat
+them, i.e.:
+
+@table @file
+@findex .cvsignore
+@item .cvsignore
+Contains shell-style globbing patterns that apply only to the
+directory where this file resides. No comments are allowed in the
+file. Empty lines are ignored.
+
+@findex .gitignore
+@item .gitignore
+Contains shell-style globbing patterns. Applies to the directory
+where @file{.gitfile} is located and all its subdirectories.
+
+Any line beginning with a @samp{#} is a comment. Backslash escapes
+the comment character.
+
+@findex .bzrignore
+@item .bzrignore
+Contains shell globbing-patterns and regular expressions (if prefixed
+with @samp{RE:}@footnote{According to the Bazaar docs,
+globbing-patterns are Korn-shell style and regular expressions are
+perl-style. As of @GNUTAR{} version @value{VERSION}, these are
+treated as shell-style globs and posix extended regexps. This will be
+fixed in future releases.}. Patterns affect the directory and all its
+subdirectories.
+
+Any line beginning with a @samp{#} is a comment.
+
+@findex .hgignore
+@item .hgignore
+Contains posix regular expressions@footnote{Support for perl-style
+regexps will appear in future releases.}. The line @samp{syntax:
+glob} switches to shell globbing patterns. The line @samp{syntax:
+regexp} switches back. Comments begin with a @samp{#}. Patterns
+affect the directory and all its subdirectories.
+@end table
+
+@opindex exclude-ignore
+@item --exclude-ignore=@var{file}
+Before dumping a directory, @command{tar} checks if it contains
+@var{file}. If so, exclusion patterns are read from this file.
+The patterns affect only the directory itself.
+
+@opindex exclude-ignore-recursive
+@item --exclude-ignore-recursive=@var{file}
+Same as @option{--exclude-ignore}, except that the patterns read
+affect both the directory where @var{file} resides and all its
+subdirectories.
+@end table
+
@table @option
@cindex version control system, excluding files
@cindex VCS, excluding files
@@ -7292,6 +7486,7 @@ However, empty lines are OK.
@cindex Arch, excluding files
@cindex Mercurial, excluding files
@cindex Darcs, excluding files
+@anchor{exclude-vcs}
@opindex exclude-vcs
@item --exclude-vcs
Exclude files and directories used by following version control
@@ -9618,15 +9813,15 @@ free from many of @samp{v7}'s drawbacks.
@subsection Ustar Archive Format
@cindex ustar archive format
-Archive format defined by @acronym{POSIX}.1-1988 specification is called
-@code{ustar}. Although it is more flexible than the V7 format, it
+The archive format defined by the @acronym{POSIX}.1-1988 specification is
+called @code{ustar}. Although it is more flexible than the V7 format, it
still has many restrictions (@pxref{Formats,ustar}, for the detailed
description of @code{ustar} format). Along with V7 format,
@code{ustar} format is a good choice for archives intended to be read
with other implementations of @command{tar}.
-To create archive in @code{ustar} format, use @option{--format=ustar}
-option in conjunction with the @option{--create} (@option{-c}).
+To create an archive in @code{ustar} format, use the @option{--format=ustar}
+option in conjunction with @option{--create} (@option{-c}).
@node gnu
@subsection @acronym{GNU} and old @GNUTAR{} format
@@ -9829,18 +10024,18 @@ same contents:
SunOS and HP-UX @command{tar} fail to accept archives created using
@GNUTAR{} and containing non-@acronym{ASCII} file names, that
-is, file names having characters with the eight bit set, because they
+is, file names having characters with the eighth bit set, because they
use signed checksums, while @GNUTAR{} uses unsigned
checksums while creating archives, as per @acronym{POSIX} standards. On
-reading, @GNUTAR{} computes both checksums and
-accepts any. It is somewhat worrying that a lot of people may go
+reading, @GNUTAR{} computes both checksums and accepts either of them.
+It is somewhat worrying that a lot of people may go
around doing backup of their files using faulty (or at least
non-standard) software, not learning about it until it's time to
restore their missing files with an incompatible file extractor, or
vice versa.
-@GNUTAR{} computes checksums both ways, and accept
-any on read, so @acronym{GNU} tar can read Sun tapes even with their
+@GNUTAR{} computes checksums both ways, and accepts either of them
+on read, so @acronym{GNU} tar can read Sun tapes even with their
wrong checksums. @GNUTAR{} produces the standard
checksum, however, raising incompatibilities with Sun. That is to
say, @GNUTAR{} has not been modified to
@@ -9855,7 +10050,7 @@ the default signing of @code{char}'s in their compiler. So they
started computing checksums wrongly. When they later realized their
mistake, they merely decided to stay compatible with it, and with
themselves afterwards. Presumably, but I do not really know, HP-UX
-has chosen that their @command{tar} archives to be compatible with Sun's.
+has chosen their @command{tar} archives to be compatible with Sun's.
The current standards do not favor Sun @command{tar} format. In any
case, it now falls on the shoulders of SunOS and HP-UX users to get
a @command{tar} able to read the good archives they receive.
diff --git a/doc/texify.sed b/doc/texify.sed
index faa8053..444c017 100644
--- a/doc/texify.sed
+++ b/doc/texify.sed
@@ -1,4 +1,4 @@
-# Copyright 2006-2007, 2013 Free Software Foundation, Inc.
+# Copyright 2006-2007, 2013-2014 Free Software Foundation, Inc.
# This file is part of GNU tar.
diff --git a/doc/value.texi b/doc/value.texi
index 7c26bf8..a4a9a68 100644
--- a/doc/value.texi
+++ b/doc/value.texi
@@ -1,5 +1,6 @@
@c This is part of GNU tar manual.
-@c Copyright 1992, 1994-1997, 1999-2006, 2013 Free Software Foundation, Inc.
+@c Copyright 1992, 1994-1997, 1999-2006, 2013-2014 Free Software
+@c Foundation, Inc.
@c See file tar.texi for copying conditions.
@macro GNUTAR
diff --git a/doc/version.texi b/doc/version.texi
index 905e035..85496ec 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 24 September 2013
-@set UPDATED-MONTH September 2013
-@set EDITION 1.27
-@set VERSION 1.27
+@set UPDATED 22 July 2014
+@set UPDATED-MONTH July 2014
+@set EDITION 1.28
+@set VERSION 1.28
diff --git a/gnu/Makefile.in b/gnu/Makefile.in
index 454337b..03eed58 100644
--- a/gnu/Makefile.in
+++ b/gnu/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.6 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
@SET_MAKE@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,28 +35,56 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime posix_openpt priv-set progname ptsname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec unlinkat unlinkdir unlocked-io unlockpt utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
esac; \
- test $$am__dry = yes; \
- }
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -74,18 +102,18 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/gnulib.mk \
+DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am alloca.c parse-datetime.c \
$(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \
- alloca.c parse-datetime.c
+ $(noinst_HEADERS)
@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c
subdir = gnu
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
+ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
@@ -97,9 +125,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
- $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \
- $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \
+ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \
+ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
+ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
@@ -111,19 +140,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
- $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
- $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \
+ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getline.m4 \
+ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 \
+ $(top_srcdir)/m4/group-member.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
- $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
- $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
+ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libunistring-base.m4 \
$(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
$(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
@@ -149,19 +180,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
- $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
- $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
- $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
- $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \
- $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \
- $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
- $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
- $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \
+ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \
+ $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \
+ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \
+ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rewinddir.m4 \
+ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+ $(top_srcdir)/m4/secure_getenv.m4 \
$(top_srcdir)/m4/selinux-context-h.m4 \
$(top_srcdir)/m4/selinux-selinux-h.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \
@@ -174,20 +207,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
- $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
- $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \
- $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
- $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
- $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \
$(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
- $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
- $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \
- $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+ $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \
$(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
@@ -224,22 +260,22 @@ am__libgnu_a_SOURCES_DIST = copy-acl.c set-acl.c allocator.c \
cloexec.c close-stream.c closeout.c opendir-safer.c dirname.c \
basename.c dirname-lgpl.c basename-lgpl.c stripslash.c \
exclude.c exitfail.c chmodat.c chownat.c fd-hook.c \
- fdutimensat.c filenamecat-lgpl.c full-write.h full-write.c \
- gettext.h gettime.c hash.c human.c imaxtostr.c inttostr.c \
- offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+ fdutimensat.c filenamecat-lgpl.c fprintftime.c full-write.h \
+ full-write.c gettext.h gettime.c hash.c human.c imaxtostr.c \
+ inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \
localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \
mbuiter.c modechange.c openat-die.c parse-datetime.y \
priv-set.c progname.h progname.c acl-errno-valid.c \
file-has-acl.c qcopy-acl.c qset-acl.c quotearg.c safe-read.c \
safe-write.c save-cwd.c savedir.c se-context.in.h \
se-selinux.in.h se-context.c se-selinux.c size_max.h \
- stat-time.c statat.c strnlen1.h strnlen1.c tempname.c \
- timespec.c unistd.c dup-safer.c fd-safer.c pipe-safer.c \
- uniwidth/width.c unlinkdir.c utimens.c version-etc.h \
- version-etc.c version-etc-fsf.c wctype-h.c xmalloc.c \
- xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h xstrndup.c \
- xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c xvasprintf.h \
- xvasprintf.c xasprintf.c
+ stat-time.c statat.c strftime.c strnlen1.h strnlen1.c \
+ tempname.c timespec.c unistd.c dup-safer.c fd-safer.c \
+ pipe-safer.c uniwidth/width.c unlinkdir.c utimens.c \
+ version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \
+ xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \
+ xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
+ xvasprintf.h xvasprintf.c xasprintf.c
am__dirstamp = $(am__leading_dot)dirstamp
@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT)
am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \
@@ -257,26 +293,27 @@ am_libgnu_a_OBJECTS = copy-acl.$(OBJEXT) set-acl.$(OBJEXT) \
stripslash.$(OBJEXT) exclude.$(OBJEXT) exitfail.$(OBJEXT) \
chmodat.$(OBJEXT) chownat.$(OBJEXT) fd-hook.$(OBJEXT) \
fdutimensat.$(OBJEXT) filenamecat-lgpl.$(OBJEXT) \
- full-write.$(OBJEXT) gettime.$(OBJEXT) hash.$(OBJEXT) \
- human.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \
- offtostr.$(OBJEXT) uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) \
- localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \
- mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) modechange.$(OBJEXT) \
- openat-die.$(OBJEXT) parse-datetime.$(OBJEXT) \
- priv-set.$(OBJEXT) progname.$(OBJEXT) \
+ fprintftime.$(OBJEXT) full-write.$(OBJEXT) gettime.$(OBJEXT) \
+ hash.$(OBJEXT) human.$(OBJEXT) imaxtostr.$(OBJEXT) \
+ inttostr.$(OBJEXT) offtostr.$(OBJEXT) uinttostr.$(OBJEXT) \
+ umaxtostr.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
+ mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) mbuiter.$(OBJEXT) \
+ modechange.$(OBJEXT) openat-die.$(OBJEXT) \
+ parse-datetime.$(OBJEXT) priv-set.$(OBJEXT) progname.$(OBJEXT) \
acl-errno-valid.$(OBJEXT) file-has-acl.$(OBJEXT) \
qcopy-acl.$(OBJEXT) qset-acl.$(OBJEXT) quotearg.$(OBJEXT) \
safe-read.$(OBJEXT) safe-write.$(OBJEXT) save-cwd.$(OBJEXT) \
savedir.$(OBJEXT) se-context.$(OBJEXT) se-selinux.$(OBJEXT) \
- stat-time.$(OBJEXT) statat.$(OBJEXT) strnlen1.$(OBJEXT) \
- tempname.$(OBJEXT) timespec.$(OBJEXT) unistd.$(OBJEXT) \
- dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) pipe-safer.$(OBJEXT) \
- $(am__objects_1) unlinkdir.$(OBJEXT) utimens.$(OBJEXT) \
- version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \
- wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) \
- xgetcwd.$(OBJEXT) xsize.$(OBJEXT) xstrndup.$(OBJEXT) \
- xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) xstrtol-error.$(OBJEXT) \
- xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT)
+ stat-time.$(OBJEXT) statat.$(OBJEXT) strftime.$(OBJEXT) \
+ strnlen1.$(OBJEXT) tempname.$(OBJEXT) timespec.$(OBJEXT) \
+ unistd.$(OBJEXT) dup-safer.$(OBJEXT) fd-safer.$(OBJEXT) \
+ pipe-safer.$(OBJEXT) $(am__objects_1) unlinkdir.$(OBJEXT) \
+ utimens.$(OBJEXT) version-etc.$(OBJEXT) \
+ version-etc-fsf.$(OBJEXT) wctype-h.$(OBJEXT) xmalloc.$(OBJEXT) \
+ xalloc-die.$(OBJEXT) xgetcwd.$(OBJEXT) xsize.$(OBJEXT) \
+ xstrndup.$(OBJEXT) xstrtol.$(OBJEXT) xstrtoul.$(OBJEXT) \
+ xstrtol-error.$(OBJEXT) xstrtoumax.$(OBJEXT) \
+ xvasprintf.$(OBJEXT) xasprintf.$(OBJEXT)
libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
AM_V_P = $(am__v_P_@AM_V@)
@@ -317,13 +354,14 @@ am__v_YACC_1 =
YLWRAP = $(top_srcdir)/build-aux/ylwrap
SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
DIST_SOURCES = $(am__libgnu_a_SOURCES_DIST) $(EXTRA_libgnu_a_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -332,9 +370,29 @@ am__can_run_installinfo = \
HEADERS = $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
@@ -931,6 +989,7 @@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_ACL = @LIB_ACL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_EACCESS = @LIB_EACCESS@
LIB_SELINUX = @LIB_SELINUX@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -1046,11 +1105,13 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -1059,6 +1120,7 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -1125,6 +1187,7 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
@@ -1152,6 +1215,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RSH = @RSH@
+SED = @SED@
SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -1189,6 +1253,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -1233,6 +1298,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1264,38 +1330,42 @@ EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \
close.c close-stream.h closedir.c dirent-private.h closeout.h \
dirent.in.h dirent--.h dirent-safer.h dirfd.c stripslash.c \
dirname.h dosname.h dup.c dup2.c errno.in.h error.c error.h \
- exclude.h exitfail.h fchdir.c at-func.c fchmodat.c at-func.c \
- fchownat.c fcntl.c fcntl.in.h fd-hook.h fdopendir.c utimens.h \
- fileblocks.c filename.h filenamecat.h float.c float.in.h \
- itold.c fnmatch.c fnmatch.in.h fnmatch_loop.c fpending.c \
- fpending.h fseek.c fseeko.c stdio-impl.h fstat.c at-func.c \
+ euidaccess.c exclude.h exitfail.h at-func.c faccessat.c \
+ fchdir.c at-func.c fchmodat.c at-func.c fchownat.c fcntl.c \
+ fcntl.in.h fd-hook.h fdopendir.c utimens.h fileblocks.c \
+ filename.h filenamecat.h float.c float.in.h itold.c fnmatch.c \
+ fnmatch.in.h fnmatch_loop.c fpending.c fpending.h \
+ fprintftime.h fseek.c fseeko.c stdio-impl.h fstat.c at-func.c \
fstatat.c futimens.c getcwd.c getcwd-lgpl.c getdelim.c \
- getdtablesize.c getline.c getopt.c getopt.in.h getopt1.c \
- getopt_int.h getpagesize.c \
+ getdtablesize.c getgroups.c getline.c getopt.c getopt.in.h \
+ getopt1.c getopt_int.h getpagesize.c \
$(top_srcdir)/build-aux/config.rpath gettimeofday.c \
- $(top_srcdir)/build-aux/gitlog-to-changelog hash.h \
+ $(top_srcdir)/build-aux/gitlog-to-changelog \
+ $(top_srcdir)/build-aux/git-log-fix group-member.c hash.h \
$(top_srcdir)/build-aux/config.rpath human.h intprops.h \
- anytostr.c inttostr.h inttypes.in.h iswblank.c langinfo.in.h \
- lchown.c link.c at-func2.c linkat.c config.charset ref-add.sin \
- ref-del.sin locale.in.h localeconv.c lseek.c lstat.c malloc.c \
- malloc.c malloca.h malloca.valgrind mbchar.h mbrtowc.c \
- mbsinit.c mbsrtowcs-impl.h mbsrtowcs-state.c mbsrtowcs.c \
- mbtowc-impl.h mbtowc.c memchr.c memchr.valgrind mempcpy.c \
- memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c mkfifo.c \
- at-func.c mkfifoat.c mknodat.c mknod.c mktime-internal.h \
- mktime.c modechange.h msvc-inval.c msvc-inval.h msvc-nothrow.c \
- msvc-nothrow.h nl_langinfo.c obstack.c obstack.h open.c \
- openat.c openat.h dirent-private.h opendir.c parse-datetime.c \
- parse-datetime.h pathmax.h priv-set.h acl-internal.h acl.h \
- acl_entries.c quote.h quote.h quotearg.h raise.c rawmemchr.c \
- rawmemchr.valgrind read.c dirent-private.h readdir.c \
- readlink.c at-func.c readlinkat.c realloc.c regcomp.c regex.c \
- regex.h regex_internal.c regex_internal.h regexec.c rename.c \
- at-func2.c renameat.c dirent-private.h rewinddir.c rmdir.c \
- root-uid.h rpmatch.c safe-read.h safe-read.c safe-write.h \
- same-inode.h save-cwd.h savedir.h secure_getenv.c at-func.c \
- selinux-at.c selinux-at.h getfilecon.c setenv.c signal.in.h \
- sleep.c $(top_srcdir)/build-aux/snippet/_Noreturn.h \
+ anytostr.c inttostr.h inttypes.in.h isatty.c iswblank.c \
+ langinfo.in.h lchown.c link.c at-func2.c linkat.c \
+ config.charset ref-add.sin ref-del.sin locale.in.h \
+ localeconv.c lseek.c lstat.c malloc.c malloc.c malloca.h \
+ malloca.valgrind mbchar.h mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
+ mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c \
+ memchr.valgrind mempcpy.c memrchr.c mkdir.c at-func.c \
+ mkdirat.c mkdtemp.c mkfifo.c at-func.c mkfifoat.c mknodat.c \
+ mknod.c mktime-internal.h mktime.c modechange.h msvc-inval.c \
+ msvc-inval.h msvc-nothrow.c msvc-nothrow.h nl_langinfo.c \
+ obstack.c obstack.h open.c openat.c openat.h dirent-private.h \
+ opendir.c parse-datetime.c parse-datetime.h pathmax.h \
+ posix_openpt.c priv-set.h ptsname.c ptsname_r.c acl-internal.h \
+ acl.h acl_entries.c quote.h quote.h quotearg.h raise.c \
+ rawmemchr.c rawmemchr.valgrind read.c dirent-private.h \
+ readdir.c readlink.c at-func.c readlinkat.c realloc.c \
+ regcomp.c regex.c regex.h regex_internal.c regex_internal.h \
+ regexec.c rename.c at-func2.c renameat.c dirent-private.h \
+ rewinddir.c rmdir.c root-uid.h rpmatch.c safe-read.h \
+ safe-read.c safe-write.h same-inode.h save-cwd.h savedir.h \
+ secure_getenv.c at-func.c selinux-at.c selinux-at.h \
+ getfilecon.c setenv.c signal.in.h sleep.c \
+ $(top_srcdir)/build-aux/snippet/_Noreturn.h \
$(top_srcdir)/build-aux/snippet/arg-nonnull.h \
$(top_srcdir)/build-aux/snippet/c++defs.h \
$(top_srcdir)/build-aux/snippet/unused-parameter.h \
@@ -1304,19 +1374,20 @@ EXTRA_DIST = alloca.c alloca.in.h allocator.h areadlink.h areadlink.h \
stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \
stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c \
strchrnul.valgrind strdup.c streq.h strerror.c \
- strerror-override.c strerror-override.h string.in.h \
- strings.in.h strndup.c strnlen.c strtol.c strtol.c strtoul.c \
- strtol.c strtoul.c strtoull.c strtoimax.c strtoumax.c \
- symlink.c at-func.c symlinkat.c sys_stat.in.h sys_time.in.h \
- sys_types.in.h sysexits.in.h tempname.h time.in.h time_r.c \
- timespec.h unistd.in.h unistd--.h unistd-safer.h unitypes.in.h \
+ strerror-override.c strerror-override.h strftime.h string.in.h \
+ strings.in.h strndup.c strnlen.c strtoimax.c strtol.c strtol.c \
+ strtoll.c strtol.c strtoul.c strtol.c strtoul.c strtoull.c \
+ strtoimax.c strtoumax.c symlink.c at-func.c symlinkat.c \
+ sys_stat.in.h sys_time.in.h sys_types.in.h sysexits.in.h \
+ tempname.h time.in.h time_r.c timespec.h ttyname_r.c \
+ unistd.in.h unistd--.h unistd-safer.h unitypes.in.h \
localcharset.h uniwidth.in.h uniwidth/cjk.h unlink.c at-func.c \
- unlinkat.c unlinkdir.h unlocked-io.h unsetenv.c utimens.h \
- at-func.c utimensat.c asnprintf.c float+.h printf-args.c \
- printf-args.h printf-parse.c printf-parse.h vasnprintf.c \
- vasnprintf.h asprintf.c vasprintf.c verify.h vsnprintf.c \
- wchar.in.h wcrtomb.c wctype.in.h wcwidth.c write.c xalloc.h \
- xalloc-oversized.h xgetcwd.h xstrtol.h xalloc.h
+ unlinkat.c unlinkdir.h unlocked-io.h unlockpt.c unsetenv.c \
+ utimens.h at-func.c utimensat.c asnprintf.c float+.h \
+ printf-args.c printf-args.h printf-parse.c printf-parse.h \
+ vasnprintf.c vasnprintf.h asprintf.c vasprintf.c verify.h \
+ vsnprintf.c wchar.in.h wcrtomb.c wctype.in.h wcwidth.c write.c \
+ xalloc.h xalloc-oversized.h xgetcwd.h xstrtol.h xalloc.h
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
# statements but through direct file reference. Therefore this snippet must be
@@ -1376,51 +1447,59 @@ libgnu_a_SOURCES = copy-acl.c set-acl.c allocator.c areadlink.c \
close-stream.c closeout.c opendir-safer.c dirname.c basename.c \
dirname-lgpl.c basename-lgpl.c stripslash.c exclude.c \
exitfail.c chmodat.c chownat.c fd-hook.c fdutimensat.c \
- filenamecat-lgpl.c full-write.h full-write.c gettext.h \
- gettime.c hash.c human.c imaxtostr.c inttostr.c offtostr.c \
- uinttostr.c umaxtostr.c localcharset.h localcharset.c \
- malloca.c mbchar.c mbscasecmp.c mbuiter.h mbuiter.c \
- modechange.c openat-die.c parse-datetime.y priv-set.c \
- progname.h progname.c acl-errno-valid.c file-has-acl.c \
- qcopy-acl.c qset-acl.c quotearg.c safe-read.c safe-write.c \
- save-cwd.c savedir.c se-context.in.h se-selinux.in.h \
- se-context.c se-selinux.c size_max.h stat-time.c statat.c \
- strnlen1.h strnlen1.c tempname.c timespec.c unistd.c \
- dup-safer.c fd-safer.c pipe-safer.c $(am__append_1) \
- unlinkdir.c utimens.c version-etc.h version-etc.c \
- version-etc-fsf.c wctype-h.c xmalloc.c xalloc-die.c xgetcwd.c \
- xsize.h xsize.c xstrndup.h xstrndup.c xstrtol.c xstrtoul.c \
- xstrtol-error.c xstrtoumax.c xvasprintf.h xvasprintf.c \
- xasprintf.c
+ filenamecat-lgpl.c fprintftime.c full-write.h full-write.c \
+ gettext.h gettime.c hash.c human.c imaxtostr.c inttostr.c \
+ offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \
+ mbuiter.c modechange.c openat-die.c parse-datetime.y \
+ priv-set.c progname.h progname.c acl-errno-valid.c \
+ file-has-acl.c qcopy-acl.c qset-acl.c quotearg.c safe-read.c \
+ safe-write.c save-cwd.c savedir.c se-context.in.h \
+ se-selinux.in.h se-context.c se-selinux.c size_max.h \
+ stat-time.c statat.c strftime.c strnlen1.h strnlen1.c \
+ tempname.c timespec.c unistd.c dup-safer.c fd-safer.c \
+ pipe-safer.c $(am__append_1) unlinkdir.c utimens.c \
+ version-etc.h version-etc.c version-etc-fsf.c wctype-h.c \
+ xmalloc.c xalloc-die.c xgetcwd.c xsize.h xsize.c xstrndup.h \
+ xstrndup.c xstrtol.c xstrtoul.c xstrtol-error.c xstrtoumax.c \
+ xvasprintf.h xvasprintf.c xasprintf.c
libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
EXTRA_libgnu_a_SOURCES = alloca.c at-func.c openat-proc.c btowc.c \
canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c close.c \
- closedir.c dirfd.c stripslash.c dup.c dup2.c error.c fchdir.c \
- at-func.c fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \
+ closedir.c dirfd.c stripslash.c dup.c dup2.c error.c \
+ euidaccess.c at-func.c faccessat.c fchdir.c at-func.c \
+ fchmodat.c at-func.c fchownat.c fcntl.c fdopendir.c \
fileblocks.c float.c itold.c fnmatch.c fnmatch_loop.c \
fpending.c fseek.c fseeko.c fstat.c at-func.c fstatat.c \
futimens.c getcwd.c getcwd-lgpl.c getdelim.c getdtablesize.c \
- getline.c getopt.c getopt1.c getpagesize.c gettimeofday.c \
- anytostr.c iswblank.c lchown.c link.c at-func2.c linkat.c \
- localeconv.c lseek.c lstat.c malloc.c malloc.c mbrtowc.c \
- mbsinit.c mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c \
- mempcpy.c memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c \
- mkfifo.c at-func.c mkfifoat.c mknodat.c mknod.c mktime.c \
- msvc-inval.c msvc-nothrow.c nl_langinfo.c obstack.c open.c \
- openat.c opendir.c acl_entries.c raise.c rawmemchr.c read.c \
- readdir.c readlink.c at-func.c readlinkat.c realloc.c \
- regcomp.c regex.c regex_internal.c regexec.c rename.c \
- at-func2.c renameat.c rewinddir.c rmdir.c rpmatch.c \
- safe-read.c secure_getenv.c at-func.c selinux-at.c \
+ getgroups.c getline.c getopt.c getopt1.c getpagesize.c \
+ gettimeofday.c group-member.c anytostr.c isatty.c iswblank.c \
+ lchown.c link.c at-func2.c linkat.c localeconv.c lseek.c \
+ lstat.c malloc.c malloc.c mbrtowc.c mbsinit.c \
+ mbsrtowcs-state.c mbsrtowcs.c mbtowc.c memchr.c mempcpy.c \
+ memrchr.c mkdir.c at-func.c mkdirat.c mkdtemp.c mkfifo.c \
+ at-func.c mkfifoat.c mknodat.c mknod.c mktime.c msvc-inval.c \
+ msvc-nothrow.c nl_langinfo.c obstack.c open.c openat.c \
+ opendir.c posix_openpt.c ptsname.c ptsname_r.c acl_entries.c \
+ raise.c rawmemchr.c read.c readdir.c readlink.c at-func.c \
+ readlinkat.c realloc.c regcomp.c regex.c regex_internal.c \
+ regexec.c rename.c at-func2.c renameat.c rewinddir.c rmdir.c \
+ rpmatch.c safe-read.c secure_getenv.c at-func.c selinux-at.c \
getfilecon.c setenv.c sleep.c snprintf.c stat.c stpcpy.c \
strcasecmp.c strncasecmp.c strchrnul.c strdup.c strerror.c \
- strerror-override.c strndup.c strnlen.c strtol.c strtol.c \
- strtoul.c strtol.c strtoul.c strtoull.c strtoimax.c \
- strtoumax.c symlink.c at-func.c symlinkat.c time_r.c unlink.c \
- at-func.c unlinkat.c unsetenv.c at-func.c utimensat.c \
- asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
- asprintf.c vasprintf.c vsnprintf.c wcrtomb.c wcwidth.c write.c
+ strerror-override.c strndup.c strnlen.c strtoimax.c strtol.c \
+ strtol.c strtoll.c strtol.c strtoul.c strtol.c strtoul.c \
+ strtoull.c strtoimax.c strtoumax.c symlink.c at-func.c \
+ symlinkat.c time_r.c ttyname_r.c unlink.c at-func.c unlinkat.c \
+ unlockpt.c unsetenv.c at-func.c utimensat.c asnprintf.c \
+ printf-args.c printf-parse.c vasnprintf.c asprintf.c \
+ vasprintf.c vsnprintf.c wcrtomb.c wcwidth.c write.c
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
@@ -1479,6 +1558,7 @@ uniwidth/$(DEPDIR)/$(am__dirstamp):
@: > uniwidth/$(DEPDIR)/$(am__dirstamp)
uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) \
uniwidth/$(DEPDIR)/$(am__dirstamp)
+
libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES)
$(AM_V_at)-rm -f libgnu.a
$(AM_V_AR)$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD)
@@ -1553,8 +1633,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/euidaccess.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.Po@am__quote@
@@ -1571,6 +1653,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fprintftime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@
@@ -1582,16 +1665,19 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getfilecon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group-member.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/human.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isatty.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iswblank.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/itold.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
@@ -1636,10 +1722,13 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-datetime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix_openpt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/priv-set.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptsname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptsname_r.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qcopy-acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qset-acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@
@@ -1680,6 +1769,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strncasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Po@am__quote@
@@ -1687,6 +1777,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoimax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@
@@ -1695,12 +1786,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyname_r.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlockpt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimensat.Po@am__quote@
@@ -1751,14 +1844,13 @@ distclean-compile:
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
@@ -1779,31 +1871,13 @@ $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -1819,12 +1893,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -1836,15 +1905,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -1853,9 +1918,10 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
@@ -2042,14 +2108,12 @@ ps-am:
uninstall-am: uninstall-local
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- cscopelist-recursive ctags-recursive install install-am \
- install-strip tags-recursive
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am all-local check check-am clean clean-generic \
- clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist \
- cscopelist-recursive ctags ctags-recursive distclean \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+ check check-am clean clean-generic clean-noinstLIBRARIES \
+ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
@@ -2059,8 +2123,8 @@ uninstall-am: uninstall-local
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-local
+ mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-local
# We need the following in order to create when the system
@@ -2075,7 +2139,7 @@ uninstall-am: uninstall-local
@GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@
# Listed in the same order as the GNU makefile conventions, and
-# provided by autoconf 2.59c+.
+# provided by autoconf 2.59c+ or 2.70.
# The Automake-defined pkg* macros are appended, in the order
# listed in the Automake 1.10a+ documentation.
configmake.h: Makefile
@@ -2091,6 +2155,7 @@ configmake.h: Makefile
echo '#define SYSCONFDIR "$(sysconfdir)"'; \
echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
+ echo '#define RUNSTATEDIR "$(runstatedir)"'; \
echo '#define INCLUDEDIR "$(includedir)"'; \
echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
echo '#define DOCDIR "$(docdir)"'; \
@@ -2267,6 +2332,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
@@ -3032,6 +3098,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
-e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
-e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
@@ -3041,6 +3108,8 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -3168,6 +3237,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
diff --git a/gnu/acl-errno-valid.c b/gnu/acl-errno-valid.c
index ef0ae95..b18694b 100644
--- a/gnu/acl-errno-valid.c
+++ b/gnu/acl-errno-valid.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test whether ACLs are well supported on this system.
- Copyright 2013 Free Software Foundation, Inc.
+ Copyright 2013-2014 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
diff --git a/gnu/acl-internal.h b/gnu/acl-internal.h
index 6d3e4cb..40d4317 100644
--- a/gnu/acl-internal.h
+++ b/gnu/acl-internal.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Internal implementation of access control lists.
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
@@ -62,6 +62,9 @@ extern int aclsort (int, int, struct acl *);
# define fchmod(fd, mode) (-1)
#endif
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef ACL_INTERNAL_INLINE
# define ACL_INTERNAL_INLINE _GL_INLINE
diff --git a/gnu/acl.h b/gnu/acl.h
index 519a1d4..1d23f92 100644
--- a/gnu/acl.h
+++ b/gnu/acl.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* acl.c - access control lists
- Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2008-2014 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
diff --git a/gnu/acl_entries.c b/gnu/acl_entries.c
index d52d83a..8fac13c 100644
--- a/gnu/acl_entries.c
+++ b/gnu/acl_entries.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Return the number of entries in an ACL.
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
diff --git a/gnu/alloca.in.h b/gnu/alloca.in.h
index 2fce582..7630f68 100644
--- a/gnu/alloca.in.h
+++ b/gnu/alloca.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Memory allocation on the stack.
- Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify it
diff --git a/gnu/allocator.h b/gnu/allocator.h
index 44fdefa..513c7df 100644
--- a/gnu/allocator.h
+++ b/gnu/allocator.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Memory allocators such as malloc+free.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/anytostr.c b/gnu/anytostr.c
index afffa83..77a116c 100644
--- a/gnu/anytostr.c
+++ b/gnu/anytostr.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* anytostr.c -- convert integers to printable strings
- Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2006, 2008-2014 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
diff --git a/gnu/areadlink.c b/gnu/areadlink.c
index 78504c8..2ecf332 100644
--- a/gnu/areadlink.c
+++ b/gnu/areadlink.c
@@ -3,7 +3,7 @@
/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
Unlike xreadlink and xreadlink_with_size, don't ever call exit.
- Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2007, 2009-2014 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
diff --git a/gnu/areadlink.h b/gnu/areadlink.h
index 6619f78..db86a35 100644
--- a/gnu/areadlink.h
+++ b/gnu/areadlink.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Read symbolic links without size limitation.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/areadlinkat.c b/gnu/areadlinkat.c
index 0dfc011..564704a 100644
--- a/gnu/areadlinkat.c
+++ b/gnu/areadlinkat.c
@@ -3,7 +3,7 @@
/* areadlinkat.c -- readlinkat wrapper to return malloc'd link name
Unlike xreadlinkat, only call exit on failure to change directory.
- Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2007, 2009-2014 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
diff --git a/gnu/argmatch.c b/gnu/argmatch.c
index 459bf2e..c26bcb3 100644
--- a/gnu/argmatch.c
+++ b/gnu/argmatch.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* argmatch.c -- find a match for a string in an array
- Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2013 Free Software
+ Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/argmatch.h b/gnu/argmatch.h
index f373057..f97a358 100644
--- a/gnu/argmatch.h
+++ b/gnu/argmatch.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* argmatch.h -- definitions and prototypes for argmatch.c
- Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software
+ Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/argp-ba.c b/gnu/argp-ba.c
index 566d916..df0f48d 100644
--- a/gnu/argp-ba.c
+++ b/gnu/argp-ba.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
- Copyright (C) 1996-1997, 1999, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-1997, 1999, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-eexst.c b/gnu/argp-eexst.c
index 47d5848..6b40327 100644
--- a/gnu/argp-eexst.c
+++ b/gnu/argp-eexst.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Default definition for ARGP_ERR_EXIT_STATUS
- Copyright (C) 1997, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-fmtstream.c b/gnu/argp-fmtstream.c
index 201df85..042bb89 100644
--- a/gnu/argp-fmtstream.c
+++ b/gnu/argp-fmtstream.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Word-wrapping and line-truncating streams
- Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2013 Free Software
+ Copyright (C) 1997-1999, 2001-2003, 2005, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-fmtstream.h b/gnu/argp-fmtstream.h
index 71b91b6..dad5af8 100644
--- a/gnu/argp-fmtstream.h
+++ b/gnu/argp-fmtstream.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Word-wrapping and line-truncating streams.
- Copyright (C) 1997, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2006-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
@@ -199,6 +199,9 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
#define __argp_fmtstream_point argp_fmtstream_point
#define __argp_fmtstream_update _argp_fmtstream_update
#define __argp_fmtstream_ensure _argp_fmtstream_ensure
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef ARGP_FS_EI
# define ARGP_FS_EI _GL_INLINE
diff --git a/gnu/argp-fs-xinl.c b/gnu/argp-fs-xinl.c
index f815803..6acbe2f 100644
--- a/gnu/argp-fs-xinl.c
+++ b/gnu/argp-fs-xinl.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Real definitions for extern inline functions in argp-fmtstream.h
- Copyright (C) 1997, 2003-2004, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2003-2004, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-help.c b/gnu/argp-help.c
index 9f7a4f2..e529869 100644
--- a/gnu/argp-help.c
+++ b/gnu/argp-help.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Hierarchical argument parsing help output
- Copyright (C) 1995-2005, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2007, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-namefrob.h b/gnu/argp-namefrob.h
index ca93741..1e3f079 100644
--- a/gnu/argp-namefrob.h
+++ b/gnu/argp-namefrob.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Name frobnication for compiling argp outside of glibc
- Copyright (C) 1997, 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2003, 2007, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-parse.c b/gnu/argp-parse.c
index 0e8de13..76c0544 100644
--- a/gnu/argp-parse.c
+++ b/gnu/argp-parse.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Hierarchical argument parsing, layered over getopt
- Copyright (C) 1995-2000, 2002-2004, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995-2000, 2002-2004, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-pin.c b/gnu/argp-pin.c
index fd936e4..f324e6d 100644
--- a/gnu/argp-pin.c
+++ b/gnu/argp-pin.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Full and short program names for argp module
- Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2014 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
diff --git a/gnu/argp-pv.c b/gnu/argp-pv.c
index ed657eb..d2c9b4f 100644
--- a/gnu/argp-pv.c
+++ b/gnu/argp-pv.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Default definition for ARGP_PROGRAM_VERSION.
- Copyright (C) 1996-1997, 1999, 2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 1996-1997, 1999, 2006, 2009-2014 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-pvh.c b/gnu/argp-pvh.c
index 74ff098..1fedac1 100644
--- a/gnu/argp-pvh.c
+++ b/gnu/argp-pvh.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Default definition for ARGP_PROGRAM_VERSION_HOOK.
- Copyright (C) 1996-1997, 1999, 2004, 2009-2013 Free Software Foundation,
+ Copyright (C) 1996-1997, 1999, 2004, 2009-2014 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp-version-etc.c b/gnu/argp-version-etc.c
index b85934c..d9ca70b 100644
--- a/gnu/argp-version-etc.c
+++ b/gnu/argp-version-etc.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Version hook for Argp.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/argp-version-etc.h b/gnu/argp-version-etc.h
index 49670cf..8330a99 100644
--- a/gnu/argp-version-etc.h
+++ b/gnu/argp-version-etc.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Version hook for Argp.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/argp-xinl.c b/gnu/argp-xinl.c
index 9e58ab7..7dbdf73 100644
--- a/gnu/argp-xinl.c
+++ b/gnu/argp-xinl.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Real definitions for extern inline functions in argp.h
- Copyright (C) 1997-1998, 2004, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2004, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
diff --git a/gnu/argp.h b/gnu/argp.h
index dbaf366..f3e1f62 100644
--- a/gnu/argp.h
+++ b/gnu/argp.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Hierarchical argument parsing, layered over getopt.
- Copyright (C) 1995-1999, 2003-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader .
@@ -581,6 +581,9 @@ extern void *__argp_input (const struct argp *__restrict __argp,
# define __argp_state_help argp_state_help
# define __option_is_short _option_is_short
# define __option_is_end _option_is_end
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
# ifndef ARGP_EI
# define ARGP_EI _GL_INLINE
diff --git a/gnu/asnprintf.c b/gnu/asnprintf.c
index 2995b56..1ed4a04 100644
--- a/gnu/asnprintf.c
+++ b/gnu/asnprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006, 2009-2014 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
diff --git a/gnu/asprintf.c b/gnu/asprintf.c
index bb5eab5..df6e5c5 100644
--- a/gnu/asprintf.c
+++ b/gnu/asprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 1999, 2002, 2006-2007, 2009-2014 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/at-func.c b/gnu/at-func.c
index 875e039..774756d 100644
--- a/gnu/at-func.c
+++ b/gnu/at-func.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Define at-style functions like fstatat, unlinkat, fchownat, etc.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/at-func2.c b/gnu/at-func2.c
index 0c60c57..fa796a8 100644
--- a/gnu/at-func2.c
+++ b/gnu/at-func2.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Define 2-FD at-style functions like linkat or renameat.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/backupfile.c b/gnu/backupfile.c
index b2eb43a..b6c8aec 100644
--- a/gnu/backupfile.c
+++ b/gnu/backupfile.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* backupfile.c -- make Emacs style backup file names
- Copyright (C) 1990-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1990-2006, 2009-2014 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
diff --git a/gnu/backupfile.h b/gnu/backupfile.h
index 4232371..7a2ad9a 100644
--- a/gnu/backupfile.h
+++ b/gnu/backupfile.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* backupfile.h -- declarations for making Emacs style backup file names
- Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2013 Free Software
+ Copyright (C) 1990-1992, 1997-1999, 2003-2004, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/basename-lgpl.c b/gnu/basename-lgpl.c
index 7681409..74257f8 100644
--- a/gnu/basename-lgpl.c
+++ b/gnu/basename-lgpl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* basename.c -- return the last element in a file name
- Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/basename.c b/gnu/basename.c
index 7434a68..ac740b2 100644
--- a/gnu/basename.c
+++ b/gnu/basename.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* basename.c -- return the last element in a file name
- Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/bitrotate.h b/gnu/bitrotate.h
index ece6237..31b9bc5 100644
--- a/gnu/bitrotate.h
+++ b/gnu/bitrotate.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* bitrotate.h - Rotate bits in integers
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
@@ -25,6 +25,9 @@
#include
#include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef BITROTATE_INLINE
# define BITROTATE_INLINE _GL_INLINE
diff --git a/gnu/btowc.c b/gnu/btowc.c
index 7481a7b..3f3c6d8 100644
--- a/gnu/btowc.c
+++ b/gnu/btowc.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert unibyte character to wide character.
- Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/c-ctype.c b/gnu/c-ctype.c
index ef40320..e9e0c56 100644
--- a/gnu/c-ctype.c
+++ b/gnu/c-ctype.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Character handling in C locale.
- Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright 2000-2003, 2006, 2009-2014 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
diff --git a/gnu/c-ctype.h b/gnu/c-ctype.h
index 1a9a127..3fe2b25 100644
--- a/gnu/c-ctype.h
+++ b/gnu/c-ctype.h
@@ -7,7 +7,7 @@
functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2014 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
diff --git a/gnu/c-strcase.h b/gnu/c-strcase.h
index 3c11861..b303675 100644
--- a/gnu/c-strcase.h
+++ b/gnu/c-strcase.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/c-strcasecmp.c b/gnu/c-strcasecmp.c
index b156a97..87c6734 100644
--- a/gnu/c-strcasecmp.c
+++ b/gnu/c-strcasecmp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2014 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
diff --git a/gnu/c-strcaseeq.h b/gnu/c-strcaseeq.h
index b640e1f..58005a9 100644
--- a/gnu/c-strcaseeq.h
+++ b/gnu/c-strcaseeq.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2014 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
diff --git a/gnu/c-strncasecmp.c b/gnu/c-strncasecmp.c
index 7f08eae..17b4f0a 100644
--- a/gnu/c-strncasecmp.c
+++ b/gnu/c-strncasecmp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2014 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
diff --git a/gnu/canonicalize-lgpl.c b/gnu/canonicalize-lgpl.c
index cddd071..f9244b1 100644
--- a/gnu/canonicalize-lgpl.c
+++ b/gnu/canonicalize-lgpl.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Return the canonical absolute name of a given file.
- Copyright (C) 1996-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/careadlinkat.c b/gnu/careadlinkat.c
index 9c8d103..7bb5906 100644
--- a/gnu/careadlinkat.c
+++ b/gnu/careadlinkat.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2001, 2003-2004, 2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 2001, 2003-2004, 2007, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/careadlinkat.h b/gnu/careadlinkat.h
index 202b84f..1a64b0c 100644
--- a/gnu/careadlinkat.h
+++ b/gnu/careadlinkat.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Read symbolic links into a buffer without size limitation, relative to fd.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/chdir-long.c b/gnu/chdir-long.c
index 872feb4..433a382 100644
--- a/gnu/chdir-long.c
+++ b/gnu/chdir-long.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004-2014 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
diff --git a/gnu/chdir-long.h b/gnu/chdir-long.h
index fdcff3b..01292c2 100644
--- a/gnu/chdir-long.h
+++ b/gnu/chdir-long.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
- Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004-2005, 2009-2014 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
diff --git a/gnu/chown.c b/gnu/chown.c
index 95a503c..3759f52 100644
--- a/gnu/chown.c
+++ b/gnu/chown.c
@@ -3,7 +3,7 @@
/* provide consistent interface to chown for systems that don't interpret
an ID of -1 as meaning "don't change the corresponding ID".
- Copyright (C) 1997, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2004-2007, 2009-2014 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
diff --git a/gnu/cloexec.c b/gnu/cloexec.c
index 4150759..f2c5d84 100644
--- a/gnu/cloexec.c
+++ b/gnu/cloexec.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* closexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 1991, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991, 2004-2006, 2009-2014 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
diff --git a/gnu/cloexec.h b/gnu/cloexec.h
index b214e06..83b9aaf 100644
--- a/gnu/cloexec.h
+++ b/gnu/cloexec.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* closexec.c - set or clear the close-on-exec descriptor flag
- Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2009-2014 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
diff --git a/gnu/close-stream.c b/gnu/close-stream.c
index 2df42d7..7ace2b2 100644
--- a/gnu/close-stream.c
+++ b/gnu/close-stream.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Close a stream, with nicer error checking than fclose's.
- Copyright (C) 1998-2002, 2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-2002, 2004, 2006-2014 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
diff --git a/gnu/close.c b/gnu/close.c
index debab3b..8c2206b 100644
--- a/gnu/close.c
+++ b/gnu/close.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* close replacement.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/gnu/closedir.c b/gnu/closedir.c
index 7189b99..3ac254b 100644
--- a/gnu/closedir.c
+++ b/gnu/closedir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Stop reading the entries of a directory.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
diff --git a/gnu/closeout.c b/gnu/closeout.c
index d7e3060..a143adb 100644
--- a/gnu/closeout.c
+++ b/gnu/closeout.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Close standard output and standard error, exiting with a diagnostic on error.
- Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation,
+ Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/closeout.h b/gnu/closeout.h
index a7bc618..1f4fabe 100644
--- a/gnu/closeout.h
+++ b/gnu/closeout.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Close standard output and standard error.
- Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2013 Free Software
+ Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/config.charset b/gnu/config.charset
index a991419..289bc44 100644
--- a/gnu/config.charset
+++ b/gnu/config.charset
@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
-# Copyright (C) 2000-2004, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004, 2006-2014 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
diff --git a/gnu/copy-acl.c b/gnu/copy-acl.c
index f60d584..ad3f2f1 100644
--- a/gnu/copy-acl.c
+++ b/gnu/copy-acl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* copy-acl.c - copy access control list from one file to another file
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
diff --git a/gnu/dirent--.h b/gnu/dirent--.h
index 897afc0..a1203bc 100644
--- a/gnu/dirent--.h
+++ b/gnu/dirent--.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Like dirent.h, but redefine some names to avoid glitches.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/dirent-private.h b/gnu/dirent-private.h
index 7fdeb35..d11d6f2 100644
--- a/gnu/dirent-private.h
+++ b/gnu/dirent-private.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Private details of the DIR type.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/dirent-safer.h b/gnu/dirent-safer.h
index 9a8b6ce..083db28 100644
--- a/gnu/dirent-safer.h
+++ b/gnu/dirent-safer.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invoke dirent-like functions, but avoid some glitches.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/dirent.in.h b/gnu/dirent.in.h
index 33c6498..86f4966 100644
--- a/gnu/dirent.in.h
+++ b/gnu/dirent.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A GNU-like .
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
diff --git a/gnu/dirfd.c b/gnu/dirfd.c
index f496be6..050912b 100644
--- a/gnu/dirfd.c
+++ b/gnu/dirfd.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* dirfd.c -- return the file descriptor associated with an open DIR*
- Copyright (C) 2001, 2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2006, 2008-2014 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
diff --git a/gnu/dirname-lgpl.c b/gnu/dirname-lgpl.c
index e3a45ec..1206241 100644
--- a/gnu/dirname-lgpl.c
+++ b/gnu/dirname-lgpl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* dirname.c -- return all but the last element in a file name
- Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/dirname.c b/gnu/dirname.c
index b7e1846..cff08e8 100644
--- a/gnu/dirname.c
+++ b/gnu/dirname.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* dirname.c -- return all but the last element in a file name
- Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/dirname.h b/gnu/dirname.h
index 7864dc3..9d3ab05 100644
--- a/gnu/dirname.h
+++ b/gnu/dirname.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Take file names apart into directory and base names.
- Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 1998, 2001, 2003-2006, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/dosname.h b/gnu/dosname.h
index 5cea749..ae5fa1b 100644
--- a/gnu/dosname.h
+++ b/gnu/dosname.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* File names on MS-DOS/Windows systems.
- Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2004-2006, 2009-2014 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
diff --git a/gnu/dup-safer.c b/gnu/dup-safer.c
index 64cbd7e..6319cb7 100644
--- a/gnu/dup-safer.c
+++ b/gnu/dup-safer.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invoke dup, but avoid some glitches.
- Copyright (C) 2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2004-2006, 2009-2014 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
diff --git a/gnu/dup.c b/gnu/dup.c
index 0d15169..7faf302 100644
--- a/gnu/dup.c
+++ b/gnu/dup.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Duplicate an open file descriptor.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/dup2.c b/gnu/dup2.c
index 172f24e..9428f0f 100644
--- a/gnu/dup2.c
+++ b/gnu/dup2.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Duplicate an open file descriptor to a specified file descriptor.
- Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2004-2007, 2009-2014 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
@@ -98,7 +98,11 @@ rpl_dup2 (int fd, int desired_fd)
/* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
On Cygwin 1.5.x, dup2 (1, 1) returns 0.
On Cygwin 1.7.17, dup2 (1, -1) dumps core.
+ On Cygwin 1.7.25, dup2 (1, 256) can dump core.
On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */
+# if HAVE_SETDTABLESIZE
+ setdtablesize (desired_fd + 1);
+# endif
if (desired_fd < 0)
fd = desired_fd;
if (fd == desired_fd)
diff --git a/gnu/errno.in.h b/gnu/errno.in.h
index cbc4733..7072f19 100644
--- a/gnu/errno.in.h
+++ b/gnu/errno.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A POSIX-like .
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/gnu/error.c b/gnu/error.c
index ae52a20..5f929df 100644
--- a/gnu/error.c
+++ b/gnu/error.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2007, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -197,7 +197,7 @@ print_errno_message (int errnum)
#endif
}
-static void
+static void _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0) _GL_ARG_NONNULL ((3))
error_tail (int status, int errnum, const char *message, va_list args)
{
#if _LIBC
diff --git a/gnu/error.h b/gnu/error.h
index 28cc8ff..8d37706 100644
--- a/gnu/error.h
+++ b/gnu/error.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Declaration for error-reporting function
- Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation,
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
diff --git a/gnu/euidaccess.c b/gnu/euidaccess.c
new file mode 100644
index 0000000..0bd3012
--- /dev/null
+++ b/gnu/euidaccess.c
@@ -0,0 +1,223 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* euidaccess -- check if effective user id can access file
+
+ Copyright (C) 1990-1991, 1995, 1998, 2000, 2003-2006, 2008-2014 Free
+ Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ 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 of the License, 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, see . */
+
+/* Written by David MacKenzie and Torbjorn Granlund.
+ Adapted for GNU C library by Roland McGrath. */
+
+#ifndef _LIBC
+# include
+#endif
+
+#include
+#include
+#include
+#include
+
+#include "root-uid.h"
+
+#if HAVE_LIBGEN_H
+# include
+#endif
+
+#include
+#ifndef __set_errno
+# define __set_errno(val) errno = (val)
+#endif
+
+#if defined EACCES && !defined EACCESS
+# define EACCESS EACCES
+#endif
+
+#ifndef F_OK
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+#endif
+
+
+#ifdef _LIBC
+
+# define access __access
+# define getuid __getuid
+# define getgid __getgid
+# define geteuid __geteuid
+# define getegid __getegid
+# define group_member __group_member
+# define euidaccess __euidaccess
+# undef stat
+# define stat stat64
+
+#endif
+
+/* Return 0 if the user has permission of type MODE on FILE;
+ otherwise, return -1 and set 'errno'.
+ Like access, except that it uses the effective user and group
+ id's instead of the real ones, and it does not always check for read-only
+ file system, text busy, etc. */
+
+int
+euidaccess (const char *file, int mode)
+{
+#if HAVE_FACCESSAT /* glibc, AIX 7, Solaris 11, Cygwin 1.7 */
+ return faccessat (AT_FDCWD, file, mode, AT_EACCESS);
+#elif defined EFF_ONLY_OK /* IRIX, OSF/1, Interix */
+ return access (file, mode | EFF_ONLY_OK);
+#elif defined ACC_SELF /* AIX */
+ return accessx (file, mode, ACC_SELF);
+#elif HAVE_EACCESS /* FreeBSD */
+ return eaccess (file, mode);
+#else /* Mac OS X, NetBSD, OpenBSD, HP-UX, Solaris, Cygwin, mingw, BeOS */
+
+ uid_t uid = getuid ();
+ gid_t gid = getgid ();
+ uid_t euid = geteuid ();
+ gid_t egid = getegid ();
+ struct stat stats;
+
+# if HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS
+
+ /* Define PREFER_NONREENTRANT_EUIDACCESS if you prefer euidaccess to
+ return the correct result even if this would make it
+ nonreentrant. Define this only if your entire application is
+ safe even if the uid or gid might temporarily change. If your
+ application uses signal handlers or threads it is probably not
+ safe. */
+
+ if (mode == F_OK)
+ return stat (file, &stats);
+ else
+ {
+ int result;
+ int saved_errno;
+
+ if (uid != euid)
+ setreuid (euid, uid);
+ if (gid != egid)
+ setregid (egid, gid);
+
+ result = access (file, mode);
+ saved_errno = errno;
+
+ /* Restore them. */
+ if (uid != euid)
+ setreuid (uid, euid);
+ if (gid != egid)
+ setregid (gid, egid);
+
+ errno = saved_errno;
+ return result;
+ }
+
+# else
+
+ /* The following code assumes the traditional Unix model, and is not
+ correct on systems that have ACLs or the like. However, it's
+ better than nothing, and it is reentrant. */
+
+ unsigned int granted;
+ if (uid == euid && gid == egid)
+ /* If we are not set-uid or set-gid, access does the same. */
+ return access (file, mode);
+
+ if (stat (file, &stats) != 0)
+ return -1;
+
+ /* The super-user can read and write any file, and execute any file
+ that anyone can execute. */
+ if (euid == ROOT_UID
+ && ((mode & X_OK) == 0
+ || (stats.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))))
+ return 0;
+
+ /* Convert the mode to traditional form, clearing any bogus bits. */
+ if (R_OK == 4 && W_OK == 2 && X_OK == 1 && F_OK == 0)
+ mode &= 7;
+ else
+ mode = ((mode & R_OK ? 4 : 0)
+ + (mode & W_OK ? 2 : 0)
+ + (mode & X_OK ? 1 : 0));
+
+ if (mode == 0)
+ return 0; /* The file exists. */
+
+ /* Convert the file's permission bits to traditional form. */
+ if (S_IRUSR == (4 << 6) && S_IWUSR == (2 << 6) && S_IXUSR == (1 << 6)
+ && S_IRGRP == (4 << 3) && S_IWGRP == (2 << 3) && S_IXGRP == (1 << 3)
+ && S_IROTH == (4 << 0) && S_IWOTH == (2 << 0) && S_IXOTH == (1 << 0))
+ granted = stats.st_mode;
+ else
+ granted = ((stats.st_mode & S_IRUSR ? 4 << 6 : 0)
+ + (stats.st_mode & S_IWUSR ? 2 << 6 : 0)
+ + (stats.st_mode & S_IXUSR ? 1 << 6 : 0)
+ + (stats.st_mode & S_IRGRP ? 4 << 3 : 0)
+ + (stats.st_mode & S_IWGRP ? 2 << 3 : 0)
+ + (stats.st_mode & S_IXGRP ? 1 << 3 : 0)
+ + (stats.st_mode & S_IROTH ? 4 << 0 : 0)
+ + (stats.st_mode & S_IWOTH ? 2 << 0 : 0)
+ + (stats.st_mode & S_IXOTH ? 1 << 0 : 0));
+
+ if (euid == stats.st_uid)
+ granted >>= 6;
+ else if (egid == stats.st_gid || group_member (stats.st_gid))
+ granted >>= 3;
+
+ if ((mode & ~granted) == 0)
+ return 0;
+ __set_errno (EACCESS);
+ return -1;
+
+# endif
+#endif
+}
+#undef euidaccess
+#ifdef weak_alias
+weak_alias (__euidaccess, euidaccess)
+#endif
+
+#ifdef TEST
+# include
+# include
+# include
+
+char *program_name;
+
+int
+main (int argc, char **argv)
+{
+ char *file;
+ int mode;
+ int err;
+
+ program_name = argv[0];
+ if (argc < 3)
+ abort ();
+ file = argv[1];
+ mode = atoi (argv[2]);
+
+ err = euidaccess (file, mode);
+ printf ("%d\n", err);
+ if (err != 0)
+ error (0, errno, "%s", file);
+ exit (0);
+}
+#endif
diff --git a/gnu/exclude.c b/gnu/exclude.c
index ce16599..e2eb34b 100644
--- a/gnu/exclude.c
+++ b/gnu/exclude.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* exclude.c -- exclude file names
- Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2013 Free Software
+ Copyright (C) 1992-1994, 1997, 1999-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -34,6 +34,7 @@
#include
#include
#include
+#include
#include "exclude.h"
#include "hash.h"
@@ -41,6 +42,7 @@
#include "fnmatch.h"
#include "xalloc.h"
#include "verify.h"
+#include "filename.h"
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
@@ -75,8 +77,12 @@ verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
struct patopts
{
- char const *pattern;
int options;
+ union
+ {
+ char const *pattern;
+ regex_t re;
+ } v;
};
/* An array of pattern-options pairs. */
@@ -106,13 +112,33 @@ struct exclude_segment
} v;
};
+struct pattern_buffer
+ {
+ struct pattern_buffer *next;
+ char *base;
+ };
+
/* The exclude structure keeps a singly-linked list of exclude segments,
maintained in reverse order. */
struct exclude
{
struct exclude_segment *head;
+ struct pattern_buffer *patbuf;
};
+/* Register BUF in the pattern buffer list of EX. ADD_FUNC (see
+ add_exclude_file and add_exclude_fp below) can use this function
+ if it modifies the pattern, to ensure the allocated memory will be
+ properly reclaimed upon calling free_exclude. */
+void
+exclude_add_pattern_buffer (struct exclude *ex, char *buf)
+{
+ struct pattern_buffer *pbuf = xmalloc (sizeof *pbuf);
+ pbuf->base = buf;
+ pbuf->next = ex->patbuf;
+ ex->patbuf = pbuf;
+}
+
/* Return true if STR has or may have wildcards, when matched with OPTIONS.
Return false if STR definitely does not have wildcards. */
bool
@@ -122,8 +148,20 @@ fnmatch_pattern_has_wildcards (const char *str, int options)
{
switch (*str++)
{
+ case '.':
+ case '{':
+ case '}':
+ case '(':
+ case ')':
+ if (options & EXCLUDE_REGEX)
+ return true;
+ break;
+
case '\\':
- str += ! (options & FNM_NOESCAPE) && *str;
+ if (options & EXCLUDE_REGEX)
+ continue;
+ else
+ str += ! (options & FNM_NOESCAPE) && *str;
break;
case '+': case '@': case '!':
@@ -245,9 +283,16 @@ new_exclude_segment (struct exclude *ex, enum exclude_type type, int options)
static void
free_exclude_segment (struct exclude_segment *seg)
{
+ size_t i;
+
switch (seg->type)
{
case exclude_pattern:
+ for (i = 0; i < seg->v.pat.exclude_count; i++)
+ {
+ if (seg->v.pat.exclude[i].options & EXCLUDE_REGEX)
+ regfree (&seg->v.pat.exclude[i].v.re);
+ }
free (seg->v.pat.exclude);
break;
@@ -263,12 +308,23 @@ void
free_exclude (struct exclude *ex)
{
struct exclude_segment *seg;
+ struct pattern_buffer *pbuf;
+
for (seg = ex->head; seg; )
{
struct exclude_segment *next = seg->next;
free_exclude_segment (seg);
seg = next;
}
+
+ for (pbuf = ex->patbuf; pbuf; )
+ {
+ struct pattern_buffer *next = pbuf->next;
+ free (pbuf->base);
+ free (pbuf);
+ pbuf = next;
+ }
+
free (ex);
}
@@ -333,11 +389,21 @@ exclude_fnmatch (char const *pattern, char const *f, int options)
if (! (options & EXCLUDE_ANCHORED))
for (p = f; *p && ! matched; p++)
if (*p == '/' && p[1] != '/')
- matched = ((*matcher) (pattern, p + 1, options) == 0);
+ matched = ((*matcher) (pattern, p + 1, options) == 0);
return matched;
}
+bool
+exclude_patopts (struct patopts const *opts, char const *f)
+{
+ int options = opts->options;
+
+ return (options & EXCLUDE_REGEX)
+ ? regexec (&opts->v.re, f, 0, NULL, 0) == 0
+ : exclude_fnmatch (opts->v.pattern, f, options);
+}
+
/* Return true if the exclude_pattern segment SEG matches F. */
static bool
@@ -349,9 +415,7 @@ file_pattern_matches (struct exclude_segment const *seg, char const *f)
for (i = 0; i < exclude_count; i++)
{
- char const *pattern = exclude[i].pattern;
- int options = exclude[i].options;
- if (exclude_fnmatch (pattern, f, options))
+ if (exclude_patopts (exclude + i, f))
return true;
}
return false;
@@ -456,17 +520,17 @@ void
add_exclude (struct exclude *ex, char const *pattern, int options)
{
struct exclude_segment *seg;
+ struct exclude_pattern *pat;
+ struct patopts *patopts;
- if ((options & EXCLUDE_WILDCARDS)
+ if ((options & (EXCLUDE_REGEX|EXCLUDE_WILDCARDS))
&& fnmatch_pattern_has_wildcards (pattern, options))
{
- struct exclude_pattern *pat;
- struct patopts *patopts;
-
if (! (ex->head && ex->head->type == exclude_pattern
- && ((ex->head->options & EXCLUDE_INCLUDE)
- == (options & EXCLUDE_INCLUDE))))
- new_exclude_segment (ex, exclude_pattern, options);
+ && ((ex->head->options & EXCLUDE_INCLUDE)
+ == (options & EXCLUDE_INCLUDE))))
+ new_exclude_segment (ex, exclude_pattern, options);
+
seg = ex->head;
pat = &seg->v.pat;
@@ -474,8 +538,51 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
pat->exclude = x2nrealloc (pat->exclude, &pat->exclude_alloc,
sizeof *pat->exclude);
patopts = &pat->exclude[pat->exclude_count++];
- patopts->pattern = pattern;
+
patopts->options = options;
+ if (options & EXCLUDE_REGEX)
+ {
+ int rc;
+ int cflags = REG_NOSUB|REG_EXTENDED|
+ ((options & FNM_CASEFOLD) ? REG_ICASE : 0);
+
+ if (options & FNM_LEADING_DIR)
+ {
+ char *tmp;
+ size_t len = strlen (pattern);
+
+ while (len > 0 && ISSLASH (pattern[len-1]))
+ --len;
+
+ if (len == 0)
+ rc = 1;
+ else
+ {
+ tmp = xmalloc (len + 7);
+ memcpy (tmp, pattern, len);
+ strcpy (tmp + len, "(/.*)?");
+ rc = regcomp (&patopts->v.re, tmp, cflags);
+ free (tmp);
+ }
+ }
+ else
+ rc = regcomp (&patopts->v.re, pattern, cflags);
+
+ if (rc)
+ {
+ pat->exclude_count--;
+ return;
+ }
+ }
+ else
+ {
+ if (options & EXCLUDE_ALLOC)
+ {
+ pattern = xstrdup (pattern);
+ exclude_add_pattern_buffer (ex, (char*) pattern);
+ }
+ patopts->v.pattern = pattern;
+ }
}
else
{
@@ -500,45 +607,39 @@ add_exclude (struct exclude *ex, char const *pattern, int options)
/* Use ADD_FUNC to append to EX the patterns in FILE_NAME, each with
OPTIONS. LINE_END terminates each pattern in the file. If
LINE_END is a space character, ignore trailing spaces and empty
- lines in FILE. Return -1 on failure, 0 on success. */
+ lines in FP. Return -1 on failure, 0 on success. */
int
-add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
- struct exclude *ex, char const *file_name, int options,
- char line_end)
+add_exclude_fp (void (*add_func) (struct exclude *, char const *, int, void *),
+ struct exclude *ex, FILE *fp, int options,
+ char line_end,
+ void *data)
{
- bool use_stdin = file_name[0] == '-' && !file_name[1];
- FILE *in;
char *buf = NULL;
char *p;
- char const *pattern;
+ char *pattern;
char const *lim;
size_t buf_alloc = 0;
size_t buf_count = 0;
int c;
int e = 0;
- if (use_stdin)
- in = stdin;
- else if (! (in = fopen (file_name, "r")))
- return -1;
-
- while ((c = getc (in)) != EOF)
+ while ((c = getc (fp)) != EOF)
{
if (buf_count == buf_alloc)
buf = x2realloc (buf, &buf_alloc);
buf[buf_count++] = c;
}
- if (ferror (in))
- e = errno;
-
- if (!use_stdin && fclose (in) != 0)
+ if (ferror (fp))
e = errno;
buf = xrealloc (buf, buf_count + 1);
buf[buf_count] = line_end;
lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end);
+
+ exclude_add_pattern_buffer (ex, buf);
+
pattern = buf;
for (p = buf; p < lim; p++)
@@ -556,7 +657,7 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
}
*pattern_end = '\0';
- (*add_func) (ex, pattern, options);
+ (*add_func) (ex, pattern, options, data);
next_pattern:
pattern = p + 1;
@@ -565,3 +666,32 @@ add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
errno = e;
return e ? -1 : 0;
}
+
+static void
+call_addfn (struct exclude *ex, char const *pattern, int options, void *data)
+{
+ void (*addfn) (struct exclude *, char const *, int) = data;
+ addfn (ex, pattern, options);
+}
+
+int
+add_exclude_file (void (*add_func) (struct exclude *, char const *, int),
+ struct exclude *ex, char const *file_name, int options,
+ char line_end)
+{
+ bool use_stdin = file_name[0] == '-' && !file_name[1];
+ FILE *in;
+ int rc = 0;
+
+ if (use_stdin)
+ in = stdin;
+ else if (! (in = fopen (file_name, "r")))
+ return -1;
+
+ rc = add_exclude_fp (call_addfn, ex, in, options, line_end, add_func);
+
+ if (!use_stdin && fclose (in) != 0)
+ rc = -1;
+
+ return rc;
+}
diff --git a/gnu/exclude.h b/gnu/exclude.h
index 74a798e..47994d2 100644
--- a/gnu/exclude.h
+++ b/gnu/exclude.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* exclude.h -- declarations for excluding file names
- Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2013 Free
+ Copyright (C) 1992-1994, 1997, 1999, 2001-2003, 2005-2006, 2009-2014 Free
Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -22,6 +22,7 @@
#define _GL_EXCLUDE_H 1
#include
+#include
/* Written by Paul Eggert
and Sergey Poznyakoff */
@@ -39,6 +40,12 @@
option, these characters are ordinary and fnmatch is not used. */
#define EXCLUDE_WILDCARDS (1 << 28)
+/* Patterns are POSIX extended regular expressions */
+#define EXCLUDE_REGEX (1 << 27)
+
+/* Allocate storage for the pattern */
+#define EXCLUDE_ALLOC (1 << 26)
+
struct exclude;
bool fnmatch_pattern_has_wildcards (const char *, int) _GL_ATTRIBUTE_PURE;
@@ -48,7 +55,10 @@ void free_exclude (struct exclude *);
void add_exclude (struct exclude *, char const *, int);
int add_exclude_file (void (*) (struct exclude *, char const *, int),
struct exclude *, char const *, int, char);
+int add_exclude_fp (void (*) (struct exclude *, char const *, int, void *),
+ struct exclude *, FILE *, int, char, void *);
bool excluded_file_name (struct exclude const *, char const *);
-bool exclude_fnmatch (char const *pattern, char const *f, int options);
+void exclude_add_pattern_buffer (struct exclude *ex, char *buf);
+bool exclude_fnmatch (char const *, char const *, int);
#endif /* _GL_EXCLUDE_H */
diff --git a/gnu/exitfail.c b/gnu/exitfail.c
index 164a948..321c74c 100644
--- a/gnu/exitfail.c
+++ b/gnu/exitfail.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Failure exit status
- Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2007, 2009-2014 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
diff --git a/gnu/exitfail.h b/gnu/exitfail.h
index f2e2660..0347f46 100644
--- a/gnu/exitfail.h
+++ b/gnu/exitfail.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Failure exit status
- Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2014 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
diff --git a/gnu/faccessat.c b/gnu/faccessat.c
new file mode 100644
index 0000000..8abb9c0
--- /dev/null
+++ b/gnu/faccessat.c
@@ -0,0 +1,47 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Check the access rights of a file relative to an open directory.
+ Copyright (C) 2009-2014 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 of the License, 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, see . */
+
+/* written by Eric Blake */
+
+#include
+
+#include
+#include
+
+#ifndef HAVE_ACCESS
+/* Mingw lacks access, but it also lacks real vs. effective ids, so
+ the gnulib euidaccess module is good enough. */
+# undef access
+# define access euidaccess
+#endif
+
+/* Invoke access or euidaccess on file, FILE, using mode MODE, in the directory
+ open on descriptor FD. If possible, do it without changing the
+ working directory. Otherwise, resort to using save_cwd/fchdir, then
+ (access|euidaccess)/restore_cwd. If either the save_cwd or the
+ restore_cwd fails, then give a diagnostic and exit nonzero.
+ Note that this implementation only supports AT_EACCESS, although some
+ native versions also support AT_SYMLINK_NOFOLLOW. */
+
+#define AT_FUNC_NAME faccessat
+#define AT_FUNC_F1 euidaccess
+#define AT_FUNC_F2 access
+#define AT_FUNC_USE_F1_COND AT_EACCESS
+#define AT_FUNC_POST_FILE_PARAM_DECLS , int mode, int flag
+#define AT_FUNC_POST_FILE_ARGS , mode
+#include "at-func.c"
diff --git a/gnu/fchdir.c b/gnu/fchdir.c
index 193f2f7..a39f117 100644
--- a/gnu/fchdir.c
+++ b/gnu/fchdir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* fchdir replacement.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
diff --git a/gnu/fchmodat.c b/gnu/fchmodat.c
index d9a9250..0794284 100644
--- a/gnu/fchmodat.c
+++ b/gnu/fchmodat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Change the protections of file relative to an open directory.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/fchownat.c b/gnu/fchownat.c
index 34dd509..47f2432 100644
--- a/gnu/fchownat.c
+++ b/gnu/fchownat.c
@@ -6,7 +6,7 @@
when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it
mistakenly affects the symlink referent, rather than the symlink itself.
- Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009-2014 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
diff --git a/gnu/fcntl.c b/gnu/fcntl.c
index 02f0ddb..c272ec9 100644
--- a/gnu/fcntl.c
+++ b/gnu/fcntl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide file descriptor control.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/fcntl.in.h b/gnu/fcntl.in.h
index 1b81633..8a1668c 100644
--- a/gnu/fcntl.in.h
+++ b/gnu/fcntl.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Like , but with non-working flags defined to 0.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
diff --git a/gnu/fd-hook.c b/gnu/fd-hook.c
index ac4423b..8b1688c 100644
--- a/gnu/fd-hook.c
+++ b/gnu/fd-hook.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2009.
This program is free software: you can redistribute it and/or modify it
diff --git a/gnu/fd-hook.h b/gnu/fd-hook.h
index 5a9d77c..30f352b 100644
--- a/gnu/fd-hook.h
+++ b/gnu/fd-hook.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Hook for making making file descriptor functions close(), ioctl() extensible.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/fd-safer.c b/gnu/fd-safer.c
index c6d1f50..7dcd9cf 100644
--- a/gnu/fd-safer.c
+++ b/gnu/fd-safer.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Return a safer copy of a file descriptor.
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/fdopendir.c b/gnu/fdopendir.c
index a2fe988..cd08665 100644
--- a/gnu/fdopendir.c
+++ b/gnu/fdopendir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* provide a replacement fdopendir function
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004-2014 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
diff --git a/gnu/fdutimensat.c b/gnu/fdutimensat.c
index b1748d5..d761ad1 100644
--- a/gnu/fdutimensat.c
+++ b/gnu/fdutimensat.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Set file access and modification times.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/file-has-acl.c b/gnu/file-has-acl.c
index 6dca5d9..946ff2d 100644
--- a/gnu/file-has-acl.c
+++ b/gnu/file-has-acl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test whether a file has a nontrivial access control list.
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
@@ -77,8 +77,7 @@ acl_access_nontrivial (acl_t acl)
}
return got_one;
-# else /* IRIX, Tru64 */
-# if HAVE_ACL_TO_SHORT_TEXT /* IRIX */
+# elif HAVE_ACL_TO_SHORT_TEXT /* IRIX */
/* Don't use acl_get_entry: it is undocumented. */
int count = acl->acl_cnt;
@@ -95,8 +94,7 @@ acl_access_nontrivial (acl_t acl)
}
return 0;
-# endif
-# if HAVE_ACL_FREE_TEXT /* Tru64 */
+# elif HAVE_ACL_FREE_TEXT /* Tru64 */
/* Don't use acl_get_entry: it takes only one argument and does not work. */
int count = acl->acl_num;
@@ -119,7 +117,10 @@ acl_access_nontrivial (acl_t acl)
}
return 0;
-# endif
+# else
+
+ errno = ENOSYS;
+ return -1;
# endif
}
diff --git a/gnu/fileblocks.c b/gnu/fileblocks.c
index 17ffe6a..1302f2c 100644
--- a/gnu/fileblocks.c
+++ b/gnu/fileblocks.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert file size to number of blocks on System V-like machines.
- Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1997-1999, 2004-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/filename.h b/gnu/filename.h
index 37e2469..a5806e5 100644
--- a/gnu/filename.h
+++ b/gnu/filename.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Basic filename support macros.
- Copyright (C) 2001-2004, 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2007-2014 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
diff --git a/gnu/filenamecat-lgpl.c b/gnu/filenamecat-lgpl.c
index 2256630..a5cfc53 100644
--- a/gnu/filenamecat-lgpl.c
+++ b/gnu/filenamecat-lgpl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Concatenate two arbitrary file names.
- Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-2007, 2009-2014 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
diff --git a/gnu/filenamecat.h b/gnu/filenamecat.h
index d2e1b92..b39df86 100644
--- a/gnu/filenamecat.h
+++ b/gnu/filenamecat.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Concatenate two arbitrary file names.
- Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2013 Free Software
+ Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/float+.h b/gnu/float+.h
index 6bc201c..3331ee1 100644
--- a/gnu/float+.h
+++ b/gnu/float+.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Supplemental information about the floating-point formats.
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2007.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/float.c b/gnu/float.c
index 948c765..95c02ec 100644
--- a/gnu/float.c
+++ b/gnu/float.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Auxiliary definitions for .
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/float.in.h b/gnu/float.in.h
index c52c500..2ddca7c 100644
--- a/gnu/float.in.h
+++ b/gnu/float.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A correct .
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/fnmatch.c b/gnu/fnmatch.c
index d6d6363..47bea30 100644
--- a/gnu/fnmatch.c
+++ b/gnu/fnmatch.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2007, 2009-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2007, 2009-2014 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
diff --git a/gnu/fnmatch.in.h b/gnu/fnmatch.in.h
index c8f7132..4f0aae4 100644
--- a/gnu/fnmatch.in.h
+++ b/gnu/fnmatch.in.h
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2013 Free
+/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2014 Free
Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/fnmatch_loop.c b/gnu/fnmatch_loop.c
index 1995506..d298431 100644
--- a/gnu/fnmatch_loop.c
+++ b/gnu/fnmatch_loop.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1993, 1996-2006, 2009-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1996-2006, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
@@ -229,6 +229,8 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
c = *p++;
for (;;)
{
+ bool is_range = false;
+
if (!(flags & FNM_NOESCAPE) && c == L_('\\'))
{
if (*p == L_('\0'))
@@ -422,8 +424,6 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
}
else
{
- bool is_range = false;
-
#ifdef _LIBC
bool is_seqval = false;
diff --git a/gnu/fpending.c b/gnu/fpending.c
index dcca837..02b844f 100644
--- a/gnu/fpending.c
+++ b/gnu/fpending.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* fpending.c -- return the number of pending output bytes on a stream
- Copyright (C) 2000, 2004, 2006-2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 2000, 2004, 2006-2007, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/fpending.h b/gnu/fpending.h
index 6dfc099..53fe5ac 100644
--- a/gnu/fpending.h
+++ b/gnu/fpending.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Declare __fpending.
- Copyright (C) 2000, 2003, 2005-2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 2000, 2003, 2005-2006, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -22,11 +22,10 @@
#include
#include
+#if HAVE_STDIO_EXT_H
+# include
+#endif
-#if HAVE_DECL___FPENDING
-# if HAVE_STDIO_EXT_H
-# include
-# endif
-#else
-size_t __fpending (FILE *);
+#if !HAVE_DECL___FPENDING
+size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE;
#endif
diff --git a/gnu/fprintftime.c b/gnu/fprintftime.c
new file mode 100644
index 0000000..d5a59f9
--- /dev/null
+++ b/gnu/fprintftime.c
@@ -0,0 +1,4 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+#define FPRINTFTIME 1
+#include "strftime.c"
diff --git a/gnu/fprintftime.h b/gnu/fprintftime.h
new file mode 100644
index 0000000..d7546c8
--- /dev/null
+++ b/gnu/fprintftime.h
@@ -0,0 +1,31 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Generate time strings directly to the output. */
+
+/* Copyright (C) 2005, 2009-2014 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 of the License, 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, see . */
+
+#include
+#include
+
+/* A cross between fprintf and nstrftime, that prints directly
+ to the output stream, without the need for the potentially
+ large buffer that nstrftime would require.
+
+ Output to stream FP the result of formatting (according to the
+ nstrftime format string, FMT) the time data, *TM, and the UTC
+ and NANOSECONDS values. */
+size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
+ int utc, int nanoseconds);
diff --git a/gnu/fseek.c b/gnu/fseek.c
index cfcc571..77efd29 100644
--- a/gnu/fseek.c
+++ b/gnu/fseek.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An fseek() function that, together with fflush(), is POSIX compliant.
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 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
diff --git a/gnu/fseeko.c b/gnu/fseeko.c
index 7c1ad9b..2b204ff 100644
--- a/gnu/fseeko.c
+++ b/gnu/fseeko.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An fseeko() function that, together with fflush(), is POSIX compliant.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/fstat.c b/gnu/fstat.c
index 12a8bb6..eddda7f 100644
--- a/gnu/fstat.c
+++ b/gnu/fstat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* fstat() replacement.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/fstatat.c b/gnu/fstatat.c
index c4ab81a..77f5259 100644
--- a/gnu/fstatat.c
+++ b/gnu/fstatat.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around an fstatat bug on Solaris 9.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/full-write.c b/gnu/full-write.c
index b24549e..a834f36 100644
--- a/gnu/full-write.c
+++ b/gnu/full-write.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to read and write that retries (if necessary) until complete.
- Copyright (C) 1993-1994, 1997-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 1997-2006, 2009-2014 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
diff --git a/gnu/full-write.h b/gnu/full-write.h
index 059c6a2..48a0ee5 100644
--- a/gnu/full-write.h
+++ b/gnu/full-write.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to write() that writes all it is asked to write.
- Copyright (C) 2002-2003, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2009-2014 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
diff --git a/gnu/futimens.c b/gnu/futimens.c
index 09c7b77..a70f22c 100644
--- a/gnu/futimens.c
+++ b/gnu/futimens.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Set the access and modification time of an open fd.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/getcwd-lgpl.c b/gnu/getcwd-lgpl.c
index f197a11..8d304f1 100644
--- a/gnu/getcwd-lgpl.c
+++ b/gnu/getcwd-lgpl.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2011-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
This file is part of gnulib.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/getcwd.c b/gnu/getcwd.c
index 22ba534..e8f371e 100644
--- a/gnu/getcwd.c
+++ b/gnu/getcwd.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991-1999, 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2004-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/getdelim.c b/gnu/getdelim.c
index 1e92393..3d47c9d 100644
--- a/gnu/getdelim.c
+++ b/gnu/getdelim.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* getdelim.c --- Implementation of replacement getdelim function.
- Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2013 Free Software
+ Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or
diff --git a/gnu/getdtablesize.c b/gnu/getdtablesize.c
index 86cf88c..8c02687 100644
--- a/gnu/getdtablesize.c
+++ b/gnu/getdtablesize.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* getdtablesize() function for platforms that don't have it.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
@@ -24,11 +24,11 @@
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-#include
+# include
-#include "msvc-inval.h"
+# include "msvc-inval.h"
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
static int
_setmaxstdio_nothrow (int newmax)
{
@@ -46,10 +46,11 @@ _setmaxstdio_nothrow (int newmax)
return result;
}
-# define _setmaxstdio _setmaxstdio_nothrow
-#endif
+# define _setmaxstdio _setmaxstdio_nothrow
+# endif
-/* Cache for the previous getdtablesize () result. */
+/* Cache for the previous getdtablesize () result. Safe to cache because
+ Windows also lacks setrlimit. */
static int dtablesize;
int
@@ -85,4 +86,24 @@ getdtablesize (void)
return dtablesize;
}
+#elif HAVE_GETDTABLESIZE
+
+# include
+# undef getdtablesize
+
+int
+rpl_getdtablesize(void)
+{
+ /* To date, this replacement is only compiled for Cygwin 1.7.25,
+ which auto-increased the RLIMIT_NOFILE soft limit until it
+ hits the compile-time constant hard limit of 3200. Although
+ that version of cygwin supported a child process inheriting
+ a smaller soft limit, the smaller limit is not enforced, so
+ we might as well just report the hard limit. */
+ struct rlimit lim;
+ if (!getrlimit (RLIMIT_NOFILE, &lim) && lim.rlim_max != RLIM_INFINITY)
+ return lim.rlim_max;
+ return getdtablesize ();
+}
+
#endif
diff --git a/gnu/getfilecon.c b/gnu/getfilecon.c
index 1b9d672..80d6fb2 100644
--- a/gnu/getfilecon.c
+++ b/gnu/getfilecon.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* wrap getfilecon, lgetfilecon, and fgetfilecon
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/getgroups.c b/gnu/getgroups.c
new file mode 100644
index 0000000..16ba721
--- /dev/null
+++ b/gnu/getgroups.c
@@ -0,0 +1,133 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* provide consistent interface to getgroups for systems that don't allow N==0
+
+ Copyright (C) 1996, 1999, 2003, 2006-2014 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 of the License, 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, see . */
+
+/* written by Jim Meyering */
+
+#include
+
+#include
+
+#include
+#include
+#include
+
+#if !HAVE_GETGROUPS
+
+/* Provide a stub that fails with ENOSYS, since there is no group
+ information available on mingw. */
+int
+getgroups (int n _GL_UNUSED, GETGROUPS_T *groups _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_GETGROUPS */
+
+# undef getgroups
+# ifndef GETGROUPS_ZERO_BUG
+# define GETGROUPS_ZERO_BUG 0
+# endif
+
+/* On OS X 10.6 and later, use the usual getgroups, not the one
+ supplied when _DARWIN_C_SOURCE is defined. _DARWIN_C_SOURCE is
+ normally defined, since it means "conform to POSIX, but add
+ non-POSIX extensions even if that violates the POSIX namespace
+ rules", which is what we normally want. But with getgroups there
+ is an inconsistency, and _DARWIN_C_SOURCE means "change getgroups()
+ so that it no longer works right". The BUGS section of compat(5)
+ says that the behavior is dubious if you compile different sections
+ of a program with different _DARWIN_C_SOURCE settings, so fix only
+ the offending symbol. */
+# ifdef __APPLE__
+int posix_getgroups (int, gid_t []) __asm ("_getgroups");
+# define getgroups posix_getgroups
+# endif
+
+/* On at least Ultrix 4.3 and NextStep 3.2, getgroups (0, NULL) always
+ fails. On other systems, it returns the number of supplemental
+ groups for the process. This function handles that special case
+ and lets the system-provided function handle all others. However,
+ it can fail with ENOMEM if memory is tight. It is unspecified
+ whether the effective group id is included in the list. */
+
+int
+rpl_getgroups (int n, gid_t *group)
+{
+ int n_groups;
+ GETGROUPS_T *gbuf;
+ int saved_errno;
+
+ if (n < 0)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (n != 0 || !GETGROUPS_ZERO_BUG)
+ {
+ int result;
+ if (sizeof *group == sizeof *gbuf)
+ return getgroups (n, (GETGROUPS_T *) group);
+
+ if (SIZE_MAX / sizeof *gbuf <= n)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ gbuf = malloc (n * sizeof *gbuf);
+ if (!gbuf)
+ return -1;
+ result = getgroups (n, gbuf);
+ if (0 <= result)
+ {
+ n = result;
+ while (n--)
+ group[n] = gbuf[n];
+ }
+ saved_errno = errno;
+ free (gbuf);
+ errno = saved_errno;
+ return result;
+ }
+
+ n = 20;
+ while (1)
+ {
+ /* No need to worry about address arithmetic overflow here,
+ since the ancient systems that we're running on have low
+ limits on the number of secondary groups. */
+ gbuf = malloc (n * sizeof *gbuf);
+ if (!gbuf)
+ return -1;
+ n_groups = getgroups (n, gbuf);
+ if (n_groups == -1 ? errno != EINVAL : n_groups < n)
+ break;
+ free (gbuf);
+ n *= 2;
+ }
+
+ saved_errno = errno;
+ free (gbuf);
+ errno = saved_errno;
+
+ return n_groups;
+}
+
+#endif /* HAVE_GETGROUPS */
diff --git a/gnu/getline.c b/gnu/getline.c
index 40c4061..f5b0ceb 100644
--- a/gnu/getline.c
+++ b/gnu/getline.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* getline.c --- Implementation of replacement getline function.
- Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2014 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
diff --git a/gnu/getopt.c b/gnu/getopt.c
index 504befd..2b041f6 100644
--- a/gnu/getopt.c
+++ b/gnu/getopt.c
@@ -4,7 +4,7 @@
NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software
+ Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/getopt.in.h b/gnu/getopt.in.h
index 550fe49..98bc2f0 100644
--- a/gnu/getopt.in.h
+++ b/gnu/getopt.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/getopt1.c b/gnu/getopt1.c
index 043839a..af3366b 100644
--- a/gnu/getopt1.c
+++ b/gnu/getopt1.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/getopt_int.h b/gnu/getopt_int.h
index 5c1a90d..8ad4236 100644
--- a/gnu/getopt_int.h
+++ b/gnu/getopt_int.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Internal declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/getpagesize.c b/gnu/getpagesize.c
index fcd28ca..cf5254a 100644
--- a/gnu/getpagesize.c
+++ b/gnu/getpagesize.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* getpagesize emulation for systems where it cannot be done in a C macro.
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 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
diff --git a/gnu/gettext.h b/gnu/gettext.h
index b6a070e..4419766 100644
--- a/gnu/gettext.h
+++ b/gnu/gettext.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convenience header for conditional use of GNU .
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/gettime.c b/gnu/gettime.c
index 168e07b..39414c4 100644
--- a/gnu/gettime.c
+++ b/gnu/gettime.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* gettime -- get the system clock
- Copyright (C) 2002, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004-2007, 2009-2014 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
diff --git a/gnu/gettimeofday.c b/gnu/gettimeofday.c
index 693f2fa..6c6e2d0 100644
--- a/gnu/gettimeofday.c
+++ b/gnu/gettimeofday.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide gettimeofday for systems that don't have it or for which it's broken.
- Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2007, 2009-2014 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
diff --git a/gnu/gnulib.mk b/gnu/gnulib.mk
index aab99c0..2bbe444 100644
--- a/gnu/gnulib.mk
+++ b/gnu/gnulib.mk
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkat unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail extern-inline faccessat fchmodat fchownat fcntl-h fdopendir fdutimensat fileblocks fnmatch-gnu fprintftime fseeko fstatat full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset manywarnings mkdirat mkdtemp mkfifoat modechange obstack openat parse-datetime posix_openpt priv-set progname ptsname quote quotearg readlinkat renameat root-uid rpmatch safe-read savedir selinux-at setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtoimax strtol strtoul strtoumax symlinkat timespec unlinkat unlinkdir unlocked-io unlockpt utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
@@ -48,6 +48,15 @@ libgnu_a_LIBADD = $(gl_LIBOBJS)
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
EXTRA_libgnu_a_SOURCES =
+## begin gnulib module absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
+
+## end gnulib module absolute-header
+
## begin gnulib module acl
libgnu_a_SOURCES += copy-acl.c set-acl.c
@@ -268,7 +277,7 @@ EXTRA_DIST += closeout.h
## begin gnulib module configmake
# Listed in the same order as the GNU makefile conventions, and
-# provided by autoconf 2.59c+.
+# provided by autoconf 2.59c+ or 2.70.
# The Automake-defined pkg* macros are appended, in the order
# listed in the Automake 1.10a+ documentation.
configmake.h: Makefile
@@ -284,6 +293,7 @@ configmake.h: Makefile
echo '#define SYSCONFDIR "$(sysconfdir)"'; \
echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
+ echo '#define RUNSTATEDIR "$(runstatedir)"'; \
echo '#define INCLUDEDIR "$(includedir)"'; \
echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
echo '#define DOCDIR "$(docdir)"'; \
@@ -460,6 +470,15 @@ EXTRA_libgnu_a_SOURCES += error.c
## end gnulib module error
+## begin gnulib module euidaccess
+
+
+EXTRA_DIST += euidaccess.c
+
+EXTRA_libgnu_a_SOURCES += euidaccess.c
+
+## end gnulib module euidaccess
+
## begin gnulib module exclude
libgnu_a_SOURCES += exclude.c
@@ -476,6 +495,15 @@ EXTRA_DIST += exitfail.h
## end gnulib module exitfail
+## begin gnulib module faccessat
+
+
+EXTRA_DIST += at-func.c faccessat.c
+
+EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c
+
+## end gnulib module faccessat
+
## begin gnulib module fchdir
@@ -664,6 +692,14 @@ EXTRA_libgnu_a_SOURCES += fpending.c
## end gnulib module fpending
+## begin gnulib module fprintftime
+
+libgnu_a_SOURCES += fprintftime.c
+
+EXTRA_DIST += fprintftime.h
+
+## end gnulib module fprintftime
+
## begin gnulib module fseek
@@ -751,6 +787,15 @@ EXTRA_libgnu_a_SOURCES += getdtablesize.c
## end gnulib module getdtablesize
+## begin gnulib module getgroups
+
+
+EXTRA_DIST += getgroups.c
+
+EXTRA_libgnu_a_SOURCES += getgroups.c
+
+## end gnulib module getgroups
+
## begin gnulib module getline
@@ -837,10 +882,19 @@ EXTRA_libgnu_a_SOURCES += gettimeofday.c
## begin gnulib module gitlog-to-changelog
-EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog
+EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog $(top_srcdir)/build-aux/git-log-fix
## end gnulib module gitlog-to-changelog
+## begin gnulib module group-member
+
+
+EXTRA_DIST += group-member.c
+
+EXTRA_libgnu_a_SOURCES += group-member.c
+
+## end gnulib module group-member
+
## begin gnulib module hash
libgnu_a_SOURCES += hash.c
@@ -914,6 +968,7 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \
-e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
-e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
-e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
@@ -930,6 +985,15 @@ EXTRA_DIST += inttypes.in.h
## end gnulib module inttypes-incomplete
+## begin gnulib module isatty
+
+
+EXTRA_DIST += isatty.c
+
+EXTRA_libgnu_a_SOURCES += isatty.c
+
+## end gnulib module isatty
+
## begin gnulib module iswblank
@@ -1421,6 +1485,15 @@ EXTRA_DIST += pathmax.h
## end gnulib module pathmax
+## begin gnulib module posix_openpt
+
+
+EXTRA_DIST += posix_openpt.c
+
+EXTRA_libgnu_a_SOURCES += posix_openpt.c
+
+## end gnulib module posix_openpt
+
## begin gnulib module priv-set
libgnu_a_SOURCES += priv-set.c
@@ -1435,6 +1508,24 @@ libgnu_a_SOURCES += progname.h progname.c
## end gnulib module progname
+## begin gnulib module ptsname
+
+
+EXTRA_DIST += ptsname.c
+
+EXTRA_libgnu_a_SOURCES += ptsname.c
+
+## end gnulib module ptsname
+
+## begin gnulib module ptsname_r
+
+
+EXTRA_DIST += ptsname_r.c
+
+EXTRA_libgnu_a_SOURCES += ptsname_r.c
+
+## end gnulib module ptsname_r
+
## begin gnulib module qacl
libgnu_a_SOURCES += acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c
@@ -2345,6 +2436,14 @@ EXTRA_libgnu_a_SOURCES += strerror-override.c
## end gnulib module strerror-override
+## begin gnulib module strftime
+
+libgnu_a_SOURCES += strftime.c
+
+EXTRA_DIST += strftime.h
+
+## end gnulib module strftime
+
## begin gnulib module string
BUILT_SOURCES += string.h
@@ -2500,6 +2599,15 @@ libgnu_a_SOURCES += strnlen1.h strnlen1.c
## end gnulib module strnlen1
+## begin gnulib module strtoimax
+
+
+EXTRA_DIST += strtoimax.c
+
+EXTRA_libgnu_a_SOURCES += strtoimax.c
+
+## end gnulib module strtoimax
+
## begin gnulib module strtol
@@ -2509,6 +2617,15 @@ EXTRA_libgnu_a_SOURCES += strtol.c
## end gnulib module strtol
+## begin gnulib module strtoll
+
+
+EXTRA_DIST += strtol.c strtoll.c
+
+EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c
+
+## end gnulib module strtoll
+
## begin gnulib module strtoul
@@ -2726,6 +2843,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+ -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
-e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
-e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
-e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
@@ -2735,6 +2853,8 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(
-e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
-e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
-e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+ -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -2771,6 +2891,15 @@ EXTRA_DIST += timespec.h
## end gnulib module timespec
+## begin gnulib module ttyname_r
+
+
+EXTRA_DIST += ttyname_r.c
+
+EXTRA_libgnu_a_SOURCES += ttyname_r.c
+
+## end gnulib module ttyname_r
+
## begin gnulib module unistd
BUILT_SOURCES += unistd.h
@@ -2889,6 +3018,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
@@ -3005,6 +3135,15 @@ EXTRA_DIST += unlocked-io.h
## end gnulib module unlocked-io
+## begin gnulib module unlockpt
+
+
+EXTRA_DIST += unlockpt.c
+
+EXTRA_libgnu_a_SOURCES += unlockpt.c
+
+## end gnulib module unlockpt
+
## begin gnulib module unsetenv
diff --git a/gnu/group-member.c b/gnu/group-member.c
new file mode 100644
index 0000000..57bbda5
--- /dev/null
+++ b/gnu/group-member.c
@@ -0,0 +1,121 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* group-member.c -- determine whether group id is in calling user's group list
+
+ Copyright (C) 1994, 1997-1998, 2003, 2005-2006, 2009-2014 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 of the License, 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, see . */
+
+#include
+
+/* Specification. */
+#include
+
+#include
+#include
+#include
+
+#include "xalloc-oversized.h"
+
+/* Most processes have no more than this many groups, and for these
+ processes we can avoid using malloc. */
+enum { GROUPBUF_SIZE = 100 };
+
+struct group_info
+ {
+ gid_t *group;
+ gid_t groupbuf[GROUPBUF_SIZE];
+ };
+
+static void
+free_group_info (struct group_info const *g)
+{
+ if (g->group != g->groupbuf)
+ free (g->group);
+}
+
+static int
+get_group_info (struct group_info *gi)
+{
+ int n_groups = getgroups (GROUPBUF_SIZE, gi->groupbuf);
+ gi->group = gi->groupbuf;
+
+ if (n_groups < 0)
+ {
+ int n_group_slots = getgroups (0, NULL);
+ if (0 <= n_group_slots
+ && ! xalloc_oversized (n_group_slots, sizeof *gi->group))
+ {
+ gi->group = malloc (n_group_slots * sizeof *gi->group);
+ if (gi->group)
+ n_groups = getgroups (n_group_slots, gi->group);
+ }
+ }
+
+ /* In case of error, the user loses. */
+ return n_groups;
+}
+
+/* Return non-zero if GID is one that we have in our groups list.
+ Note that the groups list is not guaranteed to contain the current
+ or effective group ID, so they should generally be checked
+ separately. */
+
+int
+group_member (gid_t gid)
+{
+ int i;
+ int found;
+ struct group_info gi;
+ int n_groups = get_group_info (&gi);
+
+ /* Search through the list looking for GID. */
+ found = 0;
+ for (i = 0; i < n_groups; i++)
+ {
+ if (gid == gi.group[i])
+ {
+ found = 1;
+ break;
+ }
+ }
+
+ free_group_info (&gi);
+
+ return found;
+}
+
+#ifdef TEST
+
+char *program_name;
+
+int
+main (int argc, char **argv)
+{
+ int i;
+
+ program_name = argv[0];
+
+ for (i = 1; i < argc; i++)
+ {
+ gid_t gid;
+
+ gid = atoi (argv[i]);
+ printf ("%d: %s\n", gid, group_member (gid) ? "yes" : "no");
+ }
+ exit (0);
+}
+
+#endif /* TEST */
diff --git a/gnu/hash.c b/gnu/hash.c
index 8921b4f..c90285b 100644
--- a/gnu/hash.c
+++ b/gnu/hash.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* hash - hashing table processing.
- Copyright (C) 1998-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
Written by Jim Meyering, 1992.
diff --git a/gnu/hash.h b/gnu/hash.h
index 02d7e24..ee887cf 100644
--- a/gnu/hash.h
+++ b/gnu/hash.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* hash - hashing table processing.
- Copyright (C) 1998-1999, 2001, 2003, 2009-2013 Free Software Foundation,
+ Copyright (C) 1998-1999, 2001, 2003, 2009-2014 Free Software Foundation,
Inc.
Written by Jim Meyering , 1998.
diff --git a/gnu/human.c b/gnu/human.c
index be90515..93051af 100644
--- a/gnu/human.c
+++ b/gnu/human.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* human.c -- print human readable file size
- Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-2007, 2009-2014 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
diff --git a/gnu/human.h b/gnu/human.h
index 5c65b4a..a1f67b9 100644
--- a/gnu/human.h
+++ b/gnu/human.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* human.h -- print human readable file size
- Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1996-2007, 2009-2014 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
diff --git a/gnu/intprops.h b/gnu/intprops.h
index 9c20544..8832000 100644
--- a/gnu/intprops.h
+++ b/gnu/intprops.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* intprops.h -- properties of integer types
- Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2014 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
@@ -91,7 +91,8 @@
/* Return 1 if the __typeof__ keyword works. This could be done by
'configure', but for now it's easier to do it by hand. */
-#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C
+#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+ || (0x5110 <= __SUNPRO_C && !__STDC__))
# define _GL_HAVE___TYPEOF__ 1
#else
# define _GL_HAVE___TYPEOF__ 0
diff --git a/gnu/inttostr.h b/gnu/inttostr.h
index a65c6ab..d79b9e9 100644
--- a/gnu/inttostr.h
+++ b/gnu/inttostr.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* inttostr.h -- convert integers to printable strings
- Copyright (C) 2001-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2006, 2009-2014 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
diff --git a/gnu/inttypes.in.h b/gnu/inttypes.in.h
index ba060dc..65f62d1 100644
--- a/gnu/inttypes.in.h
+++ b/gnu/inttypes.in.h
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
@@ -1107,12 +1107,22 @@ _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
#endif
#if @GNULIB_STRTOUMAX@
-# if !@HAVE_DECL_STRTOUMAX@
-# undef strtoumax
+# if @REPLACE_STRTOUMAX@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strtoumax
+# define strtoumax rpl_strtoumax
+# endif
+_GL_FUNCDECL_RPL (strtoumax, uintmax_t,
+ (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoumax, uintmax_t, (const char *, char **, int));
+# else
+# if !@HAVE_DECL_STRTOUMAX@
+# undef strtoumax
_GL_FUNCDECL_SYS (strtoumax, uintmax_t,
(const char *, char **, int) _GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
+# endif
_GL_CXXALIASWARN (strtoumax);
#elif defined GNULIB_POSIXCHECK
# undef strtoumax
diff --git a/gnu/isatty.c b/gnu/isatty.c
new file mode 100644
index 0000000..158b2ae
--- /dev/null
+++ b/gnu/isatty.c
@@ -0,0 +1,83 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* isatty() replacement.
+ Copyright (C) 2012-2014 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 of the License, 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, see . */
+
+#include
+
+/* Specification. */
+#include
+
+/* This replacement is enabled on native Windows. */
+
+#include
+
+/* Get declarations of the Win32 API functions. */
+#define WIN32_LEAN_AND_MEAN
+#include
+
+#include "msvc-inval.h"
+
+/* Get _get_osfhandle(). */
+#include "msvc-nothrow.h"
+
+/* Optimized test whether a HANDLE refers to a console.
+ See . */
+#define IsConsoleHandle(h) (((intptr_t) (h) & 3) == 3)
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+_isatty_nothrow (int fd)
+{
+ int result;
+
+ TRY_MSVC_INVAL
+ {
+ result = _isatty (fd);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = 0;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define _isatty_nothrow _isatty
+#endif
+
+/* Determine whether FD refers to a console device. Return 1 if yes.
+ Return 0 and set errno if no. (ptsname_r relies on the errno value.) */
+int
+isatty (int fd)
+{
+ HANDLE h = (HANDLE) _get_osfhandle (fd);
+ if (h == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return 0;
+ }
+ /* _isatty (fd) tests whether GetFileType of the handle is FILE_TYPE_CHAR.
+ But it does not set errno when it returns 0. */
+ if (_isatty_nothrow (fd))
+ {
+ if (IsConsoleHandle (h))
+ return 1;
+ }
+ errno = ENOTTY;
+ return 0;
+}
diff --git a/gnu/iswblank.c b/gnu/iswblank.c
index 13f0f0b..543df06 100644
--- a/gnu/iswblank.c
+++ b/gnu/iswblank.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test wide character for being blank.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/gnu/itold.c b/gnu/itold.c
index 406763e..d5e44dd 100644
--- a/gnu/itold.c
+++ b/gnu/itold.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Replacement for 'int' to 'long double' conversion routine.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/langinfo.in.h b/gnu/langinfo.in.h
index 782a8fa..2fc1cf8 100644
--- a/gnu/langinfo.in.h
+++ b/gnu/langinfo.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Substitute for and wrapper around .
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/lchown.c b/gnu/lchown.c
index 99c794c..6f30c2c 100644
--- a/gnu/lchown.c
+++ b/gnu/lchown.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide a stub lchown function for systems that lack it.
- Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2013 Free Software
+ Copyright (C) 1998-1999, 2002, 2004, 2006-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/link.c b/gnu/link.c
index f715846..c275301 100644
--- a/gnu/link.c
+++ b/gnu/link.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Emulate link on platforms that lack it, namely native Windows platforms.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/linkat.c b/gnu/linkat.c
index 5a5770c..2874205 100644
--- a/gnu/linkat.c
+++ b/gnu/linkat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a hard link relative to open directories.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/localcharset.c b/gnu/localcharset.c
index 4f56dfa..c411de1 100644
--- a/gnu/localcharset.c
+++ b/gnu/localcharset.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006, 2008-2014 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
@@ -67,6 +67,11 @@
# include
#endif
+/* For MB_CUR_MAX_L */
+#if defined DARWIN7
+# include
+#endif
+
#if ENABLE_RELOCATABLE
# include "relocatable.h"
#else
@@ -547,7 +552,7 @@ locale_charset (void)
#ifdef DARWIN7
/* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8"
(the default codeset) does not work when MB_CUR_MAX is 1. */
- if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1)
+ if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX_L (uselocale (NULL)) <= 1)
codeset = "ASCII";
#endif
diff --git a/gnu/localcharset.h b/gnu/localcharset.h
index eacfd66..481cbb3 100644
--- a/gnu/localcharset.h
+++ b/gnu/localcharset.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU CHARSET Library.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/locale.in.h b/gnu/locale.in.h
index 0e9272f..72bfcc2 100644
--- a/gnu/locale.in.h
+++ b/gnu/locale.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A POSIX .
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/localeconv.c b/gnu/localeconv.c
index c7aa1a8..b674c83 100644
--- a/gnu/localeconv.c
+++ b/gnu/localeconv.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Query locale dependent information for formatting numbers.
- Copyright (C) 2012-2013 Free Software Foundation, Inc.
+ Copyright (C) 2012-2014 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
diff --git a/gnu/lseek.c b/gnu/lseek.c
index b5fdcca..40f01e1 100644
--- a/gnu/lseek.c
+++ b/gnu/lseek.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An lseek() function that detects pipes.
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 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
diff --git a/gnu/lstat.c b/gnu/lstat.c
index 8314b27..2cf429d 100644
--- a/gnu/lstat.c
+++ b/gnu/lstat.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around a bug of lstat on some systems
- Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-2006, 2008-2014 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
diff --git a/gnu/malloc.c b/gnu/malloc.c
index 88792e0..83c5155 100644
--- a/gnu/malloc.c
+++ b/gnu/malloc.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* malloc() function that is glibc compatible.
- Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-1998, 2006-2007, 2009-2014 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
diff --git a/gnu/malloca.c b/gnu/malloca.c
index b6b223d..56294e6 100644
--- a/gnu/malloca.c
+++ b/gnu/malloca.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Safe automatic memory allocation.
- Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/malloca.h b/gnu/malloca.h
index 8256889..09d25a3 100644
--- a/gnu/malloca.h
+++ b/gnu/malloca.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Safe automatic memory allocation.
- Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2003.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/mbchar.c b/gnu/mbchar.c
index 2ec3522..b4ebd92 100644
--- a/gnu/mbchar.c
+++ b/gnu/mbchar.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001, 2006, 2009-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009-2014 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
diff --git a/gnu/mbchar.h b/gnu/mbchar.h
index cadf157..4c95ccb 100644
--- a/gnu/mbchar.h
+++ b/gnu/mbchar.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Multibyte character data type.
- Copyright (C) 2001, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005-2007, 2009-2014 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
@@ -158,6 +158,9 @@
#include
#include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef MBCHAR_INLINE
# define MBCHAR_INLINE _GL_INLINE
diff --git a/gnu/mbrtowc.c b/gnu/mbrtowc.c
index 22022f3..50e37b9 100644
--- a/gnu/mbrtowc.c
+++ b/gnu/mbrtowc.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbscasecmp.c b/gnu/mbscasecmp.c
index 15f6b0d..b0e5871 100644
--- a/gnu/mbscasecmp.c
+++ b/gnu/mbscasecmp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Case-insensitive string comparison function.
- Copyright (C) 1998-1999, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2005,
based on earlier glibc code.
diff --git a/gnu/mbsinit.c b/gnu/mbsinit.c
index 5db59b6..c27330a 100644
--- a/gnu/mbsinit.c
+++ b/gnu/mbsinit.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test for initial conversion state.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbsrtowcs-impl.h b/gnu/mbsrtowcs-impl.h
index a73fedf..444c664 100644
--- a/gnu/mbsrtowcs-impl.h
+++ b/gnu/mbsrtowcs-impl.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert string to wide string.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbsrtowcs-state.c b/gnu/mbsrtowcs-state.c
index cb5b164..becfd99 100644
--- a/gnu/mbsrtowcs-state.c
+++ b/gnu/mbsrtowcs-state.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert string to wide string.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbsrtowcs.c b/gnu/mbsrtowcs.c
index 8b265f5..e0f9bd1 100644
--- a/gnu/mbsrtowcs.c
+++ b/gnu/mbsrtowcs.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert string to wide string.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbtowc-impl.h b/gnu/mbtowc-impl.h
index e8ea212..08eced8 100644
--- a/gnu/mbtowc-impl.h
+++ b/gnu/mbtowc-impl.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbtowc.c b/gnu/mbtowc.c
index 9019b98..10fcb23 100644
--- a/gnu/mbtowc.c
+++ b/gnu/mbtowc.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert multibyte character to wide character.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/mbuiter.h b/gnu/mbuiter.h
index 1dd87f7..e886e93 100644
--- a/gnu/mbuiter.h
+++ b/gnu/mbuiter.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2001, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2007, 2009-2014 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
@@ -108,6 +108,9 @@
#include "mbchar.h"
#include "strnlen1.h"
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef MBUITER_INLINE
# define MBUITER_INLINE _GL_INLINE
diff --git a/gnu/memchr.c b/gnu/memchr.c
index a623ba5..5a71e2d 100644
--- a/gnu/memchr.c
+++ b/gnu/memchr.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2014
Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gnu/mempcpy.c b/gnu/mempcpy.c
index db99441..2a075d4 100644
--- a/gnu/mempcpy.c
+++ b/gnu/mempcpy.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Copy memory area and return pointer after last written byte.
- Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007, 2009-2014 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
diff --git a/gnu/memrchr.c b/gnu/memrchr.c
index 984ad52..4ad82bb 100644
--- a/gnu/memrchr.c
+++ b/gnu/memrchr.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* memrchr -- find the last occurrence of a byte in a memory block
- Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2013 Free Software
+ Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2014 Free Software
Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
diff --git a/gnu/mkdir.c b/gnu/mkdir.c
index e3816d6..38f1858 100644
--- a/gnu/mkdir.c
+++ b/gnu/mkdir.c
@@ -3,7 +3,7 @@
/* On some systems, mkdir ("foo/", 0700) fails because of the trailing
slash. On those systems, this wrapper removes the trailing slash.
- Copyright (C) 2001, 2003, 2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2006, 2008-2014 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
diff --git a/gnu/mkdirat.c b/gnu/mkdirat.c
index 8975530..8f42837 100644
--- a/gnu/mkdirat.c
+++ b/gnu/mkdirat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* fd-relative mkdir
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/mkdtemp.c b/gnu/mkdtemp.c
index f5ae4d4..f70e18c 100644
--- a/gnu/mkdtemp.c
+++ b/gnu/mkdtemp.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2013 Free Software
+/* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/mkfifo.c b/gnu/mkfifo.c
index 5c3b497..31e8059 100644
--- a/gnu/mkfifo.c
+++ b/gnu/mkfifo.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a named fifo.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/mkfifoat.c b/gnu/mkfifoat.c
index 5c0b8c5..39fdcc8 100644
--- a/gnu/mkfifoat.c
+++ b/gnu/mkfifoat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a named fifo relative to an open directory.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/mknod.c b/gnu/mknod.c
index ff25d89..79f35af 100644
--- a/gnu/mknod.c
+++ b/gnu/mknod.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a device inode.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/mknodat.c b/gnu/mknodat.c
index f5d0e47..0110423 100644
--- a/gnu/mknodat.c
+++ b/gnu/mknodat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create an inode relative to an open directory.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/mktime.c b/gnu/mktime.c
index e703cd2..470ebaa 100644
--- a/gnu/mktime.c
+++ b/gnu/mktime.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert a 'struct tm' to a time_t value.
- Copyright (C) 1993-2013 Free Software Foundation, Inc.
+ Copyright (C) 1993-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Paul Eggert .
diff --git a/gnu/modechange.c b/gnu/modechange.c
index 4d003c0..17d38b4 100644
--- a/gnu/modechange.c
+++ b/gnu/modechange.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* modechange.c -- file mode manipulation
- Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1989-1990, 1997-1999, 2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -222,12 +222,12 @@ mode_compile (char const *mode_string)
{
octal_mode = 8 * octal_mode + *p++ - '0';
if (ALLM < octal_mode)
- return NULL;
+ goto invalid;
}
while ('0' <= *p && *p < '8');
if (affected || (*p && *p != ','))
- return NULL;
+ goto invalid;
affected = mentioned = CHMOD_MODE_BITS;
value = octal_to_mode (octal_mode);
flag = MODE_ORDINARY_CHANGE;
diff --git a/gnu/modechange.h b/gnu/modechange.h
index 3efc644..774cb10 100644
--- a/gnu/modechange.h
+++ b/gnu/modechange.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* modechange.h -- definitions for file mode manipulation
- Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1989-1990, 1997, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/msvc-inval.c b/gnu/msvc-inval.c
index 9efed19..0babb47 100644
--- a/gnu/msvc-inval.c
+++ b/gnu/msvc-inval.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/msvc-inval.h b/gnu/msvc-inval.h
index e47789f..169da8d 100644
--- a/gnu/msvc-inval.h
+++ b/gnu/msvc-inval.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invalid parameter handler for MSVC runtime libraries.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/msvc-nothrow.c b/gnu/msvc-nothrow.c
index 84f1355..5603cab 100644
--- a/gnu/msvc-nothrow.c
+++ b/gnu/msvc-nothrow.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/msvc-nothrow.h b/gnu/msvc-nothrow.h
index d8e2bcb..58caa1a 100644
--- a/gnu/msvc-nothrow.h
+++ b/gnu/msvc-nothrow.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Wrappers that don't throw invalid parameter notifications
with MSVC runtime libraries.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/nl_langinfo.c b/gnu/nl_langinfo.c
index bf3aa8f..f422732 100644
--- a/gnu/nl_langinfo.c
+++ b/gnu/nl_langinfo.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* nl_langinfo() replacement: query locale dependent information.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/obstack.c b/gnu/obstack.c
index e2b80b6..1aba44c 100644
--- a/gnu/obstack.c
+++ b/gnu/obstack.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* obstack.c - subroutines used implicitly by object stack macros
- Copyright (C) 1988-1994, 1996-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1988-1994, 1996-2006, 2009-2014 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
@@ -315,7 +315,7 @@ libc_hidden_def (_obstack_newchunk)
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
obstack.h because it is just for debugging. */
-int _obstack_allocated_p (struct obstack *h, void *obj);
+int _obstack_allocated_p (struct obstack *h, void *obj) _GL_ATTRIBUTE_PURE;
int
_obstack_allocated_p (struct obstack *h, void *obj)
diff --git a/gnu/obstack.h b/gnu/obstack.h
index b5f0bb4..1897b32 100644
--- a/gnu/obstack.h
+++ b/gnu/obstack.h
@@ -1,22 +1,22 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* obstack.h - object stack macros
- Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2013 Free Software
- Foundation, Inc.
+ Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- 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 of the License, or
- (at your option) any later version.
+ 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 of the License, 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.
+ 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, see . */
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, see
+ . */
/* Summary:
@@ -185,7 +185,7 @@ extern int _obstack_begin (struct obstack *, int, int,
extern int _obstack_begin_1 (struct obstack *, int, int,
void *(*) (void *, long),
void (*) (void *, void *), void *);
-extern int _obstack_memory_used (struct obstack *);
+extern int _obstack_memory_used (struct obstack *) _GL_ATTRIBUTE_PURE;
/* The default name of the function for freeing a chunk is 'obstack_free',
but gnulib users can override this by defining '__obstack_free'. */
@@ -503,9 +503,9 @@ __extension__ \
( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \
((((h)->temp.tempint > 0 \
&& (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \
- ? (int) ((h)->next_free = (h)->object_base \
- = (h)->temp.tempint + (char *) (h)->chunk) \
- : (((__obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0)))
+ ? (void) ((h)->next_free = (h)->object_base \
+ = (h)->temp.tempint + (char *) (h)->chunk) \
+ : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk)))
#endif /* not __GNUC__ */
diff --git a/gnu/open.c b/gnu/open.c
index 61a950f..06e6020 100644
--- a/gnu/open.c
+++ b/gnu/open.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Open a descriptor to a file.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/openat-die.c b/gnu/openat-die.c
index b06472a..747ec39 100644
--- a/gnu/openat-die.c
+++ b/gnu/openat-die.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Report a save- or restore-cwd failure in our openat replacement and then exit.
- Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2008-2014 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
diff --git a/gnu/openat-priv.h b/gnu/openat-priv.h
index 26983e1..d62b53c 100644
--- a/gnu/openat-priv.h
+++ b/gnu/openat-priv.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Internals for openat-like functions.
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/openat-proc.c b/gnu/openat-proc.c
index a5837fc..b7bf4ea 100644
--- a/gnu/openat-proc.c
+++ b/gnu/openat-proc.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create /proc/self/fd-related names for subfiles of open directories.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/openat.c b/gnu/openat.c
index cea1b47..c044dfd 100644
--- a/gnu/openat.c
+++ b/gnu/openat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* provide a replacement openat function
- Copyright (C) 2004-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004-2014 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
diff --git a/gnu/openat.h b/gnu/openat.h
index 4143e9c..ada744a 100644
--- a/gnu/openat.h
+++ b/gnu/openat.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* provide a replacement openat function
- Copyright (C) 2004-2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004-2006, 2008-2014 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
@@ -28,6 +28,9 @@
#include
#include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#if !HAVE_OPENAT
diff --git a/gnu/opendir-safer.c b/gnu/opendir-safer.c
index 98272f4..e562751 100644
--- a/gnu/opendir-safer.c
+++ b/gnu/opendir-safer.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invoke opendir, but avoid some glitches.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/opendir.c b/gnu/opendir.c
index a967782..40f06dd 100644
--- a/gnu/opendir.c
+++ b/gnu/opendir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Start reading the entries of a directory.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
diff --git a/gnu/parse-datetime.c b/gnu/parse-datetime.c
index 972632e..3663bd9 100644
--- a/gnu/parse-datetime.c
+++ b/gnu/parse-datetime.c
@@ -70,7 +70,7 @@
/* Parse a string into an internal time stamp.
- Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2014 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
@@ -3296,8 +3296,6 @@ parse_datetime (struct timespec *result, char const *p,
char tz1buf[TZBUFSIZE];
bool large_tz = TZBUFSIZE < tzsize;
bool setenv_ok;
- /* Free tz0, in case this is the 2nd or subsequent time through. */
- free (tz0);
tz0 = get_tz (tz0buf);
z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
for (s = tzbase; *s != '"'; s++)
@@ -3309,7 +3307,12 @@ parse_datetime (struct timespec *result, char const *p,
if (!setenv_ok)
goto fail;
tz_was_altered = true;
+
p = s + 1;
+ while (c = *p, c_isspace (c))
+ p++;
+
+ break;
}
}
diff --git a/gnu/parse-datetime.h b/gnu/parse-datetime.h
index 47fe4de..805fc78 100644
--- a/gnu/parse-datetime.h
+++ b/gnu/parse-datetime.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Parse a string into an internal time stamp.
- Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2013 Free Software
+ Copyright (C) 1995, 1997-1998, 2003-2004, 2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/parse-datetime.y b/gnu/parse-datetime.y
index 4dce7fa..0ba0a52 100644
--- a/gnu/parse-datetime.y
+++ b/gnu/parse-datetime.y
@@ -1,7 +1,7 @@
%{
/* Parse a string into an internal time stamp.
- Copyright (C) 1999-2000, 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2014 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
@@ -1303,8 +1303,6 @@ parse_datetime (struct timespec *result, char const *p,
char tz1buf[TZBUFSIZE];
bool large_tz = TZBUFSIZE < tzsize;
bool setenv_ok;
- /* Free tz0, in case this is the 2nd or subsequent time through. */
- free (tz0);
tz0 = get_tz (tz0buf);
z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
for (s = tzbase; *s != '"'; s++)
@@ -1316,7 +1314,12 @@ parse_datetime (struct timespec *result, char const *p,
if (!setenv_ok)
goto fail;
tz_was_altered = true;
+
p = s + 1;
+ while (c = *p, c_isspace (c))
+ p++;
+
+ break;
}
}
diff --git a/gnu/pathmax.h b/gnu/pathmax.h
index 1ca0efd..ebd72f8 100644
--- a/gnu/pathmax.h
+++ b/gnu/pathmax.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Define PATH_MAX somehow. Requires sys/types.h.
- Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/pipe-safer.c b/gnu/pipe-safer.c
index 68c01cd..e71f828 100644
--- a/gnu/pipe-safer.c
+++ b/gnu/pipe-safer.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invoke pipe, but avoid some glitches.
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/posix_openpt.c b/gnu/posix_openpt.c
new file mode 100644
index 0000000..de89f82
--- /dev/null
+++ b/gnu/posix_openpt.c
@@ -0,0 +1,110 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Open the master side of a pseudo-terminal.
+ Copyright (C) 2010-2014 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 of the License, 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, see . */
+
+#include
+
+/* Specification. */
+#include
+
+#include
+#include
+#if defined __OpenBSD__
+# include
+# include
+#endif
+
+/* posix_openpt() is already provided on
+ glibc >= 2.2.1 (but is a stub on GNU/Hurd),
+ Mac OS X >= 10.4,
+ FreeBSD >= 5.1 (lived in src/lib/libc/stdlib/grantpt.c before 8.0),
+ NetBSD >= 3.0,
+ AIX >= 5.2, HP-UX >= 11.31, Solaris >= 10, Cygwin >= 1.7.
+ Thus, this replacement function is compiled on
+ Mac OS X 10.3, OpenBSD 4.9, Minix 3.1.8,
+ AIX 5.1, HP-UX 11.23, IRIX 6.5, OSF/1 5.1, Solaris 9,
+ Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS.
+ Among these:
+ - AIX has /dev/ptc.
+ - HP-UX 10..11, IRIX 6.5, OSF/1 5.1, Solaris 2.6..9, Cygwin 1.5
+ have /dev/ptmx.
+ - HP-UX 10..11 also has /dev/ptym/clone, but this should not be needed.
+ - OpenBSD 4.9 has /dev/ptm and the PTMGET ioctl.
+ - Minix 3.1.8 have a list of pseudo-terminal devices in /dev.
+ - On native Windows, there are no ttys at all. */
+
+int
+posix_openpt (int flags)
+{
+ int master;
+
+#ifdef _AIX /* AIX */
+
+ master = open ("/dev/ptc", flags);
+
+#elif (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ /* mingw */
+
+ /* Mingw lacks pseudo-terminals altogether. */
+ master = -1;
+ errno = ENOSYS;
+
+#elif defined __OpenBSD__
+
+ /* On OpenBSD, master and slave of a pseudo-terminal are allocated together,
+ by opening /dev/ptm and applying the PTMGET ioctl to it. */
+ int fd;
+ struct ptmget data;
+
+ fd = open (PATH_PTMDEV, O_RDWR);
+ if (fd >= 0)
+ {
+ if (ioctl (fd, PTMGET, &data) >= 0)
+ {
+ master = data.cfd;
+ close (data.sfd);
+ close (fd);
+ }
+ else
+ {
+ int saved_errno = errno;
+ close (fd);
+ errno = saved_errno;
+ master = -1;
+ }
+ }
+ else
+ master = -1;
+
+#else /* Mac OS X, Minix, HP-UX, IRIX, OSF/1, Solaris 9, Cygwin 1.5 */
+
+ /* Most systems that lack posix_openpt() have /dev/ptmx. */
+ master = open ("/dev/ptmx", flags);
+
+ /* If all this does not work, we could try to open, one by one:
+ - On Mac OS X: /dev/pty[p-w][0-9a-f]
+ - On *BSD: /dev/pty[p-sP-S][0-9a-v]
+ - On Minix: /dev/pty[p-q][0-9a-f]
+ - On AIX: /dev/ptyp[0-9a-f]
+ - On HP-UX: /dev/pty[p-r][0-9a-f]
+ - On OSF/1: /dev/pty[p-q][0-9a-f]
+ - On Solaris: /dev/pty[p-r][0-9a-f]
+ */
+
+#endif
+
+ return master;
+}
diff --git a/gnu/printf-args.c b/gnu/printf-args.c
index cb6a93d..0fd2783 100644
--- a/gnu/printf-args.c
+++ b/gnu/printf-args.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/printf-args.h b/gnu/printf-args.h
index 1ed8ebd..a867691 100644
--- a/gnu/printf-args.h
+++ b/gnu/printf-args.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/printf-parse.c b/gnu/printf-parse.c
index 1320fcd..4aebe25 100644
--- a/gnu/printf-parse.c
+++ b/gnu/printf-parse.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 1999-2000, 2002-2003, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2000, 2002-2003, 2006-2014 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
diff --git a/gnu/printf-parse.h b/gnu/printf-parse.h
index ab41213..a22ba14 100644
--- a/gnu/printf-parse.h
+++ b/gnu/printf-parse.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Parse printf format string.
- Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/priv-set.c b/gnu/priv-set.c
index c09fb0e..223af71 100644
--- a/gnu/priv-set.c
+++ b/gnu/priv-set.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Query, remove, or restore a Solaris privilege.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/priv-set.h b/gnu/priv-set.h
index 44afc8d..be59285 100644
--- a/gnu/priv-set.h
+++ b/gnu/priv-set.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Query, remove, or restore a Solaris privilege.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
@@ -19,6 +19,9 @@
Written by David Bartley. */
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef PRIV_SET_INLINE
# define PRIV_SET_INLINE _GL_INLINE
diff --git a/gnu/progname.c b/gnu/progname.c
index 1401a84..863147a 100644
--- a/gnu/progname.c
+++ b/gnu/progname.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Program name management.
- Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/progname.h b/gnu/progname.h
index ecf83fd..39d1ea4 100644
--- a/gnu/progname.h
+++ b/gnu/progname.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Program name management.
- Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2001.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/ptsname.c b/gnu/ptsname.c
new file mode 100644
index 0000000..dcc6cda
--- /dev/null
+++ b/gnu/ptsname.c
@@ -0,0 +1,34 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Determine name of the slave side of a pseudo-terminal.
+ Copyright (C) 1998, 2002, 2010-2014 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 of the License, 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, see . */
+
+#include
+
+#include
+
+/* Static buffer for 'ptsname'. */
+static char buffer[64];
+
+
+/* Return the pathname of the pseudo terminal slave associated with
+ the master FD is open on, or NULL on errors.
+ The returned storage is good until the next call to this function. */
+char *
+ptsname (int fd)
+{
+ return ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer;
+}
diff --git a/gnu/ptsname_r.c b/gnu/ptsname_r.c
new file mode 100644
index 0000000..203fcce
--- /dev/null
+++ b/gnu/ptsname_r.c
@@ -0,0 +1,191 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Determine name of the slave side of a pseudo-terminal.
+ Copyright (C) 1998, 2002, 2010-2014 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 of the License, 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, see . */
+
+#include
+
+#include
+
+#include
+#include
+#include
+#include
+#include
+
+#ifdef _LIBC
+# include
+#else
+# ifndef _PATH_TTY
+# define _PATH_TTY "/dev/tty"
+# endif
+# ifndef _PATH_DEV
+# define _PATH_DEV "/dev/"
+# endif
+
+# define __set_errno(e) errno = (e)
+# define __isatty isatty
+# define __stat stat
+# define __ttyname_r ttyname_r
+# define __ptsname_r ptsname_r
+
+#endif
+
+#ifdef __sun
+/* Get ioctl() and 'struct strioctl'. */
+# include
+/* Get ISPTM. */
+# include
+# include
+/* Get the major, minor macros. */
+# include
+# include
+#endif
+
+#if defined _AIX || defined __osf__
+/* Get ioctl(), ISPTM. */
+# include
+/* Get the major, minor macros. */
+# include
+# include
+#endif
+
+
+/* Store at most BUFLEN characters of the pathname of the slave pseudo
+ terminal associated with the master FD is open on in BUF.
+ Return 0 on success, otherwise an error number. */
+int
+__ptsname_r (int fd, char *buf, size_t buflen)
+{
+ int save_errno = errno;
+ int err;
+ struct stat st;
+
+ if (buf == NULL)
+ {
+ __set_errno (EINVAL);
+ return EINVAL;
+ }
+
+#if defined __sun /* Solaris */
+ if (fstat (fd, &st) < 0)
+ return errno;
+ if (!(S_ISCHR (st.st_mode) && major (st.st_rdev) == 0))
+ {
+ errno = ENOTTY;
+ return errno;
+ }
+ {
+ /* Master ptys can be recognized through a STREAMS ioctl. See
+ "STREAMS-based Pseudo-Terminal Subsystem"
+
+ and "STREAMS ioctl commands"
+
+ */
+ struct strioctl ioctl_arg;
+ ioctl_arg.ic_cmd = ISPTM;
+ ioctl_arg.ic_timout = 0;
+ ioctl_arg.ic_len = 0;
+ ioctl_arg.ic_dp = NULL;
+
+ if (ioctl (fd, I_STR, &ioctl_arg) < 0)
+ {
+ errno = ENOTTY;
+ return errno;
+ }
+ }
+ {
+ char tmpbuf[9 + 10 + 1];
+ int n = sprintf (tmpbuf, "/dev/pts/%u", minor (st.st_rdev));
+ if (n >= buflen)
+ {
+ errno = ERANGE;
+ return errno;
+ }
+ memcpy (buf, tmpbuf, n + 1);
+ }
+#elif defined _AIX || defined __osf__ /* AIX, OSF/1 */
+ /* This implementation returns /dev/pts/N, like ptsname() does.
+ Whereas the generic implementation below returns /dev/ttypN.
+ Both are correct, but let's be consistent with ptsname(). */
+ if (fstat (fd, &st) < 0)
+ return errno;
+ if (!S_ISCHR (st.st_mode))
+ {
+ errno = ENOTTY;
+ return errno;
+ }
+ {
+ int ret;
+ int dev;
+ char tmpbuf[9 + 10 + 1];
+ int n;
+# ifdef _AIX
+ ret = ioctl (fd, ISPTM, &dev);
+# endif
+# ifdef __osf__
+ ret = ioctl (fd, ISPTM, NULL);
+ dev = ret;
+# endif
+ if (ret < 0)
+ {
+ errno = ENOTTY;
+ return errno;
+ }
+ n = sprintf (tmpbuf, "/dev/pts/%u", minor (dev));
+ if (n >= buflen)
+ {
+ errno = ERANGE;
+ return errno;
+ }
+ memcpy (buf, tmpbuf, n + 1);
+ }
+#else
+ if (!__isatty (fd))
+ {
+#if ISATTY_FAILS_WITHOUT_SETTING_ERRNO && defined F_GETFL /* IRIX, Solaris */
+ /* Set errno. */
+ if (fcntl (fd, F_GETFL) != -1)
+ errno = ENOTTY;
+#else
+ /* We rely on isatty to set errno properly (i.e. EBADF or ENOTTY). */
+#endif
+ return errno;
+ }
+
+ if (buflen < strlen (_PATH_TTY) + 3)
+ {
+ __set_errno (ERANGE);
+ return ERANGE;
+ }
+
+ err = __ttyname_r (fd, buf, buflen);
+ if (err != 0)
+ {
+ __set_errno (err);
+ return errno;
+ }
+
+ if (strncmp(buf, "/dev/pts/", strlen("/dev/pts/")) != 0)
+ buf[sizeof (_PATH_DEV) - 1] = 't';
+#endif
+
+ if (__stat (buf, &st) < 0)
+ return errno;
+
+ __set_errno (save_errno);
+ return 0;
+}
diff --git a/gnu/qcopy-acl.c b/gnu/qcopy-acl.c
index 7ef0938..53e0ed5 100644
--- a/gnu/qcopy-acl.c
+++ b/gnu/qcopy-acl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* copy-acl.c - copy access control list from one file to another file
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
diff --git a/gnu/qset-acl.c b/gnu/qset-acl.c
index 2bef393..570c9eb 100644
--- a/gnu/qset-acl.c
+++ b/gnu/qset-acl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* qset-acl.c - set access control list equivalent to a mode
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
diff --git a/gnu/quote.h b/gnu/quote.h
index c25a1ab..f84e4fd 100644
--- a/gnu/quote.h
+++ b/gnu/quote.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* quote.h - prototypes for quote.c
- Copyright (C) 1998-2001, 2003, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-2001, 2003, 2009-2014 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
diff --git a/gnu/quotearg.c b/gnu/quotearg.c
index 9c0648f..8aa2ed5 100644
--- a/gnu/quotearg.c
+++ b/gnu/quotearg.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* quotearg.c - quote arguments for output
- Copyright (C) 1998-2002, 2004-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-2002, 2004-2014 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
@@ -628,7 +628,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
if (! ((backslash_escapes || elide_outer_quotes)
&& quote_these_too
- && quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS)))
+ && quote_these_too[c / INT_BITS] >> (c % INT_BITS) & 1)
&& !is_right_quote)
goto store_c;
diff --git a/gnu/quotearg.h b/gnu/quotearg.h
index 44dff4e..f9e58dd 100644
--- a/gnu/quotearg.h
+++ b/gnu/quotearg.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* quotearg.h - quote arguments for output
- Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation,
+ Copyright (C) 1998-2002, 2004, 2006, 2008-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/raise.c b/gnu/raise.c
index 97295dd..97fa3aa 100644
--- a/gnu/raise.c
+++ b/gnu/raise.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide a non-threads replacement for the POSIX raise function.
- Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2006, 2009-2014 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
diff --git a/gnu/rawmemchr.c b/gnu/rawmemchr.c
index cddc6e6..9775af3 100644
--- a/gnu/rawmemchr.c
+++ b/gnu/rawmemchr.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Searching in a string.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/gnu/read.c b/gnu/read.c
index 13e4d44..0ccc1e4 100644
--- a/gnu/read.c
+++ b/gnu/read.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* POSIX compatible read() function.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/readdir.c b/gnu/readdir.c
index ab14942..ec01463 100644
--- a/gnu/readdir.c
+++ b/gnu/readdir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Read the next entry of a directory.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/readlink.c b/gnu/readlink.c
index dd8c124..d0fe2cf 100644
--- a/gnu/readlink.c
+++ b/gnu/readlink.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Stub for readlink().
- Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003-2007, 2009-2014 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
diff --git a/gnu/readlinkat.c b/gnu/readlinkat.c
index 6cdf778..83355ba 100644
--- a/gnu/readlinkat.c
+++ b/gnu/readlinkat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Read a symlink relative to an open directory.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/realloc.c b/gnu/realloc.c
index 3a4fe28..655dc11 100644
--- a/gnu/realloc.c
+++ b/gnu/realloc.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* realloc() function that is glibc compatible.
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2013 Free Software
+ Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/ref-add.sin b/gnu/ref-add.sin
index 112bcdc..0e14022 100644
--- a/gnu/ref-add.sin
+++ b/gnu/ref-add.sin
@@ -1,6 +1,6 @@
# Add this package to a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2014 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
diff --git a/gnu/ref-del.sin b/gnu/ref-del.sin
index 6f73868..2dbcf7b 100644
--- a/gnu/ref-del.sin
+++ b/gnu/ref-del.sin
@@ -1,6 +1,6 @@
# Remove this package from a list of references stored in a text file.
#
-# Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2009-2014 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
diff --git a/gnu/regcomp.c b/gnu/regcomp.c
index 447262f..659aff5 100644
--- a/gnu/regcomp.c
+++ b/gnu/regcomp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa .
diff --git a/gnu/regex.c b/gnu/regex.c
index 990fe85..0b1a651 100644
--- a/gnu/regex.c
+++ b/gnu/regex.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa .
diff --git a/gnu/regex.h b/gnu/regex.h
index dbd2b1b..5bb06ac 100644
--- a/gnu/regex.h
+++ b/gnu/regex.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Definitions for data structures and routines for the regular
expression library.
- Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2013 Free Software
+ Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/regex_internal.c b/gnu/regex_internal.c
index 4f18e9d..056bf72 100644
--- a/gnu/regex_internal.c
+++ b/gnu/regex_internal.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa .
@@ -313,12 +313,11 @@ build_wcs_upper_buffer (re_string_t *pstr)
+ byte_idx), remain_len, &pstr->cur_state);
if (BE (mbclen < (size_t) -2, 1))
{
- wchar_t wcu = wc;
- if (iswlower (wc))
+ wchar_t wcu = towupper (wc);
+ if (wcu != wc)
{
size_t mbcdlen;
- wcu = towupper (wc);
mbcdlen = wcrtomb (buf, wcu, &prev_st);
if (BE (mbclen == mbcdlen, 1))
memcpy (pstr->mbs + byte_idx, buf, mbclen);
@@ -383,12 +382,11 @@ build_wcs_upper_buffer (re_string_t *pstr)
mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
if (BE (mbclen < (size_t) -2, 1))
{
- wchar_t wcu = wc;
- if (iswlower (wc))
+ wchar_t wcu = towupper (wc);
+ if (wcu != wc)
{
size_t mbcdlen;
- wcu = towupper (wc);
mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st);
if (BE (mbclen == mbcdlen, 1))
memcpy (pstr->mbs + byte_idx, buf, mbclen);
@@ -540,10 +538,7 @@ build_upper_buffer (re_string_t *pstr)
int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx];
if (BE (pstr->trans != NULL, 0))
ch = pstr->trans[ch];
- if (islower (ch))
- pstr->mbs[char_idx] = toupper (ch);
- else
- pstr->mbs[char_idx] = ch;
+ pstr->mbs[char_idx] = toupper (ch);
}
pstr->valid_len = char_idx;
pstr->valid_raw_len = char_idx;
diff --git a/gnu/regex_internal.h b/gnu/regex_internal.h
index f2d8231..32ec047 100644
--- a/gnu/regex_internal.h
+++ b/gnu/regex_internal.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa .
@@ -74,8 +74,9 @@
#else
# define lock_define(name)
# define lock_init(lock) 0
-# define lock_fini(lock) 0
-# define lock_lock(lock) ((void) 0)
+# define lock_fini(lock) ((void) 0)
+ /* The 'dfa' avoids an "unused variable 'dfa'" warning from GCC. */
+# define lock_lock(lock) ((void) dfa)
# define lock_unlock(lock) ((void) 0)
#endif
@@ -111,7 +112,7 @@
# define gettext_noop(String) String
#endif
-#if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCSCOLL) || _LIBC
+#if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE) || _LIBC
# define RE_ENABLE_I18N
#endif
diff --git a/gnu/regexec.c b/gnu/regexec.c
index 4105288..168ad78 100644
--- a/gnu/regexec.c
+++ b/gnu/regexec.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa .
diff --git a/gnu/rename.c b/gnu/rename.c
index 067a5ac..025f882 100644
--- a/gnu/rename.c
+++ b/gnu/rename.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around rename bugs in some systems.
- Copyright (C) 2001-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005-2006, 2009-2014 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
diff --git a/gnu/renameat.c b/gnu/renameat.c
index 47e8f75..1042a55 100644
--- a/gnu/renameat.c
+++ b/gnu/renameat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Rename a file relative to open directories.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/rewinddir.c b/gnu/rewinddir.c
index 62fa874..8d8950f 100644
--- a/gnu/rewinddir.c
+++ b/gnu/rewinddir.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Restart reading the entries of a directory from the beginning.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
diff --git a/gnu/rmdir.c b/gnu/rmdir.c
index 8a1c71d..3b1e19f 100644
--- a/gnu/rmdir.c
+++ b/gnu/rmdir.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around rmdir bugs.
- Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/root-uid.h b/gnu/root-uid.h
index f7fef50..d05bdd4 100644
--- a/gnu/root-uid.h
+++ b/gnu/root-uid.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* The user ID that always has appropriate privileges in the POSIX sense.
- Copyright 2012-2013 Free Software Foundation, Inc.
+ Copyright 2012-2014 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
diff --git a/gnu/rpmatch.c b/gnu/rpmatch.c
index 0eddb55..04caae2 100644
--- a/gnu/rpmatch.c
+++ b/gnu/rpmatch.c
@@ -3,7 +3,7 @@
/* Determine whether string value is affirmation or negative response
according to current locale's data.
- Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2013 Free Software
+ Copyright (C) 1996, 1998, 2000, 2002-2003, 2006-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/safe-read.c b/gnu/safe-read.c
index 4170f7e..efc7467 100644
--- a/gnu/safe-read.c
+++ b/gnu/safe-read.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to read and write that retries after interrupts.
- Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2013 Free Software
+ Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/safe-read.h b/gnu/safe-read.h
index 227105f..1113949 100644
--- a/gnu/safe-read.h
+++ b/gnu/safe-read.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to read() that retries after interrupts.
- Copyright (C) 2002, 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2009-2014 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
diff --git a/gnu/safe-write.c b/gnu/safe-write.c
index 0e39b08..c5cc209 100644
--- a/gnu/safe-write.c
+++ b/gnu/safe-write.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to write that retries after interrupts.
- Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2014 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
diff --git a/gnu/safe-write.h b/gnu/safe-write.h
index cf7b250..8fcea32 100644
--- a/gnu/safe-write.h
+++ b/gnu/safe-write.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* An interface to write() that retries after interrupts.
- Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2009-2014 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
diff --git a/gnu/same-inode.h b/gnu/same-inode.h
index 743affc..25cb2ca 100644
--- a/gnu/same-inode.h
+++ b/gnu/same-inode.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine whether two stat buffers refer to the same file.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/save-cwd.c b/gnu/save-cwd.c
index dccea7e..b5a028b 100644
--- a/gnu/save-cwd.c
+++ b/gnu/save-cwd.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* save-cwd.c -- Save and restore current working directory.
- Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1995, 1997-1998, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/save-cwd.h b/gnu/save-cwd.h
index 65c803c..5d8e4fa 100644
--- a/gnu/save-cwd.h
+++ b/gnu/save-cwd.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Save and restore current working directory.
- Copyright (C) 1995, 1997-1998, 2003, 2009-2013 Free Software Foundation,
+ Copyright (C) 1995, 1997-1998, 2003, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/savedir.c b/gnu/savedir.c
index 25bf808..8657bfd 100644
--- a/gnu/savedir.c
+++ b/gnu/savedir.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* savedir.c -- save the list of files in a directory in a string
- Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2013 Free Software
+ Copyright (C) 1990, 1997-2001, 2003-2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -39,29 +39,71 @@
#include "xalloc.h"
-#ifndef NAME_SIZE_DEFAULT
-# define NAME_SIZE_DEFAULT 512
+typedef struct
+{
+ char *name;
+#if D_INO_IN_DIRENT
+ ino_t ino;
+#endif
+} direntry_t;
+
+/* Compare the names of two directory entries */
+
+static int
+direntry_cmp_name (void const *a, void const *b)
+{
+ direntry_t const *dea = a;
+ direntry_t const *deb = b;
+
+ return strcmp (dea->name, deb->name);
+}
+
+#if D_INO_IN_DIRENT
+/* Compare the inode numbers of two directory entries */
+
+static int
+direntry_cmp_inode (void const *a, void const *b)
+{
+ direntry_t const *dea = a;
+ direntry_t const *deb = b;
+
+ return dea->ino < deb->ino ? -1 : dea->ino > deb->ino;
+}
#endif
+typedef int (*comparison_function) (void const *, void const *);
+
+static comparison_function const comparison_function_table[] =
+ {
+ 0,
+ direntry_cmp_name
+#if D_INO_IN_DIRENT
+ , direntry_cmp_inode
+#endif
+ };
+
/* Return a freshly allocated string containing the file names
in directory DIRP, separated by '\0' characters;
the end is marked by two '\0' characters in a row.
+ Returned values are sorted according to OPTION.
Return NULL (setting errno) if DIRP cannot be read.
If DIRP is NULL, return NULL without affecting errno. */
char *
-streamsavedir (DIR *dirp)
+streamsavedir (DIR *dirp, enum savedir_option option)
{
- char *name_space;
- size_t allocated = NAME_SIZE_DEFAULT;
+ char *name_space = NULL;
+ size_t allocated = 0;
+ direntry_t *entries = NULL;
+ size_t entries_allocated = 0;
+ size_t entries_used = 0;
size_t used = 0;
- int save_errno;
+ int readdir_errno;
+ comparison_function cmp = comparison_function_table[option];
if (dirp == NULL)
return NULL;
- name_space = xmalloc (allocated);
-
for (;;)
{
struct dirent const *dp;
@@ -78,48 +120,64 @@ streamsavedir (DIR *dirp)
if (entry[entry[0] != '.' ? 0 : entry[1] != '.' ? 1 : 2] != '\0')
{
size_t entry_size = _D_EXACT_NAMLEN (dp) + 1;
- if (used + entry_size < used)
- xalloc_die ();
- if (allocated <= used + entry_size)
+ if (cmp)
+ {
+ if (entries_allocated == entries_used)
+ {
+ size_t n = entries_allocated;
+ entries = x2nrealloc (entries, &n, sizeof *entries);
+ entries_allocated = n;
+ }
+ entries[entries_used].name = xstrdup (entry);
+#if D_INO_IN_DIRENT
+ entries[entries_used].ino = dp->d_ino;
+#endif
+ entries_used++;
+ }
+ else
{
- do
+ if (allocated - used <= entry_size)
{
- if (2 * allocated < allocated)
+ size_t n = used + entry_size;
+ if (n < used)
xalloc_die ();
- allocated *= 2;
+ name_space = x2nrealloc (name_space, &n, 1);
+ allocated = n;
}
- while (allocated <= used + entry_size);
-
- name_space = xrealloc (name_space, allocated);
+ memcpy (name_space + used, entry, entry_size);
}
- memcpy (name_space + used, entry, entry_size);
used += entry_size;
}
}
- name_space[used] = '\0';
- save_errno = errno;
- if (save_errno != 0)
+
+ readdir_errno = errno;
+ if (readdir_errno != 0)
{
+ free (entries);
free (name_space);
- errno = save_errno;
+ errno = readdir_errno;
return NULL;
}
- return name_space;
-}
-
-/* Like streamsavedir (DIRP), except also close DIRP. */
-static char *
-savedirstream (DIR *dirp)
-{
- char *name_space = streamsavedir (dirp);
- if (dirp && closedir (dirp) != 0)
+ if (cmp)
{
- int save_errno = errno;
- free (name_space);
- errno = save_errno;
- return NULL;
+ size_t i;
+
+ qsort (entries, entries_used, sizeof *entries, cmp);
+ name_space = xmalloc (used + 1);
+ used = 0;
+ for (i = 0; i < entries_used; i++)
+ {
+ char *dest = name_space + used;
+ used += stpcpy (dest, entries[i].name) - dest + 1;
+ free (entries[i].name);
+ }
+ free (entries);
}
+ else if (used == allocated)
+ name_space = xrealloc (name_space, used + 1);
+
+ name_space[used] = '\0';
return name_space;
}
@@ -129,19 +187,21 @@ savedirstream (DIR *dirp)
Return NULL (setting errno) if DIR cannot be opened, read, or closed. */
char *
-savedir (char const *dir)
+savedir (char const *dir, enum savedir_option option)
{
- return savedirstream (opendir (dir));
-}
-
-/* Return a freshly allocated string containing the file names
- in directory FD, separated by '\0' characters;
- the end is marked by two '\0' characters in a row.
- Return NULL (setting errno) if FD cannot be read or closed. */
-
-/* deprecated */
-char *
-fdsavedir (int fd)
-{
- return savedirstream (fdopendir (fd));
+ DIR *dirp = opendir (dir);
+ if (! dirp)
+ return NULL;
+ else
+ {
+ char *name_space = streamsavedir (dirp, option);
+ if (closedir (dirp) != 0)
+ {
+ int closedir_errno = errno;
+ free (name_space);
+ errno = closedir_errno;
+ return NULL;
+ }
+ return name_space;
+ }
}
diff --git a/gnu/savedir.h b/gnu/savedir.h
index e7d2336..5b53e65 100644
--- a/gnu/savedir.h
+++ b/gnu/savedir.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Save the list of files in a directory in a string.
- Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+ Copyright (C) 1997, 1999, 2001, 2003, 2005, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -24,8 +24,20 @@
#define _GL_SAVEDIR_H
#include
-char *streamsavedir (DIR *dirp);
-char *savedir (char const *dir);
-char *fdsavedir (int fd); /* deprecated */
+
+enum savedir_option
+ {
+ SAVEDIR_SORT_NONE,
+ SAVEDIR_SORT_NAME,
+#if D_INO_IN_DIRENT
+ SAVEDIR_SORT_INODE,
+ SAVEDIR_SORT_FASTREAD = SAVEDIR_SORT_INODE
+#else
+ SAVEDIR_SORT_FASTREAD = SAVEDIR_SORT_NONE
+#endif
+ };
+
+char *streamsavedir (DIR *, enum savedir_option);
+char *savedir (char const *, enum savedir_option);
#endif
diff --git a/gnu/se-context.in.h b/gnu/se-context.in.h
index f2b2cc0..ebe7277 100644
--- a/gnu/se-context.in.h
+++ b/gnu/se-context.in.h
@@ -5,6 +5,9 @@
# include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef SE_CONTEXT_INLINE
# define SE_CONTEXT_INLINE _GL_INLINE
@@ -31,6 +34,14 @@ SE_CONTEXT_INLINE int context_range_set (context_t sc _GL_UNUSED_PARAMETER,
SE_CONTEXT_INLINE int context_type_set (context_t sc _GL_UNUSED_PARAMETER,
char const *s _GL_UNUSED_PARAMETER)
{ errno = ENOTSUP; return -1; }
+SE_CONTEXT_INLINE char *context_type_get (context_t sc _GL_UNUSED_PARAMETER)
+ { errno = ENOTSUP; return (void *) 0; }
+SE_CONTEXT_INLINE char *context_range_get (context_t sc _GL_UNUSED_PARAMETER)
+ { errno = ENOTSUP; return (void *) 0; }
+SE_CONTEXT_INLINE char *context_role_get (context_t sc _GL_UNUSED_PARAMETER)
+ { errno = ENOTSUP; return (void *) 0; }
+SE_CONTEXT_INLINE char *context_user_get (context_t sc _GL_UNUSED_PARAMETER)
+ { errno = ENOTSUP; return (void *) 0; }
_GL_INLINE_HEADER_END
diff --git a/gnu/se-selinux.in.h b/gnu/se-selinux.in.h
index 7af2c14..e798e1e 100644
--- a/gnu/se-selinux.in.h
+++ b/gnu/se-selinux.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Replacement for platforms that lack it.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
@@ -33,6 +33,9 @@
# include
# include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
# ifndef SE_SELINUX_INLINE
# define SE_SELINUX_INLINE _GL_INLINE
@@ -43,7 +46,7 @@ _GL_INLINE_HEADER_BEGIN
# if !GNULIB_defined_security_types
typedef unsigned short security_class_t;
-# define security_context_t char*
+typedef char *security_context_t;
# define is_selinux_enabled() 0
SE_SELINUX_INLINE int
@@ -102,6 +105,9 @@ security_compute_create (security_context_t scon _GL_UNUSED_PARAMETER,
security_class_t tclass _GL_UNUSED_PARAMETER,
security_context_t *newcon _GL_UNUSED_PARAMETER)
{ errno = ENOTSUP; return -1; }
+SE_SELINUX_INLINE security_class_t
+string_to_security_class (char const *name)
+ { errno = ENOTSUP; return 0; }
SE_SELINUX_INLINE int
matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER,
char const *prefix _GL_UNUSED_PARAMETER)
@@ -110,6 +116,9 @@ matchpathcon_init_prefix (char const *path _GL_UNUSED_PARAMETER,
# define GNULIB_defined_security_types 1
# endif
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
# endif
diff --git a/gnu/secure_getenv.c b/gnu/secure_getenv.c
index ce31415..b8920c1 100644
--- a/gnu/secure_getenv.c
+++ b/gnu/secure_getenv.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Look up an environment variable more securely.
- Copyright 2013 Free Software Foundation, Inc.
+ Copyright 2013-2014 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
diff --git a/gnu/selinux-at.c b/gnu/selinux-at.c
index 34471fa..da998cd 100644
--- a/gnu/selinux-at.c
+++ b/gnu/selinux-at.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* openat-style fd-relative functions for SE Linux
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 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
@@ -28,7 +28,6 @@
#include
#include
-#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
#include "save-cwd.h"
#include "openat-priv.h"
diff --git a/gnu/selinux-at.h b/gnu/selinux-at.h
index cadd155..1808e35 100644
--- a/gnu/selinux-at.h
+++ b/gnu/selinux-at.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Prototypes for openat-style fd-relative SELinux functions
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 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
diff --git a/gnu/set-acl.c b/gnu/set-acl.c
index 371e0df..aceffbd 100644
--- a/gnu/set-acl.c
+++ b/gnu/set-acl.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* set-acl.c - set access control list equivalent to a mode
- Copyright (C) 2002-2003, 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005-2014 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
diff --git a/gnu/setenv.c b/gnu/setenv.c
index 59f00bc..bb458d6 100644
--- a/gnu/setenv.c
+++ b/gnu/setenv.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/signal.in.h b/gnu/signal.in.h
index 87f7471..98c6567 100644
--- a/gnu/signal.in.h
+++ b/gnu/signal.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A GNU-like .
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
@@ -197,6 +197,20 @@ typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1];
# endif
+/* When also using extern inline, suppress the use of static inline in
+ standard headers of problematic Apple configurations, as Libc at
+ least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+ .
+ Perhaps Apple will fix this some day. */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+ && (defined __i386__ || defined __x86_64__))
+# undef sigaddset
+# undef sigdelset
+# undef sigemptyset
+# undef sigfillset
+# undef sigismember
+#endif
+
/* Test whether a given signal is contained in a signal set. */
# if @HAVE_POSIX_SIGNALBLOCKING@
/* This function is defined as a macro on Mac OS X. */
diff --git a/gnu/size_max.h b/gnu/size_max.h
index ba79e9a..a773408 100644
--- a/gnu/size_max.h
+++ b/gnu/size_max.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* size_max.h -- declare SIZE_MAX through system headers
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/sleep.c b/gnu/sleep.c
index 51f2d54..32b151f 100644
--- a/gnu/sleep.c
+++ b/gnu/sleep.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Pausing execution of the current thread.
- Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/snprintf.c b/gnu/snprintf.c
index db7904a..28713ad 100644
--- a/gnu/snprintf.c
+++ b/gnu/snprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
Written by Simon Josefsson and Paul Eggert.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/stat-time.h b/gnu/stat-time.h
index 5aa6621..8f18fd7 100644
--- a/gnu/stat-time.h
+++ b/gnu/stat-time.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* stat-related time functions.
- Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2014 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
@@ -25,6 +25,9 @@
#include
#include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_STAT_TIME_INLINE
# define _GL_STAT_TIME_INLINE _GL_INLINE
diff --git a/gnu/stat.c b/gnu/stat.c
index 128a9bf..c5a3696 100644
--- a/gnu/stat.c
+++ b/gnu/stat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around platform bugs in stat.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/stdalign.in.h b/gnu/stdalign.in.h
index 7256ede..6f1f4d5 100644
--- a/gnu/stdalign.in.h
+++ b/gnu/stdalign.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A substitute for ISO C11 .
- Copyright 2011-2013 Free Software Foundation, Inc.
+ Copyright 2011-2014 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
@@ -43,13 +43,28 @@
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. */
+ want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc.
+
+ Include for offsetof. */
#include
-#if defined __cplusplus
+
+/* FreeBSD 9.1 , included by and lots of other
+ standard headers, defines conflicting implementations of _Alignas
+ and _Alignof that are no better than ours; override them. */
+#undef _Alignas
+#undef _Alignof
+
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# ifdef __cplusplus
+# if 201103 <= __cplusplus
+# define _Alignof(type) alignof (type)
+# else
template struct __alignof_helper { char __a; __t __b; };
-# define _Alignof(type) offsetof (__alignof_helper, __b)
-#else
-# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+# define _Alignof(type) offsetof (__alignof_helper, __b)
+# endif
+# else
+# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+# endif
#endif
#define alignof _Alignof
#define __alignof_is_defined 1
@@ -79,12 +94,17 @@
*/
-#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C
-# define _Alignas(a) __attribute__ ((__aligned__ (a)))
-#elif 1300 <= _MSC_VER
-# define _Alignas(a) __declspec (align (a))
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+# if defined __cplusplus && 201103 <= __cplusplus
+# define _Alignas(a) alignas (a)
+# elif (__GNUC__ || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__ \
+ || __ICC || 0x5110 <= __SUNPRO_C)
+# define _Alignas(a) __attribute__ ((__aligned__ (a)))
+# elif 1300 <= _MSC_VER
+# define _Alignas(a) __declspec (align (a))
+# endif
#endif
-#ifdef _Alignas
+#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
# define alignas _Alignas
# define __alignas_is_defined 1
#endif
diff --git a/gnu/stdarg.in.h b/gnu/stdarg.in.h
index e242839..a165987 100644
--- a/gnu/stdarg.in.h
+++ b/gnu/stdarg.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Substitute for and wrapper around .
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 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
diff --git a/gnu/stdbool.in.h b/gnu/stdbool.in.h
index d895801..2f418ca 100644
--- a/gnu/stdbool.in.h
+++ b/gnu/stdbool.in.h
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2001.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/stddef.in.h b/gnu/stddef.in.h
index 9706a9c..597ae3e 100644
--- a/gnu/stddef.in.h
+++ b/gnu/stddef.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A substitute for POSIX 2008 , for platforms that have issues.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/stdint.in.h b/gnu/stdint.in.h
index 6604936..5d30b76 100644
--- a/gnu/stdint.in.h
+++ b/gnu/stdint.in.h
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
@@ -40,8 +40,7 @@
other system header files; just include the system's .
Ideally we should test __BIONIC__ here, but it is only defined after
has been included; hence test __ANDROID__ instead. */
-#if defined __ANDROID__ \
- && defined _SYS_TYPES_H_ && !defined __need_size_t
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
# @INCLUDE_NEXT@ @NEXT_STDINT_H@
#else
diff --git a/gnu/stdio-impl.h b/gnu/stdio-impl.h
index fd916d8..b65f6fd 100644
--- a/gnu/stdio-impl.h
+++ b/gnu/stdio-impl.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Implementation details of FILE streams.
- Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2008, 2010-2014 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
@@ -59,7 +59,7 @@
# define fp_ fp
# endif
-# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ /* NetBSD >= 1.5ZA, OpenBSD */
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __ANDROID__ /* NetBSD >= 1.5ZA, OpenBSD, Android */
/* See
and */
struct __sfileext
diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h
index 6179004..f715bdf 100644
--- a/gnu/stdio.in.h
+++ b/gnu/stdio.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A GNU-like .
- Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2014 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
@@ -126,6 +126,15 @@
#define _GL_STDIO_STRINGIZE(token) #token
#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
+/* When also using extern inline, suppress the use of static inline in
+ standard headers of problematic Apple configurations, as Libc at
+ least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+ .
+ Perhaps Apple will fix this some day. */
+#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
+ && defined __GNUC__ && defined __STDC__)
+# undef putc_unlocked
+#endif
#if @GNULIB_DPRINTF@
# if @REPLACE_DPRINTF@
diff --git a/gnu/stdlib.in.h b/gnu/stdlib.in.h
index 863457f..7f64d2f 100644
--- a/gnu/stdlib.in.h
+++ b/gnu/stdlib.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A GNU-like .
- Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001-2004, 2006-2014 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
diff --git a/gnu/stpcpy.c b/gnu/stpcpy.c
index 68db675..8013fb0 100644
--- a/gnu/stpcpy.c
+++ b/gnu/stpcpy.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* stpcpy.c -- copy a string and return pointer to end of new string
- Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2013 Free Software
+ Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2014 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
diff --git a/gnu/strcasecmp.c b/gnu/strcasecmp.c
index 8c480a8..dee5d38 100644
--- a/gnu/strcasecmp.c
+++ b/gnu/strcasecmp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Case-insensitive string comparison function.
- Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2007, 2009-2014 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
diff --git a/gnu/strchrnul.c b/gnu/strchrnul.c
index f054acd..7ea2fca 100644
--- a/gnu/strchrnul.c
+++ b/gnu/strchrnul.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Searching in a string.
- Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007-2014 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
diff --git a/gnu/strdup.c b/gnu/strdup.c
index 8ebc71f..614fe84 100644
--- a/gnu/strdup.c
+++ b/gnu/strdup.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2014 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/gnu/streq.h b/gnu/streq.h
index 89533c5..e7ee9fc 100644
--- a/gnu/streq.h
+++ b/gnu/streq.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Optimized string comparison.
- Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2007, 2009-2014 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
diff --git a/gnu/strerror-override.c b/gnu/strerror-override.c
index 4e017bc..5f129b8 100644
--- a/gnu/strerror-override.c
+++ b/gnu/strerror-override.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* strerror-override.c --- POSIX compatible system error routine
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 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
diff --git a/gnu/strerror-override.h b/gnu/strerror-override.h
index e610dd6..f65c0b9 100644
--- a/gnu/strerror-override.h
+++ b/gnu/strerror-override.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* strerror-override.h --- POSIX compatible system error routine
- Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2010-2014 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
@@ -50,7 +50,7 @@
|| GNULIB_defined_EOWNERDEAD \
|| GNULIB_defined_ENOTRECOVERABLE \
|| GNULIB_defined_EILSEQ
-extern const char *strerror_override (int errnum);
+extern const char *strerror_override (int errnum) _GL_ATTRIBUTE_CONST;
# else
# define strerror_override(ignored) NULL
# endif
diff --git a/gnu/strerror.c b/gnu/strerror.c
index 42b6f81..612b79c 100644
--- a/gnu/strerror.c
+++ b/gnu/strerror.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* strerror.c --- POSIX compatible system error routine
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/strftime.c b/gnu/strftime.c
new file mode 100644
index 0000000..f451611
--- /dev/null
+++ b/gnu/strftime.c
@@ -0,0 +1,1489 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with the GNU C Library.
+ Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+ 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 of the License, 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, see . */
+
+#ifdef _LIBC
+# define HAVE_STRUCT_ERA_ENTRY 1
+# define HAVE_TM_GMTOFF 1
+# define HAVE_TM_ZONE 1
+# define HAVE_TZNAME 1
+# define HAVE_TZSET 1
+# include "../locale/localeinfo.h"
+#else
+# include
+# if FPRINTFTIME
+# include "fprintftime.h"
+# else
+# include "strftime.h"
+# endif
+#endif
+
+#include
+#include
+
+#if HAVE_TZNAME && !HAVE_DECL_TZNAME
+extern char *tzname[];
+#endif
+
+/* Do multibyte processing if multibyte encodings are supported, unless
+ multibyte sequences are safe in formats. Multibyte sequences are
+ safe if they cannot contain byte sequences that look like format
+ conversion specifications. The multibyte encodings used by the
+ C library on the various platforms (UTF-8, GB2312, GBK, CP936,
+ GB18030, EUC-TW, BIG5, BIG5-HKSCS, CP950, EUC-JP, EUC-KR, CP949,
+ SHIFT_JIS, CP932, JOHAB) are safe for formats, because the byte '%'
+ cannot occur in a multibyte character except in the first byte.
+
+ The DEC-HANYU encoding used on OSF/1 is not safe for formats, but
+ this encoding has never been seen in real-life use, so we ignore
+ it. */
+#if !(defined __osf__ && 0)
+# define MULTIBYTE_IS_FORMAT_SAFE 1
+#endif
+#define DO_MULTIBYTE (! MULTIBYTE_IS_FORMAT_SAFE)
+
+#if DO_MULTIBYTE
+# include
+ static const mbstate_t mbstate_zero;
+#endif
+
+#include
+#include
+#include
+#include
+#include
+
+#ifdef COMPILE_WIDE
+# include
+# define CHAR_T wchar_t
+# define UCHAR_T unsigned int
+# define L_(Str) L##Str
+# define NLW(Sym) _NL_W##Sym
+
+# define MEMCPY(d, s, n) __wmemcpy (d, s, n)
+# define STRLEN(s) __wcslen (s)
+
+#else
+# define CHAR_T char
+# define UCHAR_T unsigned char
+# define L_(Str) Str
+# define NLW(Sym) Sym
+
+# define MEMCPY(d, s, n) memcpy (d, s, n)
+# define STRLEN(s) strlen (s)
+
+#endif
+
+/* Shift A right by B bits portably, by dividing A by 2**B and
+ truncating towards minus infinity. A and B should be free of side
+ effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
+ INT_BITS is the number of useful bits in an int. GNU code can
+ assume that INT_BITS is at least 32.
+
+ ISO C99 says that A >> B is implementation-defined if A < 0. Some
+ implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift
+ right in the usual way when A < 0, so SHR falls back on division if
+ ordinary A >> B doesn't seem to be the usual signed shift. */
+#define SHR(a, b) \
+ (-1 >> 1 == -1 \
+ ? (a) >> (b) \
+ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0))
+
+/* Bound on length of the string representing an integer type or expression T.
+ Subtract 1 for the sign bit if t is signed; log10 (2.0) < 146/485;
+ add 1 for integer division truncation; add 1 more for a minus sign
+ if needed. */
+#define INT_STRLEN_BOUND(t) \
+ ((sizeof (t) * CHAR_BIT - 1) * 146 / 485 + 2)
+
+#define TM_YEAR_BASE 1900
+
+#ifndef __isleap
+/* Nonzero if YEAR is a leap year (every 4 years,
+ except every 100th isn't, and every 400th is). */
+# define __isleap(year) \
+ ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
+#endif
+
+
+#ifdef _LIBC
+# define tzname __tzname
+# define tzset __tzset
+#endif
+
+#if !HAVE_TM_GMTOFF
+/* Portable standalone applications should supply a "time.h" that
+ declares a POSIX-compliant localtime_r, for the benefit of older
+ implementations that lack localtime_r or have a nonstandard one.
+ See the gnulib time_r module for one way to implement this. */
+# undef __gmtime_r
+# undef __localtime_r
+# define __gmtime_r gmtime_r
+# define __localtime_r localtime_r
+#endif
+
+
+#ifndef FPRINTFTIME
+# define FPRINTFTIME 0
+#endif
+
+#if FPRINTFTIME
+# define STREAM_OR_CHAR_T FILE
+# define STRFTIME_ARG(x) /* empty */
+#else
+# define STREAM_OR_CHAR_T CHAR_T
+# define STRFTIME_ARG(x) x,
+#endif
+
+#if FPRINTFTIME
+# define memset_byte(P, Len, Byte) \
+ do { size_t _i; for (_i = 0; _i < Len; _i++) fputc (Byte, P); } while (0)
+# define memset_space(P, Len) memset_byte (P, Len, ' ')
+# define memset_zero(P, Len) memset_byte (P, Len, '0')
+#elif defined COMPILE_WIDE
+# define memset_space(P, Len) (wmemset (P, L' ', Len), (P) += (Len))
+# define memset_zero(P, Len) (wmemset (P, L'0', Len), (P) += (Len))
+#else
+# define memset_space(P, Len) (memset (P, ' ', Len), (P) += (Len))
+# define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len))
+#endif
+
+#if FPRINTFTIME
+# define advance(P, N)
+#else
+# define advance(P, N) ((P) += (N))
+#endif
+
+#define add(n, f) \
+ do \
+ { \
+ size_t _n = (n); \
+ size_t _w = (width < 0 ? 0 : width); \
+ size_t _incr = _n < _w ? _w : _n; \
+ if (_incr >= maxsize - i) \
+ return 0; \
+ if (p) \
+ { \
+ if (digits == 0 && _n < _w) \
+ { \
+ size_t _delta = width - _n; \
+ if (pad == L_('0')) \
+ memset_zero (p, _delta); \
+ else \
+ memset_space (p, _delta); \
+ } \
+ f; \
+ advance (p, _n); \
+ } \
+ i += _incr; \
+ } while (0)
+
+#if FPRINTFTIME
+# define add1(C) add (1, fputc (C, p))
+#else
+# define add1(C) add (1, *p = C)
+#endif
+
+#if FPRINTFTIME
+# define cpy(n, s) \
+ add ((n), \
+ do \
+ { \
+ if (to_lowcase) \
+ fwrite_lowcase (p, (s), _n); \
+ else if (to_uppcase) \
+ fwrite_uppcase (p, (s), _n); \
+ else \
+ { \
+ /* Ignore the value of fwrite. The caller can determine whether \
+ an error occurred by inspecting ferror (P). All known fwrite \
+ implementations set the stream's error indicator when they \
+ fail due to ENOMEM etc., even though C11 and POSIX.1-2008 do \
+ not require this. */ \
+ fwrite (s, _n, 1, p); \
+ } \
+ } \
+ while (0) \
+ )
+#else
+# define cpy(n, s) \
+ add ((n), \
+ if (to_lowcase) \
+ memcpy_lowcase (p, (s), _n LOCALE_ARG); \
+ else if (to_uppcase) \
+ memcpy_uppcase (p, (s), _n LOCALE_ARG); \
+ else \
+ MEMCPY ((void *) p, (void const *) (s), _n))
+#endif
+
+#ifdef COMPILE_WIDE
+# ifndef USE_IN_EXTENDED_LOCALE_MODEL
+# undef __mbsrtowcs_l
+# define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st)
+# endif
+# define widen(os, ws, l) \
+ { \
+ mbstate_t __st; \
+ const char *__s = os; \
+ memset (&__st, '\0', sizeof (__st)); \
+ l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \
+ ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \
+ (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \
+ }
+#endif
+
+
+#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL
+/* We use this code also for the extended locale handling where the
+ function gets as an additional argument the locale which has to be
+ used. To access the values we have to redefine the _NL_CURRENT
+ macro. */
+# define strftime __strftime_l
+# define wcsftime __wcsftime_l
+# undef _NL_CURRENT
+# define _NL_CURRENT(category, item) \
+ (current->values[_NL_ITEM_INDEX (item)].string)
+# define LOCALE_ARG , loc
+# define LOCALE_PARAM_PROTO , __locale_t loc
+# define HELPER_LOCALE_ARG , current
+#else
+# define LOCALE_PARAM_PROTO
+# define LOCALE_ARG
+# ifdef _LIBC
+# define HELPER_LOCALE_ARG , _NL_CURRENT_DATA (LC_TIME)
+# else
+# define HELPER_LOCALE_ARG
+# endif
+#endif
+
+#ifdef COMPILE_WIDE
+# ifdef USE_IN_EXTENDED_LOCALE_MODEL
+# define TOUPPER(Ch, L) __towupper_l (Ch, L)
+# define TOLOWER(Ch, L) __towlower_l (Ch, L)
+# else
+# define TOUPPER(Ch, L) towupper (Ch)
+# define TOLOWER(Ch, L) towlower (Ch)
+# endif
+#else
+# ifdef USE_IN_EXTENDED_LOCALE_MODEL
+# define TOUPPER(Ch, L) __toupper_l (Ch, L)
+# define TOLOWER(Ch, L) __tolower_l (Ch, L)
+# else
+# define TOUPPER(Ch, L) toupper (Ch)
+# define TOLOWER(Ch, L) tolower (Ch)
+# endif
+#endif
+/* We don't use 'isdigit' here since the locale dependent
+ interpretation is not what we want here. We only need to accept
+ the arabic digits in the ASCII range. One day there is perhaps a
+ more reliable way to accept other sets of digits. */
+#define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9)
+
+#if FPRINTFTIME
+static void
+fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len)
+{
+ while (len-- > 0)
+ {
+ fputc (TOLOWER ((UCHAR_T) *src, loc), fp);
+ ++src;
+ }
+}
+
+static void
+fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len)
+{
+ while (len-- > 0)
+ {
+ fputc (TOUPPER ((UCHAR_T) *src, loc), fp);
+ ++src;
+ }
+}
+#else
+static CHAR_T *
+memcpy_lowcase (CHAR_T *dest, const CHAR_T *src,
+ size_t len LOCALE_PARAM_PROTO)
+{
+ while (len-- > 0)
+ dest[len] = TOLOWER ((UCHAR_T) src[len], loc);
+ return dest;
+}
+
+static CHAR_T *
+memcpy_uppcase (CHAR_T *dest, const CHAR_T *src,
+ size_t len LOCALE_PARAM_PROTO)
+{
+ while (len-- > 0)
+ dest[len] = TOUPPER ((UCHAR_T) src[len], loc);
+ return dest;
+}
+#endif
+
+
+#if ! HAVE_TM_GMTOFF
+/* Yield the difference between *A and *B,
+ measured in seconds, ignoring leap seconds. */
+# define tm_diff ftime_tm_diff
+static int
+tm_diff (const struct tm *a, const struct tm *b)
+{
+ /* Compute intervening leap days correctly even if year is negative.
+ Take care to avoid int overflow in leap day calculations,
+ but it's OK to assume that A and B are close to each other. */
+ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3);
+ int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3);
+ int a100 = a4 / 25 - (a4 % 25 < 0);
+ int b100 = b4 / 25 - (b4 % 25 < 0);
+ int a400 = SHR (a100, 2);
+ int b400 = SHR (b100, 2);
+ int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
+ int years = a->tm_year - b->tm_year;
+ int days = (365 * years + intervening_leap_days
+ + (a->tm_yday - b->tm_yday));
+ return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
+ + (a->tm_min - b->tm_min))
+ + (a->tm_sec - b->tm_sec));
+}
+#endif /* ! HAVE_TM_GMTOFF */
+
+
+
+/* The number of days from the first day of the first ISO week of this
+ year to the year day YDAY with week day WDAY. ISO weeks start on
+ Monday; the first ISO week has the year's first Thursday. YDAY may
+ be as small as YDAY_MINIMUM. */
+#define ISO_WEEK_START_WDAY 1 /* Monday */
+#define ISO_WEEK1_WDAY 4 /* Thursday */
+#define YDAY_MINIMUM (-366)
+#ifdef __GNUC__
+__inline__
+#endif
+static int
+iso_week_days (int yday, int wday)
+{
+ /* Add enough to the first operand of % to make it nonnegative. */
+ int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7;
+ return (yday
+ - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7
+ + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY);
+}
+
+
+/* When compiling this file, GNU applications can #define my_strftime
+ to a symbol (typically nstrftime) to get an extended strftime with
+ extra arguments UT and NS. Emacs is a special case for now, but
+ this Emacs-specific code can be removed once Emacs's config.h
+ defines my_strftime. */
+#if defined emacs && !defined my_strftime
+# define my_strftime nstrftime
+#endif
+
+#if FPRINTFTIME
+# undef my_strftime
+# define my_strftime fprintftime
+#endif
+
+#ifdef my_strftime
+# define extra_args , ut, ns
+# define extra_args_spec , int ut, int ns
+#else
+# if defined COMPILE_WIDE
+# define my_strftime wcsftime
+# define nl_get_alt_digit _nl_get_walt_digit
+# else
+# define my_strftime strftime
+# define nl_get_alt_digit _nl_get_alt_digit
+# endif
+# define extra_args
+# define extra_args_spec
+/* We don't have this information in general. */
+# define ut 0
+# define ns 0
+#endif
+
+
+/* Just like my_strftime, below, but with one more parameter, UPCASE,
+ to indicate that the result should be converted to upper case. */
+static size_t
+strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
+ STRFTIME_ARG (size_t maxsize)
+ const CHAR_T *format,
+ const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO)
+{
+#if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL
+ struct locale_data *const current = loc->__locales[LC_TIME];
+#endif
+#if FPRINTFTIME
+ size_t maxsize = (size_t) -1;
+#endif
+
+ int hour12 = tp->tm_hour;
+#ifdef _NL_CURRENT
+ /* We cannot make the following values variables since we must delay
+ the evaluation of these values until really needed since some
+ expressions might not be valid in every situation. The 'struct tm'
+ might be generated by a strptime() call that initialized
+ only a few elements. Dereference the pointers only if the format
+ requires this. Then it is ok to fail if the pointers are invalid. */
+# define a_wkday \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday))
+# define f_wkday \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday))
+# define a_month \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon))
+# define f_month \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon))
+# define ampm \
+ ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \
+ ? NLW(PM_STR) : NLW(AM_STR)))
+
+# define aw_len STRLEN (a_wkday)
+# define am_len STRLEN (a_month)
+# define ap_len STRLEN (ampm)
+#endif
+ const char *zone;
+ size_t i = 0;
+ STREAM_OR_CHAR_T *p = s;
+ const CHAR_T *f;
+#if DO_MULTIBYTE && !defined COMPILE_WIDE
+ const char *format_end = NULL;
+#endif
+
+#if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST
+ /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned
+ by localtime. On such systems, we must either use the tzset and
+ localtime wrappers to work around the bug (which sets
+ HAVE_RUN_TZSET_TEST) or make a copy of the structure. */
+ struct tm copy = *tp;
+ tp = ©
+#endif
+
+ zone = NULL;
+#if HAVE_TM_ZONE
+ /* The POSIX test suite assumes that setting
+ the environment variable TZ to a new value before calling strftime()
+ will influence the result (the %Z format) even if the information in
+ TP is computed with a totally different time zone.
+ This is bogus: though POSIX allows bad behavior like this,
+ POSIX does not require it. Do the right thing instead. */
+ zone = (const char *) tp->tm_zone;
+#endif
+#if HAVE_TZNAME
+ if (ut)
+ {
+ if (! (zone && *zone))
+ zone = "GMT";
+ }
+ else
+ {
+ /* POSIX.1 requires that local time zone information be used as
+ though strftime called tzset. */
+# if HAVE_TZSET
+ tzset ();
+# endif
+ }
+#endif
+
+ if (hour12 > 12)
+ hour12 -= 12;
+ else
+ if (hour12 == 0)
+ hour12 = 12;
+
+ for (f = format; *f != '\0'; ++f)
+ {
+ int pad = 0; /* Padding for number ('-', '_', or 0). */
+ int modifier; /* Field modifier ('E', 'O', or 0). */
+ int digits = 0; /* Max digits for numeric format. */
+ int number_value; /* Numeric value to be printed. */
+ unsigned int u_number_value; /* (unsigned int) number_value. */
+ bool negative_number; /* The number is negative. */
+ bool always_output_a_sign; /* +/- should always be output. */
+ int tz_colon_mask; /* Bitmask of where ':' should appear. */
+ const CHAR_T *subfmt;
+ CHAR_T sign_char;
+ CHAR_T *bufp;
+ CHAR_T buf[1
+ + 2 /* for the two colons in a %::z or %:::z time zone */
+ + (sizeof (int) < sizeof (time_t)
+ ? INT_STRLEN_BOUND (time_t)
+ : INT_STRLEN_BOUND (int))];
+ int width = -1;
+ bool to_lowcase = false;
+ bool to_uppcase = upcase;
+ size_t colons;
+ bool change_case = false;
+ int format_char;
+
+#if DO_MULTIBYTE && !defined COMPILE_WIDE
+ switch (*f)
+ {
+ case L_('%'):
+ break;
+
+ case L_('\b'): case L_('\t'): case L_('\n'):
+ case L_('\v'): case L_('\f'): case L_('\r'):
+ case L_(' '): case L_('!'): case L_('"'): case L_('#'): case L_('&'):
+ case L_('\''): case L_('('): case L_(')'): case L_('*'): case L_('+'):
+ case L_(','): case L_('-'): case L_('.'): case L_('/'): case L_('0'):
+ case L_('1'): case L_('2'): case L_('3'): case L_('4'): case L_('5'):
+ case L_('6'): case L_('7'): case L_('8'): case L_('9'): case L_(':'):
+ case L_(';'): case L_('<'): case L_('='): case L_('>'): case L_('?'):
+ case L_('A'): case L_('B'): case L_('C'): case L_('D'): case L_('E'):
+ case L_('F'): case L_('G'): case L_('H'): case L_('I'): case L_('J'):
+ case L_('K'): case L_('L'): case L_('M'): case L_('N'): case L_('O'):
+ case L_('P'): case L_('Q'): case L_('R'): case L_('S'): case L_('T'):
+ case L_('U'): case L_('V'): case L_('W'): case L_('X'): case L_('Y'):
+ case L_('Z'): case L_('['): case L_('\\'): case L_(']'): case L_('^'):
+ case L_('_'): case L_('a'): case L_('b'): case L_('c'): case L_('d'):
+ case L_('e'): case L_('f'): case L_('g'): case L_('h'): case L_('i'):
+ case L_('j'): case L_('k'): case L_('l'): case L_('m'): case L_('n'):
+ case L_('o'): case L_('p'): case L_('q'): case L_('r'): case L_('s'):
+ case L_('t'): case L_('u'): case L_('v'): case L_('w'): case L_('x'):
+ case L_('y'): case L_('z'): case L_('{'): case L_('|'): case L_('}'):
+ case L_('~'):
+ /* The C Standard requires these 98 characters (plus '%') to
+ be in the basic execution character set. None of these
+ characters can start a multibyte sequence, so they need
+ not be analyzed further. */
+ add1 (*f);
+ continue;
+
+ default:
+ /* Copy this multibyte sequence until we reach its end, find
+ an error, or come back to the initial shift state. */
+ {
+ mbstate_t mbstate = mbstate_zero;
+ size_t len = 0;
+ size_t fsize;
+
+ if (! format_end)
+ format_end = f + strlen (f) + 1;
+ fsize = format_end - f;
+
+ do
+ {
+ size_t bytes = mbrlen (f + len, fsize - len, &mbstate);
+
+ if (bytes == 0)
+ break;
+
+ if (bytes == (size_t) -2)
+ {
+ len += strlen (f + len);
+ break;
+ }
+
+ if (bytes == (size_t) -1)
+ {
+ len++;
+ break;
+ }
+
+ len += bytes;
+ }
+ while (! mbsinit (&mbstate));
+
+ cpy (len, f);
+ f += len - 1;
+ continue;
+ }
+ }
+
+#else /* ! DO_MULTIBYTE */
+
+ /* Either multibyte encodings are not supported, they are
+ safe for formats, so any non-'%' byte can be copied through,
+ or this is the wide character version. */
+ if (*f != L_('%'))
+ {
+ add1 (*f);
+ continue;
+ }
+
+#endif /* ! DO_MULTIBYTE */
+
+ /* Check for flags that can modify a format. */
+ while (1)
+ {
+ switch (*++f)
+ {
+ /* This influences the number formats. */
+ case L_('_'):
+ case L_('-'):
+ case L_('0'):
+ pad = *f;
+ continue;
+
+ /* This changes textual output. */
+ case L_('^'):
+ to_uppcase = true;
+ continue;
+ case L_('#'):
+ change_case = true;
+ continue;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ /* As a GNU extension we allow to specify the field width. */
+ if (ISDIGIT (*f))
+ {
+ width = 0;
+ do
+ {
+ if (width > INT_MAX / 10
+ || (width == INT_MAX / 10 && *f - L_('0') > INT_MAX % 10))
+ /* Avoid overflow. */
+ width = INT_MAX;
+ else
+ {
+ width *= 10;
+ width += *f - L_('0');
+ }
+ ++f;
+ }
+ while (ISDIGIT (*f));
+ }
+
+ /* Check for modifiers. */
+ switch (*f)
+ {
+ case L_('E'):
+ case L_('O'):
+ modifier = *f++;
+ break;
+
+ default:
+ modifier = 0;
+ break;
+ }
+
+ /* Now do the specified format. */
+ format_char = *f;
+ switch (format_char)
+ {
+#define DO_NUMBER(d, v) \
+ do \
+ { \
+ digits = d; \
+ number_value = v; \
+ goto do_number; \
+ } \
+ while (0)
+#define DO_SIGNED_NUMBER(d, negative, v) \
+ do \
+ { \
+ digits = d; \
+ negative_number = negative; \
+ u_number_value = v; \
+ goto do_signed_number; \
+ } \
+ while (0)
+
+ /* The mask is not what you might think.
+ When the ordinal i'th bit is set, insert a colon
+ before the i'th digit of the time zone representation. */
+#define DO_TZ_OFFSET(d, negative, mask, v) \
+ do \
+ { \
+ digits = d; \
+ negative_number = negative; \
+ tz_colon_mask = mask; \
+ u_number_value = v; \
+ goto do_tz_offset; \
+ } \
+ while (0)
+#define DO_NUMBER_SPACEPAD(d, v) \
+ do \
+ { \
+ digits = d; \
+ number_value = v; \
+ goto do_number_spacepad; \
+ } \
+ while (0)
+
+ case L_('%'):
+ if (modifier != 0)
+ goto bad_format;
+ add1 (*f);
+ break;
+
+ case L_('a'):
+ if (modifier != 0)
+ goto bad_format;
+ if (change_case)
+ {
+ to_uppcase = true;
+ to_lowcase = false;
+ }
+#ifdef _NL_CURRENT
+ cpy (aw_len, a_wkday);
+ break;
+#else
+ goto underlying_strftime;
+#endif
+
+ case 'A':
+ if (modifier != 0)
+ goto bad_format;
+ if (change_case)
+ {
+ to_uppcase = true;
+ to_lowcase = false;
+ }
+#ifdef _NL_CURRENT
+ cpy (STRLEN (f_wkday), f_wkday);
+ break;
+#else
+ goto underlying_strftime;
+#endif
+
+ case L_('b'):
+ case L_('h'):
+ if (change_case)
+ {
+ to_uppcase = true;
+ to_lowcase = false;
+ }
+ if (modifier != 0)
+ goto bad_format;
+#ifdef _NL_CURRENT
+ cpy (am_len, a_month);
+ break;
+#else
+ goto underlying_strftime;
+#endif
+
+ case L_('B'):
+ if (modifier != 0)
+ goto bad_format;
+ if (change_case)
+ {
+ to_uppcase = true;
+ to_lowcase = false;
+ }
+#ifdef _NL_CURRENT
+ cpy (STRLEN (f_month), f_month);
+ break;
+#else
+ goto underlying_strftime;
+#endif
+
+ case L_('c'):
+ if (modifier == L_('O'))
+ goto bad_format;
+#ifdef _NL_CURRENT
+ if (! (modifier == 'E'
+ && (*(subfmt =
+ (const CHAR_T *) _NL_CURRENT (LC_TIME,
+ NLW(ERA_D_T_FMT)))
+ != '\0')))
+ subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_T_FMT));
+#else
+ goto underlying_strftime;
+#endif
+
+ subformat:
+ {
+ size_t len = strftime_case_ (to_uppcase,
+ NULL, STRFTIME_ARG ((size_t) -1)
+ subfmt,
+ tp extra_args LOCALE_ARG);
+ add (len, strftime_case_ (to_uppcase, p,
+ STRFTIME_ARG (maxsize - i)
+ subfmt,
+ tp extra_args LOCALE_ARG));
+ }
+ break;
+
+#if !(defined _NL_CURRENT && HAVE_STRUCT_ERA_ENTRY)
+ underlying_strftime:
+ {
+ /* The relevant information is available only via the
+ underlying strftime implementation, so use that. */
+ char ufmt[5];
+ char *u = ufmt;
+ char ubuf[1024]; /* enough for any single format in practice */
+ size_t len;
+ /* Make sure we're calling the actual underlying strftime.
+ In some cases, config.h contains something like
+ "#define strftime rpl_strftime". */
+# ifdef strftime
+# undef strftime
+ size_t strftime ();
+# endif
+
+ /* The space helps distinguish strftime failure from empty
+ output. */
+ *u++ = ' ';
+ *u++ = '%';
+ if (modifier != 0)
+ *u++ = modifier;
+ *u++ = format_char;
+ *u = '\0';
+ len = strftime (ubuf, sizeof ubuf, ufmt, tp);
+ if (len != 0)
+ cpy (len - 1, ubuf + 1);
+ }
+ break;
+#endif
+
+ case L_('C'):
+ if (modifier == L_('O'))
+ goto bad_format;
+ if (modifier == L_('E'))
+ {
+#if HAVE_STRUCT_ERA_ENTRY
+ struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG);
+ if (era)
+ {
+# ifdef COMPILE_WIDE
+ size_t len = __wcslen (era->era_wname);
+ cpy (len, era->era_wname);
+# else
+ size_t len = strlen (era->era_name);
+ cpy (len, era->era_name);
+# endif
+ break;
+ }
+#else
+ goto underlying_strftime;
+#endif
+ }
+
+ {
+ int century = tp->tm_year / 100 + TM_YEAR_BASE / 100;
+ century -= tp->tm_year % 100 < 0 && 0 < century;
+ DO_SIGNED_NUMBER (2, tp->tm_year < - TM_YEAR_BASE, century);
+ }
+
+ case L_('x'):
+ if (modifier == L_('O'))
+ goto bad_format;
+#ifdef _NL_CURRENT
+ if (! (modifier == L_('E')
+ && (*(subfmt =
+ (const CHAR_T *)_NL_CURRENT (LC_TIME, NLW(ERA_D_FMT)))
+ != L_('\0'))))
+ subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_FMT));
+ goto subformat;
+#else
+ goto underlying_strftime;
+#endif
+ case L_('D'):
+ if (modifier != 0)
+ goto bad_format;
+ subfmt = L_("%m/%d/%y");
+ goto subformat;
+
+ case L_('d'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, tp->tm_mday);
+
+ case L_('e'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER_SPACEPAD (2, tp->tm_mday);
+
+ /* All numeric formats set DIGITS and NUMBER_VALUE (or U_NUMBER_VALUE)
+ and then jump to one of these labels. */
+
+ do_tz_offset:
+ always_output_a_sign = true;
+ goto do_number_body;
+
+ do_number_spacepad:
+ /* Force '_' flag unless overridden by '0' or '-' flag. */
+ if (pad != L_('0') && pad != L_('-'))
+ pad = L_('_');
+
+ do_number:
+ /* Format NUMBER_VALUE according to the MODIFIER flag. */
+ negative_number = number_value < 0;
+ u_number_value = number_value;
+
+ do_signed_number:
+ always_output_a_sign = false;
+ tz_colon_mask = 0;
+
+ do_number_body:
+ /* Format U_NUMBER_VALUE according to the MODIFIER flag.
+ NEGATIVE_NUMBER is nonzero if the original number was
+ negative; in this case it was converted directly to
+ unsigned int (i.e., modulo (UINT_MAX + 1)) without
+ negating it. */
+ if (modifier == L_('O') && !negative_number)
+ {
+#ifdef _NL_CURRENT
+ /* Get the locale specific alternate representation of
+ the number. If none exist NULL is returned. */
+ const CHAR_T *cp = nl_get_alt_digit (u_number_value
+ HELPER_LOCALE_ARG);
+
+ if (cp != NULL)
+ {
+ size_t digitlen = STRLEN (cp);
+ if (digitlen != 0)
+ {
+ cpy (digitlen, cp);
+ break;
+ }
+ }
+#else
+ goto underlying_strftime;
+#endif
+ }
+
+ bufp = buf + sizeof (buf) / sizeof (buf[0]);
+
+ if (negative_number)
+ u_number_value = - u_number_value;
+
+ do
+ {
+ if (tz_colon_mask & 1)
+ *--bufp = ':';
+ tz_colon_mask >>= 1;
+ *--bufp = u_number_value % 10 + L_('0');
+ u_number_value /= 10;
+ }
+ while (u_number_value != 0 || tz_colon_mask != 0);
+
+ do_number_sign_and_padding:
+ if (digits < width)
+ digits = width;
+
+ sign_char = (negative_number ? L_('-')
+ : always_output_a_sign ? L_('+')
+ : 0);
+
+ if (pad == L_('-'))
+ {
+ if (sign_char)
+ add1 (sign_char);
+ }
+ else
+ {
+ int padding = digits - (buf + (sizeof (buf) / sizeof (buf[0]))
+ - bufp) - !!sign_char;
+
+ if (padding > 0)
+ {
+ if (pad == L_('_'))
+ {
+ if ((size_t) padding >= maxsize - i)
+ return 0;
+
+ if (p)
+ memset_space (p, padding);
+ i += padding;
+ width = width > padding ? width - padding : 0;
+ if (sign_char)
+ add1 (sign_char);
+ }
+ else
+ {
+ if ((size_t) digits >= maxsize - i)
+ return 0;
+
+ if (sign_char)
+ add1 (sign_char);
+
+ if (p)
+ memset_zero (p, padding);
+ i += padding;
+ width = 0;
+ }
+ }
+ else
+ {
+ if (sign_char)
+ add1 (sign_char);
+ }
+ }
+
+ cpy (buf + sizeof (buf) / sizeof (buf[0]) - bufp, bufp);
+ break;
+
+ case L_('F'):
+ if (modifier != 0)
+ goto bad_format;
+ subfmt = L_("%Y-%m-%d");
+ goto subformat;
+
+ case L_('H'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, tp->tm_hour);
+
+ case L_('I'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, hour12);
+
+ case L_('k'): /* GNU extension. */
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER_SPACEPAD (2, tp->tm_hour);
+
+ case L_('l'): /* GNU extension. */
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER_SPACEPAD (2, hour12);
+
+ case L_('j'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_SIGNED_NUMBER (3, tp->tm_yday < -1, tp->tm_yday + 1U);
+
+ case L_('M'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, tp->tm_min);
+
+ case L_('m'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_SIGNED_NUMBER (2, tp->tm_mon < -1, tp->tm_mon + 1U);
+
+#ifndef _LIBC
+ case L_('N'): /* GNU extension. */
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ number_value = ns;
+ if (width == -1)
+ width = 9;
+ else
+ {
+ /* Take an explicit width less than 9 as a precision. */
+ int j;
+ for (j = width; j < 9; j++)
+ number_value /= 10;
+ }
+
+ DO_NUMBER (width, number_value);
+#endif
+
+ case L_('n'):
+ add1 (L_('\n'));
+ break;
+
+ case L_('P'):
+ to_lowcase = true;
+#ifndef _NL_CURRENT
+ format_char = L_('p');
+#endif
+ /* FALLTHROUGH */
+
+ case L_('p'):
+ if (change_case)
+ {
+ to_uppcase = false;
+ to_lowcase = true;
+ }
+#ifdef _NL_CURRENT
+ cpy (ap_len, ampm);
+ break;
+#else
+ goto underlying_strftime;
+#endif
+
+ case L_('R'):
+ subfmt = L_("%H:%M");
+ goto subformat;
+
+ case L_('r'):
+#ifdef _NL_CURRENT
+ if (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME,
+ NLW(T_FMT_AMPM)))
+ == L_('\0'))
+ subfmt = L_("%I:%M:%S %p");
+ goto subformat;
+#else
+ goto underlying_strftime;
+#endif
+
+ case L_('S'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, tp->tm_sec);
+
+ case L_('s'): /* GNU extension. */
+ {
+ struct tm ltm;
+ time_t t;
+
+ ltm = *tp;
+ t = mktime (<m);
+
+ /* Generate string value for T using time_t arithmetic;
+ this works even if sizeof (long) < sizeof (time_t). */
+
+ bufp = buf + sizeof (buf) / sizeof (buf[0]);
+ negative_number = t < 0;
+
+ do
+ {
+ int d = t % 10;
+ t /= 10;
+ *--bufp = (negative_number ? -d : d) + L_('0');
+ }
+ while (t != 0);
+
+ digits = 1;
+ always_output_a_sign = false;
+ goto do_number_sign_and_padding;
+ }
+
+ case L_('X'):
+ if (modifier == L_('O'))
+ goto bad_format;
+#ifdef _NL_CURRENT
+ if (! (modifier == L_('E')
+ && (*(subfmt =
+ (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_T_FMT)))
+ != L_('\0'))))
+ subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT));
+ goto subformat;
+#else
+ goto underlying_strftime;
+#endif
+ case L_('T'):
+ subfmt = L_("%H:%M:%S");
+ goto subformat;
+
+ case L_('t'):
+ add1 (L_('\t'));
+ break;
+
+ case L_('u'):
+ DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1);
+
+ case L_('U'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, (tp->tm_yday - tp->tm_wday + 7) / 7);
+
+ case L_('V'):
+ case L_('g'):
+ case L_('G'):
+ if (modifier == L_('E'))
+ goto bad_format;
+ {
+ /* YEAR is a leap year if and only if (tp->tm_year + TM_YEAR_BASE)
+ is a leap year, except that YEAR and YEAR - 1 both work
+ correctly even when (tp->tm_year + TM_YEAR_BASE) would
+ overflow. */
+ int year = (tp->tm_year
+ + (tp->tm_year < 0
+ ? TM_YEAR_BASE % 400
+ : TM_YEAR_BASE % 400 - 400));
+ int year_adjust = 0;
+ int days = iso_week_days (tp->tm_yday, tp->tm_wday);
+
+ if (days < 0)
+ {
+ /* This ISO week belongs to the previous year. */
+ year_adjust = -1;
+ days = iso_week_days (tp->tm_yday + (365 + __isleap (year - 1)),
+ tp->tm_wday);
+ }
+ else
+ {
+ int d = iso_week_days (tp->tm_yday - (365 + __isleap (year)),
+ tp->tm_wday);
+ if (0 <= d)
+ {
+ /* This ISO week belongs to the next year. */
+ year_adjust = 1;
+ days = d;
+ }
+ }
+
+ switch (*f)
+ {
+ case L_('g'):
+ {
+ int yy = (tp->tm_year % 100 + year_adjust) % 100;
+ DO_NUMBER (2, (0 <= yy
+ ? yy
+ : tp->tm_year < -TM_YEAR_BASE - year_adjust
+ ? -yy
+ : yy + 100));
+ }
+
+ case L_('G'):
+ DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE - year_adjust,
+ (tp->tm_year + (unsigned int) TM_YEAR_BASE
+ + year_adjust));
+
+ default:
+ DO_NUMBER (2, days / 7 + 1);
+ }
+ }
+
+ case L_('W'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (2, (tp->tm_yday - (tp->tm_wday - 1 + 7) % 7 + 7) / 7);
+
+ case L_('w'):
+ if (modifier == L_('E'))
+ goto bad_format;
+
+ DO_NUMBER (1, tp->tm_wday);
+
+ case L_('Y'):
+ if (modifier == 'E')
+ {
+#if HAVE_STRUCT_ERA_ENTRY
+ struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG);
+ if (era)
+ {
+# ifdef COMPILE_WIDE
+ subfmt = era->era_wformat;
+# else
+ subfmt = era->era_format;
+# endif
+ goto subformat;
+ }
+#else
+ goto underlying_strftime;
+#endif
+ }
+ if (modifier == L_('O'))
+ goto bad_format;
+
+ DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE,
+ tp->tm_year + (unsigned int) TM_YEAR_BASE);
+
+ case L_('y'):
+ if (modifier == L_('E'))
+ {
+#if HAVE_STRUCT_ERA_ENTRY
+ struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG);
+ if (era)
+ {
+ int delta = tp->tm_year - era->start_date[0];
+ DO_NUMBER (1, (era->offset
+ + delta * era->absolute_direction));
+ }
+#else
+ goto underlying_strftime;
+#endif
+ }
+
+ {
+ int yy = tp->tm_year % 100;
+ if (yy < 0)
+ yy = tp->tm_year < - TM_YEAR_BASE ? -yy : yy + 100;
+ DO_NUMBER (2, yy);
+ }
+
+ case L_('Z'):
+ if (change_case)
+ {
+ to_uppcase = false;
+ to_lowcase = true;
+ }
+
+#if HAVE_TZNAME
+ /* The tzset() call might have changed the value. */
+ if (!(zone && *zone) && tp->tm_isdst >= 0)
+ zone = tzname[tp->tm_isdst != 0];
+#endif
+ if (! zone)
+ zone = "";
+
+#ifdef COMPILE_WIDE
+ {
+ /* The zone string is always given in multibyte form. We have
+ to transform it first. */
+ wchar_t *wczone;
+ size_t len;
+ widen (zone, wczone, len);
+ cpy (len, wczone);
+ }
+#else
+ cpy (strlen (zone), zone);
+#endif
+ break;
+
+ case L_(':'):
+ /* :, ::, and ::: are valid only just before 'z'.
+ :::: etc. are rejected later. */
+ for (colons = 1; f[colons] == L_(':'); colons++)
+ continue;
+ if (f[colons] != L_('z'))
+ goto bad_format;
+ f += colons;
+ goto do_z_conversion;
+
+ case L_('z'):
+ colons = 0;
+
+ do_z_conversion:
+ if (tp->tm_isdst < 0)
+ break;
+
+ {
+ int diff;
+ int hour_diff;
+ int min_diff;
+ int sec_diff;
+#if HAVE_TM_GMTOFF
+ diff = tp->tm_gmtoff;
+#else
+ if (ut)
+ diff = 0;
+ else
+ {
+ struct tm gtm;
+ struct tm ltm;
+ time_t lt;
+
+ ltm = *tp;
+ lt = mktime (<m);
+
+ if (lt == (time_t) -1)
+ {
+ /* mktime returns -1 for errors, but -1 is also a
+ valid time_t value. Check whether an error really
+ occurred. */
+ struct tm tm;
+
+ if (! __localtime_r (<, &tm)
+ || ((ltm.tm_sec ^ tm.tm_sec)
+ | (ltm.tm_min ^ tm.tm_min)
+ | (ltm.tm_hour ^ tm.tm_hour)
+ | (ltm.tm_mday ^ tm.tm_mday)
+ | (ltm.tm_mon ^ tm.tm_mon)
+ | (ltm.tm_year ^ tm.tm_year)))
+ break;
+ }
+
+ if (! __gmtime_r (<, >m))
+ break;
+
+ diff = tm_diff (<m, >m);
+ }
+#endif
+
+ hour_diff = diff / 60 / 60;
+ min_diff = diff / 60 % 60;
+ sec_diff = diff % 60;
+
+ switch (colons)
+ {
+ case 0: /* +hhmm */
+ DO_TZ_OFFSET (5, diff < 0, 0, hour_diff * 100 + min_diff);
+
+ case 1: tz_hh_mm: /* +hh:mm */
+ DO_TZ_OFFSET (6, diff < 0, 04, hour_diff * 100 + min_diff);
+
+ case 2: tz_hh_mm_ss: /* +hh:mm:ss */
+ DO_TZ_OFFSET (9, diff < 0, 024,
+ hour_diff * 10000 + min_diff * 100 + sec_diff);
+
+ case 3: /* +hh if possible, else +hh:mm, else +hh:mm:ss */
+ if (sec_diff != 0)
+ goto tz_hh_mm_ss;
+ if (min_diff != 0)
+ goto tz_hh_mm;
+ DO_TZ_OFFSET (3, diff < 0, 0, hour_diff);
+
+ default:
+ goto bad_format;
+ }
+ }
+
+ case L_('\0'): /* GNU extension: % at end of format. */
+ --f;
+ /* Fall through. */
+ default:
+ /* Unknown format; output the format, including the '%',
+ since this is most likely the right thing to do if a
+ multibyte string has been misparsed. */
+ bad_format:
+ {
+ int flen;
+ for (flen = 1; f[1 - flen] != L_('%'); flen++)
+ continue;
+ cpy (flen, &f[1 - flen]);
+ }
+ break;
+ }
+ }
+
+#if ! FPRINTFTIME
+ if (p && maxsize != 0)
+ *p = L_('\0');
+#endif
+
+ return i;
+}
+
+/* Write information from TP into S according to the format
+ string FORMAT, writing no more that MAXSIZE characters
+ (including the terminating '\0') and returning number of
+ characters written. If S is NULL, nothing will be written
+ anywhere, so to determine how many characters would be
+ written, use NULL for S and (size_t) -1 for MAXSIZE. */
+size_t
+my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
+ const CHAR_T *format,
+ const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO)
+{
+ return strftime_case_ (false, s, STRFTIME_ARG (maxsize)
+ format, tp extra_args LOCALE_ARG);
+}
+
+#if defined _LIBC && ! FPRINTFTIME
+libc_hidden_def (my_strftime)
+#endif
+
+
+#if defined emacs && ! FPRINTFTIME
+/* For Emacs we have a separate interface which corresponds to the normal
+ strftime function plus the ut argument, but without the ns argument. */
+size_t
+emacs_strftimeu (char *s, size_t maxsize, const char *format,
+ const struct tm *tp, int ut)
+{
+ return my_strftime (s, maxsize, format, tp, ut, 0);
+}
+#endif
diff --git a/gnu/strftime.h b/gnu/strftime.h
new file mode 100644
index 0000000..eaeabe8
--- /dev/null
+++ b/gnu/strftime.h
@@ -0,0 +1,36 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* declarations for strftime.c
+
+ Copyright (C) 2002, 2004, 2008-2014 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 of the License, 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, see . */
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Just like strftime, but with two more arguments:
+ POSIX requires that strftime use the local timezone information.
+ When __UTC is nonzero and tm->tm_zone is NULL or the empty string,
+ use UTC instead. Use __NS as the number of nanoseconds in the
+ %N directive. */
+size_t nstrftime (char *, size_t, char const *, struct tm const *,
+ int __utc, int __ns);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/gnu/string.in.h b/gnu/string.in.h
index 8cac7f8..9719782 100644
--- a/gnu/string.in.h
+++ b/gnu/string.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A GNU-like .
- Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2014 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
diff --git a/gnu/strings.in.h b/gnu/strings.in.h
index 1dc3c3a..c3d4613 100644
--- a/gnu/strings.in.h
+++ b/gnu/strings.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A substitute .
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/stripslash.c b/gnu/stripslash.c
index f26a8ff..f9e7c13 100644
--- a/gnu/stripslash.c
+++ b/gnu/stripslash.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* stripslash.c -- remove redundant trailing slashes from a file name
- Copyright (C) 1990, 2001, 2003-2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 1990, 2001, 2003-2006, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/strncasecmp.c b/gnu/strncasecmp.c
index 44196fd..b3f482c 100644
--- a/gnu/strncasecmp.c
+++ b/gnu/strncasecmp.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* strncasecmp.c -- case insensitive string comparator
- Copyright (C) 1998-1999, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2007, 2009-2014 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
diff --git a/gnu/strndup.c b/gnu/strndup.c
index ffb50c5..34fb360 100644
--- a/gnu/strndup.c
+++ b/gnu/strndup.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A replacement function, for systems that lack strndup.
- Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software
+ Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
diff --git a/gnu/strnlen.c b/gnu/strnlen.c
index 07f8030..09a7866 100644
--- a/gnu/strnlen.c
+++ b/gnu/strnlen.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Find the length of STRING, but scan at most MAXLEN characters.
- Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
Written by Simon Josefsson.
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/strnlen1.c b/gnu/strnlen1.c
index 5a378fa..70a2ed1 100644
--- a/gnu/strnlen1.c
+++ b/gnu/strnlen1.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/strnlen1.h b/gnu/strnlen1.h
index 81ea133..ae247a0 100644
--- a/gnu/strnlen1.h
+++ b/gnu/strnlen1.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
- Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2014 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
diff --git a/gnu/strtoimax.c b/gnu/strtoimax.c
index 740d505..8e7dfbf 100644
--- a/gnu/strtoimax.c
+++ b/gnu/strtoimax.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert string representation of a number into an intmax_t value.
- Copyright (C) 1999, 2001-2004, 2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 1999, 2001-2004, 2006, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -30,48 +30,55 @@
#include "verify.h"
#ifdef UNSIGNED
-# ifndef HAVE_DECL_STRTOULL
+# if HAVE_UNSIGNED_LONG_LONG_INT
+# ifndef HAVE_DECL_STRTOULL
"this configure-time declaration test was not run"
-# endif
-# if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG_INT
+# endif
+# if !HAVE_DECL_STRTOULL
unsigned long long int strtoull (char const *, char **, int);
+# endif
# endif
#else
-# ifndef HAVE_DECL_STRTOLL
+# if HAVE_LONG_LONG_INT
+# ifndef HAVE_DECL_STRTOLL
"this configure-time declaration test was not run"
-# endif
-# if !HAVE_DECL_STRTOLL && HAVE_LONG_LONG_INT
+# endif
+# if !HAVE_DECL_STRTOLL
long long int strtoll (char const *, char **, int);
+# endif
# endif
#endif
#ifdef UNSIGNED
# define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT
# define Int uintmax_t
+# define Strtoimax strtoumax
+# define Strtol strtoul
+# define Strtoll strtoull
# define Unsigned unsigned
-# define strtoimax strtoumax
-# define strtol strtoul
-# define strtoll strtoull
#else
# define Have_long_long HAVE_LONG_LONG_INT
# define Int intmax_t
+# define Strtoimax strtoimax
+# define Strtol strtol
+# define Strtoll strtoll
# define Unsigned
#endif
Int
-strtoimax (char const *ptr, char **endptr, int base)
+Strtoimax (char const *ptr, char **endptr, int base)
{
#if Have_long_long
verify (sizeof (Int) == sizeof (Unsigned long int)
|| sizeof (Int) == sizeof (Unsigned long long int));
if (sizeof (Int) != sizeof (Unsigned long int))
- return strtoll (ptr, endptr, base);
+ return Strtoll (ptr, endptr, base);
#else
verify (sizeof (Int) == sizeof (Unsigned long int));
#endif
- return strtol (ptr, endptr, base);
+ return Strtol (ptr, endptr, base);
}
diff --git a/gnu/strtol.c b/gnu/strtol.c
index 33d413a..6e2fd82 100644
--- a/gnu/strtol.c
+++ b/gnu/strtol.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert string representation of a number into an integer value.
- Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2013 Free Software
+ Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2014 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/gnu/strtoll.c b/gnu/strtoll.c
new file mode 100644
index 0000000..04c95bc
--- /dev/null
+++ b/gnu/strtoll.c
@@ -0,0 +1,35 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Function to parse a 'long long int' from text.
+ Copyright (C) 1995-1997, 1999, 2001, 2009-2014 Free Software Foundation,
+ Inc.
+ This file is part of the GNU C Library.
+
+ 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 of the License, 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, see . */
+
+#define QUAD 1
+
+#include
+
+#ifdef _LIBC
+# ifdef SHARED
+# include
+
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
+compat_symbol (libc, __strtoll_internal, __strtoq_internal, GLIBC_2_0);
+# endif
+
+# endif
+weak_alias (strtoll, strtoq)
+#endif
diff --git a/gnu/strtoul.c b/gnu/strtoul.c
index 8ed564c..eda4dd2 100644
--- a/gnu/strtoul.c
+++ b/gnu/strtoul.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1991, 1997, 2009-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 2009-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/strtoull.c b/gnu/strtoull.c
index d282da0..3d3a7f0 100644
--- a/gnu/strtoull.c
+++ b/gnu/strtoull.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Function to parse an 'unsigned long long int' from text.
- Copyright (C) 1995-1997, 1999, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 1999, 2009-2014 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
Library. Bugs can be reported to bug-glibc@gnu.org.
diff --git a/gnu/symlink.c b/gnu/symlink.c
index 1ad14a7..10936d4 100644
--- a/gnu/symlink.c
+++ b/gnu/symlink.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Stub for symlink().
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/symlinkat.c b/gnu/symlinkat.c
index e8268c3..e63bf47 100644
--- a/gnu/symlinkat.c
+++ b/gnu/symlinkat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a symlink relative to an open directory.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/sys_stat.in.h b/gnu/sys_stat.in.h
index 5cf467a..1cfcd83 100644
--- a/gnu/sys_stat.in.h
+++ b/gnu/sys_stat.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide a more complete sys/stat header file.
- Copyright (C) 2005-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2014 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
diff --git a/gnu/sys_time.in.h b/gnu/sys_time.in.h
index 6b51c02..a8c28c0 100644
--- a/gnu/sys_time.in.h
+++ b/gnu/sys_time.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide a more complete sys/time.h.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
@@ -26,11 +26,12 @@
#endif
@PRAGMA_COLUMNS@
-/* On Cygwin, includes itself recursively via .
+/* On Cygwin and on many BSDish systems, includes itself
+ recursively via .
Simply delegate to the system's header in this case; it is a no-op.
Without this extra ifdef, the C++ gettimeofday declaration below
would be a forward declaration in gnulib's nested . */
-#ifdef _CYGWIN_SYS_TIME_H
+#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_
# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
#else
diff --git a/gnu/sys_types.in.h b/gnu/sys_types.in.h
index 2c2b47d..593dce0 100644
--- a/gnu/sys_types.in.h
+++ b/gnu/sys_types.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Provide a more complete sys/types.h.
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2014 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
@@ -25,7 +25,9 @@
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
/* The include_next requires a split double-inclusion guard. */
+# define _GL_INCLUDING_SYS_TYPES_H
#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
#define _@GUARD_PREFIX@_SYS_TYPES_H
diff --git a/gnu/sysexits.in.h b/gnu/sysexits.in.h
index c83400d..a1ea3c6 100644
--- a/gnu/sysexits.in.h
+++ b/gnu/sysexits.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* exit() exit codes for some BSD system programs.
- Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2014 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
diff --git a/gnu/tempname.c b/gnu/tempname.c
index 8fed363..8dbcb50 100644
--- a/gnu/tempname.c
+++ b/gnu/tempname.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* tempname.c - generate the name of a temporary file.
- Copyright (C) 1991-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1991-2003, 2005-2007, 2009-2014 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
diff --git a/gnu/tempname.h b/gnu/tempname.h
index e4076ce..f133161 100644
--- a/gnu/tempname.h
+++ b/gnu/tempname.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Create a temporary file or directory.
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2014 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
diff --git a/gnu/time.in.h b/gnu/time.in.h
index 7dcac1d..6142964 100644
--- a/gnu/time.in.h
+++ b/gnu/time.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A more-standard .
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
@@ -50,20 +50,13 @@
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
Or they define it with the wrong member names or define it in
- (e.g., FreeBSD circa 1997). Stock Mingw does not define it, but the
- pthreads-win32 library defines it in . */
+ (e.g., FreeBSD circa 1997). Stock Mingw prior to 3.0 does not define it,
+ but the pthreads-win32 library defines it in . */
# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
# include
# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
# include
-/* The pthreads-win32 also defines a couple of broken macros. */
-# undef asctime_r
-# undef ctime_r
-# undef gmtime_r
-# undef localtime_r
-# undef rand_r
-# undef strtok_r
# else
# ifdef __cplusplus
@@ -189,6 +182,39 @@ _GL_CXXALIASWARN (gmtime_r);
# endif
# endif
+/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
+ and
+ . */
+# if @GNULIB_GETTIMEOFDAY@
+# if @REPLACE_LOCALTIME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef localtime
+# define localtime rpl_localtime
+# endif
+_GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
+# else
+_GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
+# endif
+_GL_CXXALIASWARN (localtime);
+# endif
+
+# if @GNULIB_GETTIMEOFDAY@
+# if @REPLACE_GMTIME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gmtime
+# define gmtime rpl_gmtime
+# endif
+_GL_FUNCDECL_RPL (gmtime, struct tm *, (time_t const *__timer)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gmtime, struct tm *, (time_t const *__timer));
+# else
+_GL_CXXALIAS_SYS (gmtime, struct tm *, (time_t const *__timer));
+# endif
+_GL_CXXALIASWARN (gmtime);
+# endif
+
/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
the resulting broken-down time into TM. See
. */
diff --git a/gnu/time_r.c b/gnu/time_r.c
index 19c956e..773a47e 100644
--- a/gnu/time_r.c
+++ b/gnu/time_r.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Reentrant time functions like localtime_r.
- Copyright (C) 2003, 2006-2007, 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2010-2014 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
diff --git a/gnu/timespec.h b/gnu/timespec.h
index 18df4f0..1621d84 100644
--- a/gnu/timespec.h
+++ b/gnu/timespec.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* timespec -- System time interface
- Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2013 Free Software
+ Copyright (C) 2000, 2002, 2004-2005, 2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
@@ -23,11 +23,31 @@
# include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_TIMESPEC_INLINE
# define _GL_TIMESPEC_INLINE _GL_INLINE
#endif
+/* Resolution of timespec time stamps (in units per second), and log
+ base 10 of the resolution. */
+
+enum { TIMESPEC_RESOLUTION = 1000000000 };
+enum { LOG10_TIMESPEC_RESOLUTION = 9 };
+
+/* Return a timespec with seconds S and nanoseconds NS. */
+
+_GL_TIMESPEC_INLINE struct timespec
+make_timespec (time_t s, long int ns)
+{
+ struct timespec r;
+ r.tv_sec = s;
+ r.tv_nsec = ns;
+ return r;
+}
+
/* Return negative, zero, positive if A < B, A == B, A > B, respectively.
For each time stamp T, this code assumes that either:
diff --git a/gnu/ttyname_r.c b/gnu/ttyname_r.c
new file mode 100644
index 0000000..f1d13d1
--- /dev/null
+++ b/gnu/ttyname_r.c
@@ -0,0 +1,88 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Determine name of a terminal.
+
+ Copyright (C) 2010-2014 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 of the License, 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, see . */
+
+/* Written by Bruno Haible , 2010. */
+
+#include
+
+#include
+
+#include
+#include
+#include
+
+int
+ttyname_r (int fd, char *buf, size_t buflen)
+#undef ttyname_r
+{
+ /* When ttyname_r exists, use it. */
+#if HAVE_TTYNAME_R
+ /* This code is multithread-safe. */
+ /* On Solaris, ttyname_r always fails if buflen < 128. On OSF/1 5.1,
+ ttyname_r ignores the buffer size and assumes the buffer is large enough.
+ So provide a buffer that is large enough. */
+ char largerbuf[512];
+# if HAVE_POSIXDECL_TTYNAME_R
+ int err =
+ (buflen < sizeof (largerbuf)
+ ? ttyname_r (fd, largerbuf, sizeof (largerbuf))
+ : ttyname_r (fd, buf, buflen <= INT_MAX ? buflen : INT_MAX));
+ if (err != 0)
+ return err;
+ if (buflen < sizeof (largerbuf))
+ {
+ size_t namelen = strlen (largerbuf) + 1;
+ if (namelen > buflen)
+ return ERANGE;
+ memcpy (buf, largerbuf, namelen);
+ }
+# else
+ char *name =
+ (buflen < sizeof (largerbuf)
+ ? ttyname_r (fd, largerbuf, sizeof (largerbuf))
+ : ttyname_r (fd, buf, buflen <= INT_MAX ? buflen : INT_MAX));
+ if (name == NULL)
+ return errno;
+ if (name != buf)
+ {
+ size_t namelen = strlen (name) + 1;
+ if (namelen > buflen)
+ return ERANGE;
+ memmove (buf, name, namelen);
+ }
+# endif
+ return 0;
+#elif HAVE_TTYNAME
+ /* Note: This is not multithread-safe. */
+ char *name;
+ size_t namelen;
+
+ name = ttyname (fd);
+ if (name == NULL)
+ return errno;
+ namelen = strlen (name) + 1;
+ if (namelen > buflen)
+ return ERANGE;
+ memcpy (buf, name, namelen);
+ return 0;
+#else
+ /* Platforms like mingw: no ttys exist at all. */
+ return ENOTTY;
+#endif
+}
diff --git a/gnu/unistd--.h b/gnu/unistd--.h
index 4ffc852..2a5c7e6 100644
--- a/gnu/unistd--.h
+++ b/gnu/unistd--.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Like unistd.h, but redefine some names to avoid glitches.
- Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2014 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
diff --git a/gnu/unistd-safer.h b/gnu/unistd-safer.h
index 2754f42..def53d7 100644
--- a/gnu/unistd-safer.h
+++ b/gnu/unistd-safer.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Invoke unistd-like functions, but avoid some glitches.
- Copyright (C) 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2005, 2009-2014 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
diff --git a/gnu/unistd.in.h b/gnu/unistd.in.h
index 7a8a7e7..c43d48c 100644
--- a/gnu/unistd.in.h
+++ b/gnu/unistd.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Substitute for and wrapper around .
- Copyright (C) 2003-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003-2014 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
@@ -23,9 +23,23 @@
#endif
@PRAGMA_COLUMNS@
+#ifdef _GL_INCLUDING_UNISTD_H
+/* Special invocation convention:
+ - On Mac OS X 10.3.9 we have a sequence of nested includes
+ -> -> ->
+ In this situation, the functions are not yet declared, therefore we cannot
+ provide the C++ aliases. */
+
+#@INCLUDE_NEXT@ @NEXT_UNISTD_H@
+
+#else
+/* Normal invocation convention. */
+
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
#endif
/* Get all possible declarations of gethostname(). */
@@ -118,6 +132,9 @@
# include
#endif
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE
@@ -653,10 +670,19 @@ _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
#if @GNULIB_GETDTABLESIZE@
/* Return the maximum number of file descriptors in the current process.
In POSIX, this is same as sysconf (_SC_OPEN_MAX). */
-# if !@HAVE_GETDTABLESIZE@
+# if @REPLACE_GETDTABLESIZE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getdtablesize
+# define getdtablesize rpl_getdtablesize
+# endif
+_GL_FUNCDECL_RPL (getdtablesize, int, (void));
+_GL_CXXALIAS_RPL (getdtablesize, int, (void));
+# else
+# if !@HAVE_GETDTABLESIZE@
_GL_FUNCDECL_SYS (getdtablesize, int, (void));
-# endif
+# endif
_GL_CXXALIAS_SYS (getdtablesize, int, (void));
+# endif
_GL_CXXALIASWARN (getdtablesize);
#elif defined GNULIB_POSIXCHECK
# undef getdtablesize
@@ -1529,4 +1555,5 @@ _GL_CXXALIASWARN (write);
_GL_INLINE_HEADER_END
#endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
#endif /* _@GUARD_PREFIX@_UNISTD_H */
diff --git a/gnu/unitypes.in.h b/gnu/unitypes.in.h
index 54eed80..1a69a97 100644
--- a/gnu/unitypes.in.h
+++ b/gnu/unitypes.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Elementary types and macros for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005-2006, 2009-2014 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
diff --git a/gnu/uniwidth.in.h b/gnu/uniwidth.in.h
index 57e407c..6da964b 100644
--- a/gnu/uniwidth.in.h
+++ b/gnu/uniwidth.in.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Display width functions.
- Copyright (C) 2001-2002, 2005, 2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 2001-2002, 2005, 2007, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify it
diff --git a/gnu/uniwidth/cjk.h b/gnu/uniwidth/cjk.h
index 30ad5ee..ac1ec26 100644
--- a/gnu/uniwidth/cjk.h
+++ b/gnu/uniwidth/cjk.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Test for CJK encoding.
- Copyright (C) 2001-2002, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2005-2007, 2009-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gnu/uniwidth/width.c b/gnu/uniwidth/width.c
index 9be4053..967c081 100644
--- a/gnu/uniwidth/width.c
+++ b/gnu/uniwidth/width.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine display width of Unicode character.
- Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2002.
This program is free software: you can redistribute it and/or modify it
diff --git a/gnu/unlink.c b/gnu/unlink.c
index 9ec3f31..abbc986 100644
--- a/gnu/unlink.c
+++ b/gnu/unlink.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around unlink bugs.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/unlinkat.c b/gnu/unlinkat.c
index 6340d77..242ad49 100644
--- a/gnu/unlinkat.c
+++ b/gnu/unlinkat.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Work around unlinkat bugs on Solaris 9 and Hurd.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/gnu/unlinkdir.c b/gnu/unlinkdir.c
index 592f01e..fa0e1a4 100644
--- a/gnu/unlinkdir.c
+++ b/gnu/unlinkdir.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* unlinkdir.c - determine whether we can unlink directories
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
diff --git a/gnu/unlinkdir.h b/gnu/unlinkdir.h
index a158ec5..a1bb30d 100644
--- a/gnu/unlinkdir.h
+++ b/gnu/unlinkdir.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* unlinkdir.h - determine (and maybe change) whether we can unlink directories
- Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2014 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
diff --git a/gnu/unlocked-io.h b/gnu/unlocked-io.h
index fb2dc00..94d89f4 100644
--- a/gnu/unlocked-io.h
+++ b/gnu/unlocked-io.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Prefer faster, non-thread-safe stdio functions if available.
- Copyright (C) 2001-2004, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2009-2014 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
diff --git a/gnu/unlockpt.c b/gnu/unlockpt.c
new file mode 100644
index 0000000..d4e0bdd
--- /dev/null
+++ b/gnu/unlockpt.c
@@ -0,0 +1,46 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Unlock the slave side of a pseudo-terminal from its master side.
+ Copyright (C) 1998, 2010-2014 Free Software Foundation, Inc.
+ Contributed by Zack Weinberg , 1998.
+
+ 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 of the License, 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, see . */
+
+#include
+
+#include
+
+#include
+#include
+
+int
+unlockpt (int fd)
+{
+ /* Platforms which have the TIOCSPTLCK ioctl (Linux) already have the
+ unlockpt function. */
+#if HAVE_REVOKE
+ /* Mac OS X 10.3, OpenBSD 3.8 do not have the unlockpt function, but they
+ have revoke(). */
+ char *name = ptsname (fd);
+ if (name == NULL)
+ return -1;
+ return revoke (name);
+#else
+ /* Assume that the slave side of a pseudo-terminal is already unlocked
+ by default. */
+ if (fcntl (fd, F_GETFD) < 0)
+ return -1;
+ return 0;
+#endif
+}
diff --git a/gnu/unsetenv.c b/gnu/unsetenv.c
index c92884e..d68c159 100644
--- a/gnu/unsetenv.c
+++ b/gnu/unsetenv.c
@@ -1,6 +1,6 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/utimens.c b/gnu/utimens.c
index ed7a75f..116070c 100644
--- a/gnu/utimens.c
+++ b/gnu/utimens.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Set file access and modification times.
- Copyright (C) 2003-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003-2014 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
@@ -92,10 +92,12 @@ validate_timespec (struct timespec timespec[2])
assert (timespec);
if ((timespec[0].tv_nsec != UTIME_NOW
&& timespec[0].tv_nsec != UTIME_OMIT
- && (timespec[0].tv_nsec < 0 || 1000000000 <= timespec[0].tv_nsec))
+ && ! (0 <= timespec[0].tv_nsec
+ && timespec[0].tv_nsec < TIMESPEC_RESOLUTION))
|| (timespec[1].tv_nsec != UTIME_NOW
&& timespec[1].tv_nsec != UTIME_OMIT
- && (timespec[1].tv_nsec < 0 || 1000000000 <= timespec[1].tv_nsec)))
+ && ! (0 <= timespec[1].tv_nsec
+ && timespec[1].tv_nsec < TIMESPEC_RESOLUTION)))
{
errno = EINVAL;
return -1;
diff --git a/gnu/utimens.h b/gnu/utimens.h
index 89b3451..d9965a8 100644
--- a/gnu/utimens.h
+++ b/gnu/utimens.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Set file access and modification times.
- Copyright 2012-2013 Free Software Foundation, Inc.
+ Copyright 2012-2014 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
@@ -28,6 +28,9 @@ int lutimens (char const *, struct timespec const [2]);
# include
# include
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UTIMENS_INLINE
# define _GL_UTIMENS_INLINE _GL_INLINE
diff --git a/gnu/utimensat.c b/gnu/utimensat.c
index de7d595..9a88198 100644
--- a/gnu/utimensat.c
+++ b/gnu/utimensat.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Set the access and modification time of a file relative to directory fd.
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
@@ -95,11 +95,11 @@ rpl_utimensat (int fd, char const *file, struct timespec const times[2],
values. */
else if (times
&& ((times[0].tv_nsec != UTIME_NOW
- && (times[0].tv_nsec < 0
- || times[0].tv_nsec >= 1000000000))
+ && ! (0 <= times[0].tv_nsec
+ && times[0].tv_nsec < TIMESPEC_RESOLUTION))
|| (times[1].tv_nsec != UTIME_NOW
- && (times[1].tv_nsec < 0
- || times[1].tv_nsec >= 1000000000))))
+ && ! (0 <= times[1].tv_nsec
+ && times[1].tv_nsec < TIMESPEC_RESOLUTION))))
{
errno = EINVAL;
return -1;
diff --git a/gnu/vasnprintf.c b/gnu/vasnprintf.c
index acc6923..c959c54 100644
--- a/gnu/vasnprintf.c
+++ b/gnu/vasnprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2014 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
diff --git a/gnu/vasnprintf.h b/gnu/vasnprintf.h
index c496cd2..7b93040 100644
--- a/gnu/vasnprintf.h
+++ b/gnu/vasnprintf.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2007-2014 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
diff --git a/gnu/vasprintf.c b/gnu/vasprintf.c
index ce8c815..7882c95 100644
--- a/gnu/vasprintf.c
+++ b/gnu/vasprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 1999, 2002, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2006-2014 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
diff --git a/gnu/verify.h b/gnu/verify.h
index 36bc878..ec515b3 100644
--- a/gnu/verify.h
+++ b/gnu/verify.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Compile-time assert-like macros.
- Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2014 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
@@ -20,7 +20,7 @@
/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
#ifndef _GL_VERIFY_H
-# define _GL_VERIFY_H
+#define _GL_VERIFY_H
/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
@@ -33,16 +33,24 @@
Use this only with GCC. If we were willing to slow 'configure'
down we could also use it with other compilers, but since this
affects only the quality of diagnostics, why bother? */
-# if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
- && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \
- && !defined __cplusplus)
-# define _GL_HAVE__STATIC_ASSERT 1
-# endif
+#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
+ && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \
+ && !defined __cplusplus)
+# define _GL_HAVE__STATIC_ASSERT 1
+#endif
/* The condition (99 < __GNUC__) is temporary, until we know about the
first G++ release that supports static_assert. */
-# if (99 < __GNUC__) && defined __cplusplus
-# define _GL_HAVE_STATIC_ASSERT 1
-# endif
+#if (99 < __GNUC__) && defined __cplusplus
+# define _GL_HAVE_STATIC_ASSERT 1
+#endif
+
+/* FreeBSD 9.1 , included by and lots of other
+ system headers, defines a conflicting _Static_assert that is no
+ better than ours; override it. */
+#ifndef _GL_HAVE_STATIC_ASSERT
+# include
+# undef _Static_assert
+#endif
/* Each of these macros verifies that its argument R is nonzero. To
be portable, R should be an integer constant expression. Unlike
@@ -145,50 +153,50 @@
Use a template type to work around the problem. */
/* Concatenate two preprocessor tokens. */
-# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
-# define _GL_CONCAT0(x, y) x##y
+#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+#define _GL_CONCAT0(x, y) x##y
/* _GL_COUNTER is an integer, preferably one that changes each time we
use it. Use __COUNTER__ if it works, falling back on __LINE__
otherwise. __LINE__ isn't perfect, but it's better than a
constant. */
-# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
-# define _GL_COUNTER __COUNTER__
-# else
-# define _GL_COUNTER __LINE__
-# endif
+#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+#else
+# define _GL_COUNTER __LINE__
+#endif
/* Generate a symbol with the given prefix, making it unique if
possible. */
-# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
/* Verify requirement R at compile-time, as an integer constant expression
that returns 1. If R is false, fail at compile-time, preferably
with a diagnostic that includes the string-literal DIAGNOSTIC. */
-# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
- (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+ (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
-# ifdef __cplusplus
-# if !GNULIB_defined_struct__gl_verify_type
+#ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
template
struct _gl_verify_type {
unsigned int _gl_verify_error_if_negative: w;
};
-# define GNULIB_defined_struct__gl_verify_type 1
-# endif
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
- _gl_verify_type<(R) ? 1 : -1>
-# elif defined _GL_HAVE__STATIC_ASSERT
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
- struct { \
- _Static_assert (R, DIAGNOSTIC); \
- int _gl_dummy; \
- }
-# else
-# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
- struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+# define GNULIB_defined_struct__gl_verify_type 1
# endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ _gl_verify_type<(R) ? 1 : -1>
+#elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { \
+ _Static_assert (R, DIAGNOSTIC); \
+ int _gl_dummy; \
+ }
+#else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+#endif
/* Verify requirement R at compile-time, as a declaration without a
trailing ';'. If R is false, fail at compile-time, preferably
@@ -197,23 +205,23 @@ template
Unfortunately, unlike C11, this implementation must appear as an
ordinary declaration, and cannot appear inside struct { ... }. */
-# ifdef _GL_HAVE__STATIC_ASSERT
-# define _GL_VERIFY _Static_assert
-# else
-# define _GL_VERIFY(R, DIAGNOSTIC) \
- extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
- [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
-# endif
+#ifdef _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY _Static_assert
+#else
+# define _GL_VERIFY(R, DIAGNOSTIC) \
+ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+#endif
/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
-# ifdef _GL_STATIC_ASSERT_H
-# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
-# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
-# endif
-# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-# define static_assert _Static_assert /* C11 requires this #define. */
-# endif
+#ifdef _GL_STATIC_ASSERT_H
+# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
+# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
# endif
+# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
+# define static_assert _Static_assert /* C11 requires this #define. */
+# endif
+#endif
/* @assert.h omit start@ */
@@ -231,18 +239,42 @@ template
verify_true is obsolescent; please use verify_expr instead. */
-# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
/* Verify requirement R at compile-time. Return the value of the
expression E. */
-# define verify_expr(R, E) \
- (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+#define verify_expr(R, E) \
+ (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
/* Verify requirement R at compile-time, as a declaration without a
trailing ';'. */
-# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Assume that R always holds. This lets the compiler optimize
+ accordingly. R should not have side-effects; it may or may not be
+ evaluated. Behavior is undefined if R is false. */
+
+#if (__has_builtin (__builtin_unreachable) \
+ || 4 < __GNUC__ + (5 <= __GNUC_MINOR__))
+# define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
+#elif 1200 <= _MSC_VER
+# define assume(R) __assume (R)
+#elif (defined lint \
+ && (__has_builtin (__builtin_trap) \
+ || 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))))
+ /* Doing it this way helps various packages when configured with
+ --enable-gcc-warnings, which compiles with -Dlint. It's nicer
+ when 'assume' silences warnings even with older GCCs. */
+# define assume(R) ((R) ? (void) 0 : __builtin_trap ())
+#else
+# define assume(R) ((void) (0 && (R)))
+#endif
/* @assert.h omit end@ */
diff --git a/gnu/version-etc-fsf.c b/gnu/version-etc-fsf.c
index 4eb3d98..99d048e 100644
--- a/gnu/version-etc-fsf.c
+++ b/gnu/version-etc-fsf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Variable with FSF copyright information, for version-etc.
- Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2006, 2009-2014 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
diff --git a/gnu/version-etc.c b/gnu/version-etc.c
index 420003f..094d992 100644
--- a/gnu/version-etc.c
+++ b/gnu/version-etc.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Print --version and bug-reporting information in a consistent format.
- Copyright (C) 1999-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2014 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
@@ -40,7 +40,7 @@
# define PACKAGE PACKAGE_TARNAME
#endif
-enum { COPYRIGHT_YEAR = 2013 };
+enum { COPYRIGHT_YEAR = 2014 };
/* The three functions below display the --version information the
standard way.
diff --git a/gnu/version-etc.h b/gnu/version-etc.h
index 8071ecb..a5ddc22 100644
--- a/gnu/version-etc.h
+++ b/gnu/version-etc.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Print --version and bug-reporting information in a consistent format.
- Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003, 2005, 2009-2014 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
diff --git a/gnu/vsnprintf.c b/gnu/vsnprintf.c
index 262c6a4..7074150 100644
--- a/gnu/vsnprintf.c
+++ b/gnu/vsnprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Formatted output to strings.
- Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
Written by Simon Josefsson and Yoann Vandoorselaere .
This program is free software; you can redistribute it and/or modify
diff --git a/gnu/wchar.in.h b/gnu/wchar.in.h
index 17abaaf..59171b6 100644
--- a/gnu/wchar.in.h
+++ b/gnu/wchar.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A substitute for ISO C99 , for platforms that have issues.
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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
diff --git a/gnu/wcrtomb.c b/gnu/wcrtomb.c
index 3dc65f7..0cd4cb9 100644
--- a/gnu/wcrtomb.c
+++ b/gnu/wcrtomb.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert wide character to multibyte character.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/wctype.in.h b/gnu/wctype.in.h
index 0cb71a1..892e49e 100644
--- a/gnu/wctype.in.h
+++ b/gnu/wctype.in.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A substitute for ISO C99 , for platforms that lack it.
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 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
@@ -63,6 +63,9 @@
#ifndef _@GUARD_PREFIX@_WCTYPE_H
#define _@GUARD_PREFIX@_WCTYPE_H
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_WCTYPE_INLINE
# define _GL_WCTYPE_INLINE _GL_INLINE
diff --git a/gnu/wcwidth.c b/gnu/wcwidth.c
index 5662637..7863880 100644
--- a/gnu/wcwidth.c
+++ b/gnu/wcwidth.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine the number of screen columns needed for a character.
- Copyright (C) 2006-2007, 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010-2014 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
diff --git a/gnu/write.c b/gnu/write.c
index 53223c7..5b58738 100644
--- a/gnu/write.c
+++ b/gnu/write.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* POSIX compatible write() function.
- Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
Written by Bruno Haible , 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xalloc-die.c b/gnu/xalloc-die.c
index bb8f1c2..6699df2 100644
--- a/gnu/xalloc-die.c
+++ b/gnu/xalloc-die.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Report a memory allocation failure and exit.
- Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software
+ Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xalloc-oversized.h b/gnu/xalloc-oversized.h
index 8a34e95..6e52097 100644
--- a/gnu/xalloc-oversized.h
+++ b/gnu/xalloc-oversized.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* xalloc-oversized.h -- memory allocation size checking
- Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2003-2004, 2006-2014 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
diff --git a/gnu/xalloc.h b/gnu/xalloc.h
index a9595b8..3369977 100644
--- a/gnu/xalloc.h
+++ b/gnu/xalloc.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* xalloc.h -- malloc with out-of-memory checking
- Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2003-2004, 2006-2014 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
@@ -24,6 +24,9 @@
#include "xalloc-oversized.h"
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef XALLOC_INLINE
# define XALLOC_INLINE _GL_INLINE
diff --git a/gnu/xasprintf.c b/gnu/xasprintf.c
index 46fb71b..f8ded74 100644
--- a/gnu/xasprintf.c
+++ b/gnu/xasprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation,
+ Copyright (C) 1999, 2002-2004, 2006, 2009-2014 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xgetcwd.c b/gnu/xgetcwd.c
index 5fa5bcd..5dcb23a 100644
--- a/gnu/xgetcwd.c
+++ b/gnu/xgetcwd.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* xgetcwd.c -- return current directory with unlimited length
- Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2013 Free Software
+ Copyright (C) 2001, 2003-2004, 2006-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xgetcwd.h b/gnu/xgetcwd.h
index 055449f..81b53ca 100644
--- a/gnu/xgetcwd.h
+++ b/gnu/xgetcwd.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* prototype for xgetcwd
- Copyright (C) 1995, 2001, 2003, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 1995, 2001, 2003, 2009-2014 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
diff --git a/gnu/xmalloc.c b/gnu/xmalloc.c
index 2d50af6..de7e43f 100644
--- a/gnu/xmalloc.c
+++ b/gnu/xmalloc.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 1990-2000, 2002-2006, 2008-2014 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
diff --git a/gnu/xsize.h b/gnu/xsize.h
index a0bd766..3d9fd9a 100644
--- a/gnu/xsize.h
+++ b/gnu/xsize.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* xsize.h -- Checked size_t computations.
- Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2008-2014 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
@@ -29,6 +29,9 @@
# include
#endif
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
_GL_INLINE_HEADER_BEGIN
#ifndef XSIZE_INLINE
# define XSIZE_INLINE _GL_INLINE
diff --git a/gnu/xstrndup.c b/gnu/xstrndup.c
index 790a163..9b7a302 100644
--- a/gnu/xstrndup.c
+++ b/gnu/xstrndup.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Duplicate a bounded initial segment of a string, with out-of-memory
checking.
- Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2009-2014 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
diff --git a/gnu/xstrndup.h b/gnu/xstrndup.h
index 0279dee..092a8d5 100644
--- a/gnu/xstrndup.h
+++ b/gnu/xstrndup.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Duplicate a bounded initial segment of a string, with out-of-memory
checking.
- Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2009-2014 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
diff --git a/gnu/xstrtol-error.c b/gnu/xstrtol-error.c
index eaf3866..03a3a4d 100644
--- a/gnu/xstrtol-error.c
+++ b/gnu/xstrtol-error.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A more useful interface to strtol.
- Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software
+ Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xstrtol.c b/gnu/xstrtol.c
index 5d1b732..c8d68af 100644
--- a/gnu/xstrtol.c
+++ b/gnu/xstrtol.c
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A more useful interface to strtol.
- Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2013 Free Software
+ Copyright (C) 1995-1996, 1998-2001, 2003-2007, 2009-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xstrtol.h b/gnu/xstrtol.h
index 94118df..a073374 100644
--- a/gnu/xstrtol.h
+++ b/gnu/xstrtol.h
@@ -2,7 +2,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* A more useful interface to strtol.
- Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2013 Free Software
+ Copyright (C) 1995-1996, 1998-1999, 2001-2004, 2006-2014 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
diff --git a/gnu/xvasprintf.c b/gnu/xvasprintf.c
index 6aca8c6..31c96ab 100644
--- a/gnu/xvasprintf.c
+++ b/gnu/xvasprintf.c
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2004, 2006-2014 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
diff --git a/gnu/xvasprintf.h b/gnu/xvasprintf.h
index 4c333b6..1c19710 100644
--- a/gnu/xvasprintf.h
+++ b/gnu/xvasprintf.h
@@ -1,7 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* vasprintf and asprintf with out-of-memory checking.
- Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004, 2006-2014 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
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3cbd060..b2971a2 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,6 @@
# Makefile for GNU tar library. -*- Makefile -*-
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013 Free
+# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free
# Software Foundation, Inc.
# This file is part of GNU tar.
diff --git a/lib/Makefile.in b/lib/Makefile.in
index b3053de..41a9aca 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.6 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,7 @@
# Makefile for GNU tar library. -*- Makefile -*-
-# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013 Free
+# Copyright 1994-1997, 1999-2001, 2003-2007, 2009-2010, 2013-2014 Free
# Software Foundation, Inc.
# This file is part of GNU tar.
@@ -36,23 +36,51 @@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -72,14 +100,14 @@ build_triplet = @build@
host_triplet = @host@
@TAR_COND_XATTR_H_FALSE@am__append_1 = attr/xattr.h
subdir = lib
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/build-aux/depcomp
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
- $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/acl.m4 \
+ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argp.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
$(top_srcdir)/m4/clock_time.m4 \
$(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
@@ -91,9 +119,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \
$(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
$(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
- $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exponentd.m4 \
- $(top_srcdir)/m4/extensions.m4 \
- $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fchdir.m4 \
+ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/euidaccess.m4 \
+ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
+ $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fchdir.m4 \
$(top_srcdir)/m4/fchmodat.m4 $(top_srcdir)/m4/fchownat.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
@@ -105,19 +134,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
- $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
- $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
- $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
- $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/human.m4 \
+ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getline.m4 \
+ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 \
+ $(top_srcdir)/m4/group-member.m4 $(top_srcdir)/m4/human.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
- $(top_srcdir)/m4/iswblank.m4 $(top_srcdir)/m4/langinfo_h.m4 \
- $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lchown.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/isatty.m4 $(top_srcdir)/m4/iswblank.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
+ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libunistring-base.m4 \
$(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
$(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
@@ -143,19 +174,21 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/openat.m4 \
$(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/parse-datetime.m4 \
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
- $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
- $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/read.m4 $(top_srcdir)/m4/readdir.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
- $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
- $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/renameat.m4 \
- $(top_srcdir)/m4/rewinddir.m4 $(top_srcdir)/m4/rmdir.m4 \
- $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
- $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
- $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/secure_getenv.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix_openpt.m4 \
+ $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/priv-set.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/ptsname.m4 \
+ $(top_srcdir)/m4/ptsname_r.m4 $(top_srcdir)/m4/quote.m4 \
+ $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/raise.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/read.m4 \
+ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rewinddir.m4 \
+ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+ $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+ $(top_srcdir)/m4/secure_getenv.m4 \
$(top_srcdir)/m4/selinux-context-h.m4 \
$(top_srcdir)/m4/selinux-selinux-h.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/signal_h.m4 \
@@ -168,20 +201,23 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
$(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
- $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
- $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
- $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtol.m4 \
- $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
- $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/symlink.m4 \
- $(top_srcdir)/m4/symlinkat.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+ $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sysexits.m4 \
$(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
- $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
- $(top_srcdir)/m4/unlink.m4 $(top_srcdir)/m4/unlinkat.m4 \
- $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/ttyname_r.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkat.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+ $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/unlockpt.m4 \
$(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
@@ -248,6 +284,23 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(noinst_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -818,6 +871,7 @@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_ACL = @LIB_ACL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_EACCESS = @LIB_EACCESS@
LIB_SELINUX = @LIB_SELINUX@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
@@ -933,11 +987,13 @@ REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
@@ -946,6 +1002,7 @@ REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
@@ -1012,6 +1069,7 @@ REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
@@ -1039,6 +1097,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RSH = @RSH@
+SED = @SED@
SELINUX_CONTEXT_H = @SELINUX_CONTEXT_H@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -1076,6 +1135,7 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -1120,6 +1180,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -1192,6 +1253,7 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
libtar.a: $(libtar_a_OBJECTS) $(libtar_a_DEPENDENCIES) $(EXTRA_libtar_a_DEPENDENCIES)
$(AM_V_at)-rm -f libtar.a
$(AM_V_AR)$(libtar_a_AR) libtar.a $(libtar_a_OBJECTS) $(libtar_a_LIBADD)
@@ -1217,35 +1279,24 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -1257,15 +1308,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -1274,9 +1321,10 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
@@ -1432,8 +1480,8 @@ uninstall-am:
.MAKE: all check install install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES cscopelist ctags distclean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
@@ -1442,7 +1490,7 @@ uninstall-am:
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
rmt-command.h : Makefile
diff --git a/lib/attr-xattr.in.h b/lib/attr-xattr.in.h
index 7ec410b..845ee88 100644
--- a/lib/attr-xattr.in.h
+++ b/lib/attr-xattr.in.h
@@ -1,5 +1,5 @@
/* Replacement for platforms that lack it.
- Copyright 2012-2013 Free Software Foundation, Inc.
+ Copyright 2012-2014 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
diff --git a/lib/paxerror.c b/lib/paxerror.c
index 56903a3..134cef3 100644
--- a/lib/paxerror.c
+++ b/lib/paxerror.c
@@ -21,6 +21,8 @@
#include
#include
+void (*error_hook) (void);
+
/* Decode MODE from its binary form in a stat structure, and encode it
into a 9-byte string STRING, terminated with a NUL. */
diff --git a/lib/paxlib.h b/lib/paxlib.h
index d0ba45b..d4251d1 100644
--- a/lib/paxlib.h
+++ b/lib/paxlib.h
@@ -32,6 +32,8 @@
#define PAXEXIT_DIFFERS 1
#define PAXEXIT_FAILURE 2
+extern void (*error_hook) (void);
+
/* Both WARN and ERROR write a message on stderr and continue processing,
however ERROR manages so tar will exit unsuccessfully. FATAL_ERROR
writes a message on stderr and aborts immediately, with another message
@@ -41,13 +43,31 @@
is zero when the error is not being detected by the system. */
#define WARN(Args) \
- error Args
+ do { if (error_hook) error_hook (); error Args; } while (0)
#define ERROR(Args) \
- (error Args, exit_status = PAXEXIT_FAILURE)
+ do \
+ { \
+ if (error_hook) error_hook (); \
+ error Args; \
+ exit_status = PAXEXIT_FAILURE; \
+ } \
+ while (0)
#define FATAL_ERROR(Args) \
- (error Args, fatal_exit ())
+ do \
+ { \
+ if (error_hook) error_hook (); \
+ error Args; \
+ fatal_exit (); \
+ } \
+ while (0)
#define USAGE_ERROR(Args) \
- (error Args, usage (PAXEXIT_FAILURE))
+ do \
+ { \
+ if (error_hook) error_hook (); \
+ error Args; \
+ usage (PAXEXIT_FAILURE); \
+ } \
+ while (0)
extern int exit_status;
diff --git a/lib/prepargs.c b/lib/prepargs.c
index 9b30d24..0c85bd4 100644
--- a/lib/prepargs.c
+++ b/lib/prepargs.c
@@ -1,5 +1,5 @@
/* Parse arguments from a string and prepend them to an argv.
- Copyright 1999-2001, 2007, 2013 Free Software Foundation, Inc.
+ Copyright 1999-2001, 2007, 2013-2014 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
@@ -29,16 +29,6 @@
#include
-/* IN_CTYPE_DOMAIN (C) is nonzero if the unsigned char C can safely be given
- as an argument to macros like "isspace". */
-#ifdef STDC_HEADERS
-# define IN_CTYPE_DOMAIN(c) 1
-#else
-# define IN_CTYPE_DOMAIN(c) ((c) <= 0177)
-#endif
-
-#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c))
-
/* Find the white-space-separated options specified by OPTIONS, and
using BUF to store copies of these options, set ARGV[0], ARGV[1],
etc. to the option copies. Return the number N of options found.
@@ -53,7 +43,7 @@ prepend_args (char const *options, char *buf, char **argv)
for (;;)
{
- while (ISSPACE ((unsigned char) *o))
+ while (isspace ((unsigned char) *o))
o++;
if (!*o)
return n;
@@ -64,7 +54,7 @@ prepend_args (char const *options, char *buf, char **argv)
do
if ((*b++ = *o++) == '\\' && *o)
b[-1] = *o++;
- while (*o && ! ISSPACE ((unsigned char) *o));
+ while (*o && ! isspace ((unsigned char) *o));
*b++ = '\0';
}
diff --git a/lib/stdopen.c b/lib/stdopen.c
index bdffca3..71bdae4 100644
--- a/lib/stdopen.c
+++ b/lib/stdopen.c
@@ -1,6 +1,6 @@
/* stdopen.c - ensure that the three standard file descriptors are in use
- Copyright 2005, 2007, 2013 Free Software Foundation, Inc.
+ Copyright 2005, 2007, 2013-2014 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
diff --git a/lib/system.h b/lib/system.h
index ef46267..e7f531c 100644
--- a/lib/system.h
+++ b/lib/system.h
@@ -389,9 +389,16 @@ extern int errno;
# define ST_NBLOCKSIZE 512
#endif
+/* Network Appliance file systems store small files directly in the
+ inode if st_size <= 64; in this case the number of blocks can be
+ zero. Perhaps other file systems have similar problems; so,
+ somewhat arbitrarily, do not consider a file to be sparse if
+ it has no blocks but st_size < ST_NBLOCKSIZE. */
#define ST_IS_SPARSE(st) \
(ST_NBLOCKS (st) \
- < ((st).st_size / ST_NBLOCKSIZE + ((st).st_size % ST_NBLOCKSIZE != 0)))
+ < ((st).st_size / ST_NBLOCKSIZE \
+ + ((st).st_size % ST_NBLOCKSIZE != 0 \
+ && (st).st_size / ST_NBLOCKSIZE != 0)))
/* Declare standard functions. */
diff --git a/lib/wordsplit.c b/lib/wordsplit.c
index 75faf9e..21807cd 100644
--- a/lib/wordsplit.c
+++ b/lib/wordsplit.c
@@ -1,5 +1,5 @@
/* wordsplit - a word splitter
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/lib/wordsplit.h b/lib/wordsplit.h
index b48e3cd..d64cf2f 100644
--- a/lib/wordsplit.h
+++ b/lib/wordsplit.h
@@ -1,5 +1,5 @@
/* wordsplit - a word splitter
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2014 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
diff --git a/lib/xattr-at.c b/lib/xattr-at.c
index 3703e1c..443ccae 100644
--- a/lib/xattr-at.c
+++ b/lib/xattr-at.c
@@ -1,7 +1,7 @@
/* openat-style fd-relative functions for operating with extended file
attributes.
- Copyright 2012-2013 Free Software Foundation, Inc.
+ Copyright 2012-2014 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
diff --git a/lib/xattr-at.h b/lib/xattr-at.h
index 2981771..3c6eb72 100644
--- a/lib/xattr-at.h
+++ b/lib/xattr-at.h
@@ -1,7 +1,7 @@
/* Prototypes for openat-style fd-relative functions for operating with
extended file attributes.
- Copyright 2012-2013 Free Software Foundation, Inc.
+ Copyright 2012-2014 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
@@ -20,7 +20,15 @@
#define XATTRS_AT_H
#include
-#include
+#if defined(HAVE_SYS_XATTR_H)
+# include
+#elif defined(HAVE_ATTR_XATTR_H)
+# include
+#endif
+
+#ifndef ENOATTR
+# define ENOATTR ENODATA /* No such attribute */
+#endif
/* These are the dir-fd-relative variants of the functions without the
"at" suffix. For example, setxattrat (AT_FDCWD, path, name, value, size,
diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/m4/00gnulib.m4
+++ b/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This file must be named something that sorts before all other
dnl gnulib-provided .m4 files. It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal. Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body. The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+ [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
# AC_DEFUN_ONCE([NAME], VALUE)
# ----------------------------
diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4
new file mode 100644
index 0000000..ce3e39e
--- /dev/null
+++ b/m4/absolute-header.m4
@@ -0,0 +1,102 @@
+# absolute-header.m4 serial 16
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Derek Price.
+
+# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
+# ---------------------------------------
+# Find the absolute name of a header file, testing first if the header exists.
+# If the header were sys/inttypes.h, this macro would define
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
+# in config.h
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
+# Note: This macro assumes that the header file is not empty after
+# preprocessing, i.e. it does not only define preprocessor macros but also
+# provides some type/enum definitions or function/variable declarations.
+AC_DEFUN([gl_ABSOLUTE_HEADER],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PREPROC_REQUIRE()dnl
+dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted
+dnl until we can assume autoconf 2.64 or newer.
+m4_foreach_w([gl_HEADER_NAME], [$1],
+ [AS_VAR_PUSHDEF([gl_absolute_header],
+ [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
+ AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+ m4_defn([gl_absolute_header]),
+ [AS_VAR_PUSHDEF([ac_header_exists],
+ [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
+ AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
+ if test AS_VAR_GET(ac_header_exists) = yes; then
+ gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
+ fi
+ AS_VAR_POPDEF([ac_header_exists])dnl
+ ])dnl
+ AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
+ ["AS_VAR_GET(gl_absolute_header)"],
+ [Define this to an absolute name of <]m4_defn([gl_HEADER_NAME])[>.])
+ AS_VAR_POPDEF([gl_absolute_header])dnl
+])dnl
+])# gl_ABSOLUTE_HEADER
+
+# gl_ABSOLUTE_HEADER_ONE(HEADER)
+# ------------------------------
+# Like gl_ABSOLUTE_HEADER, except that:
+# - it assumes that the header exists,
+# - it uses the current CPPFLAGS,
+# - it does not cache the result,
+# - it is silent.
+AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
+ dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
+ dnl that contain only a #include of other header files and no
+ dnl non-comment tokens of their own. This leads to a failure to
+ dnl detect the absolute name of , ,
+ dnl and others. The workaround is to force preservation of comments
+ dnl through option -C. This ensures all necessary #line directives
+ dnl are present. GCC supports option -C as well.
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+changequote(,)
+ case "$host_os" in
+ mingw*)
+ dnl For the sake of native Windows compilers (excluding gcc),
+ dnl treat backslash as a directory separator, like /.
+ dnl Actually, these compilers use a double-backslash as
+ dnl directory separator, inside the
+ dnl # line "filename"
+ dnl directives.
+ 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'
+ gl_header_literal_regex=`echo '$1' \
+ | 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/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+changequote([,])
+ dnl eval is necessary to expand gl_absname_cpp.
+ dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+ dnl so use subshell.
+ AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
+[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+ sed -n "$gl_absolute_header_sed"`])
+])
diff --git a/m4/acl.m4 b/m4/acl.m4
index 5b1fb65..f02f69d 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,7 +1,7 @@
# acl.m4 - check for access control list (ACL) primitives
-# serial 15
+# serial 17
-# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_ACL],
AS_HELP_STRING([--disable-acl], [do not support ACLs]),
, [enable_acl=auto])
+ AC_CHECK_FUNCS_ONCE([fchmod])
LIB_ACL=
use_acl=0
if test "x$enable_acl" != "xno"; then
@@ -141,12 +142,14 @@ int type = ACL_TYPE_EXTENDED;]])],
# -------------------------------------
# If 'acl_get_file' works (does not have a particular bug),
# run IF-WORKS, otherwise, IF-NOT.
-# This tests for a Darwin 8.7.0 bug, whereby acl_get_file returns NULL,
-# but sets errno = ENOENT for an existing file or directory.
+# When building natively, test for a Darwin 8.7.0 bug, whereby acl_get_file
+# returns NULL, but sets errno = ENOENT for an existing file or directory.
+# When cross-compiling, assume that this old bug no longer applies.
AC_DEFUN([gl_ACL_GET_FILE],
[
AC_CACHE_CHECK([for working acl_get_file], [gl_cv_func_working_acl_get_file],
- [AC_RUN_IFELSE(
+ [gl_cv_func_working_acl_get_file=no
+ AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include
#include
@@ -156,9 +159,10 @@ AC_DEFUN([gl_ACL_GET_FILE],
return 1;
return 0;
]])],
- [gl_cv_func_working_acl_get_file=yes],
- [gl_cv_func_working_acl_get_file=no],
- [gl_cv_func_working_acl_get_file=cross-compiling])])
-
- AS_IF([test $gl_cv_func_working_acl_get_file = yes], [$1], [$2])
+ [if test $cross_compiling = yes; then
+ gl_cv_func_working_acl_get_file="guessing yes"
+ elif ./conftest$ac_exeext; then
+ gl_cv_func_working_acl_get_file=yes
+ fi])])
+ AS_IF([test "$gl_cv_func_working_acl_get_file" != no], [$1], [$2])
])
diff --git a/m4/alloca.m4 b/m4/alloca.m4
index 270abd0..d7bdea6 100644
--- a/m4/alloca.m4
+++ b/m4/alloca.m4
@@ -1,5 +1,5 @@
# alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/argp.m4 b/m4/argp.m4
index 4445d8e..723a7e6 100644
--- a/m4/argp.m4
+++ b/m4/argp.m4
@@ -1,5 +1,5 @@
# argp.m4 serial 14
-dnl Copyright (C) 2003-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2014 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.
diff --git a/m4/backupfile.m4 b/m4/backupfile.m4
index 019665a..6924944 100644
--- a/m4/backupfile.m4
+++ b/m4/backupfile.m4
@@ -1,5 +1,5 @@
# backupfile.m4 serial 14
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/m4/bison.m4 b/m4/bison.m4
index 3b1297a..c003367 100644
--- a/m4/bison.m4
+++ b/m4/bison.m4
@@ -1,6 +1,6 @@
# serial 7
-# Copyright (C) 2002, 2005, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/btowc.m4 b/m4/btowc.m4
index 978a06e..9988944 100644
--- a/m4/btowc.m4
+++ b/m4/btowc.m4
@@ -1,5 +1,5 @@
# btowc.m4 serial 10
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4
index cef3124..ace4556 100644
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -1,6 +1,6 @@
# canonicalize.m4 serial 26
-dnl Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/chdir-long.m4 b/m4/chdir-long.m4
index 9c498a6..8ed436d 100644
--- a/m4/chdir-long.m4
+++ b/m4/chdir-long.m4
@@ -6,7 +6,7 @@
# never fails with ENAMETOOLONG.
# Arrange to compile chdir-long.c only on systems that define PATH_MAX.
-dnl Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2007, 2009-2014 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.
diff --git a/m4/chown.m4 b/m4/chown.m4
index e5c084d..2f7b6d7 100644
--- a/m4/chown.m4
+++ b/m4/chown.m4
@@ -1,7 +1,7 @@
# serial 27
# Determine whether we need the chown wrapper.
-dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2013 Free Software
+dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2014 Free Software
dnl Foundation, Inc.
dnl This file is free software; the Free Software Foundation
diff --git a/m4/clock_time.m4 b/m4/clock_time.m4
index 6597fb6..6c4a637 100644
--- a/m4/clock_time.m4
+++ b/m4/clock_time.m4
@@ -1,5 +1,5 @@
# clock_time.m4 serial 10
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/m4/close-stream.m4 b/m4/close-stream.m4
index 0a80c37..80cde85 100644
--- a/m4/close-stream.m4
+++ b/m4/close-stream.m4
@@ -1,5 +1,5 @@
#serial 4
-dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2014 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.
diff --git a/m4/close.m4 b/m4/close.m4
index bccd981..68510c5 100644
--- a/m4/close.m4
+++ b/m4/close.m4
@@ -1,5 +1,5 @@
# close.m4 serial 8
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/m4/closedir.m4 b/m4/closedir.m4
index bb8708b..d234a52 100644
--- a/m4/closedir.m4
+++ b/m4/closedir.m4
@@ -1,5 +1,5 @@
# closedir.m4 serial 2
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/m4/closeout.m4 b/m4/closeout.m4
index 759feaa..2f0c87e 100644
--- a/m4/closeout.m4
+++ b/m4/closeout.m4
@@ -1,5 +1,5 @@
# closeout.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/codeset.m4 b/m4/codeset.m4
index c2761be..d7de8d6 100644
--- a/m4/codeset.m4
+++ b/m4/codeset.m4
@@ -1,5 +1,5 @@
# codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014 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.
diff --git a/m4/configmake.m4 b/m4/configmake.m4
index 823ffc0..0cd86cf 100644
--- a/m4/configmake.m4
+++ b/m4/configmake.m4
@@ -1,5 +1,5 @@
-# configmake.m4 serial 1
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+# configmake.m4 serial 2
+dnl Copyright (C) 2010-2014 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.
@@ -7,8 +7,9 @@ dnl with or without modifications, as long as this notice is preserved.
# gl_CONFIGMAKE_PREP
# ------------------
# Guarantee all of the standard directory variables, even when used with
-# autoconf 2.59 (datarootdir wasn't supported until 2.59c) or automake
-# 1.9.6 (pkglibexecdir wasn't supported until 1.10b.).
+# autoconf 2.59 (datarootdir wasn't supported until 2.59c, and runstatedir
+# in 2.70) or automake 1.9.6 (pkglibexecdir wasn't supported until 1.10b,
+# and runstatedir in 1.14.1).
AC_DEFUN([gl_CONFIGMAKE_PREP],
[
dnl Technically, datadir should default to datarootdir. But if
@@ -43,6 +44,10 @@ AC_DEFUN([gl_CONFIGMAKE_PREP],
if test "x$localedir" = x; then
AC_SUBST([localedir], ['${datarootdir}/locale'])
fi
+ dnl Added in autoconf 2.70
+ if test "x$runstatedir" = x; then
+ AC_SUBST([runstatedir], ['${localstatedir}/run'])
+ fi
dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely
dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe.
diff --git a/m4/d-ino.m4 b/m4/d-ino.m4
index aab82c2..5ccb733 100644
--- a/m4/d-ino.m4
+++ b/m4/d-ino.m4
@@ -1,11 +1,11 @@
-# serial 13
+# serial 14
dnl From Jim Meyering.
dnl
dnl Check whether struct dirent has a member named d_ino.
dnl
-# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2013 Free Software
+# Copyright (C) 1997, 1999-2001, 2003-2004, 2006-2007, 2009-2014 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -30,7 +30,7 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO],
e = readdir (dp);
if (! e)
return 2;
- if (stat (e->d_name, &st) != 0)
+ if (lstat (e->d_name, &st) != 0)
return 3;
if (e->d_ino != st.st_ino)
return 4;
diff --git a/m4/dirent-safer.m4 b/m4/dirent-safer.m4
index 708d7b1..0a197fb 100644
--- a/m4/dirent-safer.m4
+++ b/m4/dirent-safer.m4
@@ -1,5 +1,5 @@
#serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4
index 54c1663..3f2b16b 100644
--- a/m4/dirent_h.m4
+++ b/m4/dirent_h.m4
@@ -1,5 +1,5 @@
# dirent_h.m4 serial 16
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 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.
diff --git a/m4/dirfd.m4 b/m4/dirfd.m4
index 39bc789..b422769 100644
--- a/m4/dirfd.m4
+++ b/m4/dirfd.m4
@@ -2,7 +2,7 @@
dnl Find out how to get the file descriptor associated with an open DIR*.
-# Copyright (C) 2001-2006, 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2006, 2008-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/dirname.m4 b/m4/dirname.m4
index 5897a2a..d2627b8 100644
--- a/m4/dirname.m4
+++ b/m4/dirname.m4
@@ -1,5 +1,5 @@
#serial 10 -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/m4/double-slash-root.m4 b/m4/double-slash-root.m4
index bd6f867..937f4bc 100644
--- a/m4/double-slash-root.m4
+++ b/m4/double-slash-root.m4
@@ -1,5 +1,5 @@
# double-slash-root.m4 serial 4 -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2014 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.
diff --git a/m4/dup.m4 b/m4/dup.m4
index 5105b6e..9393bc5 100644
--- a/m4/dup.m4
+++ b/m4/dup.m4
@@ -1,5 +1,5 @@
# dup.m4 serial 3
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/m4/dup2.m4 b/m4/dup2.m4
index 269cfdc..89638a0 100644
--- a/m4/dup2.m4
+++ b/m4/dup2.m4
@@ -1,5 +1,5 @@
-#serial 19
-dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+#serial 20
+dnl Copyright (C) 2002, 2005, 2007, 2009-2014 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.
@@ -39,9 +39,11 @@ AC_DEFUN([gl_FUNC_DUP2],
/* Many gnulib modules require POSIX conformance of EBADF. */
if (dup2 (2, 1000000) == -1 && errno != EBADF)
result |= 16;
- /* Flush out a cygwin core dump. */
+ /* Flush out some cygwin core dumps. */
if (dup2 (2, -1) != -1 || errno != EBADF)
result |= 32;
+ dup2 (2, 255);
+ dup2 (2, 256);
return result;
])
],
@@ -65,6 +67,7 @@ AC_DEFUN([gl_FUNC_DUP2],
*yes) ;;
*)
REPLACE_DUP2=1
+ AC_CHECK_FUNCS([setdtablesize])
;;
esac
fi
diff --git a/m4/eealloc.m4 b/m4/eealloc.m4
index c640ec1..8a51fe7 100644
--- a/m4/eealloc.m4
+++ b/m4/eealloc.m4
@@ -1,5 +1,5 @@
# eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2014 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.
diff --git a/m4/environ.m4 b/m4/environ.m4
index 593a33e..cfabe46 100644
--- a/m4/environ.m4
+++ b/m4/environ.m4
@@ -1,5 +1,5 @@
# environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 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.
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
index c813ea5..4ee9e6a 100644
--- a/m4/errno_h.m4
+++ b/m4/errno_h.m4
@@ -1,5 +1,5 @@
# errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2014 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.
diff --git a/m4/error.m4 b/m4/error.m4
index 29e6fdc..f08ae50 100644
--- a/m4/error.m4
+++ b/m4/error.m4
@@ -1,6 +1,6 @@
#serial 14
-# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/m4/euidaccess.m4 b/m4/euidaccess.m4
new file mode 100644
index 0000000..55393a4
--- /dev/null
+++ b/m4/euidaccess.m4
@@ -0,0 +1,52 @@
+# euidaccess.m4 serial 15
+dnl Copyright (C) 2002-2014 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([gl_FUNC_NONREENTRANT_EUIDACCESS],
+[
+ AC_REQUIRE([gl_FUNC_EUIDACCESS])
+ AC_CHECK_DECLS([setregid])
+ AC_DEFINE([PREFER_NONREENTRANT_EUIDACCESS], [1],
+ [Define this if you prefer euidaccess to return the correct result
+ even if this would make it nonreentrant. Define this only if your
+ entire application is safe even if the uid or gid might temporarily
+ change. If your application uses signal handlers or threads it
+ is probably not safe.])
+])
+
+AC_DEFUN([gl_FUNC_EUIDACCESS],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+
+ dnl Persuade glibc to declare euidaccess().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_FUNCS([euidaccess])
+ if test $ac_cv_func_euidaccess = no; then
+ HAVE_EUIDACCESS=0
+ fi
+])
+
+# Prerequisites of lib/euidaccess.c.
+AC_DEFUN([gl_PREREQ_EUIDACCESS], [
+ dnl Prefer POSIX faccessat over non-standard euidaccess.
+ AC_CHECK_FUNCS_ONCE([faccessat])
+ dnl Try various other non-standard fallbacks.
+ AC_CHECK_HEADERS([libgen.h])
+ AC_FUNC_GETGROUPS
+
+ # Solaris 9 and 10 need -lgen to get the eaccess function.
+ # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all*
+ # programs in the package would end up linked with that potentially-shared
+ # library, inducing unnecessary run-time overhead.
+ LIB_EACCESS=
+ AC_SUBST([LIB_EACCESS])
+ gl_saved_libs=$LIBS
+ AC_SEARCH_LIBS([eaccess], [gen],
+ [test "$ac_cv_search_eaccess" = "none required" ||
+ LIB_EACCESS=$ac_cv_search_eaccess])
+ AC_CHECK_FUNCS([eaccess])
+ LIBS=$gl_saved_libs
+])
diff --git a/m4/exponentd.m4 b/m4/exponentd.m4
index 09df468..7bee635 100644
--- a/m4/exponentd.m4
+++ b/m4/exponentd.m4
@@ -1,5 +1,5 @@
# exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2014 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.
diff --git a/m4/extensions.m4 b/m4/extensions.m4
index e30f122..37f55ca 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,7 +1,7 @@
# serial 13 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4
index c4c5e7f..240150e 100644
--- a/m4/extern-inline.m4
+++ b/m4/extern-inline.m4
@@ -1,6 +1,6 @@
dnl 'extern inline' a la ISO C99.
-dnl Copyright 2012-2013 Free Software Foundation, Inc.
+dnl Copyright 2012-2014 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.
@@ -19,27 +19,41 @@ AC_DEFUN([gl_EXTERN_INLINE],
'reference to static identifier "f" in extern inline function'.
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
- Suppress the use of extern inline on Apple's platforms, as Libc at least
- through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
+ Suppress the use of extern inline on problematic Apple configurations.
+ OS X 10.8 and earlier mishandle it; see, e.g.,
.
+ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+ for clang but remains for g++; see .
Perhaps Apple will fix this some day. */
+#if (defined __APPLE__ \
+ && (defined __header_inline \
+ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+ && ! defined __clang__) \
+ : ((! defined _DONT_USE_CTYPE_INLINE_ \
+ && (defined __GNUC__ || defined __cplusplus)) \
+ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+ && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_APPLE_BUG
+#endif
#if ((__GNUC__ \
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !(defined __SUNPRO_C && __STDC__))) \
- && !defined __APPLE__)
+ && !defined _GL_EXTERN_INLINE_APPLE_BUG)
# define _GL_INLINE inline
# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
- && !defined __APPLE__)
-# if __GNUC_GNU_INLINE__
+ && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
# else
# define _GL_INLINE extern inline
# endif
# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
#else
# define _GL_INLINE static _GL_UNUSED
# define _GL_EXTERN_INLINE static _GL_UNUSED
diff --git a/m4/faccessat.m4 b/m4/faccessat.m4
new file mode 100644
index 0000000..d9016bd
--- /dev/null
+++ b/m4/faccessat.m4
@@ -0,0 +1,28 @@
+# serial 6
+# See if we need to provide faccessat replacement.
+
+dnl Copyright (C) 2009-2014 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.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_FACCESSAT],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+
+ dnl Persuade glibc to declare faccessat().
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_FUNCS_ONCE([faccessat])
+ if test $ac_cv_func_faccessat = no; then
+ HAVE_FACCESSAT=0
+ fi
+])
+
+# Prerequisites of lib/faccessat.m4.
+AC_DEFUN([gl_PREREQ_FACCESSAT],
+[
+ AC_CHECK_FUNCS([access])
+])
diff --git a/m4/fchdir.m4 b/m4/fchdir.m4
index c248fdc..9da16b0 100644
--- a/m4/fchdir.m4
+++ b/m4/fchdir.m4
@@ -1,5 +1,5 @@
# fchdir.m4 serial 21
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 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.
diff --git a/m4/fchmodat.m4 b/m4/fchmodat.m4
index dc9c4e7..28954c4 100644
--- a/m4/fchmodat.m4
+++ b/m4/fchmodat.m4
@@ -1,5 +1,5 @@
# fchmodat.m4 serial 1
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 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.
diff --git a/m4/fchownat.m4 b/m4/fchownat.m4
index 9c862d3..479b277 100644
--- a/m4/fchownat.m4
+++ b/m4/fchownat.m4
@@ -1,5 +1,5 @@
# fchownat.m4 serial 1
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 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.
diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4
index 87cc4bd..43c9312 100644
--- a/m4/fcntl-o.m4
+++ b/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
# fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 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.
diff --git a/m4/fcntl.m4 b/m4/fcntl.m4
index 5481cae..4a2771f 100644
--- a/m4/fcntl.m4
+++ b/m4/fcntl.m4
@@ -1,5 +1,5 @@
# fcntl.m4 serial 5
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4
index 3cff1fd..fb2556d 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
# serial 15
# Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2014 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.
diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4
index b7be783..a3e7849 100644
--- a/m4/fdopendir.m4
+++ b/m4/fdopendir.m4
@@ -1,7 +1,7 @@
# serial 10
# See if we need to provide fdopendir.
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/m4/fileblocks.m4 b/m4/fileblocks.m4
index d1abd30..2ec23e7 100644
--- a/m4/fileblocks.m4
+++ b/m4/fileblocks.m4
@@ -1,5 +1,5 @@
# fileblocks.m4 serial 6
-dnl Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2014 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.
diff --git a/m4/filenamecat.m4 b/m4/filenamecat.m4
index 40946e8..6c6656a 100644
--- a/m4/filenamecat.m4
+++ b/m4/filenamecat.m4
@@ -1,5 +1,5 @@
# filenamecat.m4 serial 11
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 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.
diff --git a/m4/float_h.m4 b/m4/float_h.m4
index 397f2d1..a27ef7f 100644
--- a/m4/float_h.m4
+++ b/m4/float_h.m4
@@ -1,5 +1,5 @@
# float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4
index fa0ba4d..9db4144 100644
--- a/m4/fnmatch.m4
+++ b/m4/fnmatch.m4
@@ -1,6 +1,6 @@
# Check for fnmatch - serial 9.
-# Copyright (C) 2000-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2007, 2009-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/fpending.m4 b/m4/fpending.m4
index 8f58562..c2d01ef 100644
--- a/m4/fpending.m4
+++ b/m4/fpending.m4
@@ -1,6 +1,6 @@
-# serial 19
+# serial 21
-# Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2004-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,14 +16,23 @@ dnl we have to grub around in the FILE struct.
AC_DEFUN([gl_FUNC_FPENDING],
[
AC_CHECK_HEADERS_ONCE([stdio_ext.h])
- AC_CHECK_FUNCS_ONCE([__fpending])
fp_headers='
-# include
-# if HAVE_STDIO_EXT_H
-# include
-# endif
-'
- AC_CHECK_DECLS([__fpending], , , $fp_headers)
+ #include
+ #if HAVE_STDIO_EXT_H
+ # include
+ #endif
+ '
+ AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending],
+ [
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([$fp_headers],
+ [[return ! __fpending (stdin);]])],
+ [gl_cv_func___fpending=yes],
+ [gl_cv_func___fpending=no])
+ ])
+ if test $gl_cv_func___fpending = yes; then
+ AC_CHECK_DECLS([__fpending], [], [], [$fp_headers])
+ fi
])
AC_DEFUN([gl_PREREQ_FPENDING],
diff --git a/m4/fseek.m4 b/m4/fseek.m4
index 74f6656..a5ea41d 100644
--- a/m4/fseek.m4
+++ b/m4/fseek.m4
@@ -1,5 +1,5 @@
# fseek.m4 serial 4
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 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.
diff --git a/m4/fseeko.m4 b/m4/fseeko.m4
index ca9da28..4ccb57d 100644
--- a/m4/fseeko.m4
+++ b/m4/fseeko.m4
@@ -1,5 +1,5 @@
# fseeko.m4 serial 17
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 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.
diff --git a/m4/fstat.m4 b/m4/fstat.m4
index b2cf2ad..ddd3fb9 100644
--- a/m4/fstat.m4
+++ b/m4/fstat.m4
@@ -1,5 +1,5 @@
# fstat.m4 serial 4
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 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.
diff --git a/m4/fstatat.m4 b/m4/fstatat.m4
index adbc7e5..548eb7b 100644
--- a/m4/fstatat.m4
+++ b/m4/fstatat.m4
@@ -1,5 +1,5 @@
# fstatat.m4 serial 3
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 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.
diff --git a/m4/futimens.m4 b/m4/futimens.m4
index a159207..3979813 100644
--- a/m4/futimens.m4
+++ b/m4/futimens.m4
@@ -1,7 +1,7 @@
# serial 6
# See if we need to provide futimens replacement.
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 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.
diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4
index 9b3b563..de69622 100644
--- a/m4/getcwd-abort-bug.m4
+++ b/m4/getcwd-abort-bug.m4
@@ -3,7 +3,7 @@
# name is unusually large. Any length between 4k and 16k trigger the bug
# when using glibc-2.4.90-9 or older.
-# Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -27,6 +27,7 @@ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG],
AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[[
+#include
#include
#if HAVE_UNISTD_H
# include
diff --git a/m4/getcwd-path-max.m4 b/m4/getcwd-path-max.m4
index 0b03b66..6b49f1a 100644
--- a/m4/getcwd-path-max.m4
+++ b/m4/getcwd-path-max.m4
@@ -6,7 +6,7 @@
# I've heard that this is due to a Linux kernel bug, and that it has
# been fixed between 2.4.21-pre3 and 2.4.21-pre4.
-# Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/getcwd.m4 b/m4/getcwd.m4
index 6f91bd9..fc986cd 100644
--- a/m4/getcwd.m4
+++ b/m4/getcwd.m4
@@ -1,6 +1,6 @@
# getcwd.m4 - check for working getcwd that is compatible with glibc
-# Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/m4/getdelim.m4 b/m4/getdelim.m4
index 36f66a1..c763994 100644
--- a/m4/getdelim.m4
+++ b/m4/getdelim.m4
@@ -1,6 +1,6 @@
# getdelim.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2014 Free Software Foundation, Inc.
dnl
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4
index 8f04b3b..aa523b6 100644
--- a/m4/getdtablesize.m4
+++ b/m4/getdtablesize.m4
@@ -1,5 +1,5 @@
-# getdtablesize.m4 serial 4
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# getdtablesize.m4 serial 5
+dnl Copyright (C) 2008-2014 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.
@@ -7,8 +7,35 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_GETDTABLESIZE],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
AC_CHECK_FUNCS_ONCE([getdtablesize])
- if test $ac_cv_func_getdtablesize != yes; then
+ if test $ac_cv_func_getdtablesize = yes; then
+ # Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft limit
+ # up to an unchangeable hard limit; all other platforms correctly
+ # require setrlimit before getdtablesize() can report a larger value.
+ AC_CACHE_CHECK([whether getdtablesize works],
+ [gl_cv_func_getdtablesize_works],
+ [AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([[#include