diff options
author | Karlson2k (Evgeny Grin) <k2k@narod.ru> | 2021-01-08 18:50:47 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-01-11 18:55:42 +0000 |
commit | 185d05c99b7f70791c23e5b93586a3cbc3a95a6f (patch) | |
tree | 8a80332a0bf2668273cd2d19a7b0db8d8888f579 /media-libs | |
parent | media-libs/gmmlib: version bump (diff) | |
download | gentoo-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')
-rw-r--r-- | media-libs/gmmlib/files/gmmlib-20.4.1_custom_cflags.patch | 92 | ||||
-rw-r--r-- | media-libs/gmmlib/gmmlib-20.4.1.ebuild | 4 | ||||
-rw-r--r-- | media-libs/gmmlib/gmmlib-9999.ebuild | 4 | ||||
-rw-r--r-- | media-libs/gmmlib/metadata.xml | 3 |
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> |