You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-libs/libva-intel-media-driver/files/libva-intel-media-driver-20...

137 lines
4.0 KiB

Prevent overriding of user-define CFLAGS, including -march flag.
The flag -msse4.1 is required otherwise compile will not be able to inline sse4.1 code.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,6 +52,8 @@ option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)
option (ENABLE_PRODUCTION_KMD "Enable Production KMD header files" OFF)
+option (OVERRIDE_COMPILER_FLAGS "Override user compiler FLAGS and use lib defaults" ON)
+
include(GNUInstallDirs)
if (BUILD_CMRTLIB)
--- a/cmrtlib/linux/CMakeLists.txt
+++ b/cmrtlib/linux/CMakeLists.txt
@@ -33,15 +33,19 @@ endif()
# Set up compile options that will be used for the Linux build
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all -Werror")
+if (OVERRIDE_COMPILER_FLAGS)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
endif()
+endif()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPP_STANDARD_OPTION} -fPIC -fpermissive -fstack-protector-all -Werror")
+if (OVERRIDE_COMPILER_FLAGS)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1")
endif()
+endif()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-strict-aliasing -D_FORTIFY_SOURCE=2")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -D__DEBUG -O0")
--- a/media_driver/cmake/linux/media_compile_flags_linux.cmake
+++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake
@@ -36,7 +36,10 @@ set(MEDIA_COMPILER_FLAGS_COMMON
-Werror=format-security
-Werror=non-virtual-dtor
-Werror=return-type
+)
+if (OVERRIDE_COMPILER_FLAGS)
+ list (APPEND MEDIA_COMPILER_FLAGS_COMMON
# General optimization options
-march=${UFO_MARCH}
-mpopcnt
@@ -44,23 +47,33 @@ set(MEDIA_COMPILER_FLAGS_COMMON
-msse2
-msse3
-mssse3
- -msse4.1
-msse4.2
-msse4
+)
+endif(OVERRIDE_COMPILER_FLAGS)
+
+list (APPEND MEDIA_COMPILER_FLAGS_COMMON
+ -msse4.1 # SSE4.1 support is required to build the library
-mfpmath=sse
-finline-functions
-funswitch-loops
-fno-short-enums
-Wa,--noexecstack
-fno-strict-aliasing
+)
+if (OVERRIDE_COMPILER_FLAGS)
+ list (APPEND MEDIA_COMPILER_FLAGS_COMMON
# Common defines
-DUSE_MMX
-DUSE_SSE
-DUSE_SSE2
-DUSE_SSE3
-DUSE_SSSE3
+)
+endif(OVERRIDE_COMPILER_FLAGS)
+list (APPEND MEDIA_COMPILER_FLAGS_COMMON
# Other common flags
-fmessage-length=0
-fvisibility=hidden
@@ -68,16 +81,26 @@ set(MEDIA_COMPILER_FLAGS_COMMON
-fdata-sections
-ffunction-sections
-Wl,--gc-sections
+)
+if (OVERRIDE_COMPILER_FLAGS)
+ list (APPEND MEDIA_COMPILER_FLAGS_COMMON
# -m32 or -m64
-m${ARCH}
+)
+endif(OVERRIDE_COMPILER_FLAGS)
+list (APPEND MEDIA_COMPILER_FLAGS_COMMON
# Global defines
-DLINUX=1
-DLINUX
-DNO_RTTI
-DNO_EXCEPTION_HANDLING
-DINTEL_NOT_PUBLIC
+)
+
+if (OVERRIDE_COMPILER_FLAGS)
+ list (APPEND MEDIA_COMPILER_FLAGS_COMMON
-g
)
@@ -90,6 +113,7 @@ if(${UFO_MARCH} STREQUAL "slm")
-mtune=atom
)
endif()
+endif(OVERRIDE_COMPILER_FLAGS)
if(${ARCH} STREQUAL "64")
set(MEDIA_COMPILER_FLAGS_COMMON
@@ -206,9 +230,11 @@ include(${MEDIA_EXT_CMAKE}/ext/linux/media_compile_flags_linux_ext.cmake OPTIONA
if(${PLATFORM} STREQUAL "linux")
#set predefined compiler flags set
add_compile_options("${MEDIA_COMPILER_FLAGS_COMMON}")
+if (OVERRIDE_COMPILER_FLAGS)
add_compile_options("$<$<CONFIG:Debug>:${MEDIA_COMPILER_FLAGS_DEBUG}>")
add_compile_options("$<$<CONFIG:Release>:${MEDIA_COMPILER_FLAGS_RELEASE}>")
add_compile_options("$<$<CONFIG:ReleaseInternal>:${MEDIA_COMPILER_FLAGS_RELEASEINTERNAL}>")
+endif(OVERRIDE_COMPILER_FLAGS)
foreach (flag ${MEDIA_COMPILER_CXX_FLAGS_COMMON})
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")