summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
...
* build: Add tsan to distcheckTavian Barnes2023-06-121-0/+4
|
* build: Error on implicit function declarationsTavian Barnes2023-05-181-0/+1
|
* bit: Rename int.h to bit.hTavian Barnes2023-05-181-1/+1
|
* build: Fix test utility compilationTavian Barnes2023-05-161-2/+4
|
* int: Backport C23's _WIDTH macrosTavian Barnes2023-05-161-1/+1
|
* build: Make the tests a little less repetitiveTavian Barnes2023-05-161-18/+16
|
* Let musl builds use getdents64()Tavian Barnes2023-05-031-1/+2
| | | | | | 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.
* build: Fix tsanTavian Barnes2023-04-121-33/+39
|
* list: Use macros instead of type-erased listsTavian Barnes2023-03-311-1/+0
|
* list: New generic linked list APITavian Barnes2023-03-291-0/+1
|
* Release 2.6.32.6.3Tavian Barnes2023-01-311-1/+1
|
* Replace license boilerplate with SPDX tagsTavian Barnes2023-01-251-15/+2
| | | | | | | 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/
* bfstd: New wrappers for dirname()/basename()Tavian Barnes2023-01-191-4/+9
|
* build: New $(LIBBFS) variable shared between the main binary and testsTavian Barnes2023-01-191-40/+44
|
* Turn on more aggressive format string warningsTavian Barnes2022-12-091-2/+3
|
* distcheck: Add ubsan to msan buildTavian Barnes2022-11-111-1/+1
|
* tests/xtouch: New utilityTavian Barnes2022-11-071-2/+8
| | | | | | 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).
* bfstd: Rename from util and reorganize itTavian Barnes2022-11-061-1/+1
|
* util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include()Tavian Barnes2022-11-061-3/+3
| | | | | | | | | 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.
* Release 2.6.22.6.2Tavian Barnes2022-10-211-1/+1
|
* Release 2.6.12.6.1Tavian Barnes2022-07-051-1/+1
|
* Add fish completionGustavo Costa2022-06-141-0/+3
|
* Makefile: Pass -std=gnu11 for gcov buildsTavian Barnes2022-05-311-0/+2
| | | | | | | 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
* Release 2.62.6Tavian Barnes2022-05-211-1/+1
|
* Makefile: Add a BUILDDIR variable for out-of-tree buildsTavian Barnes2022-05-201-51/+55
| | | | bfs can now be built from a read-only source tree.
* Makefile: Split build into bin and obj directoriesTavian Barnes2022-05-161-54/+52
| | | | | 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.
* tests: Buffer standard error, and print it when tests failTavian Barnes2022-05-131-2/+2
|
* tests: Add --verbose={commands,errors,skipped,tests} optionsTavian Barnes2022-05-131-1/+1
|
* tests: Use skip_if for sudo testsTavian Barnes2022-05-121-4/+3
| | | | | | This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo
* Makefile: Look for .d files in the right placesTavian Barnes2022-05-111-1/+1
| | | | Fixes: f2cb2215213c0d831a697b0b440f78d9ad5c2b83
* Makefile: New check-install targetTavian Barnes2022-05-091-0/+8
|
* docs: Move some documentation into a subfolderTavian Barnes2022-04-211-1/+1
|
* Add basic zsh completionArvid Norlander2022-04-211-0/+3
| | | | Fixes #32.
* Makefile: Put the main .o files under build/srcTavian Barnes2022-04-211-35/+31
|
* Makefile: Generate build/FLAGS.new with its own targetTavian Barnes2022-04-211-4/+7
|
* Makefile: Replace flags.sh with a two-line recipeTavian Barnes2022-04-191-1/+2
|
* Makefile: Move .flags to build/FLAGSTavian Barnes2022-04-191-6/+6
|
* Makefile: Quiet errors from git describeTavian Barnes2022-04-191-3/+5
| | | | | | | | | | | | | | | | 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/
* Makefile: Spread out the .PHONY targetsTavian Barnes2022-04-181-2/+9
|
* Makefile: Use a recipe to update .flags rather than $(shell)Tavian Barnes2022-04-181-8/+4
| | | | | | | | | 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.
* tests: Also put build outputs under build/Tavian Barnes2022-04-161-11/+11
|
* Keep Build Files In `build` (#89)トトも2022-04-161-29/+32
|
* Source / Include Folder (#88)トトも2022-04-161-1/+4
| | | Moved Source Files Into `src` Folder
* Release 2.52.5Tavian Barnes2022-03-271-1/+1
|
* Update from C99 to C11Tavian Barnes2022-03-251-1/+1
| | | | This is necessary for standard anonymous structs/unions.
* Don't shadow standard headersTavian Barnes2022-03-121-5/+5
| | | | | | | | | | | | | @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
* Makefile: Disable onig-config for the 32-bit distcheck buildTavian Barnes2022-03-111-2/+2
| | | | | | | | | | | 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.
* Makefile: Enable time64Tavian Barnes2022-03-111-0/+1
|
* Makefile: Add lsan and tsan flag targetsTavian Barnes2022-03-091-1/+13
|
* Makefile: Make separate variables for Oniguruma flagsTavian Barnes2022-02-281-3/+6
| | | | | | 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).