summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* build: Dont include ${BUILDDIR} in short messagesTavian Barnes2024-04-177-9/+15
|
* mtab: Arena-allocate struct bfs_mountTavian Barnes2024-04-171-15/+28
|
* build: Add back the default CFLAGSTavian Barnes2024-04-171-6/+20
|
* build: Properly export PKG_CONFIGTavian Barnes2024-04-172-0/+2
|
* build: Make the config scripts POSIX-compliantTavian Barnes2024-04-174-16/+18
|
* build: Support NOLIBS=1Tavian Barnes2024-04-171-1/+1
|
* build: Refactor configurationTavian Barnes2024-04-1613-464/+454
| | | | | | We now use a recursive make invocation to do the work of `make config`. The new implementation is also compatible with GNU make 3.81 found on macOS.
* tests: Quiet diffTavian Barnes2024-04-161-2/+2
| | | | | | On Solaris/Illumos, `diff` prints "No differences encountered" if the files are the same. Guard it with `cmp -s` so we get no output for passing tests.
* build: Center [ CC ] / [ LD ]Tavian Barnes2024-04-161-2/+2
|
* distcheck: Run all the checksTavian Barnes2024-04-151-1/+1
| | | | Oops.
* build: Be quieter by defaultTavian Barnes2024-04-151-22/+74
|
* build: Make distclean also clean the distcheck dirsTavian Barnes2024-04-151-9/+11
|
* build: Show a nicer error if the user forgets to run make configTavian Barnes2024-04-151-2/+9
|
* build: Remove unneeded USE_* defaultsTavian Barnes2024-04-151-10/+1
|
* build: Fix FreeBSD *SAN buildsTavian Barnes2024-04-111-1/+1
|
* build: Factor out vars.mk generation into a scriptTavian Barnes2024-04-102-34/+83
|
* build: Run pkg-config with all packages at onceTavian Barnes2024-04-108-99/+150
|
* config/cc.sh: Pass all the flags when running the compilerTavian Barnes2024-04-101-4/+8
|
* printf: Implement %ZTavian Barnes2024-04-101-0/+23
|
* Implement -contextTavian Barnes2024-04-107-62/+103
| | | | Closes: https://github.com/tavianator/bfs/issues/27
* fsade: Add libselinux wrappersTavian Barnes2024-04-102-0/+50
|
* build: Add optional libselinux dependencyTavian Barnes2024-04-104-7/+22
|
* docs/BUILDING: Fixes for new build systemTavian Barnes2024-04-101-14/+14
|
* tests: Move newer_link out of posix/Tavian Barnes2024-04-094-0/+5
| | | | | | | | POSIX has clarified that it's unspecified whether -newer uses times from stat() or lstat(), because implementations vary. It does specify that it must fall back to lstat() for broken links, so test that. Link: https://austingroupbugs.net/view.php?id=1776
* build: Add a separate configuration stepTavian Barnes2024-04-0923-432/+757
|
* ci: Update {Net,Open}BSDTavian Barnes2024-04-091-2/+2
|
* xspawn: Fix $PATH resolution on NetBSD 10Tavian Barnes2024-04-091-2/+2
|
* build: Don't use libattrTavian Barnes2024-04-046-18/+4
| | | | | We only rely on interfaces like listxattr() which are provided by the C library itself.
* config: Allow inlining allocator functionsTavian Barnes2024-03-281-1/+1
| | | | | GCC disables inlining on custom allocator/deallocator pairs, so that they can be matched up accurately in stack traces.
* tests/bsd: Add a -sparse testTavian Barnes2024-03-282-0/+13
|
* tests/gnu: Add a -used testTavian Barnes2024-03-282-0/+44
|
* tests/common: Add a -delete error handling testTavian Barnes2024-03-282-0/+17
|
* xspawn: Fix bfs_resolve_late() error reportingTavian Barnes2024-03-272-8/+25
|
* tests/xspawn: Test path resolution failureTavian Barnes2024-03-271-3/+30
|
* tests/xspawn: Also test dup2()Tavian Barnes2024-03-271-1/+3
|
* tests/xspawn: New unit testTavian Barnes2024-03-275-2/+183
|
* tests: New bfs_pcheck() macro to report xstrerror(errno)Tavian Barnes2024-03-273-3/+25
|
* xspawn: Don't use posix_spawnp() on macOSTavian Barnes2024-03-271-1/+33
| | | | | | | | On macOS, posix_spawnp() resolves the executable against the $PATH *before* the file_actions are applied, contrary to the upcoming POSIX wording [1] for posix_spawn_file_actions_addfchdir(). [1]: https://www.austingroupbugs.net/view.php?id=1208#c4830
* xspawn: Refactor $PATH resolutionTavian Barnes2024-03-271-81/+240
| | | | | | | | | Technically, we should be resolving executables *after* applying the file actions. It's only safe to resolve earlier if $PATH contains no relative entries, or if there are no fchdir() actions. The new implementation resolves as early as possible, deferring to posix_spawnp() if necessary for correctness.
* xspawn: Implement bfs_spawn_addopen()Tavian Barnes2024-03-272-3/+67
|
* bfstd: Escape ASCII tildesTavian Barnes2024-03-262-1/+3
| | | | | | | | The POSIX spec [1] lists some characters that may need to be escaped. Unfortunately, the document uses ˜ (U+02DC SMALL TILDE) instead of ~ (U+007E TILDE), and I copy-pasted from it. [1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_02
* xtime: Don't update tm if xtimegm() overflowsTavian Barnes2024-03-262-41/+55
|
* completions: Add -jTavian Barnes2024-03-253-4/+7
|
* trie: Calculate representative indices branchlesslyTavian Barnes2024-03-231-3/+4
|
* bftw: Use a signed integer for dir_limitTavian Barnes2024-03-221-25/+8
|
* Fix some -Wpedantic warningsTavian Barnes2024-03-222-10/+8
|
* bfstd: Add an ASCII fast path to xstrwidth()Tavian Barnes2024-03-211-1/+10
|
* bfstd: New asciilen() functionTavian Barnes2024-03-213-25/+73
|
* bit: Check __BYTE_ORDER__ for the native endianTavian Barnes2024-03-212-2/+15
| | | | __ORDER_NATIVE_ENDIAN__ is not a thing.
* bfstd: Check that wcwidth() is positiveTavian Barnes2024-03-202-2/+9
| | | | | wcwidth() returns -1 for non-printable characters, but terminals typically don't print anything for them, so treat them as 0.