aboutsummaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2020-03-04 15:00:17 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2020-03-04 15:00:17 +0000
commitdebce79335366607a71fcb62c1d089e6992be6bb (patch)
tree7032ea80053b5204ba5e01a54519b08c08a3295b /Mk
parent84409db9ad080b8d84b8ab60b86553e71372e946 (diff)
downloadports-debce79335366607a71fcb62c1d089e6992be6bb.tar.gz
ports-debce79335366607a71fcb62c1d089e6992be6bb.zip
Mk/Uses/cargo.mk: Allow disabling default features via CARGO_FEATURES
CARGO_FEATURES is overloaded to accept --no-default-features as a special token which will set CARGO_{BUILD,INSTALL,TEST}_ARGS appropriately. This is done in preference over introducing yet another knob.
Notes
Notes: svn path=/head/; revision=527755
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/cargo.mk15
1 files changed, 11 insertions, 4 deletions
diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index 6b8b22c51da0..39755ecb17c4 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -21,6 +21,8 @@ IGNORE+= USES=cargo takes no arguments
CARGO_CRATES?=
# List of features to build (space separated list).
+# Use special token --no-default-features to disable default
+# features by passing it to cargo build/install/test.
CARGO_FEATURES?=
# Name of the local directory for vendoring crates.
@@ -108,10 +110,15 @@ CARGO_USE_GITHUB?= no
CARGO_USE_GITLAB?= no
# Manage crate features.
-.if !empty(CARGO_FEATURES)
-CARGO_BUILD_ARGS+= --features='${CARGO_FEATURES}'
-CARGO_INSTALL_ARGS+= --features='${CARGO_FEATURES}'
-CARGO_TEST_ARGS+= --features='${CARGO_FEATURES}'
+.if !empty(CARGO_FEATURES:M--no-default-features)
+CARGO_BUILD_ARGS+= --no-default-features
+CARGO_INSTALL_ARGS+= --no-default-features
+CARGO_TEST_ARGS+= --no-default-features
+.endif
+.if !empty(CARGO_FEATURES:N--no-default-features)
+CARGO_BUILD_ARGS+= --features='${CARGO_FEATURES:N--no-default-features}'
+CARGO_INSTALL_ARGS+= --features='${CARGO_FEATURES:N--no-default-features}'
+CARGO_TEST_ARGS+= --features='${CARGO_FEATURES:N--no-default-features}'
.endif
.if !defined(WITH_DEBUG)