Coping with OpenSSL is frustrating on so many levels. It would be hilarious if not so many depended on it.
The main thing is that there is so much cruft in openssl but nobody seemingly to care enough about copying with that cruft. Though the intentions of the LibreSSL are great and it has far left cruft, it didn’t gain enough ground in the 2+ years it exists.
For me, the biggest problem was that OpenSSL would fail to build on “modern” OS X versions. These lack makedepend
which was part of OS X, but got removed somewhere between 2006 and 8.0 in 2012. Luckily, the 2006 post also mentions the alternative: gcc -M
.
Actually cc -M
or clang -M
work just as well as cc
symlinks to clang
and gcc
calls clang
with some parameters.
OpenSSL references makedepend
in a lot of Makefiles
(see list below). The good part is that config
and Configure
modify the Makefiles so most people use a manual workaround after running Configure
or revert to a macports built or other binaries of makedepend or a homebrew formula.
That is not really an automated solution suitable for general use, let alone suitable for Continuous Integration, so I dug a bit deeper: config
is a shell script and Configure
is a sherl script: a cleverly crafted shell script starting with the below line invoking Perl with the rest of the script. The reason is that #! shebangs need an absolute location which for Perl can vary. A nice discussion on this trick is at Running Under Some Shell which contains a more elaborate how this works:
Read the rest of this entry »
Like this:
Like Loading...