aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authordanfe <danfe@FreeBSD.org>2016-01-13 21:34:07 +0800
committerdanfe <danfe@FreeBSD.org>2016-01-13 21:34:07 +0800
commit192af06b8ee728db6eb417809280fb9385bac9a8 (patch)
tree0f70ee2371fe93e72b99c6dd019b2a08b853eb91 /graphics
parent925bca316d27a4ee1dad57d7540a469c97d740e7 (diff)
downloadfreebsd-ports-gnome-192af06b8ee728db6eb417809280fb9385bac9a8.tar.gz
freebsd-ports-gnome-192af06b8ee728db6eb417809280fb9385bac9a8.tar.zst
freebsd-ports-gnome-192af06b8ee728db6eb417809280fb9385bac9a8.zip
- Limit -msse/-msse2 to files that actually use intrinsics
- Limit SSE/SSE2 optimizations to x86 CPUs (exposed as SIMD option) PR: 205006
Diffstat (limited to 'graphics')
-rw-r--r--graphics/lensfun/Makefile11
-rw-r--r--graphics/lensfun/files/patch-CMakeLists.txt36
-rw-r--r--graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt14
3 files changed, 47 insertions, 14 deletions
diff --git a/graphics/lensfun/Makefile b/graphics/lensfun/Makefile
index da7d609d5439..779f526609c6 100644
--- a/graphics/lensfun/Makefile
+++ b/graphics/lensfun/Makefile
@@ -3,7 +3,7 @@
PORTNAME= lensfun
PORTVERSION= 0.3.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= SF/${PORTNAME}/${PORTVERSION}
@@ -19,13 +19,10 @@ USE_GNOME= glib20
USE_LDCONFIG= yes
CMAKE_ARGS= -DBUILD_AUXFUN:BOOL=ON -DINSTALL_HELPER_SCRIPTS:BOOL=OFF
-.if ! ${MACHINE_CPU:Msse} == "sse"
-CMAKE_ARGS+= -DBUILD_FOR_SSE:BOOL=OFF
-.endif
+OPTIONS_DEFINE= SIMD
+OPTIONS_DEFAULT= SIMD
-.if ! ${MACHINE_CPU:Msse2} == "sse2"
-CMAKE_ARGS+= -DBUILD_FOR_SSE2:BOOL=OFF
-.endif
+SIMD_CMAKE_OFF= -DBUILD_FOR_SSE:BOOL=OFF -DBUILD_FOR_SSE2:BOOL=OFF
post-patch:
@${REINPLACE_CMD} -e '/pkgconfig/s,$${LIBDIR},libdata,' \
diff --git a/graphics/lensfun/files/patch-CMakeLists.txt b/graphics/lensfun/files/patch-CMakeLists.txt
index aa0ae96253fa..9a2b83e119d0 100644
--- a/graphics/lensfun/files/patch-CMakeLists.txt
+++ b/graphics/lensfun/files/patch-CMakeLists.txt
@@ -1,24 +1,46 @@
--- CMakeLists.txt.orig 2014-09-30 17:37:34 UTC
+++ CMakeLists.txt
-@@ -46,15 +46,11 @@ ENDIF()
+@@ -28,12 +28,18 @@ IF(NOT HAVE_REGEX_H)
+ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libs/regex)
+ ENDIF()
+
++IF(CMAKE_SYSTEM_PROCESSOR MATCHES "[XxIi][0-9]?86|[Aa][Mm][Dd]64")
++ SET(X86_ON ON)
++else()
++ SET(X86_ON OFF)
++ENDIF()
++
+ # options controlling the build process
+ OPTION(BUILD_STATIC "Build static library" OFF)
+ OPTION(BUILD_TESTS "Build test programs" OFF)
+ OPTION(BUILD_AUXFUN "Build auxfun library (requires libpng)" OFF)
+-OPTION(BUILD_FOR_SSE "Build with support for SSE" ON)
+-OPTION(BUILD_FOR_SSE2 "Build with support for SSE2" ON)
++OPTION(BUILD_FOR_SSE "Build with support for SSE" ${X86_ON})
++OPTION(BUILD_FOR_SSE2 "Build with support for SSE2" ${X86_ON})
+ OPTION(BUILD_DOC "Build documentation with doxygen" OFF)
+ OPTION(INSTALL_HELPER_SCRIPTS "Install various helper scripts" ON)
+
+@@ -46,14 +52,14 @@ ENDIF()
IF(BUILD_FOR_SSE)
SET(VECTORIZATION_SSE 1)
- IF(CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse")
-- ENDIF()
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse")
++ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
++ SET(VECTORIZATION_SSE_FLAGS "-msse")
+ ENDIF()
ENDIF()
IF(BUILD_FOR_SSE2)
SET(VECTORIZATION_SSE2 1)
- IF(CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
-- ENDIF()
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2")
++ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
++ SET(VECTORIZATION_SSE2_FLAGS "-msse2")
+ ENDIF()
ENDIF()
- IF(WIN32)
-@@ -68,6 +64,7 @@ ENDIF()
+@@ -68,6 +74,7 @@ ENDIF()
# find dependencies
FIND_PACKAGE(GLIB2 REQUIRED)
INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS})
diff --git a/graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt b/graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt
new file mode 100644
index 000000000000..9a96f7f2d4fd
--- /dev/null
+++ b/graphics/lensfun/files/patch-libs_lensfun_CMakeLists.txt
@@ -0,0 +1,14 @@
+--- libs/lensfun/CMakeLists.txt.orig 2014-09-30 17:37:34 UTC
++++ libs/lensfun/CMakeLists.txt
+@@ -9,6 +9,11 @@ IF(WIN32)
+ LIST(APPEND LENSFUN_SRC windows/auxfun.cpp)
+ ENDIF()
+
++SET_SOURCE_FILES_PROPERTIES(mod-color-sse.cpp mod-coord-sse.cpp
++ PROPERTIES COMPILE_FLAGS "${VECTORIZATION_SSE_FLAGS}")
++SET_SOURCE_FILES_PROPERTIES(mod-color-sse2.cpp
++ PROPERTIES COMPILE_FLAGS "${VECTORIZATION_SSE2_FLAGS}")
++
+ IF(BUILD_STATIC)
+ ADD_LIBRARY(lensfun STATIC ${LENSFUN_SRC})
+ ELSE()