haproxy/dev
Willy Tarreau 946d370d22 BUILD: flags: really restrict the cases where flags are exposed
A number of internal flags started to be exposed to external programs
at the location of their definition since commit 77acaf5af ("MINOR:
flags: add a new file to host flag dumping macros"). This allowed the
"flags" utility to decode many more of them and always correctly. The
condition to expose them was to rely on the preliminary definition of
EOF that indicates that stdio is already included. But this was a
wrong approach. It only guarantees that snprintf() can safely be used
but still causes large functions to be built. But stdio is often
included before some of these includes, so these heavy inline functions
actually have to be compiled in many cases. The result is that the
build time significantly increased, especially with fast compilers
like gcc -O0 which took +50% or TCC which took +100%!

This patch addresses the problem by instead relying on an explicit
macro HA_EXPOSE_FLAGS that the calling program must explicitly define
before including these files. flags.c does this and that's all. The
previous build time is now restored with a speed up of 20 to 50%
depending on the build options.
2022-11-24 08:32:27 +01:00
..
base64
coccinelle DEV: coccinelle: add endp_flags.cocci 2022-05-27 19:33:34 +02:00
flags BUILD: flags: really restrict the cases where flags are exposed 2022-11-24 08:32:27 +01:00
haring DEV: haring: support remapping LF in contents with CR VT 2022-08-12 12:11:30 +02:00
hpack BUILD: makefile: integrate the hpack tools 2021-04-02 17:48:42 +02:00
plug_qdisc
poll DEV: poll: indicate the FD's side in front of its value 2022-11-17 10:56:35 +01:00
qpack MINOR: qpack: implement standalone decoder tool 2022-06-15 15:42:10 +02:00
tcploop BUILD: makefile: move default verbosity settings to include/make/verbose.mk 2022-11-17 10:56:35 +01:00
trace
udp MINOR: dev/udp: Apply the corruption to both directions 2022-09-08 20:38:59 +02:00