[LEDE-DEV] [PATCH] [RFC] openssl: update to version 1.1.0f

Philip Prindeville philipp_subx at redfish-solutions.com
Tue Oct 31 10:58:35 PDT 2017


Inline…

> On Oct 31, 2017, at 3:56 AM, Baptiste Jonglez <baptiste at bitsofnetworks.org> wrote:
> 
> From: Baptiste Jonglez <git at bitsofnetworks.org>
> 
> This patch is marked [RFC] because this is such a huge change, and some
> dependent packages now fail to build because of API changes.  Also, there
> is no parallel build for now, but this was already the case with 1.0.2l.
> Feedback is welcome!
> 
> Here is a summary of the changes:
> 
> 1) complete overhaul of the upstream build system, which allowed to remove
>   most local patches;
> 
> 2) upstream removal of KRB5, SSL2, JPAKE;
> 
> 3) upstream addition of BLAKE2, CHACHA20, POLY1305, OCB (disabled by
>   default in the package but configurable);
> 
> 4) clean-up configuration of optional features: in OpenSSL, some options
>   are enabled by default, while some are disabled by default.  As a
>   result, the package now explicitely enables or disables each optional
>   feature;


Yes, good idea.  If the upstream defaults change, we wouldn’t need to change our Makefiles if we continue to explicitly configure everything.


> 
> 5) new upstream async mode, primarily used for crypto engines.  It is
>   disabled in the package because musl does not seem to implement
>   getcontext/setcontext (see 52739e40ccc1b16cd966ea204bcfea3cc874fec8
>   upstream);
> 
> 6) a patch fixing build on Aarch64 has been added and sent upstream
>   https://github.com/openssl/openssl/pull/4617


I’d also note that some of the compatibility stuff has been deprecated, hasn’t it?


