This week started awful; from Sunday to Wednesday morning I was basically too sick to get out of bed, or even to eat. After that, it got better, and I did some sketching, cooked some dinners and tried to get back into the #krita release process.

Next week is the big release: the stable 5.3.0 and the experimental Qt6-based Krita 6.0.0. Same codebase, lots of #ifdefs.

Everything seems to be ready, from notes to announcement -- for the video @davidrevoy thanks!

#ThatWasTheWeek

My week: https://lists.haxx.se/pipermail/daniel/2026-January/000143.html (email sent to 486 subscribers!)

bug-bounty and hackerone, exposing silly, asking me, rate limiting, features, DNS and curl, #ifdefs

@avidrissman
So many #ifdefs and prefs 😁

Another I remember is how tab navigation works on macOS compared to other OSes.

@gruber

@Binder you are in a twisty little maze of #ifdefs
You are playing the role of autotools
@[email protected] looking at include/curl/system.h where a large amount of #ifdefs are used, it is clear that some are accepted but some others are not, quite arbitrarily from what I can tell
@simoncozens you could do this with the C preprocessor and #ifdefs, but that way lies madness.

They made a few interesting decisions:

1. Rather than installing every SDK on everyone's computer, they just send the compiler along with the sources to compile

2. They use something that sounded like a regex search to find the #includes, and package all these headers up with the file to be compiled. This ended up not working very well because they're not actually running a full preprocessor, so they can't handle things like #ifdefs. (For comparison, distcc runs the preprocessor locally)

2/3

@ska

> People who haven't invested this much time and energy into that kind of infrastructure, how do they manage?

they usually end up writing for linux only, and non-linux support ranges from "best effort" to "get out"

for myself, i look if <function> is available on linux plus the 3 "big" BSDs (Free, Open, Net), and use it if so
if it's not, or if it differs too much, i just do without -- and for cases like qsort_r that is in posix but was fucked up, i just say "well, fix your libc or get out, i'm not carrying #ifdef spagetti for that"

i really hate doing #ifdefs and wrappers for stupid things

@claus

You're also not answering questions 😎

Really, some #ifdefs is the issue? How many cross-compilers are there involved?

@blyxyas

@robertmx Indeed. Or they were told not bother. And, seriously, how many #ifdefs and make file adjustments do you really need? đŸ€” I wonder how much Intel and AMD has to do with this...