Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F171446484
D37728.id114232.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D37728.id114232.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D37728: framework: add llvm.mk
Attached
Detach File
Event Timeline
Log In to Comment