top | item 39879905

(no title)

snnn | 1 year ago

So for each optional feature we may need three build options:

1. Force enable 2. Enable if available 3. Force disable

Like,

   --enable_landlock=always
   --enable_landlock
   --disable_landlock

discuss

order

glandium|1 year ago

My rule of thumb is that things should never be disabled automatically. Make the test hard fail and print a message that the feature can be disabled.

cperciva|1 year ago

In my code I have a bunch of routines optimized for different platforms, e.g. using x86 AESNI instructions. Not all compilers support them, and they don't even make sense when compiling for a different CPU architecture.

It's much simpler to say "enable this if we can compile it" rather than detecting the compiler and target platform and throwing a mess of conditional compilation into an autoconf script.

ComputerGuru|1 year ago

That’s how you make unusable/uncompilable software. It might be a good rule for something security critical like ssh but not as a general rule.

xorcist|1 year ago

That's ... how autoconf works?

If you explicitly set the enable-landlock flag, configure will fail when the feature doesn't compile.