OpenSSL裁剪编译

来源:互联网 发布:上海政府数据开放平台 编辑:程序博客网 时间:2024/05/29 05:11
一、准备事项:
1. http://www.curl.haxx.se/ 下载 cURL 源码,\projects\build-openssl.bat 即 OpenSSL 的编译批处理。
2. http://www.openssl.org/ 下载 OpenSSL 源码。

二、重要文件:
1. \ms\do_ms.bat 生成 mak 文件的批处理。
2. \ms\nt.mak 静态库 mak 文件。
3. \ms\ntdll.mak 动态库 mak 文件。
4. \util\mk1mf.pl 生成 mak 文件的 Perl 脚本。

三、裁剪编译:
1. 根据 \util\mk1mf.pl 脚本的参数 no-xxx 等,修改 \ms\do_ms.bat 批处理。
2. 执行 \projects\build-openssl.bat 批处理,等待生成 mak 文件后,输入 Ctrl + C 终止运行。
3. 修改 \ms\nt.mak 与 \ms\ntdll.mak 文件。包括去掉 /WX 警告选项、增加 -DOPENSSL_NO_XXX 预编译宏、去掉 \engines\ 目录中的文件的编译链接等。
4. 修改 \ms\do_ms.bat 批处理,注释掉生成 mak 文件的语句。
5. 重新执行 \projects\build-openssl.bat 批处理。

四、其他平台:
1. 其他平台可以参照上述方法。

五、示例:
1. 根据 openssl-0.9.8zb 版本,编译 libeay32-just-md5-rsa.lib。
no-asm no-idea no-aes no-camellia no-seed no-rc2 no-rc4 no-rc5 no-md2 no-md4 no-md5 no-sha no-sha1 no-ripemd no-mdc2 no-bf no-cast no-des no-dsa no-dh no-ssl2 no-ssl3 no-tlsext no-cms no-err no-krb5 no-ec no-ecdsa no-ecdh no-sock no-engine no-hw no-jpake no-capieng VC-NT

-DOPENSSL_NO_IDEA -DOPENSSL_NO_AES -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC2 -DOPENSSL_NO_RC4 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MD4 -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_MDC2 -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_DES -DOPENSSL_NO_DSA -DOPENSSL_NO_DH -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_CMS -DOPENSSL_NO_ERR -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_NO_EC -DOPENSSL_NO_ECDSA -DOPENSSL_NO_ECDH -DOPENSSL_NO_ENGINE -DOPENSSL_NO_HW


0 0