Static libcrypto.a
Once I get a floppy disk (or network card) I’ll be able to transfer my latest hack off this BeOS R5 box and up to the LooneyBin.
The mission for tonight was to get a highly reliable SHA hash digest function. While I -think- libSHA works, I’m not 100% certain about it. So off to OpenSSL I went. I’m a big fan of static-linking dependencies, especially when the resulting binary size isn’t much bigger. It alleviates the pain of package management, and makes for a TON better user experience when installing, upgrading, etc. So I wanted to use a static version of libcrypt from OpenSSL with TidalWave. The current OpenSSL offerings for BeOS on bebits are stuck at 0.9.7c, and are built for dynamic linking.
I ended up downloading the OpenSSL 0.9.8 source tarball, applying David Reid’s patches to the build setup for 0.9.7c which took a bit of translation, and went to town. I managed to get a static build of libcrypto without patent encumbered hash functions or dynamic shared object loading. Good enough for me! Unfortunately, because my build was failing immediately after linking libcrypto.a, I didn’t end up with the headers in a place that made it easy to package things up. So I’ve taken a pretty crazy method of doing this, and I’m using the 0.9.7c headers with the 0.9.8 binary. In theory these shouldn’t be incompatible. In practice, at least for SHA, that’s thankfully been proven.
I’ve got this thing packaged up and zipped on my disk, but unfortunately, without a floppy disk I have no way of transferring it off this machine. I’ll get a floppy somewhere tomorrow and see if I can get this posted.
