diff options
author | Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> | 2008-09-24 09:10:06 +0000 |
---|---|---|
committer | Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> | 2008-09-24 09:10:06 +0000 |
commit | 1158ddccd97ca3e35b21c7be8ed6296b012e18f3 (patch) | |
tree | 45caf0bb95a9e8183c1ed9860e7d95e05c8447d0 /package/openssl/openssl.mk | |
parent | 5c662fee803352fad5dfbc3860bbd159673e1e20 (diff) | |
download | buildroot-novena-1158ddccd97ca3e35b21c7be8ed6296b012e18f3.tar.gz buildroot-novena-1158ddccd97ca3e35b21c7be8ed6296b012e18f3.zip |
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 <hans-christian.egtvedt@atmel.com>
Diffstat (limited to 'package/openssl/openssl.mk')
-rw-r--r-- | package/openssl/openssl.mk | 124 |
1 files changed, 35 insertions, 89 deletions
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 $@ |