Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-05-18 | build: Error on implicit function declarations | Tavian Barnes | |
2023-05-18 | bit: Rename int.h to bit.h | Tavian Barnes | |
2023-05-16 | build: Fix test utility compilation | Tavian Barnes | |
2023-05-16 | int: Backport C23's _WIDTH macros | Tavian Barnes | |
2023-05-16 | build: Make the tests a little less repetitive | Tavian Barnes | |
2023-05-03 | Let musl builds use getdents64() | Tavian Barnes | |
Glibc exposes a different struct dirent and dirent64, while on musl they are the same. But musl needs _LARGEFILE64_SOURCE to expose the *64() aliases. | |||
2023-04-12 | build: Fix tsan | Tavian Barnes | |
2023-03-31 | list: Use macros instead of type-erased lists | Tavian Barnes | |
2023-03-29 | list: New generic linked list API | Tavian Barnes | |
2023-01-31 | Release 2.6.32.6.3 | Tavian Barnes | |
2023-01-25 | Replace license boilerplate with SPDX tags | Tavian Barnes | |
And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | |||
2023-01-19 | bfstd: New wrappers for dirname()/basename() | Tavian Barnes | |
2023-01-19 | build: New $(LIBBFS) variable shared between the main binary and tests | Tavian Barnes | |
2022-12-09 | Turn on more aggressive format string warnings | Tavian Barnes | |
2022-11-11 | distcheck: Add ubsan to msan build | Tavian Barnes | |
2022-11-07 | tests/xtouch: New utility | Tavian Barnes | |
POSIX touch(1) doesn't include the -h option, and indeed OpenBSD doesn't implement it. Making our own utility also lets us add some handy extensions like -p (create parents) and -M (set permissions). | |||
2022-11-06 | bfstd: Rename from util and reorganize it | Tavian Barnes | |
2022-11-06 | util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include() | Tavian Barnes | |
Since __has_include() needs special preprocessing rules (e.g. not expanding `linux` in `__has_include(<linux/stat.h>)`, macros that expand to __has_include() do not necessarily behave correctly. Instead, we have to directly test `#if __has_include(...)`. See https://bugs.llvm.org/show_bug.cgi?id=37990 for more details. | |||
2022-10-21 | Release 2.6.22.6.2 | Tavian Barnes | |
2022-07-05 | Release 2.6.12.6.1 | Tavian Barnes | |
2022-06-14 | Add fish completion | Gustavo Costa | |
2022-05-31 | Makefile: Pass -std=gnu11 for gcov builds | Tavian Barnes | |
Otherwise, libgcov doesn't intercept functions like fork() and exec(), so we lose some coverage data in xspawn.c. Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82457 | |||
2022-05-21 | Release 2.62.6 | Tavian Barnes | |
2022-05-20 | Makefile: Add a BUILDDIR variable for out-of-tree builds | Tavian Barnes | |
bfs can now be built from a read-only source tree. | |||
2022-05-16 | Makefile: Split build into bin and obj directories | Tavian Barnes | |
This also moves the main binary from ./bfs to ./bin/bfs, and ./tests.sh to ./tests/tests.sh, with the goal of keeping the repository root clean. | |||
2022-05-13 | tests: Buffer standard error, and print it when tests fail | Tavian Barnes | |
2022-05-13 | tests: Add --verbose={commands,errors,skipped,tests} options | Tavian Barnes | |
2022-05-12 | tests: Use skip_if for sudo tests | Tavian Barnes | |
This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo | |||
2022-05-11 | Makefile: Look for .d files in the right places | Tavian Barnes | |
Fixes: f2cb2215213c0d831a697b0b440f78d9ad5c2b83 | |||
2022-05-09 | Makefile: New check-install target | Tavian Barnes | |
2022-04-21 | docs: Move some documentation into a subfolder | Tavian Barnes | |
2022-04-21 | Add basic zsh completion | Arvid Norlander | |
Fixes #32. | |||
2022-04-21 | Makefile: Put the main .o files under build/src | Tavian Barnes | |
2022-04-21 | Makefile: Generate build/FLAGS.new with its own target | Tavian Barnes | |
2022-04-19 | Makefile: Replace flags.sh with a two-line recipe | Tavian Barnes | |
2022-04-19 | Makefile: Move .flags to build/FLAGS | Tavian Barnes | |
2022-04-19 | Makefile: Quiet errors from git describe | Tavian Barnes | |
With new git versions, it is an error to invoke git inside a repository owned by someone else. This manifested as $ sudo make install fatal: unsafe repository ('/home/tavianator/code/bfs' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /home/tavianator/code/bfs Work around it with `2>/dev/null`. This should also help if git is not installed, but .git/ still exists. Link: https://github.blog/2022-04-12-git-security-vulnerability-announced/ | |||
2022-04-18 | Makefile: Spread out the .PHONY targets | Tavian Barnes | |
2022-04-18 | Makefile: Use a recipe to update .flags rather than $(shell) | Tavian Barnes | |
This means we don't need to generate .flags unless we're actually building a target that needs it, which is important for thing like $ sudo make install that used to inconveniently create a root-owned .flags file. | |||
2022-04-16 | tests: Also put build outputs under build/ | Tavian Barnes | |
2022-04-16 | Keep Build Files In `build` (#89) | トトも | |
2022-04-16 | Source / Include Folder (#88) | トトも | |
Moved Source Files Into `src` Folder | |||
2022-03-27 | Release 2.52.5 | Tavian Barnes | |
2022-03-25 | Update from C99 to C11 | Tavian Barnes | |
This is necessary for standard anonymous structs/unions. | |||
2022-03-12 | Don't shadow standard headers | Tavian Barnes | |
@italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR | |||
2022-03-11 | Makefile: Disable onig-config for the 32-bit distcheck build | Tavian Barnes | |
onig-config can redundantly add -L/usr/lib to LDLIBS, which results in a few warnings like /usr/bin/ld: skipping incompatible /usr/lib/libonig.so when searching for -lonig While I'm at it, explicitly restrict the -m32 build to Linux, since it doesn't work on FreeBSD and was only skipped because uname -m is amd64, not x86_64. | |||
2022-03-11 | Makefile: Enable time64 | Tavian Barnes | |
2022-03-09 | Makefile: Add lsan and tsan flag targets | Tavian Barnes | |
2022-02-28 | Makefile: Make separate variables for Oniguruma flags | Tavian Barnes | |
This allows customizing the necessary flags if onig-config isn't available or is undesirable (e.g. when linking against a non-system build of libonig). | |||
2022-02-24 | Release 2.4.12.4.1 | Tavian Barnes | |