summaryrefslogtreecommitdiffstats
path: root/build/has
Commit message (Collapse)AuthorAgeFilesLines
* thread: New thread_setname() functionTavian Barnes2024-11-272-0/+18
|
* ioq: Check for io_uring_register_iowq_max_workers() before using itTavian Barnes2024-11-111-0/+11
| | | | | | | This allows us to build against liburing as old as version 2.0, which is apparently shipped by the latest Amazon Linux distribution. Fixes: https://github.com/tavianator/bfs/issues/147
* alloc: Don't require size % align == 0Tavian Barnes2024-11-021-8/+0
| | | | | | | | | Allowing unaligned sizes will allow us to allocate aligned slabs with additional metadata in the tail without ballooning the allocation size for large alignments. Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2244.htm#dr_460 Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2072.htm
* xtime: Add a wrapper for timer_create()/setitimer()Tavian Barnes2024-10-101-0/+9
| | | | | | setitimer() is obsolescent in POSIX 2008 and removed from POSIX 2024. However, at least macOS doesn't implement the new timer_create() API, so we still need the setitimer() fallback.
* bar: Use tcgetwinsize() from POSIX 2024 if availableTavian Barnes2024-07-281-0/+9
|
* xspawn: Use _Fork() if availableTavian Barnes2024-07-271-0/+8
| | | | | | | This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318
* atomic: Fix RISC-V build with GCC < 14Tavian Barnes2024-06-061-0/+7
| | | | | | | | | | | | Prior to GCC 14.1, the __builtin_riscv_pause() can cause an error if the appropriate extension is not enabled in -march: /tmp/ccR1L1lA.s: Assembler messages: /tmp/ccR1L1lA.s:670: Error: unrecognized opcode `pause', extension `zihintpause' required Link: https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626748.html Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c2d04dd659c499d8df19f68d0602ad4c7d7065c2 Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=riscv64&ver=3.3.1-1&stamp=1717488400&raw=0
* prelude: Remove max_align_t polyfillTavian Barnes2024-05-201-8/+0
| | | | | | This has been fixed in Cosmopolitan. Link: https://github.com/jart/cosmopolitan/issues/944
* build: Remove unused configure testTavian Barnes2024-05-191-13/+0
|
* dir: Add support for posix_getdents()Tavian Barnes2024-05-172-0/+22
| | | | | | | | This will be added to the next POSIX standard, and is already implemented in musl. Link: https://www.austingroupbugs.net/view.php?id=697 Link: https://git.musl-libc.org/cgit/musl/commit/?id=1b0d48517f816e98f19111df82f32bfc1608ecec
* build: Add missing SPDX headersTavian Barnes2024-05-173-0/+9
|
* stat: Support __st_birthtim on OpenBSDTavian Barnes2024-05-161-0/+9
|
* build/has/getdents: Squelch warningsTavian Barnes2024-05-073-9/+6
|
* build: Check for 1- and 2-argument getmntent() variantsTavian Barnes2024-05-072-0/+19
|
* build: Add a check for getmntinfo()Tavian Barnes2024-05-071-0/+10
|
* build: Add checks for strtofflags() and string_to_flags()Tavian Barnes2024-05-072-0/+18
|
* xtime: Use the libc's timegm() if presentTavian Barnes2024-05-061-0/+9
|
* build: Replace `make config` with a `./configure` scriptTavian Barnes2024-04-2933-0/+327
This lets us do more traditional out-of-tree builds like $ ../path/to/bfs/configure $ make The .mk files are moved from ./config to ./build, mostly so that ./configure will auto-complete easily.