aboutsummaryrefslogtreecommitdiff
path: root/databases/postgresql13-server
diff options
context:
space:
mode:
authorPalle Girgensohn <girgen@FreeBSD.org>2020-09-30 20:52:17 +0000
committerPalle Girgensohn <girgen@FreeBSD.org>2020-09-30 20:52:17 +0000
commitf9a1d6bac4941e94be596b6751f123cf0932d47d (patch)
tree635732246f06dd598298b3d882de182a67a60b3f /databases/postgresql13-server
parent334d1129aab9ee285eb8f7cac4be1339a0bd517b (diff)
downloadports-f9a1d6bac4941e94be596b6751f123cf0932d47d.tar.gz
ports-f9a1d6bac4941e94be596b6751f123cf0932d47d.zip
Try to fix build on recent FreeBSD versions where clang version > llvm default
ports version. Fix this by depending on a higher version of llvm if such a version exixts, and otherwise use a clang version compatible with the latest llvm. Using llvm was previously dependant on clang being used, and this did not quite work for all cases due to some weird order of variables in the Makefile. The result was that the option set by the used was not really honored. The portrevision is bumped to reflect that the setting of LLVM might not have worked before this portrevison. PR: 244403
Notes
Notes: svn path=/head/; revision=550749
Diffstat (limited to 'databases/postgresql13-server')
-rw-r--r--databases/postgresql13-server/Makefile42
1 files changed, 27 insertions, 15 deletions
diff --git a/databases/postgresql13-server/Makefile b/databases/postgresql13-server/Makefile
index 32cd3ddbca2c..6294d384dd41 100644
--- a/databases/postgresql13-server/Makefile
+++ b/databases/postgresql13-server/Makefile
@@ -101,10 +101,10 @@ OPTIONS_DEFINE+= LLVM
OPTIONS_DEFAULT+= LLVM
LLVM_DESC= Build with support for JIT-compiling expressions
LLVM_CONFIGURE_WITH= llvm
-LLVM_BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
-LLVM_BUILD_DEPENDS+= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
-LLVM_RUN_DEPENDS+= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
-LLVM_CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${LLVM_DEFAULT}
+LLVM_BUILD_DEPENDS= llvm${PG_LLVM_VERSION}>0:devel/llvm${PG_LLVM_VERSION}
+LLVM_BUILD_DEPENDS+= llvm-config${PG_LLVM_VERSION}:devel/llvm${PG_LLVM_VERSION}
+LLVM_RUN_DEPENDS+= llvm-config${PG_LLVM_VERSION}:devel/llvm${PG_LLVM_VERSION}
+LLVM_CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${PG_LLVM_VERSION}
#OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${CHOSEN_COMPILER_TYPE}}
#OPTIONS_DEFAULT_clang= LLVM
.endif
@@ -193,12 +193,6 @@ USES+= compiler:gcc-c++11-lib
USES+= compiler
.endif
-.if ${DISTVERSION:C/([0-9]*).*/\1/} >= 11
-. if defined(SERVER_ONLY) && ${PORT_OPTIONS:MLLVM}
-INSTALL_DIRS+= src/backend/jit/llvm
-. endif
-.endif
-
.if ${DISTVERSION:C/([0-9]*).*/\1/} < 10
. if ( defined(SERVER_ONLY) && ${PORT_OPTIONS:MICU} ) || make(makesum)
USES+= autoreconf
@@ -245,11 +239,29 @@ CONFIGURE_ARGS+=--with-krb5
# For testing files in FILESDIR
.include <bsd.port.pre.mk>
-# Fix problems building on FreeBSD 13 by keeping clang and llvm versions in sync
-.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1300109
-BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
-CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
+# sync LLVM to the preferred compiler if possible
+# or else use a lower version compiler that is compatible
+.if ${COMPILER_VERSION} > ${LLVM_DEFAULT}
+# Highest LLVM version in ports:
+. if ${COMPILER_VERSION} <= 11
+PG_LLVM_VERSION=${COMPILER_VERSION}
+PG_COMPILER_VERSION=${COMPILER_VERSION}
+. else
+PG_LLVM_VERSION=11
+PG_COMPILER_VERSION=11
+. endif
+.else
+PG_COMPILER_VERSION=${COMPILER_VERSION}
+PG_LLVM_VERSION=${LLVM_DEFAULT}
+.endif
+
+.if ${DISTVERSION:C/([0-9]*).*/\1/} >= 11
+. if defined(SERVER_ONLY) && ${PORT_OPTIONS:MLLVM}
+INSTALL_DIRS+= src/backend/jit/llvm
+. if ${COMPILER_VERSION} != ${PG_COMPILER_VERSION}
+LLVM_CONFIGURE_ARGS?= CC=${LOCALBASE}/bin/clang${PG_COMPILER_VERSION}
+. endif
+. endif
.endif
.if defined(SERVER_ONLY)