title: How to build OpenSSL and optimize it for executable size?
body: <p>I've a very modest usage of OpenSSL in my application.
  Basically, I'm merely doing these two things:</p>
  
  <ol>
  <li>RSA decryption: Initializing RSA key with RSA_new, BN_bin2bn, RSA decryption with RSA_private_decrypt, and releasing the key.</li>
  <li>AES decryption: using EVP__DecryptInit( ... EVP_aes_128_cbc ), EVP_DecryptUpdate and EVP_DecryptFinal.</li>
  </ol>
  
  <p>That's all. Despite this very modest usage, the executable size is over 1MB, with about 1,200 different symbols coming from the OpenSSL library. These includes function which are obviously not in my code tree, such as ASN1_<em>, SHA1_</em>, EC_*, PKCS7, etc.</p>
  
  <p>I'm linking with static library of OpenSSL for the iPhone Android and Windows. On the mobile platform the footprint is an issue. My linker is supposed to leave out unreferenced functions, so these symbols seems to be referred somehow.</p>
  
  <p>Is there any way to take smaller pieces of OpenSSL to reduce the executable size?</p>
  
  <p>u.</p>