summaryrefslogtreecommitdiff
path: root/app-i18n/uchardet/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-11-20 18:45:28 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-11-20 18:45:28 +0000
commit796cae72cf9ed18ba01256ac1f83a686a2a76036 (patch)
tree5ca737a2562d8c0a09fcfacd81d1f9004df37b00 /app-i18n/uchardet/files
parent20d8e9cfb95a9f054d654ab6405e848807186aa0 (diff)
gentoo resync : 20.11.2017
Diffstat (limited to 'app-i18n/uchardet/files')
-rw-r--r--app-i18n/uchardet/files/uchardet-0.0.6-enforce-IEEE-float-precision.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/app-i18n/uchardet/files/uchardet-0.0.6-enforce-IEEE-float-precision.patch b/app-i18n/uchardet/files/uchardet-0.0.6-enforce-IEEE-float-precision.patch
new file mode 100644
index 000000000000..010fe6a31407
--- /dev/null
+++ b/app-i18n/uchardet/files/uchardet-0.0.6-enforce-IEEE-float-precision.patch
@@ -0,0 +1,53 @@
+Add configuration option to enable SSE2.
+Add -ffloat-store flag on x86 without SSE2.
+
+Gentoo bug: https://bugs.gentoo.org/631852
+Upstream bug: https://bugs.freedesktop.org/show_bug.cgi?id=101033
+
+This patch is an aggregation of the following upstream commits:
+5996bbd995aed5045cc22e4d1fab08c989377983
+77bf71ea365a19ac55c59cf10399b566a02d82c1
+939482ab2b5a6585bdd2e5251f3f2f113d64686f
+cd617d181de03a7a13c2020e6c73cd14585e24b6
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 84270e3..e212b4a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ ######## Project settings
+ cmake_minimum_required(VERSION 2.8.5)
++include(CheckCCompilerFlag)
+ set (PACKAGE_NAME uchardet)
+ project (${PACKAGE_NAME} CXX C)
+ enable_testing()
+@@ -35,13 +36,27 @@ include(GNUInstallDirs)
+
+ ######## Configuration
+
+-option(BUILD_BINARY "Build executable" ON)
+-option(BUILD_SHARED_LIBS "Build shared library and link executable to it" ON)
++option(BUILD_BINARY "Build the CLI tool." ON)
++option(BUILD_SHARED_LIBS "Build shared library and link executable to it." ON)
++option(CHECK_SSE2 "Check and enable SSE2 extensions if supported. Disabling SSE on platforms which support it may decrease performances." ON)
+
+ if (BUILD_SHARED_LIBS)
+ option(BUILD_STATIC "Build static library" ON)
+ endif (BUILD_SHARED_LIBS)
+
++string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)
++if (TARGET_ARCHITECTURE MATCHES ".*(x86)|(amd).*")
++ CHECK_C_COMPILER_FLAG(-msse2 SUPPORTS_CFLAG_SSE2)
++ CHECK_C_COMPILER_FLAG(-mfpmath=sse SUPPORTS_CFLAG_SSE_MATH)
++ if (CHECK_SSE2 AND SUPPORTS_CFLAG_SSE2 AND SUPPORTS_CFLAG_SSE_MATH)
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse")
++ else (CHECK_SSE2 AND SUPPORTS_CFLAG_SSE2 AND SUPPORTS_CFLAG_SSE_MATH)
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffloat-store")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffloat-store")
++ endif (CHECK_SSE2 AND SUPPORTS_CFLAG_SSE2 AND SUPPORTS_CFLAG_SSE_MATH)
++endif (TARGET_ARCHITECTURE MATCHES ".*(x86)|(amd).*")
++
+ configure_file(
+ uchardet.pc.in
+ uchardet.pc