By default, this macro is not enabled, even if shared option is passed
to configure. This renders compiled shared library unusable, at least
without proper installation of freshly compiled OpenSSL.

Why it is needed?

What is wrong with having bind_engine function in each engine when they
are compiled as shared libraries? I can understand that it might lead to
problems when more than one engine is compiled statically. But there is
NO_DYNAMIC_ENGINE macro for such case.

cvs log doesn't tell anything but "Fix various warnings"

Interesting, that specifying -DENGINE_DYNAMIC_SUPPORT in the ./Configure
command line breaks everything
too. genpkey command reports "unsupported algorithm" with same config
file which works if I just remove #ifdef from ccgost engine.