forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-libs/crypto++: add explicit cpu_flags_x86 flag
Closes: https://bugs.gentoo.org/show_bug.cgi?id=689162 Signed-off-by: Alon Bar-Lev <[email protected]> Package-Manager: Portage-2.3.66, Repoman-2.3.11
- Loading branch information
Showing
3 changed files
with
72 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit flag-o-matic toolchain-funcs | ||
|
||
DESCRIPTION="C++ class library of cryptographic schemes" | ||
HOMEPAGE="https://cryptopp.com" | ||
SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip" | ||
|
||
LICENSE="Boost-1.0" | ||
SLOT="0/8" # subslot is so version | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x64-macos" | ||
IUSE="+asm cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_pclmul cpu_flags_x86_sha cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3 static-libs" | ||
|
||
BDEPEND="app-arch/unzip" | ||
|
||
S="${WORKDIR}" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${P}-build.patch" | ||
) | ||
|
||
config_add() { | ||
sed -i -e "/Important Settings/a#define $1 1" config.h || die | ||
} | ||
|
||
pkg_setup() { | ||
export CXX="$(tc-getCXX)" | ||
export LIBDIR="${EPREFIX}/usr/$(get_libdir)" | ||
export PREFIX="${EPREFIX}/usr" | ||
} | ||
|
||
src_prepare() { | ||
default | ||
|
||
use asm || config_add CRYPTOPP_DISABLE_ASM | ||
use cpu_flags_x86_aes || config_add CRYPTOPP_DISABLE_AESNI | ||
use cpu_flags_x86_avx || config_add CRYPTOPP_DISABLE_AVX | ||
use cpu_flags_x86_avx2 || config_add CRYPTOPP_DISABLE_AVX2 | ||
use cpu_flags_x86_pclmul || config_add CRYPTOPP_DISABLE_CLMUL | ||
use cpu_flags_x86_sha || config_add CRYPTOPP_DISABLE_SHANI | ||
use cpu_flags_x86_sse2 || config_add CRYPTOPP_DISABLE_SSE2 | ||
use cpu_flags_x86_sse4_2 || config_add CRYPTOPP_DISABLE_SSE4 | ||
use cpu_flags_x86_ssse3 || config_add CRYPTOPP_DISABLE_SSSE3 | ||
|
||
# ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS | ||
[[ ${CHOST} == *-darwin* ]] && config_add CRYPTOPP_DISABLE_ASM | ||
} | ||
|
||
src_compile() { | ||
emake -f GNUmakefile all shared libcryptopp.pc | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- a/config.h 2019-07-02 19:25:10.448720035 +0300 | ||
+++ a/config.h 2019-07-02 19:25:25.785455586 +0300 | ||
@@ -514,7 +514,7 @@ NAMESPACE_END | ||
#endif | ||
|
||
// 32-bit SunCC does not enable SSE2 by default. | ||
-#if !defined(CRYPTOPP_DISABLE_ASM) && (defined(_MSC_VER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__) || (__SUNPRO_CC >= 0x5100)) | ||
+#if !defined(CRYPTOPP_DISABLE_ASM) && !defined(CRYPTOPP_DISABLE_SSE2) && (defined(_MSC_VER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__) || (__SUNPRO_CC >= 0x5100)) | ||
#define CRYPTOPP_SSE2_INTRIN_AVAILABLE 1 | ||
#endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters