From 1158ddccd97ca3e35b21c7be8ed6296b012e18f3 Mon Sep 17 00:00:00 2001 From: Hans-Christian Egtvedt Date: Wed, 24 Sep 2008 09:10:06 +0000 Subject: openssl: convert to Makefile.autotools.in and bump version to 0.9.8g This patch converts building of OpenSSL to use Makefile.autotools.in and bumps the version to 0.9.8g. The patches are updated to reflect this version upgrade. A kconfig option for adding the OpenSSL engines is also added. Signed-off-by: Hans-Christian Egtvedt --- package/openssl/openssl.mk | 124 +++++++++++++-------------------------------- 1 file changed, 35 insertions(+), 89 deletions(-) (limited to 'package/openssl/openssl.mk') diff --git a/package/openssl/openssl.mk b/package/openssl/openssl.mk index 01cddb902..c1959d018 100644 --- a/package/openssl/openssl.mk +++ b/package/openssl/openssl.mk @@ -3,13 +3,8 @@ # openssl # ############################################################# - -# TARGETS -OPENSSL_VERSION:=0.9.7m +OPENSSL_VERSION:=0.9.8g OPENSSL_SITE:=http://www.openssl.org/source -OPENSSL_SOURCE:=openssl-$(OPENSSL_VERSION).tar.gz -OPENSSL_CAT:=$(ZCAT) -OPENSSL_DIR:=$(BUILD_DIR)/openssl-$(OPENSSL_VERSION) OPENSSL_TARGET_ARCH:= ifeq ($(BR2_i386),y) @@ -24,95 +19,46 @@ ifeq ($(OPENSSL_TARGET_ARCH),) OPENSSL_TARGET_ARCH:=$(ARCH) endif -$(DL_DIR)/$(OPENSSL_SOURCE): - $(WGET) -P $(DL_DIR) $(OPENSSL_SITE)/$(OPENSSL_SOURCE) - -openssl-unpack: $(OPENSSL_DIR)/.unpacked -$(OPENSSL_DIR)/.unpacked: $(DL_DIR)/$(OPENSSL_SOURCE) - $(OPENSSL_CAT) $(DL_DIR)/$(OPENSSL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - toolchain/patch-kernel.sh $(OPENSSL_DIR) package/openssl/ openssl\*.patch - toolchain/patch-kernel.sh $(OPENSSL_DIR) package/openssl/ openssl\*.patch.$(ARCH) - # sigh... we have to resort to this just to set a gcc flag. - # grumble.. and of course make sure to escape any '/' in CFLAGS -ifeq ($(BR2_avr32),) - $(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \ - $(OPENSSL_DIR)/Configure -endif - $(SED) '/CFLAG=/s,/;, $(shell echo '$(TARGET_CFLAGS)' | sed -e 's/\//\\\\\//g')/;,' \ - $(OPENSSL_DIR)/Configure - touch $@ +OPENSSL_INSTALL_STAGING = YES +OPENSSL_INSTALL_STAGING_OPT = INSTALL_PREFIX=$(STAGING_DIR) install -$(OPENSSL_DIR)/Makefile: $(OPENSSL_DIR)/.unpacked - (cd $(OPENSSL_DIR); \ - CFLAGS="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 $(TARGET_CFLAGS)" \ - PATH=$(TARGET_PATH) \ - ./Configure linux-$(OPENSSL_TARGET_ARCH) --prefix=/ \ - --openssldir=/lib/ssl -L$(STAGING_DIR)/lib -ldl \ - -I$(STAGING_DIR)/usr/include $(OPENSSL_OPTS) threads \ - shared no-idea no-mdc2 no-rc5) +OPENSSL_INSTALL_TARGET_OPT = INSTALL_PREFIX=$(TARGET_DIR) install -# --openssldir=/usr/lib/ssl results in files in /usr/usr/lib... +OPENSSL_DEPENDENCIES = zlib -$(OPENSSL_DIR)/apps/openssl: $(OPENSSL_DIR)/Makefile - $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared - # Work around openssl build bug to link libssl.so with libcrypto.so. - -rm $(OPENSSL_DIR)/libssl.so.*.*.* - $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) do_linux-shared +$(eval $(call AUTOTARGETS,package,openssl)) -$(STAGING_DIR)/usr/lib/libcrypto.a: $(OPENSSL_DIR)/apps/openssl - $(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR)/usr -C $(OPENSSL_DIR) install - cp -fa $(OPENSSL_DIR)/libcrypto.so* $(STAGING_DIR)/usr/lib/ - chmod a-x $(STAGING_DIR)/usr/lib/libcrypto.so.0.9.7 - (cd $(STAGING_DIR)/usr/lib; \ - ln -fs libcrypto.so.0.9.7 libcrypto.so; \ - ln -fs libcrypto.so.0.9.7 libcrypto.so.0; \ - ) - cp -fa $(OPENSSL_DIR)/libssl.so* $(STAGING_DIR)/usr/lib/ - chmod a-x $(STAGING_DIR)/usr/lib/libssl.so.0.9.7 - (cd $(STAGING_DIR)/usr/lib; \ - ln -fs libssl.so.0.9.7 libssl.so; \ - ln -fs libssl.so.0.9.7 libssl.so.0; \ +$(OPENSSL_TARGET_CONFIGURE): + (cd $(OPENSSL_DIR); \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + ./Configure \ + linux-$(OPENSSL_TARGET_ARCH) \ + --prefix=/usr \ + --openssldir=/usr/lib/ssl \ + threads \ + shared \ + no-idea \ + no-mdc2 \ + no-rc5 \ + zlib-dynamic \ ) - touch -c $@ - -$(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7: $(STAGING_DIR)/usr/lib/libcrypto.a - mkdir -p $(TARGET_DIR)/usr/lib - cp -fa $(STAGING_DIR)/usr/lib/libcrypto.so* $(TARGET_DIR)/usr/lib/ - cp -fa $(STAGING_DIR)/usr/lib/libssl.so* $(TARGET_DIR)/usr/lib/ - #cp -fa $(STAGING_DIR)/bin/openssl $(TARGET_DIR)/bin/ - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libssl.so.0.9.7 - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7 - -$(TARGET_DIR)/usr/lib/libssl.a: $(STAGING_DIR)/usr/lib/libcrypto.a - mkdir -p $(TARGET_DIR)/usr/include - cp -a $(STAGING_DIR)/usr/include/openssl $(TARGET_DIR)/usr/include/ - cp -dpf $(STAGING_DIR)/usr/lib/libssl.a $(TARGET_DIR)/usr/lib/ - cp -dpf $(STAGING_DIR)/usr/lib/libcrypto.a $(TARGET_DIR)/usr/lib/ - touch -c $@ - -openssl-headers: $(TARGET_DIR)/usr/lib/libssl.a - -openssl: uclibc $(TARGET_DIR)/usr/lib/libcrypto.so.0.9.7 - -openssl-source: $(DL_DIR)/$(OPENSSL_SOURCE) + touch $@ -openssl-clean: - -$(MAKE) -C $(OPENSSL_DIR) clean - rm -f $(STAGING_DIR)/usr/bin/openssl $(TARGET_DIR)/usr/bin/openssl - -rm -f $(STAGING_DIR)/usr/lib/libcrypto.so* $(TARGET_DIR)/usr/lib/libcrypto.so* - -rm -f $(STAGING_DIR)/usr/lib/libssl.so* $(TARGET_DIR)/usr/lib/libssl.so* - rm -rf $(STAGING_DIR)/usr/include/openssl $(TARGET_DIR)/usr/include/openssl +$(OPENSSL_TARGET_BUILD): + $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) all build-shared + $(MAKE1) CC=$(TARGET_CC) -C $(OPENSSL_DIR) do_linux-shared + touch $@ -openssl-dirclean: - rm -rf $(OPENSSL_DIR) -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(strip $(BR2_PACKAGE_OPENSSL)),y) -TARGETS+=openssl +$(OPENSSL_HOOK_POST_INSTALL): + $(if $(BR2_HAVE_DEVFILES),,rm -rf $(TARGET_DIR)/usr/lib/ssl) +ifeq ($(BR2_PACKAGE_OPENSSL_BIN),y) + $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/openssl +else + rm -f $(TARGET_DIR)/usr/bin/c_rehash + rm -f $(TARGET_DIR)/usr/bin/openssl endif -ifeq ($(strip $(BR2_PACKAGE_OPENSSL_TARGET_HEADERS)),y) -TARGETS+=openssl-headers +ifneq ($(BR2_PACKAGE_OPENSSL_ENGINES),y) + rm -rf $(TARGET_DIR)/usr/lib/engines endif + touch $@ -- cgit v1.2.3