jedisct1 / libsodium

A modern, portable, easy to use crypto library.
https://libsodium.org
Other
12.25k stars 1.74k forks source link

Disabling Features/Packages #883

Closed Bumblebeena closed 5 years ago

Bumblebeena commented 5 years ago

My goal is to compile libsodium for arm with as small of a footprint as possible. In my case that means I only want it to contain the crypto algorithms and features I know I'm going to use. I have successfully built the library for arm using the the build scripts included in the dist-build folder (very helpful btw!) which include the ./configure flag --enable-minimal. I noticed that there is also a ./configure flag for enabling/disabling specific packages and features. I tried ./configure --enable-<algo_I_want_to_use> but based on the size of the built library this did not appear to implicitly exclude the algos I didn't want to use. This appears to be similar to the build process of openssl in that one must use these flags to disable every feature and algorithm they don't intend to use.

So then my question is this: do you have a current list of every optional feature/package? (or is this in the documentation and I'm being a noob right now?)

jedisct1 commented 5 years ago

There is only --enable-minimal.

But if the size of the shared library is your primary concern, you should check out libhydrogen or even charm instead.