summaryrefslogtreecommitdiffstats
path: root/build/header.mk
Commit message (Collapse)AuthorAgeFilesLines
* ioq: Check for io_uring_register_iowq_max_workers() before using itTavian Barnes2024-11-111-0/+1
| | | | | | | 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-1/+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/+1
| | | | | | 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.
* build: Remove gen/deps.mkTavian Barnes2024-09-141-1/+0
| | | | | | | | | | | | | | | | Since commit 3552b79 ("build/flags: Infrastructure to detect compiler flag support"), this file only listed a bunch of lines like -include obj/src/alloc.d -include obj/src/bar.d ... We can do that just as well from the main Makefile, and in one line too: -include ${OBJS:.o=.d} This lets us pull the list of all objects out of build/prelude.mk and put it closer to where those objects are actually used.
* build: Move the "compiler works at all" test earlierTavian Barnes2024-08-281-10/+2
|
* build: Include the auto-flag build logs in config.logTavian Barnes2024-08-281-1/+1
|
* bar: Use tcgetwinsize() from POSIX 2024 if availableTavian Barnes2024-07-281-0/+1
|
* xspawn: Use _Fork() if availableTavian Barnes2024-07-271-0/+1
| | | | | | | This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318
* build: Save cc.sh build products to gen/Tavian Barnes2024-06-211-2/+4
|
* build: Generate config.mk after config.hTavian Barnes2024-06-211-1/+4
| | | | That way if ./configure fails, make will complain about it directly.
* configure: Bail out if CC doesn't work at allTavian Barnes2024-06-181-2/+10
|
* build: Rename CONFIG to CONFFLAGSTavian Barnes2024-06-181-1/+1
|
* build: Include CC in bfs --version outputTavian Barnes2024-06-131-0/+1
|
* Embed more configuration info in bfs --versionTavian Barnes2024-06-081-0/+5
|
* atomic: Fix RISC-V build with GCC < 14Tavian Barnes2024-06-061-0/+1
| | | | | | | | | | | | 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
* configure: Use --with/--without for librariesTavian Barnes2024-05-241-1/+1
|
* prelude: Remove max_align_t polyfillTavian Barnes2024-05-201-1/+0
| | | | | | This has been fixed in Cosmopolitan. Link: https://github.com/jart/cosmopolitan/issues/944
* dir: Add support for posix_getdents()Tavian Barnes2024-05-171-0/+1
| | | | | | | | 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
* stat: Support __st_birthtim on OpenBSDTavian Barnes2024-05-161-0/+1
|
* build: Sort generated headersTavian Barnes2024-05-081-4/+4
|
* build: Check for 1- and 2-argument getmntent() variantsTavian Barnes2024-05-071-0/+2
|
* build: Add a check for getmntinfo()Tavian Barnes2024-05-071-0/+1
|
* build: Add checks for strtofflags() and string_to_flags()Tavian Barnes2024-05-071-0/+2
|
* xtime: Use the libc's timegm() if presentTavian Barnes2024-05-061-0/+1
|
* build: Add some nice aliases to ./configureTavian Barnes2024-05-011-1/+1
|
* build: Listen to make -sTavian Barnes2024-04-301-12/+9
|
* build: Replace `make config` with a `./configure` scriptTavian Barnes2024-04-291-0/+69
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.