Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Dec 2016 06:37:20 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r428907 - in head/graphics/colmap: . files
Message-ID:  <201612190637.uBJ6bK2G009908@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon Dec 19 06:37:20 2016
New Revision: 428907
URL: https://svnweb.freebsd.org/changeset/ports/428907

Log:
  graphics/colmap: always build SIMD support

Added:
  head/graphics/colmap/files/patch-vlfeat-rtcpu   (contents, props changed)
Modified:
  head/graphics/colmap/Makefile   (contents, props changed)

Modified: head/graphics/colmap/Makefile
==============================================================================
--- head/graphics/colmap/Makefile	Mon Dec 19 04:34:49 2016	(r428906)
+++ head/graphics/colmap/Makefile	Mon Dec 19 06:37:20 2016	(r428907)
@@ -3,7 +3,7 @@
 PORTNAME=	colmap
 DISTVERSION=	2.1-0 # synthetic tag
 DISTVERSIONSUFFIX=	-g55fbe10
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	graphics
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -40,18 +40,12 @@ CXXFLAGS+=	-D_GLIBCXX_USE_C99 -D_GLIBCXX
 LDFLAGS+=	-Wl,--as-needed # gflags, glu, xi, xmu
 TEST_TARGET=	test ARGS="-V"
 
-OPTIONS_DEFINE=		DOCS OPENMP
-OPTIONS_DEFAULT=	OPENMP ${MACHINE_CPU:tu}
+OPTIONS_DEFINE=		DOCS OPENMP SIMD
+OPTIONS_DEFAULT=	OPENMP SIMD
 # XXX ports/215138: exclude still broken
 OPTIONS_EXCLUDE=	${OPTIONS_EXCLUDE_${OPSYS}_${OSREL}} # not OSREL:R
 OPTIONS_EXCLUDE_FreeBSD_10.1=	OPENMP
 
-OPTIONS_GROUP=		SIMD
-OPTIONS_GROUP_SIMD=	${OPTIONS_GROUP_SIMD_${MACHINE_ARCH}}
-# Keep in sync with src/ext/VLFeat/CMakeLists.txt
-OPTIONS_GROUP_SIMD_amd64=	${OPTIONS_GROUP_SIMD_i386}
-OPTIONS_GROUP_SIMD_i386=	SSE2 AVX
-
 DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
 DOCS_USES=		gmake
 DOCS_PORTDOCS=		*
@@ -61,15 +55,10 @@ OPENMP_CMAKE_BOOL=	OPENMP_ENABLED
 # XXX ports/199603 + ports/210337
 OPENMP_VARS=		OPENMP=gcc-
 
-.for _simd in ${OPTIONS_GROUP_SIMD}
-${_simd}_DESC=		${MMX_DESC:S/MMX/${_simd}/}
-${_simd}_CMAKE_BOOL=	HAS_${_simd}_EXTENSION
-${_simd}_CFLAGS=	-m${_simd:tl}
-.endfor
+SIMD_CMAKE_BOOL=	SIMD_ENABLED
 
 post-patch:
 	@${REINPLACE_CMD} -e 's/Qt5OpenGL/Qt5Widgets/' \
-		-e '/CheckSSEExtensions/d' \
 		${WRKSRC}/CMakeLists.txt
 	@${REINPLACE_CMD} -e '/install.*test/d' \
 		${WRKSRC}/cmake/CMakeHelper.cmake

Added: head/graphics/colmap/files/patch-vlfeat-rtcpu
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/files/patch-vlfeat-rtcpu	Mon Dec 19 06:37:20 2016	(r428907)
@@ -0,0 +1,83 @@
+build: don't force SSE2/AVX, enable at runtime instead
+
+--- CMakeLists.txt.orig	2016-12-07 13:47:54 UTC
++++ CMakeLists.txt
+@@ -16,8 +16,6 @@ include(CheckCXXCompilerFlag)
+ # the CMake policies in this file
+ include(${CMAKE_SOURCE_DIR}/cmake/CMakeHelper.cmake NO_POLICY_SCOPE)
+ 
+-include(${CMAKE_SOURCE_DIR}/cmake/CheckSSEExtensions.cmake)
+-
+ if(EXISTS ${CMAKE_SOURCE_DIR}/LocalConfig.cmake)
+     include(${CMAKE_SOURCE_DIR}/LocalConfig.cmake)
+ endif()
+@@ -29,6 +27,7 @@ endif()
+ 
+ enable_testing()
+ 
++option(SIMD_ENABLED "Wether to enable SIMD optimizations" ON)
+ option(OPENMP_ENABLED "Whether to enable OpenMP" ON)
+ option(LTO_ENABLED "Whether to enable link-time optimization" ON)
+ option(CUDA_ENABLED "Whether to enable CUDA, if available" ON)
+--- src/ext/VLFeat/CMakeLists.txt.orig	2016-12-07 13:47:54 UTC
++++ src/ext/VLFeat/CMakeLists.txt
+@@ -1,8 +1,27 @@
+-if(IS_MSVC OR NOT HAS_AVX_EXTENSION)
+-    add_definitions(-DVL_DISABLE_AVX)
++set(VLFEAT_SOURCE_FILES)
++
++if(CMAKE_SYSTEM_PROCESSOR MATCHES "[ix].?86|amd64|AMD64")
++    set(IS_X86 TRUE)
+ endif()
+ 
+-if(IS_MSVC OR NOT HAS_SSE2_EXTENSION)
++if(SIMD_ENABLED AND IS_X86 AND NOT IS_MSVC)
++    set(SSE2_SOURCES
++        imopv_sse2.c
++        imopv_sse2.h
++        mathop_sse2.c
++        mathop_sse2.h)
++    set(AVX_SOURCES
++        mathop_avx.c
++        mathop_avx.h)
++
++    list(APPEND VLFEAT_SOURCE_FILES ${AVX_SOURCES} ${SSE2_SOURCES})
++
++    set_source_files_properties(${AVX_SOURCES}
++        PROPERTIES COMPILE_FLAGS "-mavx")
++    set_source_files_properties(${SSE2_SOURCES}
++        PROPERTIES COMPILE_FLAGS "-msse2")
++else()
++    add_definitions(-DVL_DISABLE_AVX)
+     add_definitions(-DVL_DISABLE_SSE2)
+ endif()
+ 
+@@ -10,7 +29,7 @@ if(NOT OPENMP_ENABLED OR NOT OPENMP_FOUN
+     add_definitions(-DVL_DISABLE_OPENMP)
+ endif()
+ 
+-set(VLFEAT_SOURCE_FILES
++list(APPEND VLFEAT_SOURCE_FILES
+     aib.c
+     aib.h
+     array.c
+@@ -44,8 +63,6 @@ set(VLFEAT_SOURCE_FILES
+     ikmeans_lloyd.tc
+     imopv.c
+     imopv.h
+-    imopv_sse2.c
+-    imopv_sse2.h
+     kdtree.c
+     kdtree.h
+     kmeans.c
+@@ -56,10 +73,6 @@ set(VLFEAT_SOURCE_FILES
+     liop.h
+     mathop.c
+     mathop.h
+-    mathop_avx.c
+-    mathop_avx.h
+-    mathop_sse2.c
+-    mathop_sse2.h
+     mser.c
+     mser.h
+     pgm.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612190637.uBJ6bK2G009908>