> 
> Here is the size increase for libopenssl.ipk compared to 1.0.2l, first
> 1.1.0f with default options and then 1.1.0f with all new options¹:
> 
> | Architecture              | 1.0.2l  | 1.1.0f  | 1.1.0f           |
> |                           | Default | Default | All new options¹ |
> |---------------------------+---------+---------+------------------|
> | aarch64_cortex-a53        | 634K    | 831K    | 844K             |
> | aarch64_generic           | 628K    | 662K    | 672K             |
> | arc_arc700                | 573K    | 610K    | 621K             |
> | arc_archs                 | 570K    | 605K    | 613K             |
> | arm_arm1176jzf-s_vfp      | 631K    | 823K    | 833K             |
> | arm_arm926ej-s            | 631K    | 824K    | 835K             |
> | arm_cortex-a15_neon-vfpv4 | 638K    | 831K    | 843K             |
> | arm_cortex-a5             | 639K    | 832K    | 843K             |
> | arm_cortex-a7_neon-vfpv4  | 638K    | 830K    | 843K             |
> | arm_cortex-a8_vfpv3       | 639K    | 831K    | 843K             |
> | armeb_xscale              | 639K    | 834K    | 844K             |
> | arm_fa526                 | 638K    | 831K    | 841K             |
> | i386_pentium4             | 784K    | 822K    | 834K             |
> | i386_pentium              | 795K    | 832K    | 842K             |
> | mips_24kc                 | 701K    | 742K    | 755K             |
> | mips64el_mips64           | 674K    | 710K    | 719K             |
> | mips64_mips64             | 689K    | 725K    | 734K             |
> | mipsel_24kc               | 688K    | 728K    | 740K             |
> | mipsel_74kc               | 693K    | 735K    | 747K             |
> | mipsel_mips32             | 691K    | 731K    | 744K             |
> | mips_mips32               | 701K    | 744K    | 757K             |
> | powerpc_464fp             | 664K    | 703K    | 714K             |
> | powerpc_8540              | 672K    | 712K    | 723K             |
> | x86_64                    | 949K    | 986K    | 1002K            |
> 
> ¹ All new options:
> CONFIG_OPENSSL_WITH_BLAKE2=y
> CONFIG_OPENSSL_WITH_CHACHA20=y
> CONFIG_OPENSSL_WITH_POLY1305=y
> CONFIG_OPENSSL_WITH_OCB=y
> ---
> package/libs/openssl/Config.in                     |  20 +++
> package/libs/openssl/Makefile                      | 110 +++++++-----
> ...g-Use-eventfd2-syscall-instead-of-eventfd.patch |  48 ++++++
> .../openssl/patches/110-optimize-for-size.patch    |  43 +++--
> package/libs/openssl/patches/130-perl-path.patch   |  64 -------
> .../libs/openssl/patches/140-makefile-dirs.patch   |  11 --
> package/libs/openssl/patches/150-no_engines.patch  |  81 ---------
> .../openssl/patches/160-disable_doc_tests.patch    |  58 -------
> package/libs/openssl/patches/170-bash_path.patch   |   8 -
> .../openssl/patches/180-fix_link_segfault.patch    |  18 --
> .../patches/190-remove_timestamp_check.patch       |  23 ---
> .../libs/openssl/patches/200-parallel_build.patch  | 184 ---------------------
> 12 files changed, 168 insertions(+), 500 deletions(-)
> create mode 100644 package/libs/openssl/patches/0001-afalg-Use-eventfd2-syscall-instead-of-eventfd.patch
> delete mode 100644 package/libs/openssl/patches/130-perl-path.patch
> delete mode 100644 package/libs/openssl/patches/140-makefile-dirs.patch
> delete mode 100644 package/libs/openssl/patches/150-no_engines.patch
> delete mode 100644 package/libs/openssl/patches/160-disable_doc_tests.patch
> delete mode 100644 package/libs/openssl/patches/170-bash_path.patch
> delete mode 100644 package/libs/openssl/patches/180-fix_link_segfault.patch
> delete mode 100644 package/libs/openssl/patches/190-remove_timestamp_check.patch
> delete mode 100644 package/libs/openssl/patches/200-parallel_build.patch
> 
> diff --git a/package/libs/openssl/Config.in b/package/libs/openssl/Config.in
> index dbcd11abfc..4b395281a7 100644
> --- a/package/libs/openssl/Config.in
> +++ b/package/libs/openssl/Config.in
> @@ -45,6 +45,26 @@ config OPENSSL_WITH_SRP
> 	default y
> 	prompt "Enable SRP support"
> 
> +config OPENSSL_WITH_BLAKE2
> +	bool
> +	default n
> +	prompt "Enable BLAKE2 support"
> +
> +config OPENSSL_WITH_CHACHA20
> +	bool
> +	default n
> +	prompt "Enable CHACHA20 support"
> +
> +config OPENSSL_WITH_POLY1305
> +	bool
> +	default n
> +	prompt "Enable POLY1305 support"
> +
> +config OPENSSL_WITH_OCB
> +	bool
> +	default n
> +	prompt "Enable support for OCB mode"
> +
> config OPENSSL_ENGINE_DIGEST
> 	bool
> 	depends on OPENSSL_ENGINE_CRYPTO
> diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile
> index d7037cb7c1..ef30cf4bba 100644
> --- a/package/libs/openssl/Makefile
> +++ b/package/libs/openssl/Makefile
> @@ -8,10 +8,10 @@
> include $(TOPDIR)/rules.mk
> 
> PKG_NAME:=openssl
> -PKG_BASE:=1.0.2
> -PKG_BUGFIX:=l
> +PKG_BASE:=1.1.0
> +PKG_BUGFIX:=f
> PKG_VERSION:=$(PKG_BASE)$(PKG_BUGFIX)
> -PKG_RELEASE:=2
> +PKG_RELEASE:=1
> PKG_USE_MIPS16:=0
> 
> PKG_BUILD_PARALLEL:=0
> @@ -24,7 +24,7 @@ PKG_SOURCE_URL:= \
> 	http://gd.tuwien.ac.at/infosys/security/openssl/source/ \
> 	http://www.openssl.org/source/ \
> 	http://www.openssl.org/source/old/$(PKG_BASE)/
> -PKG_HASH:=ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c
> +PKG_HASH:=12f746f3f2493b2f39da7ecf63d7ee19c6ac9ec6a4fcd8c229da8a522cb12765
> 
> PKG_LICENSE:=OpenSSL
> PKG_LICENSE_FILES:=LICENSE
> @@ -40,7 +40,11 @@ PKG_CONFIG_DEPENDS:= \
> 	CONFIG_OPENSSL_WITH_COMPRESSION \
> 	CONFIG_OPENSSL_WITH_NPN \
> 	CONFIG_OPENSSL_WITH_PSK \
> -	CONFIG_OPENSSL_WITH_SRP
> +	CONFIG_OPENSSL_WITH_SRP \
> +	CONFIG_OPENSSL_WITH_BLAKE2 \
> +	CONFIG_OPENSSL_WITH_CHACHA20 \
> +	CONFIG_OPENSSL_WITH_POLY1305 \
> +	CONFIG_OPENSSL_WITH_OCB
> 
> include $(INCLUDE_DIR)/package.mk
> 
> @@ -59,10 +63,9 @@ source "$(SOURCE)/Config.in"
> endef
> 
> define Package/openssl/Default/description
> -The OpenSSL Project is a collaborative effort to develop a robust,
> -commercial-grade, full-featured, and Open Source toolkit implementing the Secure
> -Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well
> -as a full-strength general purpose cryptography library.
> +OpenSSL is a robust, commercial-grade, and full-featured toolkit for the
> +Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
> +It is also a general-purpose cryptography library.


Don’t know where this text is coming from, but it’s important to also note that OpenSSL provides a full suite of crypto and digest primitives (MD5, SHA*, AES, RSA, 3DES, Blowfish, etc), as well as PKI support (X.509, etc), which is useful for non-networking applications as well (file security, code signing, etc).


> endef
> 
> define Package/libopenssl
> @@ -99,9 +102,9 @@ This package contains the OpenSSL command-line utility.
> endef
> 
> 
> -OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-camellia no-krb5 \
> - no-whrlpool no-whirlpool no-seed no-jpake
> -OPENSSL_OPTIONS:= shared no-err no-sse2 no-ssl2 no-ssl2-method no-heartbeats
> +OPENSSL_NO_CIPHERS := no-idea no-md2 no-mdc2 no-rc5 no-camellia \
> + no-whirlpool no-seed no-cms
> +OPENSSL_OPTIONS := no-err no-heartbeats no-async
> 
> ifdef CONFIG_OPENSSL_ENGINE_CRYPTO
>   OPENSSL_OPTIONS += -DHAVE_CRYPTODEV
> @@ -109,30 +112,42 @@ ifdef CONFIG_OPENSSL_ENGINE_CRYPTO
>     OPENSSL_OPTIONS += -DUSE_CRYPTODEV_DIGESTS
>   endif
> else
> -  OPENSSL_OPTIONS += no-engines
> +  OPENSSL_OPTIONS += no-engine
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_EC
> +ifdef CONFIG_OPENSSL_WITH_EC
> +  OPENSSL_OPTIONS += enable-ec
> +else
>   OPENSSL_OPTIONS += no-ec
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_EC2M
> +ifdef CONFIG_OPENSSL_WITH_EC2M
> +  OPENSSL_OPTIONS += enable-ec2m
> +else
>   OPENSSL_OPTIONS += no-ec2m
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_SSL3
> +ifdef CONFIG_OPENSSL_WITH_SSL3
> +  OPENSSL_OPTIONS += enable-ssl3 enable-ssl3-method
> +else
>   OPENSSL_OPTIONS += no-ssl3 no-ssl3-method
> endif
> 
> -ifndef CONFIG_OPENSSL_HARDWARE_SUPPORT
> +ifdef CONFIG_OPENSSL_HARDWARE_SUPPORT
> +  OPENSSL_OPTIONS += enable-hw
> +else
>   OPENSSL_OPTIONS += no-hw
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_DEPRECATED
> +ifdef CONFIG_OPENSSL_WITH_DEPRECATED
> +  OPENSSL_OPTIONS += enable-deprecated
> +else
>   OPENSSL_OPTIONS += no-deprecated
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_DTLS
> +ifdef CONFIG_OPENSSL_WITH_DTLS
> +  OPENSSL_OPTIONS += enable-dtls
> +else
>   OPENSSL_OPTIONS += no-dtls
> endif
> 
> @@ -142,18 +157,48 @@ else
>   OPENSSL_OPTIONS += no-comp
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_NPN
> +ifdef CONFIG_OPENSSL_WITH_NPN
> +  OPENSSL_OPTIONS += enable-nextprotoneg
> +else
>   OPENSSL_OPTIONS += no-nextprotoneg
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_PSK
> +ifdef CONFIG_OPENSSL_WITH_PSK
> +  OPENSSL_OPTIONS += enable-psk
> +else
>   OPENSSL_OPTIONS += no-psk
> endif
> 
> -ifndef CONFIG_OPENSSL_WITH_SRP
> +ifdef CONFIG_OPENSSL_WITH_SRP
> +  OPENSSL_OPTIONS += enable-srp
> +else
>   OPENSSL_OPTIONS += no-srp
> endif
> 
> +ifdef CONFIG_OPENSSL_WITH_BLAKE2
> +  OPENSSL_OPTIONS += enable-blake2
> +else
> +  OPENSSL_OPTIONS += no-blake2
> +endif
> +
> +ifdef CONFIG_OPENSSL_WITH_CHACHA20
> +  OPENSSL_OPTIONS += enable-chacha
> +else
> +  OPENSSL_OPTIONS += no-chacha
> +endif
> +
> +ifdef CONFIG_OPENSSL_WITH_POLY1305
> +  OPENSSL_OPTIONS += enable-poly1305
> +else
> +  OPENSSL_OPTIONS += no-poly1305
> +endif
> +
> +ifdef CONFIG_OPENSSL_WITH_OCB
> +  OPENSSL_OPTIONS += enable-ocb
> +else
> +  OPENSSL_OPTIONS += no-ocb
> +endif


Nice.


> +
> ifeq ($(CONFIG_x86_64),y)
>   OPENSSL_TARGET:=linux-x86_64-openwrt
>   OPENSSL_MAKEFLAGS += LIBDIR=lib
> @@ -210,26 +255,11 @@ define Build/Compile
> 		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
> 		$(OPENSSL_MAKEFLAGS) \
> 		all
> -	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
> -		CC="$(TARGET_CC)" \
> -		ASFLAGS="$(TARGET_ASFLAGS) -I$(PKG_BUILD_DIR)/crypto -c" \
> -		AR="$(TARGET_CROSS)ar r" \
> -		RANLIB="$(TARGET_CROSS)ranlib" \
> -		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
> -		$(OPENSSL_MAKEFLAGS) \
> -		build-shared
> -	# Work around openssl build bug to link libssl.so with libcrypto.so.
> -	-rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
> -	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
> -		CC="$(TARGET_CC)" \
> -		OPENWRT_OPTIMIZATION_FLAGS="$(TARGET_CFLAGS)" \
> -		$(OPENSSL_MAKEFLAGS) \
> -		do_linux-shared
> 	$(MAKE) -C $(PKG_BUILD_DIR) \
> 		CC="$(TARGET_CC)" \
> -		INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
> +		DESTDIR="$(PKG_INSTALL_DIR)” \


Nice.


> 		$(OPENSSL_MAKEFLAGS) \
> -		install
> +		install_ssldirs install_sw
> endef
> 
> define Build/InstallDev
> @@ -246,6 +276,8 @@ define Package/libopenssl/install
> 	$(INSTALL_DIR) $(1)/usr/lib
> 	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libcrypto.so.* $(1)/usr/lib/
> 	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libssl.so.* $(1)/usr/lib/
> +	$(if $(CONFIG_OPENSSL_ENGINE_CRYPTO),$(INSTALL_DIR) $(1)/usr/lib/engines-1.1,)
> +	$(if $(CONFIG_OPENSSL_ENGINE_CRYPTO),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/engines-1.1/*.so $(1)/usr/lib/engines-1.1/,)
> endef
> 
> define Package/openssl-util/install
> diff --git a/package/libs/openssl/patches/0001-afalg-Use-eventfd2-syscall-instead-of-eventfd.patch b/package/libs/openssl/patches/0001-afalg-Use-eventfd2-syscall-instead-of-eventfd.patch
> new file mode 100644
> index 0000000000..289ff7bb5a
> --- /dev/null
> +++ b/package/libs/openssl/patches/0001-afalg-Use-eventfd2-syscall-instead-of-eventfd.patch
> @@ -0,0 +1,48 @@
> +From 28e7dbbe2d2ce74385e073193698a78d86a90bf8 Mon Sep 17 00:00:00 2001
> +From: Baptiste Jonglez <git at bitsofnetworks.org>
> +Date: Mon, 30 Oct 2017 14:38:19 +0100
> +Subject: [PATCH] afalg: Use eventfd2 syscall instead of eventfd
> +
> +The eventfd syscall is deprecated and is not available on aarch64, causing
> +build to fail:
> +
> +    engines/e_afalg.c: In function 'eventfd':
> +    engines/e_afalg.c:108:20: error: '__NR_eventfd' undeclared (first use in this function)
> +         return syscall(__NR_eventfd, n);
> +                        ^
> +
> +Instead, switch to the newer eventfd2 syscall, which is supposed to be
> +supported by all architectures.
> +
> +This kind of issues would be avoided by simply using the eventfd(2)
> +wrapper from the libc, but there must be subtle reasons not to...
> +
> +Tested on a aarch64 system running OpenSUSE Leap 42.1 (gcc118 from
> +https://cfarm.tetaneutral.net/machines/list/ ) and also cross-compiling
> +for aarch64 with LEDE (kernel 4.9).
> +
> +This properly fixes #1685.
> +
> +CLA: trivial
> +Fixes: 7f458a48 ("ALG: Add AFALG engine")
> +Signed-off-by: Baptiste Jonglez <git at bitsofnetworks.org>
> +---
> + engines/afalg/e_afalg.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/engines/afalg/e_afalg.c b/engines/afalg/e_afalg.c
> +index 5ce9047105..4f335809d5 100644
> +--- a/engines/afalg/e_afalg.c
> ++++ b/engines/afalg/e_afalg.c
> +@@ -107,7 +107,7 @@ static ossl_inline int io_setup(unsigned n, aio_context_t *ctx)
> + 
> + static ossl_inline int eventfd(int n)
> + {
> +-    return syscall(__NR_eventfd, n);
> ++    return syscall(__NR_eventfd2, n, 0);
> + }
> + 
> + static ossl_inline int io_destroy(aio_context_t ctx)
> +-- 
> +2.11.0
> +
> diff --git a/package/libs/openssl/patches/110-optimize-for-size.patch b/package/libs/openssl/patches/110-optimize-for-size.patch
> index d6d4a21111..e8b7aa6870 100644
> --- a/package/libs/openssl/patches/110-optimize-for-size.patch
> +++ b/package/libs/openssl/patches/110-optimize-for-size.patch
> @@ -1,16 +1,31 @@
> ---- a/Configure
> -+++ b/Configure
> -@@ -470,6 +470,13 @@ my %table=(
> - "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
> - "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
> +--- a/Configurations/10-main.conf
> ++++ b/Configurations/10-main.conf
> +@@ -884,6 +884,28 @@ sub vms_info {
> +         ranlib           => "true",
> +     },
> 
> -+# OpenWrt targets
> -+"linux-armv4-openwrt","gcc:-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -+"linux-aarch64-openwrt","gcc:-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -+"linux-x86_64-openwrt",	"gcc:-m64 -DL_ENDIAN -DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> -+"linux-mips-openwrt","gcc:-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -+"linux-generic-openwrt","gcc:-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> ++# OpenWrt
> ++    "linux-armv4-openwrt" => {
> ++        inherit_from     => [ "linux-armv4" ],
> ++        cflags           => "-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall",
> ++    },
> ++    "linux-aarch64-openwrt" => {
> ++        inherit_from     => [ "linux-aarch64" ],
> ++        cflags           => "-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall",
> ++    },
> ++    "linux-x86_64-openwrt" => {
> ++        inherit_from     => [ "linux-x86_64" ],
> ++        cflags           => "-m64 -DL_ENDIAN -DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall",
> ++    },
> ++    "linux-mips-openwrt" => {
> ++        inherit_from     => [ "linux-mips32" ],
> ++        cflags           => "-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall",
> ++    },
> ++    "linux-generic-openwrt" => {
> ++        inherit_from     => [ "linux-generic32" ],
> ++        cflags           => "-DTERMIOS \$(OPENWRT_OPTIMIZATION_FLAGS) -fomit-frame-pointer -Wall",
> ++    },
> +
> - # Android: linux-* but without pointers to headers and libs.
> - "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> - "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> + #### Android: linux-* but without pointers to headers and libs.
> +     #
> +     # It takes pair of prior-set environment variables to make it work:
> diff --git a/package/libs/openssl/patches/130-perl-path.patch b/package/libs/openssl/patches/130-perl-path.patch
> deleted file mode 100644
> index 2dbdc76010..0000000000
> --- a/package/libs/openssl/patches/130-perl-path.patch
> +++ /dev/null
> @@ -1,64 +0,0 @@
> ---- a/Configure
> -+++ b/Configure
> -@@ -1,4 +1,4 @@
> --:
> -+#!/usr/bin/perl
> - eval 'exec perl -S $0 ${1+"$@"}'
> -     if $running_under_some_shell;
> - ##
> ---- a/tools/c_rehash.in
> -+++ b/tools/c_rehash.in
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl
> -+#!/usr/bin/perl
> - 
> - # Perl c_rehash script, scan all files in a directory
> - # and add symbolic links to their hash values.
> ---- a/util/clean-depend.pl
> -+++ b/util/clean-depend.pl
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl -w
> -+#!/usr/bin/perl
> - # Clean the dependency list in a makefile of standard includes...
> - # Written by Ben Laurie <ben at algroup.co.uk> 19 Jan 1999
> - 
> ---- a/util/mkdef.pl
> -+++ b/util/mkdef.pl
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl -w
> -+#!/usr/bin/perl
> - #
> - # generate a .def file
> - #
> ---- a/util/mkerr.pl
> -+++ b/util/mkerr.pl
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl -w
> -+#!/usr/bin/perl
> - 
> - my $config = "crypto/err/openssl.ec";
> - my $hprefix = "openssl/";
> ---- a/util/mkstack.pl
> -+++ b/util/mkstack.pl
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl -w
> -+#!/usr/bin/perl
> - 
> - # This is a utility that searches out "DECLARE_STACK_OF()"
> - # declarations in .h and .c files, and updates/creates/replaces
> ---- a/util/pod2man.pl
> -+++ b/util/pod2man.pl
> -@@ -1,4 +1,4 @@
> --: #!/usr/bin/perl-5.005
> -+#!/usr/bin/perl
> -     eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
> - 	if $running_under_some_shell;
> - 
> ---- a/util/selftest.pl
> -+++ b/util/selftest.pl
> -@@ -1,4 +1,4 @@
> --#!/usr/local/bin/perl -w
> -+#!/usr/bin/perl
> - #
> - # Run the test suite and generate a report
> - #
> diff --git a/package/libs/openssl/patches/140-makefile-dirs.patch b/package/libs/openssl/patches/140-makefile-dirs.patch
> deleted file mode 100644
> index 83c412f444..0000000000
> --- a/package/libs/openssl/patches/140-makefile-dirs.patch
> +++ /dev/null
> @@ -1,11 +0,0 @@
> ---- a/Makefile.org
> -+++ b/Makefile.org
> -@@ -137,7 +137,7 @@ FIPSCANLIB=
> - 
> - BASEADDR=
> - 
> --DIRS=   crypto ssl engines apps test tools
> -+DIRS=   crypto ssl apps
> - ENGDIRS= ccgost
> - SHLIBDIRS= crypto ssl
> - 
> diff --git a/package/libs/openssl/patches/150-no_engines.patch b/package/libs/openssl/patches/150-no_engines.patch
> deleted file mode 100644
> index f8c5d6e6cd..0000000000
> --- a/package/libs/openssl/patches/150-no_engines.patch
> +++ /dev/null
> @@ -1,81 +0,0 @@
> ---- a/Configure
> -+++ b/Configure
> -@@ -2129,6 +2129,11 @@ EOF
> - 	close(OUT);
> -   }
> -   
> -+# ugly hack to disable engines
> -+if($target eq "mingwx") {
> -+	system("sed -e s/^LIB/XLIB/g -i engines/Makefile");
> -+}
> -+
> - print <<EOF;
> - 
> - Configured for $target.
> ---- a/util/libeay.num
> -+++ b/util/libeay.num
> -@@ -2075,7 +2075,6 @@ PKCS7_ATTR_SIGN_it
> - UI_add_error_string                     2633	EXIST::FUNCTION:
> - KRB5_CHECKSUM_free                      2634	EXIST::FUNCTION:
> - OCSP_REQUEST_get_ext                    2635	EXIST::FUNCTION:
> --ENGINE_load_ubsec                       2636	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - ENGINE_register_all_digests             2637	EXIST::FUNCTION:ENGINE
> - PKEY_USAGE_PERIOD_it                    2638	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> - PKEY_USAGE_PERIOD_it                    2638	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
> -@@ -2549,7 +2548,6 @@ OCSP_RESPONSE_new
> - AES_set_encrypt_key                     3024	EXIST::FUNCTION:AES
> - OCSP_resp_count                         3025	EXIST::FUNCTION:
> - KRB5_CHECKSUM_new                       3026	EXIST::FUNCTION:
> --ENGINE_load_cswift                      3027	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - OCSP_onereq_get0_id                     3028	EXIST::FUNCTION:
> - ENGINE_set_default_ciphers              3029	EXIST::FUNCTION:ENGINE
> - NOTICEREF_it                            3030	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> -@@ -2580,7 +2578,6 @@ ASN1_primitive_free
> - i2d_EXTENDED_KEY_USAGE                  3052	EXIST::FUNCTION:
> - i2d_OCSP_SIGNATURE                      3053	EXIST::FUNCTION:
> - asn1_enc_save                           3054	EXIST::FUNCTION:
> --ENGINE_load_nuron                       3055	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - _ossl_old_des_pcbc_encrypt              3056	EXIST::FUNCTION:DES
> - PKCS12_MAC_DATA_it                      3057	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> - PKCS12_MAC_DATA_it                      3057	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
> -@@ -2604,7 +2601,6 @@ asn1_get_choice_selector
> - i2d_KRB5_CHECKSUM                       3072	EXIST::FUNCTION:
> - ENGINE_set_table_flags                  3073	EXIST::FUNCTION:ENGINE
> - AES_options                             3074	EXIST::FUNCTION:AES
> --ENGINE_load_chil                        3075	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - OCSP_id_cmp                             3076	EXIST::FUNCTION:
> - OCSP_BASICRESP_new                      3077	EXIST::FUNCTION:
> - OCSP_REQUEST_get_ext_by_NID             3078	EXIST::FUNCTION:
> -@@ -2671,7 +2667,6 @@ OCSP_CRLID_it
> - OCSP_CRLID_it                           3127	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
> - i2d_KRB5_AUTHENTBODY                    3128	EXIST::FUNCTION:
> - OCSP_REQUEST_get_ext_count              3129	EXIST::FUNCTION:
> --ENGINE_load_atalla                      3130	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - X509_NAME_it                            3131	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> - X509_NAME_it                            3131	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
> - USERNOTICE_it                           3132	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> -@@ -2766,8 +2761,6 @@ DES_read_2passwords
> - DES_read_password                       3207	EXIST::FUNCTION:DES
> - UI_UTIL_read_pw                         3208	EXIST::FUNCTION:
> - UI_UTIL_read_pw_string                  3209	EXIST::FUNCTION:
> --ENGINE_load_aep                         3210	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> --ENGINE_load_sureware                    3211	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - OPENSSL_add_all_algorithms_noconf       3212	EXIST:!VMS:FUNCTION:
> - OPENSSL_add_all_algo_noconf             3212	EXIST:VMS:FUNCTION:
> - OPENSSL_add_all_algorithms_conf         3213	EXIST:!VMS:FUNCTION:
> -@@ -2776,7 +2769,6 @@ OPENSSL_load_builtin_modules
> - AES_ofb128_encrypt                      3215	EXIST::FUNCTION:AES
> - AES_ctr128_encrypt                      3216	EXIST::FUNCTION:AES
> - AES_cfb128_encrypt                      3217	EXIST::FUNCTION:AES
> --ENGINE_load_4758cca                     3218	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - _ossl_096_des_random_seed               3219	EXIST::FUNCTION:DES
> - EVP_aes_256_ofb                         3220	EXIST::FUNCTION:AES
> - EVP_aes_192_ofb                         3221	EXIST::FUNCTION:AES
> -@@ -3111,7 +3103,6 @@ EC_GFp_nist_method
> - STORE_meth_set_modify_fn                3530	NOEXIST::FUNCTION:
> - STORE_method_set_modify_function        3530	NOEXIST::FUNCTION:
> - STORE_parse_attrs_next                  3531	NOEXIST::FUNCTION:
> --ENGINE_load_padlock                     3532	EXIST::FUNCTION:ENGINE,STATIC_ENGINE
> - EC_GROUP_set_curve_name                 3533	EXIST::FUNCTION:EC
> - X509_CERT_PAIR_it                       3534	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
> - X509_CERT_PAIR_it                       3534	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
> diff --git a/package/libs/openssl/patches/160-disable_doc_tests.patch b/package/libs/openssl/patches/160-disable_doc_tests.patch
> deleted file mode 100644
> index e38d44a768..0000000000
> --- a/package/libs/openssl/patches/160-disable_doc_tests.patch
> +++ /dev/null
> @@ -1,58 +0,0 @@
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -139,7 +139,7 @@ FIPSCANLIB=
> - 
> - BASEADDR=0xFB00000
> - 
> --DIRS=   crypto ssl engines apps test tools
> -+DIRS=   crypto ssl engines apps tools
> - ENGDIRS= ccgost
> - SHLIBDIRS= crypto ssl
> - 
> -@@ -157,7 +157,7 @@ SDIRS=  \
> - 
> - # tests to perform.  "alltests" is a special word indicating that all tests
> - # should be performed.
> --TESTS = alltests
> -+TESTS =
> - 
> - MAKEFILE= Makefile
> - 
> -@@ -171,7 +171,7 @@ SHELL=/bin/sh
> - 
> - TOP=    .
> - ONEDIRS=out tmp
> --EDIRS=  times doc bugs util include certs ms shlib mt demos perl sf dep VMS
> -+EDIRS=  times bugs util include certs ms shlib mt demos perl sf dep VMS
> - WDIRS=  windows
> - LIBS=   libcrypto.a libssl.a
> - SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
> -@@ -276,7 +276,7 @@ reflect:
> - 
> - sub_all: build_all
> - 
> --build_all: build_libs build_apps build_tests build_tools
> -+build_all: build_libs build_apps build_tools
> - 
> - build_libs: build_libcrypto build_libssl openssl.pc
> - 
> -@@ -542,7 +542,7 @@ dist:
> - 	@$(MAKE) SDIRS='$(SDIRS)' clean
> - 	@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar
> - 
> --install: all install_docs install_sw
> -+install: all install_sw
> - 
> - install_sw:
> - 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
> ---- a/Makefile.org
> -+++ b/Makefile.org
> -@@ -540,7 +540,7 @@ dist:
> - 	@$(MAKE) SDIRS='$(SDIRS)' clean
> - 	@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar
> - 
> --install: all install_docs install_sw
> -+install: all install_sw
> - 
> - install_sw:
> - 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
> diff --git a/package/libs/openssl/patches/170-bash_path.patch b/package/libs/openssl/patches/170-bash_path.patch
> deleted file mode 100644
> index c29b59afdd..0000000000
> --- a/package/libs/openssl/patches/170-bash_path.patch
> +++ /dev/null
> @@ -1,8 +0,0 @@
> ---- a/util/domd
> -+++ b/util/domd
> -@@ -1,4 +1,4 @@
> --#!/bin/sh
> -+#!/usr/bin/env bash
> - # Do a makedepend, only leave out the standard headers
> - # Written by Ben Laurie <ben at algroup.co.uk> 19 Jan 1999
> - 
> diff --git a/package/libs/openssl/patches/180-fix_link_segfault.patch b/package/libs/openssl/patches/180-fix_link_segfault.patch
> deleted file mode 100644
> index 3e36beb49c..0000000000
> --- a/package/libs/openssl/patches/180-fix_link_segfault.patch
> +++ /dev/null
> @@ -1,18 +0,0 @@
> ---- a/Makefile.shared
> -+++ b/Makefile.shared
> -@@ -95,7 +95,6 @@ LINK_APP=	\
> -     LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
> -     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
> -     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
> --    LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
> -     $${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
> - 
> - LINK_SO=	\
> -@@ -105,7 +104,6 @@ LINK_SO=	\
> -     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
> -     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
> -     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
> --    LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
> -     $${SHAREDCMD} $${SHAREDFLAGS} \
> - 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
> - 	$$ALLSYMSFLAGS $$SHOBJECTS $$NOALLSYMSFLAGS $$LIBDEPS \
> diff --git a/package/libs/openssl/patches/190-remove_timestamp_check.patch b/package/libs/openssl/patches/190-remove_timestamp_check.patch
> deleted file mode 100644
> index 424e66063c..0000000000
> --- a/package/libs/openssl/patches/190-remove_timestamp_check.patch
> +++ /dev/null
> @@ -1,23 +0,0 @@
> ---- a/Makefile.org
> -+++ b/Makefile.org
> -@@ -185,7 +185,7 @@ TARFILE=        ../$(NAME).tar
> - EXHEADER=       e_os2.h
> - HEADER=         e_os.h
> - 
> --all: Makefile build_all
> -+all: build_all
> - 
> - # as we stick to -e, CLEARENV ensures that local variables in lower
> - # Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
> -@@ -404,11 +404,6 @@ openssl.pc: Makefile
> - 	    echo 'Version: '$(VERSION); \
> - 	    echo 'Requires: libssl libcrypto' ) > openssl.pc
> - 
> --Makefile: Makefile.org Configure config
> --	@echo "Makefile is older than Makefile.org, Configure or config."
> --	@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
> --	@false
> --
> - libclean:
> - 	rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib
> - 
> diff --git a/package/libs/openssl/patches/200-parallel_build.patch b/package/libs/openssl/patches/200-parallel_build.patch
> deleted file mode 100644
> index f2acc4a27b..0000000000
> --- a/package/libs/openssl/patches/200-parallel_build.patch
> +++ /dev/null
> @@ -1,184 +0,0 @@
> ---- a/Makefile.org
> -+++ b/Makefile.org
> -@@ -282,17 +282,17 @@ build_libcrypto: build_crypto build_engi
> - build_libssl: build_ssl libssl.pc
> - 
> - build_crypto:
> --	@dir=crypto; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=crypto; target=all; $(BUILD_ONE_CMD)
> - build_ssl: build_crypto
> --	@dir=ssl; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=ssl; target=all; $(BUILD_ONE_CMD)
> - build_engines: build_crypto
> --	@dir=engines; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=engines; target=all; $(BUILD_ONE_CMD)
> - build_apps: build_libs
> --	@dir=apps; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=apps; target=all; $(BUILD_ONE_CMD)
> - build_tests: build_libs
> --	@dir=test; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=test; target=all; $(BUILD_ONE_CMD)
> - build_tools: build_libs
> --	@dir=tools; target=all; $(BUILD_ONE_CMD)
> -+	+ at dir=tools; target=all; $(BUILD_ONE_CMD)
> - 
> - all_testapps: build_libs build_testapps
> - build_testapps:
> -@@ -473,7 +473,7 @@ update: errors stacks util/libeay.num ut
> - 	@set -e; target=update; $(RECURSIVE_BUILD_CMD)
> - 
> - depend:
> --	@set -e; target=depend; $(RECURSIVE_BUILD_CMD)
> -+	+ at set -e; target=depend; $(RECURSIVE_BUILD_CMD)
> - 
> - lint:
> - 	@set -e; target=lint; $(RECURSIVE_BUILD_CMD)
> -@@ -535,9 +535,9 @@ dist:
> - 	@$(MAKE) SDIRS='$(SDIRS)' clean
> - 	@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar
> - 
> --install: all install_sw
> -+install: install_sw
> - 
> --install_sw:
> -+install_dirs:
> - 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
> - 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
> - 		$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
> -@@ -546,12 +546,19 @@ install_sw:
> - 		$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
> - 		$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
> - 		$(INSTALL_PREFIX)$(OPENSSLDIR)/private
> -+	@$(PERL) $(TOP)/util/mkdir-p.pl \
> -+		$(INSTALL_PREFIX)$(MANDIR)/man1 \
> -+		$(INSTALL_PREFIX)$(MANDIR)/man3 \
> -+		$(INSTALL_PREFIX)$(MANDIR)/man5 \
> -+		$(INSTALL_PREFIX)$(MANDIR)/man7
> -+
> -+install_sw: install_dirs
> - 	@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\
> - 	do \
> - 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
> - 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
> - 	done;
> --	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
> -+	+ at set -e; target=install; $(RECURSIVE_BUILD_CMD)
> - 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
> - 	do \
> - 		if [ -f "$$i" ]; then \
> -@@ -635,12 +642,7 @@ install_html_docs:
> - 		done; \
> - 	done
> - 
> --install_docs:
> --	@$(PERL) $(TOP)/util/mkdir-p.pl \
> --		$(INSTALL_PREFIX)$(MANDIR)/man1 \
> --		$(INSTALL_PREFIX)$(MANDIR)/man3 \
> --		$(INSTALL_PREFIX)$(MANDIR)/man5 \
> --		$(INSTALL_PREFIX)$(MANDIR)/man7
> -+install_docs: install_dirs
> - 	@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \
> - 	here="`pwd`"; \
> - 	filecase=; \
> ---- a/Makefile.shared
> -+++ b/Makefile.shared
> -@@ -120,6 +120,7 @@ SYMLINK_SO=	\
> - 			done; \
> - 		fi; \
> - 		if [ -n "$$SHLIB_SOVER" ]; then \
> -+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
> - 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
> - 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
> - 		fi; \
> ---- a/crypto/Makefile
> -+++ b/crypto/Makefile
> -@@ -85,11 +85,11 @@ testapps:
> - 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
> - 
> - subdirs:
> --	@target=all; $(RECURSIVE_MAKE)
> -+	+ at target=all; $(RECURSIVE_MAKE)
> - 
> - files:
> - 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
> --	@target=files; $(RECURSIVE_MAKE)
> -+	+ at target=files; $(RECURSIVE_MAKE)
> - 
> - links:
> - 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
> -@@ -100,7 +100,7 @@ links:
> - # lib: $(LIB): are splitted to avoid end-less loop
> - lib:	$(LIB)
> - 	@touch lib
> --$(LIB):	$(LIBOBJ)
> -+$(LIB):	$(LIBOBJ) | subdirs
> - 	$(AR) $(LIB) $(LIBOBJ)
> - 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
> - 	$(RANLIB) $(LIB) || echo Never mind.
> -@@ -111,7 +111,7 @@ shared: buildinf.h lib subdirs
> - 	fi
> - 
> - libs:
> --	@target=lib; $(RECURSIVE_MAKE)
> -+	+ at target=lib; $(RECURSIVE_MAKE)
> - 
> - install:
> - 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
> -@@ -120,7 +120,7 @@ install:
> - 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
> - 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
> - 	done;
> --	@target=install; $(RECURSIVE_MAKE)
> -+	+ at target=install; $(RECURSIVE_MAKE)
> - 
> - lint:
> - 	@target=lint; $(RECURSIVE_MAKE)
> ---- a/engines/Makefile
> -+++ b/engines/Makefile
> -@@ -72,7 +72,7 @@ top:
> - 
> - all:	lib subdirs
> - 
> --lib:	$(LIBOBJ)
> -+lib:	$(LIBOBJ) | subdirs
> - 	@if [ -n "$(SHARED_LIBS)" ]; then \
> - 		set -e; \
> - 		for l in $(LIBNAMES); do \
> -@@ -89,7 +89,7 @@ lib:	$(LIBOBJ)
> - 
> - subdirs:
> - 	echo $(EDIRS)
> --	@target=all; $(RECURSIVE_MAKE)
> -+	+ at target=all; $(RECURSIVE_MAKE)
> - 
> - files:
> - 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
> -@@ -128,7 +128,7 @@ install:
> - 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
> - 		done; \
> - 	fi
> --	@target=install; $(RECURSIVE_MAKE)
> -+	+ at target=install; $(RECURSIVE_MAKE)
> - 
> - tags:
> - 	ctags $(SRC)
> ---- a/test/Makefile
> -+++ b/test/Makefile
> -@@ -144,7 +144,7 @@ install:
> - tags:
> - 	ctags $(SRC)
> - 
> --tests:	exe apps $(TESTS)
> -+tests:	exe $(TESTS)
> - 
> - apps:
> - 	@(cd ..; $(MAKE) DIRS=apps all)
> -@@ -578,7 +578,7 @@ $(DTLSTEST)$(EXE_EXT): $(DTLSTEST).o ssl
> - #	fi
> - 
> - dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
> --	@target=dummytest; $(BUILD_CMD)
> -+	+ at target=dummytest; $(BUILD_CMD)
> - 
> - # DO NOT DELETE THIS LINE -- make depend depends on it.
> - 


Nice getting rid of all those patches!  How many are we down to after this round of changes?

-Philip





More information about the Lede-dev mailing list