diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2019-09-28 02:08:18 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2019-09-28 22:56:12 -0400 |
commit | 54111dad825a87510e3896218cb0e111554f82b1 (patch) | |
tree | fb8ba77988a1973f42a6614d2fc4074e2a345f22 /dev-libs/marisa | |
parent | dev-libs/marisa: Version bump (0.2.5). (diff) | |
download | gentoo-54111dad825a87510e3896218cb0e111554f82b1.tar.gz gentoo-54111dad825a87510e3896218cb0e111554f82b1.tar.bz2 gentoo-54111dad825a87510e3896218cb0e111554f82b1.zip |
dev-libs/marisa: Automatic detection of CPU features enabled by CXXFLAGS.
cpu_flags_x86_* USE flags are no longer needed.
https://github.com/s-yata/marisa-trie/commit/d93f1b67f3aaa2d56bf20089c0ce9ef216da6cb7
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-libs/marisa')
-rw-r--r-- | dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch | 157 | ||||
-rw-r--r-- | dev-libs/marisa/marisa-0.2.5.ebuild | 32 |
2 files changed, 174 insertions, 15 deletions
diff --git a/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch b/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch new file mode 100644 index 000000000000..dba677221a19 --- /dev/null +++ b/dev-libs/marisa/files/marisa-0.2.5-cpu_features_check.patch @@ -0,0 +1,157 @@ +https://github.com/s-yata/marisa-trie/commit/d93f1b67f3aaa2d56bf20089c0ce9ef216da6cb7 + +--- /configure.ac ++++ /configure.ac +@@ -13,6 +13,56 @@ + + AC_CONFIG_MACRO_DIR([m4]) + ++# Macros for SSE availability check. ++AC_DEFUN([MARISA_ENABLE_SSE2], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSE2__ ++yes ++#endif ++ ], [enable_sse2="yes"], [enable_sse2="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSE3], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSE3__ ++yes ++#endif ++ ], [enable_sse3="yes"], [enable_sse3="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSSE3], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSSE3__ ++yes ++#endif ++ ], [enable_ssse3="yes"], [enable_ssse3="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSE4_1], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSE4_1__ ++yes ++#endif ++ ], [enable_sse4_1="yes"], [enable_sse4_1="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSE4_2], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSE4_2__ ++yes ++#endif ++ ], [enable_sse4_2="yes"], [enable_sse4_2="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSE4], ++ [AC_EGREP_CPP([yes], [ ++#if defined(__POPCNT__) && defined(__SSE4_2__) ++yes ++#endif ++ ], [enable_sse4="yes"], [enable_sse4="no"])]) ++AC_DEFUN([MARISA_ENABLE_SSE4A], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __SSE4A__ ++yes ++#endif ++ ], [enable_sse4a="yes"], [enable_sse4a="no"])]) ++AC_DEFUN([MARISA_ENABLE_POPCNT], ++ [AC_EGREP_CPP([yes], [ ++#ifdef __POPCNT__ ++yes ++#endif ++ ], [enable_popcnt="yes"], [enable_popcnt="no"])]) ++ + # Checks for SSE availability. + AC_MSG_CHECKING([whether to use SSE2]) + AC_ARG_ENABLE([sse2], +@@ -20,9 +70,7 @@ + [use SSE2 [default=no]])], + [], + [enable_sse2="no"]) +-AS_IF([test "x${enable_sse2}" != "xno"], [ +- enable_sse2="yes" +-]) ++AS_IF([test "x${enable_sse2}" != "xno"], [MARISA_ENABLE_SSE2]) + AC_MSG_RESULT([${enable_sse2}]) + + AC_MSG_CHECKING([whether to use SSE3]) +@@ -31,9 +79,7 @@ + [use SSE3 [default=no]])], + [], + [enable_sse3="no"]) +-AS_IF([test "x${enable_sse3}" != "xno"], [ +- enable_sse3="yes" +-]) ++AS_IF([test "x${enable_sse3}" != "xno"], [MARISA_ENABLE_SSE3]) + AC_MSG_RESULT([${enable_sse3}]) + + AC_MSG_CHECKING([whether to use SSSE3]) +@@ -42,9 +88,7 @@ + [use SSSE3 [default=no]])], + [], + [enable_ssse3="no"]) +-AS_IF([test "x${enable_ssse3}" != "xno"], [ +- enable_ssse3="yes" +-]) ++AS_IF([test "x${enable_ssse3}" != "xno"], [MARISA_ENABLE_SSSE3]) + AC_MSG_RESULT([${enable_ssse3}]) + + AC_MSG_CHECKING([whether to use SSE4.1]) +@@ -53,9 +97,7 @@ + [use SSE4.1 [default=no]])], + [], + [enable_sse4_1="no"]) +-AS_IF([test "x${enable_sse4_1}" != "xno"], [ +- enable_sse4_1="yes" +-]) ++AS_IF([test "x${enable_sse4_1}" != "xno"], [MARISA_ENABLE_SSE4_1]) + AC_MSG_RESULT([${enable_sse4_1}]) + + AC_MSG_CHECKING([whether to use SSE4.2]) +@@ -64,9 +106,7 @@ + [use SSE4.2 [default=no]])], + [], + [enable_sse4_2="no"]) +-AS_IF([test "x${enable_sse4_2}" != "xno"], [ +- enable_sse4_2="yes" +-]) ++AS_IF([test "x${enable_sse4_2}" != "xno"], [MARISA_ENABLE_SSE4_2]) + AC_MSG_RESULT([${enable_sse4_2}]) + + AC_MSG_CHECKING([whether to use SSE4]) +@@ -75,9 +115,7 @@ + [use SSE4 [default=no]])], + [], + [enable_sse4="no"]) +-AS_IF([test "x${enable_sse4}" != "xno"], [ +- enable_sse4="yes" +-]) ++AS_IF([test "x${enable_sse4}" != "xno"], [MARISA_ENABLE_SSE4]) + AC_MSG_RESULT([${enable_sse4}]) + + AC_MSG_CHECKING([whether to use SSE4a]) +@@ -86,9 +124,7 @@ + [use SSE4a [default=no]])], + [], + [enable_sse4a="no"]) +-AS_IF([test "x${enable_sse4a}" != "xno"], [ +- enable_sse4a="yes" +-]) ++AS_IF([test "x${enable_sse4a}" != "xno"], [MARISA_ENABLE_SSE4A]) + AC_MSG_RESULT([${enable_sse4a}]) + + AC_MSG_CHECKING([whether to use popcnt]) +@@ -97,9 +133,7 @@ + [use POPCNT [default=no]])], + [], + [enable_popcnt="no"]) +-AS_IF([test "x${enable_popcnt}" != "xno"], [ +- enable_popcnt="yes" +-]) ++AS_IF([test "x${enable_popcnt}" != "xno"], [MARISA_ENABLE_POPCNT]) + AC_MSG_RESULT([${enable_popcnt}]) + + AS_IF([test "x${enable_popcnt}" != "xno"], [ +@@ -170,6 +204,7 @@ + AS_ECHO([" LDFLAGS: ${LDFLAGS}"]) + AS_ECHO([" PREFIX: ${prefix}"]) + AS_ECHO([]) ++AS_ECHO([" NATIVE: ${enable_native_code}"]) + AS_ECHO([" SSE2: ${enable_sse2}"]) + AS_ECHO([" SSE3: ${enable_sse3}"]) + AS_ECHO([" SSSE3: ${enable_ssse3}"]) diff --git a/dev-libs/marisa/marisa-0.2.5.ebuild b/dev-libs/marisa/marisa-0.2.5.ebuild index e7ec8bf4f0d7..90b71175c866 100644 --- a/dev-libs/marisa/marisa-0.2.5.ebuild +++ b/dev-libs/marisa/marisa-0.2.5.ebuild @@ -24,14 +24,8 @@ fi LICENSE="|| ( BSD-2 LGPL-2.1+ )" SLOT="0" KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_sse4a cpu_flags_x86_popcnt python static-libs" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_popcnt cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4a? ( cpu_flags_x86_popcnt cpu_flags_x86_sse3 ) - cpu_flags_x86_popcnt? ( cpu_flags_x86_sse3 )" +IUSE="python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" BDEPEND="python? ( ${PYTHON_DEPS} @@ -44,6 +38,10 @@ if [[ "${PV}" != "9999" ]]; then S="${WORKDIR}/marisa-trie-${PV}" fi +PATCHES=( + "${FILESDIR}/${P}-cpu_features_check.patch" +) + src_prepare() { default eautoreconf @@ -58,14 +56,18 @@ src_prepare() { } src_configure() { + local -x CPPFLAGS="${CPPFLAGS} ${CXXFLAGS}" + local options=( - $(use_enable cpu_flags_x86_sse2 sse2) - $(use_enable cpu_flags_x86_sse3 sse3) - $(use_enable cpu_flags_x86_ssse3 ssse3) - $(use_enable cpu_flags_x86_sse4_1 sse4.1) - $(use_enable cpu_flags_x86_sse4_2 sse4.2) - $(use_enable cpu_flags_x86_sse4a sse4a) - $(use_enable cpu_flags_x86_popcnt popcnt) + # Preprocessor macros dependent on CPPFLAGS are checked. + --enable-sse2 + --enable-sse3 + --enable-ssse3 + --enable-sse4.1 + --enable-sse4.2 + --enable-sse4 + --enable-sse4a + --enable-popcnt $(use_enable static-libs static) ) |