public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/gmmlib/, media-libs/gmmlib/files/
Date: Mon, 11 Jan 2021 18:55:45 +0000 (UTC)	[thread overview]
Message-ID: <1610391342.185d05c99b7f70791c23e5b93586a3cbc3a95a6f.sam@gentoo> (raw)

commit:     185d05c99b7f70791c23e5b93586a3cbc3a95a6f
Author:     Karlson2k (Evgeny Grin) <k2k <AT> narod <DOT> ru>
AuthorDate: Fri Jan  8 15:50:47 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 11 18:55:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=185d05c9

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 <AT> narod.ru>
Closes: https://github.com/gentoo/gentoo/pull/18952
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../gmmlib/files/gmmlib-20.4.1_custom_cflags.patch | 92 ++++++++++++++++++++++
 media-libs/gmmlib/gmmlib-20.4.1.ebuild             |  4 +-
 media-libs/gmmlib/gmmlib-9999.ebuild               |  4 +-
 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 00000000000..47e5288e62e
--- /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 a09ec1ab123..09b5bcec53f 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 a09ec1ab123..09b5bcec53f 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 648c3cc2422..61c45b70c77 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>


             reply	other threads:[~2021-01-11 18:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-11 18:55 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-11-25 17:07 [gentoo-commits] repo/gentoo:master commit in: media-libs/gmmlib/, media-libs/gmmlib/files/ Matt Turner
2023-06-17  5:42 Sam James
2022-04-23 18:33 Conrad Kostecki
2022-03-21 20:04 Conrad Kostecki
2021-10-30 21:24 Conrad Kostecki
2021-01-14 20:15 Sam James
2019-11-20 13:56 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1610391342.185d05c99b7f70791c23e5b93586a3cbc3a95a6f.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox