dev-libs/libsodium: Add IUSE="cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
authorMichael Weber <xmw@gentoo.org>
Fri, 17 Jun 2016 12:36:26 +0000 (14:36 +0200)
committerMichael Weber <xmw@gentoo.org>
Fri, 17 Jun 2016 12:36:51 +0000 (14:36 +0200)
Package-Manager: portage-2.2.28

dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch [new file with mode: 0644]
dev-libs/libsodium/libsodium-1.0.10.ebuild

diff --git a/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch b/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
new file mode 100644 (file)
index 0000000..09e5c01
--- /dev/null
@@ -0,0 +1,40 @@
+--- libsodium-1.0.10/configure.ac
++++ libsodium-1.0.10/configure.ac
+@@ -344,6 +344,10 @@
+     [AC_MSG_RESULT(no)])
+   CFLAGS="$oldcflags"
++AC_ARG_ENABLE(sse4_1, [AS_HELP_STRING(--disable-sse4_1,Do not use sse4.1 code)],
++  AS_IF([test "x$enableval" = "xyes"], check_sse4_1="yes", check_sse4_1="no"),
++  check_sse4_1="yes")
++AS_IF([test "$check_sse4_1" = "yes"],[
+   oldcflags="$CFLAGS"
+   AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
+   AC_MSG_CHECKING(for SSE4.1 instructions set)
+@@ -356,6 +360,7 @@
+      AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])],
+     [AC_MSG_RESULT(no)])
+   CFLAGS="$oldcflags"
++  ])
+   oldcflags="$CFLAGS"
+   AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
+@@ -393,6 +398,10 @@
+     [AC_MSG_RESULT(no)])
+   CFLAGS="$oldcflags"
++AC_ARG_ENABLE(aesni, [AS_HELP_STRING(--disable-aesni,Do not use aesni code)],
++  AS_IF([test "x$enableval" = "xyes"], check_aeni="yes", check_aesni="no"),
++  check_aesni="yes")
++AS_IF([test "$check_aesni" = "yes"],[
+   oldcflags="$CFLAGS"
+   AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
+   AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
+@@ -410,6 +419,7 @@
+      ],
+     [AC_MSG_RESULT(no)])
+   CFLAGS="$oldcflags"
++  ])
+ ])
index 0c748770e44796d545dd3528ab52e3d4731ff31e..14854439230e01427b5cff3a40fd978f1f5b4229 100644 (file)
@@ -2,9 +2,9 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-inherit eutils
+inherit eutils autotools
 
 DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
 HOMEPAGE="https://github.com/jedisct1/libsodium"
@@ -13,7 +13,14 @@ SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
 LICENSE="ISC"
 SLOT="0/18"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom"
+IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
+
+PATCHES=( "${FILESDIR}"/${P}-cpuflags.patch )
+
+src_prepare() {
+       default
+       eautoreconf
+}
 
 src_configure() {
        local myconf
@@ -26,6 +33,8 @@ src_configure() {
                $(use_enable minimal) \
                $(use_enable !urandom blocking-random) \
                $(use_enable static-libs static) \
+               $(use_enable cpu_flags_x86_sse4_1 sse4_1) \
+               $(use_enable cpu_flags_x86_aes aesni) \
                ${myconf}
 }