git: 07fb2d5e9d00 - main - */*: Remove compiler:openmp from Mk/Uses/compiler.mk

Piotr Kubaj pkubaj at anongoth.pl
Sun Oct 3 18:03:14 UTC 2021


This is not correct. clang still doesn't have openmp support on some architectures.
Instead of removing this option, it should use clang where openmp is available and gcc where it's not availaible.

From src.conf(5) on 13.0-RELEASE:
     WITHOUT_OPENMP
             Set to not build LLVM's OpenMP runtime.

             This is a default setting on arm/armv6, arm/armv7, mips/mips,
             mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.

I switched riscv64* to WITH_OPENMP after 13.0-RELEASE, but other architectures are still affected.

Until ALL the supported architectures on all the supported stable branches are switched, this option needs to stay.
And last I tried, I found out that at least on powerpc, there's still no openmp support (don't confuse it with powerpc64 and powerpc64le on which openmp works with clang).

On 21-10-03 17:52:50, Fernando Apesteguía wrote:
> The branch main has been updated by fernape:
> 
> URL: https://cgit.FreeBSD.org/ports/commit/?id=07fb2d5e9d001934f1670d01aec1f536f14ebde2
> 
> commit 07fb2d5e9d001934f1670d01aec1f536f14ebde2
> Author:     Fernando Apesteguía <fernape at FreeBSD.org>
> AuthorDate: 2021-09-12 15:18:06 +0000
> Commit:     Fernando Apesteguía <fernape at FreeBSD.org>
> CommitDate: 2021-10-03 17:47:27 +0000
> 
>     */*: Remove compiler:openmp from Mk/Uses/compiler.mk
>     
>     The option implied a dependency on gcc but clang got openmp support long ago.
>     
>     Remove compiler:openmp from Mk/Uses/compiler.mk
>     
>     For ports using USE=compiler:openmp, just remove it and make them build with
>     clang.
>     Fix conditionals when necessary
>     Bump PORTREVISION where appropriate
>     
>     If problem arises, they can be addressed by using USE_GCC=yes
>     
>     An update to the Porter's Handbook will follow.
>     
>     Approved by: portmgr (bapt)
>     Differential Revision: https://reviews.freebsd.org/D31971
> ---
>  Mk/Uses/compiler.mk            | 14 ++------------
>  archivers/pxz/Makefile         |  4 ++--
>  archivers/rpm4/Makefile        |  3 ++-
>  biology/pooler/Makefile        |  5 ++---
>  biology/seqan-apps/Makefile    |  4 ++--
>  cad/calculix-ccx/Makefile      |  4 ++--
>  graphics/ImageMagick6/Makefile |  7 +++----
>  graphics/ImageMagick7/Makefile |  8 +++-----
>  graphics/aaphoto/Makefile      |  6 +++---
>  math/hmat-oss/Makefile         | 11 +++--------
>  math/librsb/Makefile           |  3 ++-
>  math/py-theano/Makefile        |  3 ++-
>  math/tmv/Makefile              |  4 ++--
>  math/viennacl/Makefile         |  4 ++--
>  14 files changed, 32 insertions(+), 48 deletions(-)
> 
> diff --git a/Mk/Uses/compiler.mk b/Mk/Uses/compiler.mk
> index 18c8dec90cf5..6e03765f2a50 100644
> --- a/Mk/Uses/compiler.mk
> +++ b/Mk/Uses/compiler.mk
> @@ -2,7 +2,7 @@
>  #
>  # Feature:	compiler
>  # Usage:	USES=compiler or USES=compiler:ARGS
> -# Valid ARGS:	env (default, implicit) c++0x c++11-lib c++11-lang c11 openmp nestedfct features
> +# Valid ARGS:	env (default, implicit) c++0x c++11-lib c++11-lang c11 nestedfct features
>  #
>  # c++0x:	The port needs a compiler understanding C++0X
>  # c++11-lang:	The port needs a compiler understanding C++11
> @@ -11,7 +11,6 @@
>  # gcc-c++11-lib:The port needs g++ compiler with a C++11 library
>  # c++11-lib:	The port needs a compiler understanding C++11 and with a C++11 ready standard library
>  # c11:		The port needs a compiler understanding C11
> -# openmp:	The port needs a compiler understanding openmp
>  # nestedfct:	The port needs a compiler understanding nested functions
>  # features:	The port will determine the features supported by the default compiler
>  #
> @@ -34,7 +33,7 @@ _INCLUDE_USES_COMPILER_MK=	yes
>  compiler_ARGS=	env
>  .endif
>  
> -VALID_ARGS=	c++11-lib c++11-lang c++14-lang c++17-lang c11 features openmp env nestedfct c++0x gcc-c++11-lib
> +VALID_ARGS=	c++11-lib c++11-lang c++14-lang c++17-lang c11 features env nestedfct c++0x gcc-c++11-lib
>  
>  _CC_hash:=	${CC:hash}
>  _CXX_hash:=	${CXX:hash}
> @@ -57,8 +56,6 @@ _COMPILER_ARGS+=	features c11
>  _COMPILER_ARGS+=	features
>  .elif ${compiler_ARGS} == env
>  _COMPILER_ARGS+=	env
> -.elif ${compiler_ARGS} == openmp
> -_COMPILER_ARGS+=	env openmp
>  .elif ${compiler_ARGS} == nestedfct
>  _COMPILER_ARGS+=	env nestedfct
>  .else
> @@ -110,13 +107,6 @@ ALT_COMPILER_TYPE=	gcc
>  
>  CHOSEN_COMPILER_TYPE=	${COMPILER_TYPE}
>  
> -.if ${_COMPILER_ARGS:Mopenmp}
> -.if ${COMPILER_TYPE} == clang
> -USE_GCC=	yes
> -CHOSEN_COMPILER_TYPE=	gcc
> -.endif
> -.endif
> -
>  .if ${_COMPILER_ARGS:Mnestedfct}
>  .if ${COMPILER_TYPE} == clang
>  USE_GCC=	any
> diff --git a/archivers/pxz/Makefile b/archivers/pxz/Makefile
> index 9f31be6ddfb6..0e6a5793ca2a 100644
> --- a/archivers/pxz/Makefile
> +++ b/archivers/pxz/Makefile
> @@ -2,7 +2,7 @@
>  
>  PORTNAME=	pxz
>  PORTVERSION=	0.20141018
> -PORTREVISION=	8
> +PORTREVISION=	9
>  CATEGORIES=	archivers
>  MASTER_SITES=	LOCAL/delphij
>  DISTNAME=	pxz-git-${PORTVERSION:S/0.//}
> @@ -15,7 +15,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING
>  
>  WRKSRC=		${WRKDIR}/${PORTNAME}
>  
> -USES=		cpe compiler:openmp tar:xz
> +USES=		cpe tar:xz
>  PLIST_FILES=	bin/pxz share/man/man1/pxz.1.gz
>  
>  CPE_VENDOR=	pxz_project
> diff --git a/archivers/rpm4/Makefile b/archivers/rpm4/Makefile
> index b34e6aadd90c..605deb742b68 100644
> --- a/archivers/rpm4/Makefile
> +++ b/archivers/rpm4/Makefile
> @@ -2,6 +2,7 @@
>  
>  PORTNAME=	rpm
>  PORTVERSION=	4.16.1.3
> +PORTREVISION=	1
>  CATEGORIES=	archivers
>  MASTER_SITES=	http://ftp.rpm.org/releases/rpm-4.16.x/
>  PKGNAMESUFFIX=	4
> @@ -20,7 +21,7 @@ LIB_DEPENDS=	libpopt.so:devel/popt \
>  RUN_DEPENDS=	bash:shells/bash \
>  		gxargs:misc/findutils
>  
> -USES=		alias bdb sqlite compiler:openmp cpe gmake iconv libarchive libtool \
> +USES=		alias bdb sqlite cpe gmake iconv libarchive libtool \
>  		lua:52+ pathfix pkgconfig shebangfix tar:bzip2
>  USE_LDCONFIG=	yes
>  
> diff --git a/biology/pooler/Makefile b/biology/pooler/Makefile
> index f674ed8d0e6f..8236638d0c4a 100644
> --- a/biology/pooler/Makefile
> +++ b/biology/pooler/Makefile
> @@ -1,6 +1,7 @@
>  PORTNAME=		pooler
>  DISTVERSIONPREFIX=	v
>  DISTVERSION=		1.78
> +PORTREVISION=		1
>  CATEGORIES=		biology
>  
>  MAINTAINER=	ssb22 at cam.ac.uk
> @@ -9,9 +10,6 @@ COMMENT=	Optimise DNA sequencing primer-set combinations
>  LICENSE=	APACHE20
>  LICENSE_FILE=	${WRKDIR}/${GH_PROJECT}-${PORTVERSION}/LICENSE
>  
> -# Not needed on x86, aarch64, or ppc64-13.x
> -# Might need gcc on 32-bit ARM/PPC
> -USES=		compiler:openmp
>  USE_GITHUB=	yes
>  
>  GH_ACCOUNT=	ssb22
> @@ -24,3 +22,4 @@ INSTALL_TARGET=	install-strip
>  PLIST_FILES=	bin/pooler man/man1/pooler.1.gz share/applications/pooler.desktop
>  
>  .include <bsd.port.mk>
> +
> diff --git a/biology/seqan-apps/Makefile b/biology/seqan-apps/Makefile
> index 01879b514c32..57a78e8657df 100644
> --- a/biology/seqan-apps/Makefile
> +++ b/biology/seqan-apps/Makefile
> @@ -3,7 +3,7 @@
>  PORTNAME=	seqan-apps
>  DISTVERSIONPREFIX=	seqan-v
>  DISTVERSION=	2.4.0
> -PORTREVISION=	9
> +PORTREVISION=	10
>  CATEGORIES=	biology
>  
>  MAINTAINER=	h2+fbsdports at fsfe.org
> @@ -14,7 +14,7 @@ LICENSE_COMB=	multi
>  
>  BUILD_DEPENDS=	boost-libs>0:devel/boost-libs
>  
> -USES=		cmake compiler:openmp # once #199603 is resolved, add c++14-lang
> +USES=		cmake
>  USE_GITHUB=	yes
>  GH_ACCOUNT=	seqan
>  GH_PROJECT=	seqan
> diff --git a/cad/calculix-ccx/Makefile b/cad/calculix-ccx/Makefile
> index c5733de025f5..3807d9a7ea8d 100644
> --- a/cad/calculix-ccx/Makefile
> +++ b/cad/calculix-ccx/Makefile
> @@ -2,7 +2,7 @@
>  
>  PORTNAME=	ccx
>  PORTVERSION=	2.17
> -PORTREVISION=	1
> +PORTREVISION=	2
>  CATEGORIES=	cad
>  MASTER_SITES=	http://www.dhondt.de/
>  PKGNAMEPREFIX=	CalculiX-
> @@ -18,7 +18,7 @@ LICENSE=	GPLv2
>  LIB_DEPENDS=	libarpack.so:math/arpack-ng	\
>  		libspooles.so:math/spooles
>  
> -USES=		blaslapack compiler:openmp fortran gmake perl5 tar:bzip2
> +USES=		blaslapack fortran gmake perl5 tar:bzip2
>  USE_PERL5=	build
>  
>  DIST_SOURCES=	ccx_${PORTVERSION}.src${EXTRACT_SUFX}
> diff --git a/graphics/ImageMagick6/Makefile b/graphics/ImageMagick6/Makefile
> index f013c0906b14..fca01f41e974 100644
> --- a/graphics/ImageMagick6/Makefile
> +++ b/graphics/ImageMagick6/Makefile
> @@ -1,6 +1,6 @@
>  PORTNAME=	ImageMagick
>  DISTVERSION=	6.9.12-12
> -PORTREVISION=	2
> +PORTREVISION=	3
>  PORTEPOCH=	1
>  CATEGORIES=	graphics perl5
>  MASTER_SITES=	https://www.imagemagick.org/download/ \
> @@ -232,11 +232,10 @@ _IMAGEMAGICK_THREADS=no
>  . if ${_IMAGEMAGICK_THREADS} == "no"
>  IGNORE=OpenMP requires threads${_IMAGEMAGICK_THREADS_IGNORE_MSG}
>  . else
> -CONFIGURE_ARGS+=	--enable-openmp
> -USES+=		compiler:openmp
> +CONFIGURE_ARGS+=       --enable-openmp
>  . endif
>  .else
> -CONFIGURE_ARGS+=	--disable-openmp
> +CONFIGURE_ARGS+=       --disable-openmp
>  .endif
>  
>  .if defined(WITH_WINDOWS_FONT_DIR)
> diff --git a/graphics/ImageMagick7/Makefile b/graphics/ImageMagick7/Makefile
> index 630fa460b5d6..8df8dca03fd3 100644
> --- a/graphics/ImageMagick7/Makefile
> +++ b/graphics/ImageMagick7/Makefile
> @@ -1,6 +1,6 @@
>  PORTNAME=	ImageMagick
>  DISTVERSION=	7.0.11-12
> -PORTREVISION=	2
> +PORTREVISION=	3
>  CATEGORIES=	graphics perl5
>  MASTER_SITES=	https://www.imagemagick.org/download/ \
>  		https://www.imagemagick.org/download/releases/ \
> @@ -230,13 +230,11 @@ _IMAGEMAGICK_THREADS=no
>  . if ${_IMAGEMAGICK_THREADS} == "no"
>  IGNORE=OpenMP requires threads${_IMAGEMAGICK_THREADS_IGNORE_MSG}
>  . else
> -CONFIGURE_ARGS+=	--enable-openmp
> -USES+=		compiler:openmp
> +CONFIGURE_ARGS+=       --enable-openmp
>  . endif
>  .else
> -CONFIGURE_ARGS+=	--disable-openmp
> +CONFIGURE_ARGS+=       --disable-openmp
>  .endif
> -
>  .if defined(WITH_WINDOWS_FONT_DIR)
>  CONFIGURE_ARGS+=	--with-windows-font-dir=${WITH_WINDOWS_FONT_DIR}
>  .endif
> diff --git a/graphics/aaphoto/Makefile b/graphics/aaphoto/Makefile
> index 18f8dfcb8d3d..f6d67a94764c 100644
> --- a/graphics/aaphoto/Makefile
> +++ b/graphics/aaphoto/Makefile
> @@ -3,7 +3,7 @@
>  PORTNAME=	aaphoto
>  PORTVERSION=	0.43.1
>  DISTVERSIONPREFIX=	v
> -PORTREVISION=	11
> +PORTREVISION=	12
>  CATEGORIES=	graphics
>  
>  MAINTAINER=	mail at log69.com
> @@ -18,7 +18,7 @@ USE_GITHUB=	yes
>  GH_ACCOUNT=	log69
>  
>  GNU_CONFIGURE=	yes
> -USES=		compiler:openmp jpeg
> +USES=		jpeg
>  
>  CPPFLAGS+=	-I${LOCALBASE}/include
>  LDFLAGS+=	-L${LOCALBASE}/lib
> @@ -27,7 +27,7 @@ PLIST_FILES=	bin/aaphoto
>  
>  .include <bsd.port.pre.mk>
>  
> -.if (${ARCH} == amd64 || ${ARCH} == i386) && ${CHOSEN_COMPILER_TYPE} == gcc
> +.if (${ARCH} == amd64 || ${ARCH} == i386)
>  CFLAGS+=	-fopenmp -D__OPENMP__
>  .endif
>  
> diff --git a/math/hmat-oss/Makefile b/math/hmat-oss/Makefile
> index e54cb7d5ed35..cd215947f434 100644
> --- a/math/hmat-oss/Makefile
> +++ b/math/hmat-oss/Makefile
> @@ -1,5 +1,6 @@
>  PORTNAME=	hmat-oss
>  DISTVERSION=	1.7.1
> +PORTREVISION=	1
>  CATEGORIES=	math
>  
>  MAINTAINER=	yuri at FreeBSD.org
> @@ -10,7 +11,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.md
>  
>  LIB_DEPENDS=	libopenblas.so:math/openblas
>  
> -USES=		cmake compiler:openmp
> +USES=		cmake
>  USE_LDCONFIG=	yes
>  
>  USE_GITHUB=	yes
> @@ -22,12 +23,6 @@ CMAKE_OFF=	HMAT_GIT_VERSION
>  
>  LDFLAGS+=	-lexecinfo
>  
> -.include <bsd.port.pre.mk>
> -
> -.if ${CHOSEN_COMPILER_TYPE} == gcc
> -USE_GCC=	yes
> -.endif
> -
>  do-test:
>  	@cd ${BUILD_WRKSRC} && \
>  		${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DBUILD_EXAMPLES:BOOL=ON ${CMAKE_SOURCE_PATH} && \
> @@ -35,4 +30,4 @@ do-test:
>  		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
>  		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test
>  
> -.include <bsd.port.post.mk>
> +.include <bsd.port.mk>
> diff --git a/math/librsb/Makefile b/math/librsb/Makefile
> index 187ead3b681a..a98c55792372 100644
> --- a/math/librsb/Makefile
> +++ b/math/librsb/Makefile
> @@ -2,6 +2,7 @@
>  
>  PORTNAME=	librsb
>  PORTVERSION=	1.2.0.10
> +PORTREVISION=	1
>  CATEGORIES=	math
>  MASTER_SITES=	SF/librsb
>  DISTNAME=	${PORTNAME}-${PORTVERSION:S/r/-rc/}
> @@ -15,7 +16,7 @@ LICENSE_FILE=	${WRKSRC}/COPYING
>  BUILD_DEPENDS=	gsed:textproc/gsed \
>  		bash:shells/bash
>  
> -USES=		fortran compiler:openmp gmake shebangfix libtool
> +USES=		fortran gmake shebangfix libtool
>  INSTALL_TARGET=	install-strip
>  TEST_TARGET=	qtests
>  GNU_CONFIGURE=	yes
> diff --git a/math/py-theano/Makefile b/math/py-theano/Makefile
> index 99c7e6c4c77f..85a928551040 100644
> --- a/math/py-theano/Makefile
> +++ b/math/py-theano/Makefile
> @@ -2,6 +2,7 @@
>  
>  PORTNAME=	theano
>  DISTVERSION=	1.0.5
> +PORTREVISION=	1
>  CATEGORIES=	math python
>  MASTER_SITES=	CHEESESHOP
>  PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
> @@ -17,7 +18,7 @@ RUN_DEPENDS=	${PYNUMPY} \
>  		${PYTHON_PKGNAMEPREFIX}scipy>=0.8.0:science/py-scipy@${PY_FLAVOR} \
>  		${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${PY_FLAVOR}
>  
> -USES=		compiler:openmp python:3.6+
> +USES=		python:3.6+
>  USE_PYTHON=	concurrent distutils autoplist
>  
>  NO_ARCH=	yes
> diff --git a/math/tmv/Makefile b/math/tmv/Makefile
> index 1783cfc1dd68..9ec06912099c 100644
> --- a/math/tmv/Makefile
> +++ b/math/tmv/Makefile
> @@ -1,7 +1,7 @@
>  PORTNAME=	tmv
>  DISTVERSIONPREFIX=	v
>  DISTVERSION=	0.75
> -PORTREVISION=	7
> +PORTREVISION=	8
>  CATEGORIES=	math
>  
>  MAINTAINER=	yuri at FreeBSD.org
> @@ -10,7 +10,7 @@ COMMENT=	Fast, intuitive linear algebra library for C++
>  LICENSE=	BSD2CLAUSE
>  LICENSE_FILE=	${WRKSRC}/TMV_LICENSE
>  
> -USES=		compiler:openmp gmake blaslapack:netlib localbase
> +USES=		gmake blaslapack:netlib localbase
>  USE_GITHUB=	yes
>  GH_ACCOUNT=	rmjarvis
>  USE_LDCONFIG=	yes
> diff --git a/math/viennacl/Makefile b/math/viennacl/Makefile
> index 4eaabd71266d..d10341decf3d 100644
> --- a/math/viennacl/Makefile
> +++ b/math/viennacl/Makefile
> @@ -2,7 +2,7 @@
>  
>  PORTNAME=	viennacl
>  PORTVERSION=	1.7.1
> -PORTREVISION=	5
> +PORTREVISION=	6
>  CATEGORIES=	math
>  MASTER_SITES=	SF/${PORTNAME}/1.7.x/
>  DISTNAME=	ViennaCL-${PORTVERSION}
> @@ -17,6 +17,6 @@ BUILD_DEPENDS=	${LOCALBASE}/include/CL/opencl.h:devel/opencl
>  LIB_DEPENDS=	libOpenCL.so:devel/ocl-icd
>  RUN_DEPENDS=	${LOCALBASE}/include/CL/opencl.h:devel/opencl
>  
> -USES=		cmake compiler:openmp localbase
> +USES=		cmake localbase
>  
>  .include <bsd.port.mk>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/dev-commits-ports-all/attachments/20211003/613a309d/attachment.sig>


More information about the dev-commits-ports-all mailing list