summaryrefslogtreecommitdiff
path: root/bootstrap.conf
AgeCommit message (Collapse)Author
2012-04-22maint: sync up required autoconf version in bootstrap.confStefano Lattarini
* bootstrap.conf ($buildreq): Require autoconf 2.64, not 2.62. This is consistent with what is required by AC_PREREQ in configure.ac.
2012-03-22maint: ensure PATH_MAX is set correctlyPádraig Brady
This reverts part of commit v8.12-103-g54cbe6e. * src/system.h: Include gnulib's pathmax.h to honor system specific limits, and then we set PATH_MAX only if needed. Note pathmax.h no longer uses pathconf ("/", _PC_PATH_MAX). Note I didn't reinstate the comments about limits.h inclusion order, because pathmax.h includes limits.h anyway.
2012-03-21build: add numerous gnulib modules, mostly for improved portabilityJim Meyering
* bootstrap.conf (gnulib_modules): Add numerous modules for improved portability. Reported by Eric Blake in http://thread.gmane.org/gmane.comp.gnu.coreutils.general/2426/focus=2489 * po/POTFILES.in: Add new files.
2012-01-01maint: update all copyright year number rangesJim Meyering
Run "make update-copyright".
2011-12-17build: remove now-useless code from bootstrap.confJim Meyering
* bootstrap.conf (bootstrap_epilogue): Remove now-unnecessary, snippet that edited gnulib-tests/gnulib.mk. This snippet was rendered unnecessary by commit v8.14-73-g5bf2c0e.
2011-11-24maint: bootstrap: run autopoint and libtoolize *before* gnulib-toolJim Meyering
* bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions. Run autopoint and libtoolize *before* gnulib-tool. After it, run an abbreviated autoreconf, rather than a loop around all tools. * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink and --makefile-name=gnulib.mk. Remove stray use of $bt. * lib/Makefile.am: Initialize all of the following so that generated code in gnulib.mk may use += to append to those variables: AM_CFLAGS, AM_CPPFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MAINTAINERCLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES, SUFFIXES, noinst_LIBRARIES.
2011-11-24maint: use gnulib's gettext-h, not the gettext moduleJim Meyering
* bootstrap.conf (gnulib_modules): Use gnulib's gettext-h, not the gettext module. Not only is gettext-h far smaller (it has far fewer dependencies than the gnulib module), but it does not suffer from the problem with the gettext module whereby it adds a -I.../intl option to compilation flags. That can provoke warnings, since we don't have such a directory. We used to work around that via a hack in bootstrap, but that was ugly and inefficient.
2011-11-12maint: install customized git hooks to keep commit logs consistentJim Meyering
* bootstrap.conf (buildreq): Copy (with backup) coreutils-supplied git hooks into .git/hooks, to help keep commit logs normalized.
2011-11-04build: do use fstatat and unlinkat modules, now that they're separateJim Meyering
* bootstrap.conf (gnulib_modules): Add fstatat and unlinkat.
2011-11-02build: adapt to gnulib's recent openat/fchmodat separationJim Meyering
* gnulib: Update to latest, pulling in the openat/fchmodat separation. * bootstrap.conf (gnulib_modules): Add fchmodat, now that gnulib has moved it into its own module.
2011-11-01build: adapt to gnulib's recent openat/fchownat separationJim Meyering
* bootstrap.conf (gnulib_modules): Add fchownat, now that gnulib has moved it into its own module. * gnulib: Update to latest.
2011-08-12pathchk: port to hosts where mbstate_t is replacedPaul Eggert
This problem was discovered when trying to build git coreutils on Solaris 8 sparcv9 with Sun C 5.8: the 3rd argument to mbrlen was of type int * (a pointer to the gnulib replacement mbstate_t) but the system mbrlen wants the system mbstate_t *. * bootstrap.conf (gnulib_modules): Add mbrlen. * src/pathchk.c (mbrlen, mbstate_t) [!(HAVE_MBRLEN && HAVE_MBSTATE_T)]: Remove macros, which are wrong now that gnulib supplies replacements for mbstate_t and mbrlen.
2011-08-11bootstrap: use latest gnulib bootstrap, gettextPaul Eggert
* bootstrap: Sync from gnulib. This removes an obsolescent gettext.m4 patch, along with some other changes that do not seem to affect coreutils. * bootstrap.conf (gnulib_modules): Use gettext, not gettext-h. Current gnulib gettext seems to work without needing special hacking. * configure.ac (AM_GNU_GETTEXT_VERSION): Now 0.18.1, not 0.17. * gnulib: Update to latest.
2011-08-11maint: use gnulib's new largefile modulueJim Meyering
* bootstrap.conf (gnulib_modules): Add largefile. This is useful to Mac OS X 10.5 users if/when configure is generated using autoconf prior to v2.68-80-gdb2f2e0. * gnulib: Update to latest.
2011-07-29build: require gnulib's fclose moduleJim Meyering
* bootstrap.conf (gnulib_modules): Explicitly use the fclose module. This is required, now that gnulib's close module no longer depends on fclose. Without this module, we would be exposed to fclose bugs affecting at least glibc 2.13 and FreeBSD. Reported by Bernhard Voelker. Suggested by Eric Blake.
2011-07-25timeout: support sub-second timeoutsPádraig Brady
* src/timeout.c (settimeout): A new function to convert from a floating point duration and call alarm() or timer_settime() if that's available. (parse_duration): Return a double rather than unsigned int. (usage): Mention floating point is supported. (main): Pass the double to settimeout() rather than calling alarm() directly with the parsed int. (cleanup): Likewise. * doc/coreutils.texi (timeout invocation): Say floating point timeouts now supported, and mention the caveat with resolution. * bootstrap.conf: Include the timer-time gnulib module. * tests/misc/timeout-parameters: Add a test with nanoseconds. * NEWS: Mention the improvement.
2011-07-12build: list makeinfo 4.13 as a build-from-git requirementEric Blake
* bootstrap.conf (buildreq): List 4.13 as minimum makeinfo version. Prompted by Joachim Schmitz's report in http://debbugs.gnu.org/9050.
2011-06-25maint: don't use gnulib's pathmax module; define PATH_MAX if neededJim Meyering
* bootstrap.conf (gnulib_modules): Remove pathmax. * src/system.h: Don't include "pathmax.h". (PATH_MAX) [!PATH_MAX]: Define to 8192. Defining it to a constant is preferable to using a definition from pathmax.h that might expand to pathconf ("/", _PC_PATH_MAX). Prompted by discussion leading to: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/27183/focus=27269
2011-06-25build: bootstrap: remove obsolete gettext-related file exclusionsJim Meyering
* bootstrap.conf: Don't bother to exclude gettext/intl-related .m4 files. That exclusion is no longer necessary.
2011-06-13maint: use stat-size module from gnulibJames Youngman
* gnulib: Update to latest. * src/system.h: Definitions of ST_* macros have moved into the gnulib module stat-size (specifically, the header file stat-size.h), so remove them from here. * src/truncate.c: Include stat-size.h. * src/stat.c: Likewise. * src/shred.c: Likewise. * src/ls.c: Likewise. * src/du.c: Likewise. * src/ioblksize.h: New file. Move definition of io_blksize out of system.h so that system.h does not have to include stat-size.h. * src/cat.c: Include ioblksize.h. * src/split.c: Likewise. * src/copy.c: Include both stat-size.h and ioblksize.h. * src/Makefile.am (noinst_HEADERS): Add ioblksize.h.
2011-05-03maint: remove use of gnulib's obsolete strtol moduleJim Meyering
* bootstrap.conf (gnulib_modules): Remove now-obsolete "strtol". Remove use of $obsolete_gnulib_modules: unused since commit edc69f91.
2011-04-29build: update to latest gnulibEric Blake
* gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Add xgetgroups.
2011-04-25maint: explicitly list full-read and full-write module namesJim Meyering
* bootstrap.conf (gnulib_modules): Include full-read and full-write explicitly. Before, we'd get them via safe-read, but with newer gnulib, that is no longer enough: link failure due to undefined references to full_write.
2011-03-20bootstrap: do not exclude m4/message.m4Paul Eggert
* bootstrap.conf (excluded_files): Don't exclude m4/lcmessage.m4, as it's needed with the latest gnulib.
2011-03-13maint: use wcswidth from gnulibPádraig Brady
* gl/lib/mbsalign.c (rpl_wcswidth): Remove this in favor of the equivalent wcswidth replacement in gnulib. * bootstrap.conf: Depend on the wcswidth module. Suggested by Bruno Haible.
2011-01-14maint: refactor to use read-file from gnulibPádraig Brady
* bootstrap.conf: Add the read-file module * src/ptx.c: Replace the original code which would needlessly read SIZE_MAX bytes of files larger than this. * src/shuf.c: Replace the original code.
2011-01-11gnulib: Also use dtoastr and ldtoastr modules.Paul Eggert
This adjusts to the recent splitting of the ftoastr module into 3 <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00199.html>. * bootstrap.conf (gnulib_modules): Add dtoastr, ldtoastr, as coreutils needs all 3 modules now.
2011-01-01maint: update all copyright year number rangesJim Meyering
Run "make update-copyright".
2010-12-30maint: allow gettext 0.17 againEric Blake
Commit 041c9c47 traded the 'gettext' module for the lighter 'gettext-h' module, so as to not require the latest gettext release (we only need the latest release if we ship gettext as a dependent library, but coreutils has long preferred to use it as an external library). But that commit overlooked two places necessary to allow the use of gettext 0.17. This does not force you to downgrade (using gettext 0.18.1.1 is still just fine), nor does it affect tarballs (once a tarball is built with a given gettext version, it can be built on other machines regardless of what gettext version is present). * bootstrap.conf (buildreq): Relax prerequisite. * configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
2010-11-18od: fix bugs in displaying floating-point valuesPaul Eggert
* NEWS: Describe patch. * bootstrap.conf (gnulib_modules): Add ftoastr. * src/od.c: Include ftoastr.h, not float.h. (FLT_DIG, DBL_DIG): Remove. No need to verify LDBL_DIG. (FMT_BYTES_ALLOCATED): No need to worry about floating point now, since this format is no longer used for floating point. (PRINT_FIELDS): New macro, with most of the guts of the old PRINT_TYPE. (PRINT_TYPE): Rewrite to use PRINT_FIELDS. (PRINT_FLOATTYPE): New macro. This uses the new functions from ftoastr. (print_float, print_double, print_long_double): Reimplement using PRINT_FLOATTYPE. (decode_one_format): Calculate field widths based on ftoastr-supplied macros. * tests/Makefile.am (TESTS): Add misc/od-float. * tests/misc/od-float: New file.
2010-11-16build: add `patch` as a bootstrap dependencyPádraig Brady
* bootstrap.conf (buildreq): require `patch` as it's used by gnulib-tool to apply local diffs to gnulib modules
2010-11-13maint: remove fstimeprec (variable precision time stamp) supportJim Meyering
The implementation of variable-precision time stamps relied on heuristics that made the output subtly nondeterministic, or at least hard to reproduce: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/21531/focus=21538 So, for now at least, we're removing that feature. * bootstrap.conf (gnulib_modules): Remove fstimeprec. * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h: Remove files. * gl/modules/fstimeprec, gl/modules/fstimeprec-tests: Likewise. * gl/tests/test-fstimeprec.c: Remove file.
2010-11-06stat: use e.g. %.3X instead of %X.%3:X for sub-second precisionPaul Eggert
* NEWS: Document this. * doc/coreutils.texi (stat invocation): Likewise. * gl/lib/fstimeprec.c, gl/lib/fstimeprec.h, gl/modules/fstimeprec: * gl/modules/fstimeprec-tests, gl/tests/test-fstimeprec.c: New files. * bootstrap.conf (gnulib_modules): Add fstimeprec. * src/stat.c: Include fstimeprec.h. Don't include xstrtol.h. (decimal_point, decimal_point_len): New static vars. (main): Initialize them. (epoch_sec, out_ns): Remove. (out_int, out_uint): Now returns whatever printf returned. (out_minus_zero, out_epoch_secs): New functions. (print_stat): Use out_epoch_sec instead of out_ns and epoch_sec. (print_stat, print_it, usage): Remove the %:X-style formats. * tests/misc/stat-nanoseconds: Set TZ=UTC0 to avoid problems with weird time zones. Use a time stamp near the Epoch so that we don't have to worry about leap seconds. Redo test cases to match new behavior. * tests/touch/60-seconds: Change %Y.%:Y to %.9Y, to adjust to new behavior.
2010-10-05build: complete the rename of get_dateEric Blake
* gnulib: Update to latest. * src/date.c (includes, batch_convert, main): Track rename. * src/touch.c (includes, get_reldate): Likewise. * doc/coreutils.texi (Top, Date input formats): Likewise. * bootstrap.conf (gnulib_modules): Likewise. * doc/Makefile.am (EXTRA_DIST): Likewise. * doc/.gitignore: Likewise. * bootstrap: Synchronize from upstream.
2010-09-30maint: update gnulibEric Blake
* gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Reflect new module name. * bootstrap: Resync from upstream.
2010-09-18build: use gnulib's new termios moduleJim Meyering
With it, we can remove the two sole tests of HAVE_TERMIOS_H. * bootstrap.conf (gnulib_modules): Add termios. * src/ls.c: Don't test HAVE_TERMIOS_H. * src/stty.c: Likewise. * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove configure-time test for termios.h.
2010-09-18maint: don't use obsolete gnulib modulesJim Meyering
* bootstrap.conf (gnulib_modules): Use calloc-gnu, malloc-gnu and realloc-gnu modules, rather than calloc, malloc and realloc. The shorter-named modules are now deprecated. (obsolete_gnulib_modules): Remove. (gnulib_modules): Remove raise, strbprk; they're obsolete, too. Move strtod, strtol here, from obsolete_gnulib_modules.
2010-09-17maint: update to latest gnulibEric Blake
* gnulib: Update to latest. * bootstrap.conf (gnulib_modules): Add fdutimensat. * src/touch.c (touch): Use fdutimensat instead of gl_futimens.
2010-09-04build: use gettext-h, not gettextJim Meyering
* bootstrap.conf (gnulib_modules): Use gettext-h, not gettext. The latter is overkill for a package that uses AM_GNU_GETTEXT([external]...
2010-07-22fadvise: new module providing a simpler interface to posix_fadvisePádraig Brady
* bootstrap.conf: Include the new module * gl/lib/fadvise.c: Provide a simpler interface to posix_fadvise. (fadvise): Provide hint to the whole file associated with a stream. (fdadvise): Provide hint to the specific portion of a file associated with a file descriptor. * gl/lib/fadvise.h: Redefine POSIX_FADV_* to FADVISE_* enums. * gl/modules/fadvise: New file. * m4/jm-macros.m4: Remove the no longer needed posix_fadvise check. * .x-sc_program_name: Exclude test-fadvise.c from this check. * gl/tests/test-fadvise (main): New test program. * gl/modules/fadvise-testss: A new index to reference the tests. * src/sort.c (stream_open): Use the new interface. * src/dd.c (iwrite): Likewise.
2010-07-13sort: parallelize internal sortChen Guo
This patch is by Gene Auyeung, Chris Dickens, Chen Guo, and Mike Nichols, based off of a patch by Paul Eggert, Glen Lenker, et. al., with a basic heap implementation based off of the GDSL heap, originally by Nicolas Darnis. The number of sorts done in parallel is limited to the number of available processors by default, or can be further restricted with the --parallel option. On a dual-die, 8 core Intel Xeon, results show sorting with 8 threads is almost 4 times faster than using a single thread. Timings when sorting a 96MB file: THREADS TIME (s) 1 5.10 2 2.87 4 1.75 8 1.31 Single threaded sorting has also been improved, especially for cheaper comparison operations: COMMAND BEFORE (s) AFTER (s) sort 8.822 8.716 sort -g 10.336 10.222 sort -n 3.077 2.961 LANG=C sort 2.169 2.066 * bootstrap.conf: Add heap, pthread. * coreutils.texi (sort): Describe the new --parallel option. * gl/lib/heap.c: New file. Very basic heap implementation. * gl/lib/heap.h: New file. * gl/modules/heap: New file. * src/Makefile.am: Add LIB_PTHREAD. * src/sort.c: Include heap.h, nproc.h, pthread.h. (MAX_MERGE): New macro. (SUBTHREAD_LINES_HEURISTIC, PARALLEL_OPTION): New constants. (MERGE_END, MERGE_ROOT): New constants. (struct merge_node): New struct. (struct merge_node_queue): New struct. (sortlines temp): Remove declaration. (usage, long_options, main): New option, --parallel. (specify_nthreads): New function. (mergelines): New signature, to emphasize the fact that the HI area must be part of the destination. All callers changed. (sequential_sort): New function, renamed from sortlines. Merge in the functionality of sortlines_temp. (compare_nodes): New function. (lock_node, unlock_node): New functions. (queue_destroy): New function. (queue_init): New function. (queue_insert): New function. (queue_pop): New function. (write_unique): New function. (mergelines_node): New function. (check_insert): New function. (update_parent): New function. (merge_loop): New function. (sortlines): Rewrite to support and use parallelism, with a new signature. All callers changed. (struct thread_args): New struct. (sortlines_thread): New function. (sortlines_temp): Remove. (sort): New argument NTHREADS. All uses changed. Output moved to mergelines_node. (main): disable threading if we are sorting at random. * tests/Makefile.am (TESTS): Add misc/sort-benchmark-random. * tests/misc/sort-benchmark-random: New file. Signed-off-by: Pádraig Brady <P@draigBrady.com>
2010-07-04du: use less than half as much memory when tracking hard linksJim Meyering
When processing a hard-linked file, du must keep track of the file's device and inode numbers in order to avoid counting its storage more than once. When du would process many hard linked files -- as are created by some backup tools -- the amount of memory required for the supporting data structure could become prohibitively large. This patch takes advantage of the fact that the amount of information in the numbers of the typical dev,inode pair is far less than even 32 bits, and hence usually fits in the space of a pointer, be it 32 or 64 bits wide. A typical du traversal examines files on no more than a handful of distinct devices, so the device number can be encoded in just a few bits. Similarly, few inode numbers use all of the high bits in an ino_t. Before, we would represent the dev,inode pair using a naive struct, and allocate space for each. Thus, an entry in the hash table consisted of a pointer (to that struct) and a "next" pointer. With this change, we encode the dev,inode information and put those bits in place of the pointer, and thus do away with the need to allocate additional space for each dev,inode pair. * src/du.c: Include "di-set.h". Don't include "hash.h"; it's no longer used. (INITIAL_DI_SET_SIZE): Define. (di_set): New global, to replace "htab". (entry_hash, entry_compare, hash_init): Remove functions. (hash_ins): Use di-set functions, rather than ones from the hash module. (main): Likewise. * bootstrap.conf (gnulib_modules): Add the new di-set module. * NEWS (New features): Mention it.
2010-06-11build: don't let a large sparse temporary file cause "make dist" to failJim Meyering
* bootstrap.conf (bootstrap_epilogue): Replace the offending grep command from po/Makefile.in.in's $(DOMAIN).pot-update rule.
2010-05-31stat: use gnulib's alignof moduleJim Meyering
* src/stat.c (alignof): Remove definition. Instead, include "alignof.h", and sort the #include directives. And get its definition from the gnulib module by that name: * bootstrap.conf (gnulib_modules): Add alignof.
2010-05-10build: record that when building from git, gettext-0.18 is requiredJim Meyering
* bootstrap.conf (buildreq): Require gettext-0.18.
2010-04-24build: enable gnulib modules for more replacement headersJim Meyering
* bootstrap.conf (gnulib_modules): Add the following: netinet_in, sys_ioctl, sys_wait, so that we can eliminate the #if HAVE_<header>_H tests guarding their header inclusions.
2010-04-11build: tell ./bootstrap to check for xz up-frontJie Liu
* bootstrap.conf (buildreq): Add xz to the list.
2010-04-09maint: ftruncate is always available, even without gnulibJim Meyering
Now that even MinGW provides ftruncate, we know that all reasonable portability targets provide this function. Remove the workaround code. We nearly removed the gnulib module three years ago: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203 and it is now officially "obsolete". * bootstrap.conf (gnulib_modules): Remove ftruncate. * src/copy.c (copy_reg): Remove use of HAVE_FTRUNCATE and its no-longer-used workaround code. * src/truncate.c: Remove a comment about handling missing ftruncate.
2010-01-06build: require newer versions of automake and autoconfJim Meyering
* configure.ac: Require autoconf-2.62 and automake-1.11.1 or newer. * bootstrap.conf (buildreq): Require automake-1.11.1 or newer, to ensure people use a version with the fix for CVE-2009-4029. Note that the coreutils-8.2 tarball included a fixed Makefile.in. Require autoconf-2.62, per automake.
2010-01-01maint: update all FSF copyright year lists to include 2010Jim Meyering
Use this command: git ls-files | grep -v COPYING \ | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \ build-aux/update-copyright