<div dir="ltr"><div dir="ltr">On Tue, Apr 21, 2026 at 3:22 PM Poul-Henning Kamp <<a href="mailto:phk@phk.freebsd.dk">phk@phk.freebsd.dk</a>> wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">--------<br>
Per Buer writes:<br>
<br>
<br>
> Fifteen places are affected by this. 14 of them are clean and easy to<br>
> address. The last one is params.First, this requires significant work and<br>
> complexity, and tackling it in Python will likely produce something quite<br>
> fragile.<br>
<br>
Can you elaborate a bit on params.First and the resulting fragility ?<br></blockquote><div><br>All the RST generation is quite easy to do in Python, except "params.rst", which leverages a lot of vinyl code like:<br><br>#if defined(HAVE_ACCEPT_FILTERS)<br><br>which will determine the final content of params.rst. Replicating this in Python sounds complex and fragile, likely requiring the replication of most of the C preprocessor.<br><br>There is sysconf(_SC_THREAD_STACK_MIN) and MCF_ParamConf("thread_pools", "%d", MAX_THREAD_POOLS) which will affect params.rst will end up looking.<br><br>So, autoconf has CC_FOR_BUILD, which allows us to use one compiler for the target and another for intermediate host tasks. This is a much smaller and simpler change than my original python suggestion, but it fails when you try to go FreeBSD <--> Linux or 64bit <--> 32bit, because the defaults change and the resulting params.rst will end up being somewhat off.<br><br>Now, this is also possible to address by checking that the target OS is identical to the host OS and that the pointer size is the same in both places. <br><br>So, I think, this is doable and will end up quite clean. If we want to support 64b->32b, we might have to add a "--disable-docs" for that to work. But personally, I would just deprecate 32b. It was a second class citizen i 2006 and is a bit of a joke today.<br><br>--</div></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Per Buer</div><div>Varnish Software</div></div></div></div>