From 796cae72cf9ed18ba01256ac1f83a686a2a76036 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 20 Nov 2017 18:45:28 +0000 Subject: gentoo resync : 20.11.2017 --- ...hardet-0.0.6-enforce-IEEE-float-precision.patch | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 app-i18n/uchardet/files/uchardet-0.0.6-enforce-IEEE-float-precision.patch (limited to 'app-i18n/uchardet/files') 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 -- cgit v1.2.3