CI: The "cross-build" job doesn't have EVP_MD_CTX_new

Fred Wright fw at fwright.net
Sun Sep 8 22:19:41 UTC 2024


On Sat, 7 Sep 2024, Hal Murray via devel wrote:

> Does #ifdef work on functions?  I thought not, but the old code looks like
> its doing that.

It only works when the apparent functions are macros.  The preprocessor 
knows nothing about functions.

On Sat, 7 Sep 2024, Hal Murray via devel wrote:

> James said:
>
>> Possibly, the correct route would probably be to check for the
>> function in wscript and set an appropriate #define.
>
> There is an easier way.  We can check the vesion of OpenSSL.
> That would keep a crufty fix from polluting wscript.

That's a better approach when available.  It's best to avoid configure 
tests as much as possible, for at least two reasons:

1) They're inherently very slow, since they involve creating test 
programs, builing those, and checking the results.  One can perform 
thousands of preprocessor conditionals in the amount of time it takes to 
perform one configure test.

2) They're especially (relatively) slow on multicore platforms, since 
they're not parallelizable.  In theory, many of them could be, but since 
they're assumed to be sequential, and there's no way to express 
dependencies among them, they have to be performed in the stated order.

Fred Wright


More information about the devel mailing list