diff options
author | John Crispin <john@openwrt.org> | 2014-10-20 06:29:27 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2014-10-20 06:29:27 +0000 |
commit | c8ad508d37297400364ee276733de90d29e94778 (patch) | |
tree | 5a870a8a99d3b0db588fe166659a277dc8efca37 | |
parent | 7557afa9a5810183ef85247dca97a3530abe0548 (diff) | |
download | upstream-c8ad508d37297400364ee276733de90d29e94778.tar.gz upstream-c8ad508d37297400364ee276733de90d29e94778.tar.bz2 upstream-c8ad508d37297400364ee276733de90d29e94778.zip |
openssl: add host build.
Only support Linux at the moment.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
SVN-Revision: 42988
-rw-r--r-- | package/libs/openssl/Makefile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 8ffd7f5fed..23fc555c43 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -27,6 +27,8 @@ PKG_CONFIG_DEPENDS:=CONFIG_OPENSSL_ENGINE_CRYPTO CONFIG_OPENSSL_ENGINE_DIGEST \ CONFIG_OPENSSL_WITH_EC CONFIG_OPENSSL_WITH_EC2M include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host.mk +include $(INCLUDE_DIR)/host-build.mk define Package/openssl/Default TITLE:=Open source SSL toolkit @@ -198,5 +200,59 @@ define Package/openssl-util/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/openssl $(1)/usr/bin/ endef + +HOST_CPPFLAGS += $(HOST_FPIC) + +ifeq ($(HOST_ARCH),x86_64) + OPENSSL_HOST_TARGET:=linux-x86_64 +else + OPENSSL_HOST_TARGET:=linux-generic32 +endif + +define Host/Configure + [ -f $(HOST_STAMP_CONFIGURED) ] || { \ + rm -f $(HOST_BUILD_DIR)/*.so.* $(HOST_BUILD_DIR)/*.a; \ + find $(HOST_BUILD_DIR) -name \*.o | xargs rm -f; \ + } + (cd $(HOST_BUILD_DIR); \ + ./Configure "$(OPENSSL_HOST_TARGET)" \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + $(HOST_CPPFLAGS) \ + $(HOST_LDFLAGS) -ldl \ + $(OPENSSL_NO_CIPHERS) \ + shared zlib-dynamic \ + ) + # XXX: OpenSSL "make depend" will look for installed headers before its own, + # so remove installed stuff first + -$(SUBMAKE) -j1 clean-staging + +$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR) \ + MAKEDEPPROG="$(HOSTCC)" \ + depend +endef + +define Host/Compile + +$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR) \ + CC="$(HOSTCC)" \ + all + +$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR) \ + CC="$(HOSTCC)" \ + build-shared + # Work around openssl build bug to link libssl.so with libcrypto.so. + -rm $(HOST_BUILD_DIR)/libssl.so.*.*.* + +$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR) \ + CC="$(HOSTCC)" \ + do_linux-shared +endef + +define Host/Install + $(MAKE) -C $(HOST_BUILD_DIR) \ + CC="$(HOSTCC)" \ + INSTALL_PREFIX="$(STAGING_DIR_HOST)" \ + install +endef + + $(eval $(call BuildPackage,libopenssl)) $(eval $(call BuildPackage,openssl-util)) +$(eval $(call HostBuild)) |