Page MenuHomeFreeBSD

D37728.id114232.diff
No OneTemporary

D37728.id114232.diff

Index: Mk/Uses/llvm.mk
===================================================================
--- /dev/null
+++ Mk/Uses/llvm.mk
@@ -0,0 +1,94 @@
+# Provides support to depend on LLVM
+#
+# It chooses the llvm port to be used based on the following constraint:
+# 1) no constraints given => ${LLVM_DEFAULT}
+# 2) exact constraint given => ${exact}
+# 2) max constraint given && ${max} < ${LLVM_DEFAULT} => ${max}
+# 3) min constraint given && ${LLVM_DEFAULT} < ${LLVM_DEFAULT} => ${LLVM_DEFAULT}
+
+# Usage:
+# USES= llvm - default version chosen
+# USES= llvm:15 - exact constraint
+# USES= llvm:min=9 - min constraint: max(min,default)
+# USES= llvm:max=10 - max constraint: min(max,default)
+# USES= llvm:min=10,max=11 - all constraint: max(min(max,default),default)
+
+.if ! defined(_INCLUDE_USES_LLVM_MK)
+_INCLUDE_USES_LLVM_MK= YES
+
+_LLVM_MK_VALID_VERSIONS= 7 8 9 10 11 12 13 14 15
+_LLVM_MK_VALID_CONSTRAINTS= min max
+_LLVM_MK_VALID_MODES= build run
+
+# === parse mode arguments ===
+_LLVM_MK_MODES= # empty
+. for _mode in ${_LLVM_MK_VALID_MODES}
+. if ${llvm_ARGS:M${_mode}}
+_LLVM_MK_MODES+= ${_mode}
+. endif
+. endfor
+. if empty(_LLVM_MK_MODES)
+_LLVM_MK_MODES= build
+. endif
+
+# === parse version arguments ===
+_LLVM_MK_VERSION= # empty
+. for _ver in ${_LLVM_MK_VALID_VERSIONS}
+. if ${llvm_ARGS:M${_ver}}
+. if !empty(_LLVM_MK_VERSION)
+BROKEN= USES=llvm:${llvm_ARGS} contains multiple version definitions
+. else
+_LLVM_MK_VERSION= ${_ver}
+. endif
+. endif
+. endfor
+. if empty(_LLVM_MK_VERSION)
+_LLVM_MK_VERSION= ${LLVM_DEFAULT}
+. endif
+
+# === handle constraints ===
+. for _constraint in ${_LLVM_MK_VALID_CONSTRAINTS}
+_version= ${llvm_ARGS:M${_constraint}=[0-9]*:S/${_constraint}=//}
+. if !empty(_version)
+_LLVM_MK_CONSTRAINT_${_constraint}= ${_version}
+. endif
+. endfor
+
+. if !empty(_LLVM_MK_CONSTRAINT_min)
+. if ${_LLVM_MK_CONSTRAINT_min} > ${_LLVM_MK_VERSION}
+_LLVM_MK_VERSION= ${_LLVM_MK_CONSTRAINT_min}
+. endif
+. endif
+
+. if !empty(_LLVM_MK_CONSTRAINT_max)
+. if ${_LLVM_MK_CONSTRAINT_max} < ${_LLVM_MK_VERSION}
+_LLVM_MK_VERSION= ${_LLVM_MK_CONSTRAINT_max}
+. endif
+. endif
+
+# === define helpers for the dependencies ===
+. for _ver in ${_LLVM_MK_VALID_VERSIONS:N1[0-9]}
+_LLVM_MK_SUFFIX_${_ver}= ${_ver}0
+. endfor
+
+. for _ver in ${_LLVM_MK_VALID_VERSIONS}
+_LLVM_MK_SUFFIX_${_ver}?= ${_ver}
+. endfor
+
+# === define variables to depend on and export ===
+_LLVM_MK_PORT= devel/llvm${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}}
+_LLVM_MK_PATH= llvm-config${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}}
+_LLVM_MK_PREFIX= ${PREFIX}/llvm${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}}
+
+# == add actual dependencies ===
+. for _mode in ${_LLVM_MK_MODES}
+${_mode:tu}_DEPENDS+= ${_LLVM_MK_PATH}:${_LLVM_MK_PORT}
+. endfor
+
+# == export config ===
+LLVM_PORT= ${_LLVM_MK_PORT}
+LLVM_CONFIG= ${_LLVM_MK_PATH}
+LLVM_VERSION= ${_LLVM_MK_VERSION}
+LLVM_PREFIX= ${_LLVM_MK_PREFIX}
+
+.endif
Index: devel/android-tools-simpleperf/Makefile
===================================================================
--- devel/android-tools-simpleperf/Makefile
+++ devel/android-tools-simpleperf/Makefile
@@ -10,19 +10,17 @@
LICENSE= APACHE20
-BUILD_DEPENDS= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
-
USE_GITHUB= yes
GH_TUPLE= jbeich:platform_system_extras:${DISTVERSIONFULL} \
aosp-mirror:platform_system_core:${DISTVERSIONFULL}:core \
aosp-mirror:platform_bionic:${DISTVERSIONFULL}:bionic/bionic
-USES= compiler:c++11-lib ncurses uidfix
+USES= compiler:c++11-lib ncurses uidfix llvm:9
BUILD_WRKSRC= ${WRKSRC}/simpleperf
INSTALL_WRKSRC= ${BUILD_WRKSRC}
TEST_WRKSRC= ${BUILD_WRKSRC}
MAKEFILE= ${FILESDIR}/Makefile
-MAKE_ENV= BINDIR="${PREFIX}/bin" LLVM_CONFIG="llvm-config${LLVM_DEFAULT}"
+MAKE_ENV= BINDIR="${PREFIX}/bin" LLVM_CONFIG=${LLVM_CONFIG}
ALL_TARGET= all
TEST_TARGET= test
LDFLAGS+= -Wl,--as-needed # avoid overlinking (llvm deps)

File Metadata

Mime Type
text/plain
Expires
Sat, Sep 12, 4:18 AM (2 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38763940
Default Alt Text
D37728.id114232.diff (3 KB)

Event Timeline