summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarlson2k (Evgeny Grin) <k2k@narod.ru>2021-01-08 18:50:47 +0300
committerSam James <sam@gentoo.org>2021-01-11 18:55:42 +0000
commit185d05c99b7f70791c23e5b93586a3cbc3a95a6f (patch)
tree8a80332a0bf2668273cd2d19a7b0db8d8888f579 /media-libs/gmmlib
parentmedia-libs/gmmlib: version bump (diff)
downloadgentoo-185d05c99b7f70791c23e5b93586a3cbc3a95a6f.tar.gz
gentoo-185d05c99b7f70791c23e5b93586a3cbc3a95a6f.tar.bz2
gentoo-185d05c99b7f70791c23e5b93586a3cbc3a95a6f.zip
media-libs/gmmlib: added USE flag for user CFLAGS
Added patch and USE flag to disable override of user CFLAGS in cmake configuration. Now CFLAGS like -march=native are honoured. Signed-off-by: Karlson2k (Evgeny Grin) <k2k@narod.ru> Closes: https://github.com/gentoo/gentoo/pull/18952 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/gmmlib')
-rw-r--r--media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch92
-rw-r--r--media-libs/gmmlib/gmmlib-20.4.1.ebuild4
-rw-r--r--media-libs/gmmlib/gmmlib-9999.ebuild4
-rw-r--r--media-libs/gmmlib/metadata.xml3
4 files changed, 101 insertions, 2 deletions
diff --git a/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch b/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch
new file mode 100644
index 000000000000..47e5288e62e6
--- /dev/null
+++ b/media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch
@@ -0,0 +1,92 @@
+diff --git a/Source/GmmLib/CMakeLists.txt b/Source/GmmLib/CMakeLists.txt
+--- a/Source/GmmLib/CMakeLists.txt
++++ b/Source/GmmLib/CMakeLists.txt
+@@ -54,6 +54,10 @@ if(NOT DEFINED BS_USE_OSDM_BUILD_SYSTEM)
+ endif()
+ endif()
+
++if(NOT DEFINED OVERRIDE_COMPILER_FLAGS)
++ option(OVERRIDE_COMPILER_FLAGS "Override user compiler FLAGS and use lib defaults" ON)
++endif()
++
+ # begin -- label bldsys file prologue
+ # WARNING: The "project" statement triggers reading of CMAKE_TOOLCHAIN_FILE
+ # and so must precede the inclusion below of bs_init.cmake .
+diff --git a/Source/GmmLib/Linux.cmake b/Source/GmmLib/Linux.cmake
+--- a/Source/GmmLib/Linux.cmake
++++ b/Source/GmmLib/Linux.cmake
+@@ -38,7 +38,10 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
+ -Werror=format-security
+ -Werror=non-virtual-dtor
+ -Werror=return-type
++ )
+
++if (OVERRIDE_COMPILER_FLAGS)
++ list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+ # General optimization options
+ -march=${GMMLIB_MARCH}
+ -mpopcnt
+@@ -50,16 +53,28 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
+ -msse4.1
+ -msse4.2
+ -mfpmath=sse
++ )
++endif()
++
++list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+ -finline-functions
+ -fno-short-enums
+ -Wa,--noexecstack
+ -fno-strict-aliasing
++ )
++
++if (OVERRIDE_COMPILER_FLAGS)
++ list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+ # Common defines
+ -DUSE_MMX
+ -DUSE_SSE
+ -DUSE_SSE2
+ -DUSE_SSE3
+ -DUSE_SSSE3
++ )
++endif()
++
++list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+ # Other common flags
+ -fstack-protector
+ -fdata-sections
+@@ -67,10 +82,15 @@ SET (GMMLIB_COMPILER_FLAGS_COMMON
+ -fmessage-length=0
+ -fvisibility=hidden
+ -fPIC
++ )
++
++if (OVERRIDE_COMPILER_FLAGS)
++ list (APPEND GMMLIB_COMPILER_FLAGS_COMMON
+ -g
+ # -m32 or -m64
+ -m${GMMLIB_ARCH}
+ )
++endif()
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ #Gcc only flags
+@@ -128,13 +148,17 @@ SET( GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL ${GMMLIB_COMPILER_FLAGS_RELEASE})
+
+ #set predefined compiler flags set
+ add_compile_options("${GMMLIB_COMPILER_FLAGS_COMMON}")
++if (OVERRIDE_COMPILER_FLAGS)
+ add_compile_options("$<$<CONFIG:Debug>:${GMMLIB_COMPILER_FLAGS_DEBUG}>")
+ add_compile_options("$<$<CONFIG:Release>:${GMMLIB_COMPILER_FLAGS_RELEASE}>")
+ add_compile_options("$<$<CONFIG:ReleaseInternal>:${GMMLIB_COMPILER_FLAGS_RELEASEINTERNAL}>")
+ #cmake 3.3+, add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:${GMMLIB_COMPILER_CXX_FLAGS_COMMON}>")
++endif()
+ foreach (flag ${GMMLIB_COMPILER_CXX_FLAGS_COMMON})
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
+ endforeach()
+
++if (OVERRIDE_COMPILER_FLAGS)
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m${GMMLIB_ARCH}")
+ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m${GMMLIB_ARCH}")
++endif()
+
diff --git a/media-libs/gmmlib/gmmlib-20.4.1.ebuild b/media-libs/gmmlib/gmmlib-20.4.1.ebuild
index a09ec1ab1238..09b5bcec53f0 100644
--- a/media-libs/gmmlib/gmmlib-20.4.1.ebuild
+++ b/media-libs/gmmlib/gmmlib-20.4.1.ebuild
@@ -28,7 +28,7 @@ fi
LICENSE="MIT"
SLOT="0"
-IUSE="test"
+IUSE="test +custom-cflags"
RESTRICT="!test? ( test )"
@@ -36,12 +36,14 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
+ "${FILESDIR}"/${PN}-20.4.1_custom_cflags.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_TYPE=Release
-DBUILD_TESTING=$(usex test)
+ -DOVERRIDE_COMPILER_FLAGS=$(usex !custom-cflags)
)
cmake_src_configure
}
diff --git a/media-libs/gmmlib/gmmlib-9999.ebuild b/media-libs/gmmlib/gmmlib-9999.ebuild
index a09ec1ab1238..09b5bcec53f0 100644
--- a/media-libs/gmmlib/gmmlib-9999.ebuild
+++ b/media-libs/gmmlib/gmmlib-9999.ebuild
@@ -28,7 +28,7 @@ fi
LICENSE="MIT"
SLOT="0"
-IUSE="test"
+IUSE="test +custom-cflags"
RESTRICT="!test? ( test )"
@@ -36,12 +36,14 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch
+ "${FILESDIR}"/${PN}-20.4.1_custom_cflags.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_TYPE=Release
-DBUILD_TESTING=$(usex test)
+ -DOVERRIDE_COMPILER_FLAGS=$(usex !custom-cflags)
)
cmake_src_configure
}
diff --git a/media-libs/gmmlib/metadata.xml b/media-libs/gmmlib/metadata.xml
index 648c3cc2422d..61c45b70c770 100644
--- a/media-libs/gmmlib/metadata.xml
+++ b/media-libs/gmmlib/metadata.xml
@@ -8,4 +8,7 @@
<email>k2k@narod.ru</email>
<name>Evgeny Grin</name>
</maintainer>
+ <use>
+ <flag name="custom-cflags">Do not override user CFLAGS like -march, -msse and similar with lib defaults. Not tested by upstream.</flag>
+ </use>
</pkgmetadata>