Author: blogic
Date: 2014-10-20 08:29:27 +0200 (Mon, 20 Oct 2014)
New Revision: 42988

Modified:
   trunk/package/libs/openssl/Makefile
Log:
openssl: add host build.

Only support Linux at the moment.

Signed-off-by: Yousong Zhou <[email protected]>

Modified: trunk/package/libs/openssl/Makefile
===================================================================
--- trunk/package/libs/openssl/Makefile 2014-10-20 06:29:21 UTC (rev 42987)
+++ trunk/package/libs/openssl/Makefile 2014-10-20 06:29:27 UTC (rev 42988)
@@ -27,6 +27,8 @@
        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 @@
        $(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))
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to