aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2014-09-29 00:36:31 +0800
committertijl <tijl@FreeBSD.org>2014-09-29 00:36:31 +0800
commite7dc30958a42e788cc3320e65536192f3476ef87 (patch)
treeaeb03f1aa94222d62e9cdc28c4130adb5b0e5327
parentccd08de0500ddc8e427dc1bbf85fc534336cc7f8 (diff)
downloadfreebsd-ports-gnome-e7dc30958a42e788cc3320e65536192f3476ef87.tar.gz
freebsd-ports-gnome-e7dc30958a42e788cc3320e65536192f3476ef87.tar.zst
freebsd-ports-gnome-e7dc30958a42e788cc3320e65536192f3476ef87.zip
Change the way USES is handled:
- Loop over USES twice, once to define all *_ARGS variables and once to include Uses/*.mk. This allows all Uses/*.mk to examine arguments given to other USES entries. - Always define *_ARGS (possibly empty) and replace commas with spaces. Similar for _USES_POST. Adjust all Uses/*.mk: - defined(u_ARGS) becomes !empty(u_ARGS) - Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g} - Some Uses/*.mk used ":" as argument separator instead of ",", but no port used this form - Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which has no effect - Uses/twisted.mk: simplify handling of the case where neither "build" nor "run" arguments have been specified PR: 193931 Exp-run by: antoine Approved by: portmgr (antoine)
-rw-r--r--Mk/Uses/ada.mk2
-rw-r--r--Mk/Uses/autoreconf.mk7
-rw-r--r--Mk/Uses/bison.mk2
-rw-r--r--Mk/Uses/charsetfix.mk2
-rw-r--r--Mk/Uses/cmake.mk11
-rw-r--r--Mk/Uses/compiler.mk2
-rw-r--r--Mk/Uses/cran.mk3
-rw-r--r--Mk/Uses/desktop-file-utils.mk2
-rw-r--r--Mk/Uses/desthack.mk2
-rw-r--r--Mk/Uses/display.mk4
-rw-r--r--Mk/Uses/drupal.mk14
-rw-r--r--Mk/Uses/fam.mk4
-rw-r--r--Mk/Uses/fmake.mk2
-rw-r--r--Mk/Uses/fortran.mk2
-rw-r--r--Mk/Uses/fuse.mk2
-rw-r--r--Mk/Uses/gecko.mk18
-rw-r--r--Mk/Uses/gettext.mk2
-rw-r--r--Mk/Uses/gmake.mk2
-rw-r--r--Mk/Uses/gssapi.mk6
-rw-r--r--Mk/Uses/iconv.mk2
-rw-r--r--Mk/Uses/imake.mk5
-rw-r--r--Mk/Uses/kmod.mk2
-rw-r--r--Mk/Uses/lha.mk2
-rw-r--r--Mk/Uses/libtool.mk1
-rw-r--r--Mk/Uses/lua.mk14
-rw-r--r--Mk/Uses/makeinfo.mk2
-rw-r--r--Mk/Uses/makeself.mk2
-rw-r--r--Mk/Uses/mono.mk2
-rw-r--r--Mk/Uses/motif.mk2
-rw-r--r--Mk/Uses/ncurses.mk5
-rw-r--r--Mk/Uses/ninja.mk2
-rw-r--r--Mk/Uses/objc.mk2
-rw-r--r--Mk/Uses/openal.mk19
-rw-r--r--Mk/Uses/pathfix.mk2
-rw-r--r--Mk/Uses/pear.mk2
-rw-r--r--Mk/Uses/perl5.mk2
-rw-r--r--Mk/Uses/pgsql.mk2
-rw-r--r--Mk/Uses/pkgconfig.mk2
-rw-r--r--Mk/Uses/pure.mk9
-rw-r--r--Mk/Uses/python.mk5
-rw-r--r--Mk/Uses/qmail.mk2
-rw-r--r--Mk/Uses/qmake.mk17
-rw-r--r--Mk/Uses/readline.mk2
-rw-r--r--Mk/Uses/scons.mk2
-rw-r--r--Mk/Uses/shared-mime-info.mk2
-rw-r--r--Mk/Uses/tar.mk4
-rw-r--r--Mk/Uses/tcl.mk21
-rw-r--r--Mk/Uses/tk.mk4
-rw-r--r--Mk/Uses/twisted.mk34
-rw-r--r--Mk/Uses/uniquefiles.mk4
-rw-r--r--Mk/Uses/webplugin.mk10
-rw-r--r--Mk/Uses/zip.mk11
-rw-r--r--Mk/bsd.port.mk20
53 files changed, 122 insertions, 186 deletions
diff --git a/Mk/Uses/ada.mk b/Mk/Uses/ada.mk
index 5c4eee103d5e..5a6a1fb20f05 100644
--- a/Mk/Uses/ada.mk
+++ b/Mk/Uses/ada.mk
@@ -13,7 +13,7 @@ _INCLUDE_USES_ADA_MK= yes
CC= ada
-. if defined(ada_ARGS) && ${ada_ARGS} == 47
+. if ${ada_ARGS} == 47
BUILD_DEPENDS+= ${LOCALBASE}/gcc47-aux/bin/ada:${PORTSDIR}/lang/gcc47-aux
MAKE_ENV+= PATH=${LOCALBASE}/gcc47-aux/bin:${PATH}
CONFIGURE_ENV+= PATH=${LOCALBASE}/gcc47-aux/bin:${PATH}
diff --git a/Mk/Uses/autoreconf.mk b/Mk/Uses/autoreconf.mk
index 91bcfba46fc4..067e3556b03e 100644
--- a/Mk/Uses/autoreconf.mk
+++ b/Mk/Uses/autoreconf.mk
@@ -53,7 +53,6 @@
.if !defined(_INCLUDE_USES_AUTORECONF_MK)
_INCLUDE_USES_AUTORECONF_MK= yes
_USES_POST+= autoreconf
-autoreconf_ARGS:= ${autoreconf_ARGS}
BUILD_DEPENDS+= autoconf-2.69:${PORTSDIR}/devel/autoconf \
autoheader-2.69:${PORTSDIR}/devel/autoconf \
@@ -61,13 +60,11 @@ BUILD_DEPENDS+= autoconf-2.69:${PORTSDIR}/devel/autoconf \
aclocal-1.14:${PORTSDIR}/devel/automake \
automake-1.14:${PORTSDIR}/devel/automake
-# Depend on autopoint if USES contains gettext* but not gettext:run
-.if ${USES:Mgettext} || (${USES:Mgettext\:*} && empty(USES:Mgettext\:run))
+.if ${USES:Mgettext} && empty(gettext_ARGS:Mrun)
BUILD_DEPENDS+= autopoint:${PORTSDIR}/devel/gettext
.endif
-# Depend on libtoolize if USES contains libtool* but not libtool:build
-.if ${USES:Mlibtool} || (${USES:Mlibtool\:*} && empty(USES:Mlibtool\:*build*))
+.if ${USES:Mlibtool} && empty(libtool_ARGS:Mbuild)
BUILD_DEPENDS+= libtoolize:${PORTSDIR}/devel/libtool
.endif
diff --git a/Mk/Uses/bison.mk b/Mk/Uses/bison.mk
index c92d759b8054..dcad72783ea9 100644
--- a/Mk/Uses/bison.mk
+++ b/Mk/Uses/bison.mk
@@ -13,7 +13,7 @@ _INCLUDE_USES_BISON_MK= yes
_BISON_DEPENDS= bison:${PORTSDIR}/devel/bison
-.if !defined(bison_ARGS)
+.if empty(bison_ARGS)
bison_ARGS= build
.endif
diff --git a/Mk/Uses/charsetfix.mk b/Mk/Uses/charsetfix.mk
index abcce27036e6..33c4f13ab806 100644
--- a/Mk/Uses/charsetfix.mk
+++ b/Mk/Uses/charsetfix.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_CHARSETFIX_MK)
_INCLUDE_USES_CHARSETFIX_MK= yes
-.if defined(charsetfix_ARGS)
+.if !empty(charsetfix_ARGS)
IGNORE= USES=charsetfix does not require args
.endif
diff --git a/Mk/Uses/cmake.mk b/Mk/Uses/cmake.mk
index b4efb82155c8..ad8369180027 100644
--- a/Mk/Uses/cmake.mk
+++ b/Mk/Uses/cmake.mk
@@ -41,21 +41,18 @@
_INCLUDE_USES_CMAKE_MK= yes
_valid_ARGS= outsource run
-_cmake_ARGS= ${cmake_ARGS:C/\:/ /g}
# Sanity check
-.if defined(cmake_ARGS)
-. for arg in ${_cmake_ARGS}
+.for arg in ${cmake_ARGS}
. if empty(_valid_ARGS:M${arg})
IGNORE= Incorrect 'USES+= cmake:${cmake_ARGS}' usage: argument [${arg}] is not recognized
. endif
-. endfor
-.endif
+.endfor
CMAKE_BIN= ${LOCALBASE}/bin/cmake
BUILD_DEPENDS+= ${CMAKE_BIN}:${PORTSDIR}/devel/cmake
-.if ${_cmake_ARGS:Mrun}
+.if ${cmake_ARGS:Mrun}
RUN_DEPENDS+= ${CMAKE_BIN}:${PORTSDIR}/devel/cmake
.endif
@@ -109,7 +106,7 @@ CMAKE_ARGS+= -DCMAKE_COLOR_MAKEFILE:BOOL=OFF
_CMAKE_MSG= "===> Performing in-source build"
CMAKE_SOURCE_PATH?= ${WRKSRC}
-.if ${_cmake_ARGS:Moutsource}
+.if ${cmake_ARGS:Moutsource}
_CMAKE_MSG= "===> Performing out-of-source build"
CONFIGURE_WRKSRC= ${WRKDIR}/.build
BUILD_WRKSRC= ${CONFIGURE_WRKSRC}
diff --git a/Mk/Uses/compiler.mk b/Mk/Uses/compiler.mk
index e53bec0cac0e..819e86ec3a4a 100644
--- a/Mk/Uses/compiler.mk
+++ b/Mk/Uses/compiler.mk
@@ -30,7 +30,7 @@
.if !defined(_INCLUDE_USES_COMPILER_MK)
_INCLUDE_USES_COMPILER_MK= yes
-.if !defined(compiler_ARGS)
+.if empty(compiler_ARGS)
compiler_ARGS= env
.endif
diff --git a/Mk/Uses/cran.mk b/Mk/Uses/cran.mk
index 9275f4b72468..b8157e2aaca6 100644
--- a/Mk/Uses/cran.mk
+++ b/Mk/Uses/cran.mk
@@ -13,8 +13,6 @@
.if !defined(_INCLUDE_USES_CRAN_MK)
_INCLUDE_USES_CRAN_MK= yes
-VALID_ARGS= auto-plist
-
MASTER_SITE_CRAN+= http://ftp.ctex.org/mirrors/CRAN/src/contrib/ \
http://cran.rakanu.com/src/contrib/ \
http://cran.ms.unimelb.edu.au/src/contrib/ \
@@ -30,7 +28,6 @@ MASTER_SITE_CRAN_ARCHIVE+= ${MASTER_SITE_CRAN:S,$,Archive/${PORTNAME}/,}
MASTER_SITES?= ${MASTER_SITE_CRAN} ${MASTER_SITE_CRAN_ARCHIVE}
-USES+= fortran
BUILD_DEPENDS+= ${LOCALBASE}/bin/R:${PORTSDIR}/math/R
RUN_DEPENDS+= ${LOCALBASE}/bin/R:${PORTSDIR}/math/R
diff --git a/Mk/Uses/desktop-file-utils.mk b/Mk/Uses/desktop-file-utils.mk
index 95fe14af64b7..73b6ceb4e3dd 100644
--- a/Mk/Uses/desktop-file-utils.mk
+++ b/Mk/Uses/desktop-file-utils.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_DESKTOP_FILE_UTILS_MK)
_INCLUDE_USES_DESKTOP_FILE_UTILS_MK= yes
-.if defined(desktop-file-utils_ARGS)
+.if !empty(desktop-file-utils_ARGS)
IGNORE= USES=desktop-file-utils does not require args
.endif
diff --git a/Mk/Uses/desthack.mk b/Mk/Uses/desthack.mk
index 5049350ad5b8..c0c8ecd31688 100644
--- a/Mk/Uses/desthack.mk
+++ b/Mk/Uses/desthack.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_DESTHACK_MK)
_INCLUDE_USES_DESTHACK_MK= yes
-.if defined(_desthack_ARGS)
+.if !empty(desthack_ARGS)
IGNORE= USES=desthack does not require args
.endif
diff --git a/Mk/Uses/display.mk b/Mk/Uses/display.mk
index 532d0c83497e..5b5c8b533559 100644
--- a/Mk/Uses/display.mk
+++ b/Mk/Uses/display.mk
@@ -11,7 +11,9 @@
.if !defined(_INCLUDE_USES_DISPLAY_MK)
_INCLUDE_USES_DISPLAY_MK= yes
-display_ARGS?= install
+.if empty(display_ARGS)
+display_ARGS= install
+.endif
.if !defined(DISPLAY)
BUILD_DEPENDS+= Xvfb:${PORTSDIR}/x11-servers/xorg-vfbserver \
diff --git a/Mk/Uses/drupal.mk b/Mk/Uses/drupal.mk
index be0b3a9dbd70..222b7d947c23 100644
--- a/Mk/Uses/drupal.mk
+++ b/Mk/Uses/drupal.mk
@@ -13,25 +13,23 @@
.if !defined(_INCLUDE_USES_DRUPAL_Mk)
_INCLUDE_USES_DRUPAL_Mk= yes
-_drupal_ARGS= ${drupal_ARGS:S/,/ /g}
-
-.if ${_drupal_ARGS:M[67]}
-_DRUPAL_VERSION= ${_drupal_ARGS:M[67]}
+.if ${drupal_ARGS:M[67]}
+_DRUPAL_VERSION= ${drupal_ARGS:M[67]}
.endif
VALID_VERSIONS= 6 7
-.if ${_drupal_ARGS:N[67]:Ntheme:Nmodule}
-IGNORE= Unknown argument for USES=drupal: ${_drupal_ARGS:N[67]:Ntheme:Nmodule}
+.if ${drupal_ARGS:N[67]:Ntheme:Nmodule}
+IGNORE= Unknown argument for USES=drupal: ${drupal_ARGS:N[67]:Ntheme:Nmodule}
.endif
-_DRUPAL_COMP= ${_drupal_ARGS:N[67]}
+_DRUPAL_COMP= ${drupal_ARGS:N[67]}
.if !defined(_DRUPAL_VERSION) || ! ${VALID_VERSIONS:M${_DRUPAL_VERSION}}
IGNORE= Missing or invalid argument for USES=drupal, a version must be provided: ${VALID_VERSIONS}
.endif
-.if ${_drupal_ARGS:Mmodule} && ${_drupal_ARGS:Mtheme}
+.if ${drupal_ARGS:Mmodule} && ${drupal_ARGS:Mtheme}
IGNORE= theme and module arguments are mutually exclusive for USES=drupal
.endif
diff --git a/Mk/Uses/fam.mk b/Mk/Uses/fam.mk
index d7424067d1fa..66ffa68a0f47 100644
--- a/Mk/Uses/fam.mk
+++ b/Mk/Uses/fam.mk
@@ -32,7 +32,7 @@ _HAVE_FAM= fam
IGNORE= FAM mismatch: ${_HAVE_FAM} is installed, but ${WITH_FAM_SYSTEM} desired
.endif
-.if defined(fam_ARGS)
+.if !empty(fam_ARGS)
.for _fam_ARGS in ${fam_ARGS}
. if ! ${_FAM_SYSTEMS:M${_fam_ARGS}}
IGNORE= Incorrect 'USES+= fam:${fam_ARGS}' usage: argument [${_fam_ARGS}] is not recognized
@@ -47,7 +47,7 @@ IGNORE= FAM mismatch: port wants to use ${fam_ARGS} while you wish to use ${WITH
.endif
# Proceed
-.if defined(fam_ARGS)
+.if !empty(fam_ARGS)
_USE_FAM= ${fam_ARGS}
.elif defined(_HAVE_FAM)
_USE_FAM= ${_HAVE_FAM}
diff --git a/Mk/Uses/fmake.mk b/Mk/Uses/fmake.mk
index 3911befeeff8..09f156448d58 100644
--- a/Mk/Uses/fmake.mk
+++ b/Mk/Uses/fmake.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_FMAKE_MK)
_INCLUDE_USES_FMAKE_MK= yes
-.if defined(fmake_ARGS)
+.if !empty(fmake_ARGS)
IGNORE= Incorrect 'USES+= fmake:${fmake_ARGS}' fmake takes no arguments
.endif
diff --git a/Mk/Uses/fortran.mk b/Mk/Uses/fortran.mk
index 5d9798eb4e4c..fa265c4a9812 100644
--- a/Mk/Uses/fortran.mk
+++ b/Mk/Uses/fortran.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_FORTRAN_MK)
_INCLUDE_USES_FORTRAN_MK= yes
-.if !defined(fortran_ARGS)
+.if empty(fortran_ARGS)
fortran_ARGS= gcc
.endif
diff --git a/Mk/Uses/fuse.mk b/Mk/Uses/fuse.mk
index b8aebbd3da5b..e6ee0216a95c 100644
--- a/Mk/Uses/fuse.mk
+++ b/Mk/Uses/fuse.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_FUSE_MK)
_INCLUDE_USES_FUSE_MK= yes
-.if defined(fuse_ARGS)
+.if !empty(fuse_ARGS)
IGNORE= USES=fuse does not require args
.endif
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk
index e66929de0d00..39fe987c7e6f 100644
--- a/Mk/Uses/gecko.mk
+++ b/Mk/Uses/gecko.mk
@@ -18,15 +18,13 @@
.if !defined(_INCLUDE_USES_GECKO_MK)
_INCLUDE_USES_GECKO_MK= yes
-.if !defined(gecko_ARGS)
-_GECKO_ARGS= libxul
-.else
-_GECKO_ARGS= ${gecko_ARGS:S/,/ /g}
+.if empty(gecko_ARGS)
+gecko_ARGS= libxul
.endif
-_GECKO_VERSION= ${_GECKO_ARGS:M[0-9][0-9]*}
+_GECKO_VERSION= ${gecko_ARGS:M[0-9][0-9]*}
-.if ${_GECKO_ARGS:Mlibxul}
+.if ${gecko_ARGS:Mlibxul}
# Compat with older versions
GECKO= libxul
GECKO_CONFING?= ${LOCALBASE}/bin/${GECKO}-config
@@ -36,7 +34,7 @@ XPIDL_INCL?= `${GECKO_CONFIG} --idlflags`
BUILD_DEPENDS+= libxul>=24:${PORTSDIR}/www/libxul
RUN_DEPENDS+= libxul>=24:${PORTSDIR}/www/libxul
-.elif ${_GECKO_ARGS:Mfirefox}
+.elif ${gecko_ARGS:Mfirefox}
_GECKO_DEFAULT_VERSION= 31
_GECKO_VERSIONS= 31 32
@@ -51,7 +49,7 @@ _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null
_GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g}
.endif
-.elif ${_GECKO_ARGS:Mseamonkey}
+.elif ${gecko_ARGS:Mseamonkey}
_GECKO_DEFAULT_VERSION= 29
_GECKO_VERSIONS= 29
@@ -65,7 +63,7 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9]*:C/[0-9].([0-9][0-9]).*/\1/
# Dependence lines for different Seamonkey versions
29_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
-.elif ${_GECKO_ARGS:Mthunderbird}
+.elif ${gecko_ARGS:Mthunderbird}
_GECKO_DEFAULT_VERSION= 31
_GECKO_VERSIONS= 31
@@ -119,7 +117,7 @@ _GECKO_WANTED_VERSION:= ${_GECKO_HIGHEST_VERSION}
.endif
-.if ${_GECKO_ARGS:Mbuild}
+.if ${gecko_ARGS:Mbuild}
BUILD_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS}
.endif
RUN_DEPENDS+= ${${_GECKO_WANTED_VERSION}_DEPENDS}
diff --git a/Mk/Uses/gettext.mk b/Mk/Uses/gettext.mk
index 5d0ed389577a..383c530f2ca0 100644
--- a/Mk/Uses/gettext.mk
+++ b/Mk/Uses/gettext.mk
@@ -13,7 +13,7 @@ _INCLUDE_USES_GETTEXT_MK= yes
_GETTEXT_DEPENDS= xgettext:${PORTSDIR}/devel/gettext
-.if !defined(gettext_ARGS)
+.if empty(gettext_ARGS)
gettext_ARGS= lib
.endif
diff --git a/Mk/Uses/gmake.mk b/Mk/Uses/gmake.mk
index 4ff7a0a84993..f650ec2aec4c 100644
--- a/Mk/Uses/gmake.mk
+++ b/Mk/Uses/gmake.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_GMAKE_MK)
_INCLUDE_USES_GMAKE_MK= yes
-.if defined(gmake_ARGS)
+.if !empty(gmake_ARGS)
.if ${gmake_ARGS} == lite
_GMAKE_EXT= -lite
.else
diff --git a/Mk/Uses/gssapi.mk b/Mk/Uses/gssapi.mk
index 05ec9f75328a..e15ffc33c4f7 100644
--- a/Mk/Uses/gssapi.mk
+++ b/Mk/Uses/gssapi.mk
@@ -81,8 +81,10 @@ _HEIMDAL_DEPENDS=${GSSAPILIBDIR}/libgssapi.so:${PORTSDIR}/security/heimdal
_MITKRB5_DEPENDS=${GSSAPILIBDIR}/libkrb5support.so:${PORTSDIR}/security/krb5
_HEADERS= sys/types.h sys/stat.h stdint.h
-gssapi_ARGS?= base
-.for _A in ${gssapi_ARGS:S/,/ /g}
+.if empty(gssapi_ARGS)
+gssapi_ARGS= base
+.endif
+.for _A in ${gssapi_ARGS}
_local:= ${_A}
.if ${_local} == "base"
HEIMDAL_HOME= /usr
diff --git a/Mk/Uses/iconv.mk b/Mk/Uses/iconv.mk
index c9a7a6cdfcfb..e708b6dd13cd 100644
--- a/Mk/Uses/iconv.mk
+++ b/Mk/Uses/iconv.mk
@@ -13,8 +13,6 @@
.if !defined(_INCLUDE_USES_ICONV_MK)
_INCLUDE_USES_ICONV_MK= yes
-iconv_ARGS:= ${iconv_ARGS:S/,/ /g}
-
.if !exists(/usr/include/iconv.h) || ${iconv_ARGS:Mwchar_t} || ${iconv_ARGS:Mtranslit}
ICONV_CMD= ${LOCALBASE}/bin/iconv
diff --git a/Mk/Uses/imake.mk b/Mk/Uses/imake.mk
index f6340c841f8b..1e96f7a1fa3c 100644
--- a/Mk/Uses/imake.mk
+++ b/Mk/Uses/imake.mk
@@ -14,14 +14,9 @@
.if !defined(_INCLUDE_USES_IMAKE_MK)
_INCLUDE_USES_IMAKE_MK= yes
-.if defined(imake_ARGS)
-imake_ARGS:= ${imake_ARGS:S/,/ /g}
.if ${imake_ARGS:Nnotall:Nenv:Nnoman}
IGNORE= USES=imake:${imake_ARGS:S/ /,/g} is not a valid argument
.endif
-.else
-imake_ARGS=
-.endif
BUILD_DEPENDS+= imake:${PORTSDIR}/devel/imake
diff --git a/Mk/Uses/kmod.mk b/Mk/Uses/kmod.mk
index 1d4d0c0abd81..286b01f257fa 100644
--- a/Mk/Uses/kmod.mk
+++ b/Mk/Uses/kmod.mk
@@ -13,7 +13,7 @@ _INCLUDE_USES_KMOD_MK= yes
_USES_POST+= kmod
-.if defined(kmod_ARGS)
+.if !empty(kmod_ARGS)
IGNORE= USES=kmod takes no arguments
.endif
diff --git a/Mk/Uses/lha.mk b/Mk/Uses/lha.mk
index 452896f754d8..cca76bc4a365 100644
--- a/Mk/Uses/lha.mk
+++ b/Mk/Uses/lha.mk
@@ -10,7 +10,7 @@ _INCLUDE_USES_LHA_MK= yes
EXTRACT_SUFX?= .lzh
-.if defined(lha_ARGS)
+.if !empty(lha_ARGS)
IGNORE= Incorrect 'USES+=lha:${lha_ARGS}' expecting 'USES+=lha'
.endif
diff --git a/Mk/Uses/libtool.mk b/Mk/Uses/libtool.mk
index f8e928185931..118128795f3c 100644
--- a/Mk/Uses/libtool.mk
+++ b/Mk/Uses/libtool.mk
@@ -16,7 +16,6 @@
.if !defined(_INCLUDE_USES_LIBTOOL_MK)
_INCLUDE_USES_LIBTOOL_MK= yes
_USES_POST+= libtool
-libtool_ARGS:= ${libtool_ARGS:C/,/ /}
.if ${libtool_ARGS:Mbuild}
BUILD_DEPENDS+= libtool:${PORTSDIR}/devel/libtool
diff --git a/Mk/Uses/lua.mk b/Mk/Uses/lua.mk
index 2c89c99fd209..b87d90128415 100644
--- a/Mk/Uses/lua.mk
+++ b/Mk/Uses/lua.mk
@@ -15,21 +15,19 @@ _LUA_DEFAULT_VERSION= ${LUA_DEFAULT:S/.//}
IGNORE= Invalid lua version ${LUA_DEFAULT}
.endif
-_LUA_ARGS= ${lua_ARGS:S/,/ /g}
-
#
# Parse a ver+ argument
#
-.if ${_LUA_ARGS:M*+}
-_LUA_MIN_VERSION:= ${_LUA_ARGS:M*+:S/+//}
+.if ${lua_ARGS:M*+}
+_LUA_MIN_VERSION:= ${lua_ARGS:M*+:S/+//}
_LUA_WANTED_VERSION:= ${_LUA_DEFAULT_VERSION}
.endif
#
# Parse one or more ver arguments
#
-.if ${_LUA_ARGS:M5[1-2]}
-_LUA_WANTED_VERSIONS:= ${_LUA_ARGS:M5[1-2]}
+.if ${lua_ARGS:M5[1-2]}
+_LUA_WANTED_VERSIONS:= ${lua_ARGS:M5[1-2]}
.endif
#
@@ -95,9 +93,9 @@ MAKE_ENV+= LUA_MODLIBDIR=${LUA_MODLIBDIR} \
LUA_INCDIR=${LUA_INCDIR} \
LUA_LIBDIR=${LUA_LIBDIR}
-.if ${_LUA_ARGS:Mbuild}
+.if ${lua_ARGS:Mbuild}
BUILD_DEPENDS+= ${LUA_CMD}:${PORTSDIR}/lang/lua${LUA_VER_STR}
-.elfif ${_LUA_ARGS:Mrun}
+.elfif ${lua_ARGS:Mrun}
RUN_DEPENDS+= ${LUA_CMD}:${PORTSDIR}/lang/lua${LUA_VER_STR}
.else
LIB_DEPENDS+= liblua-${LUA_VER}.so:${PORTSDIR}/lang/lua${LUA_VER_STR}
diff --git a/Mk/Uses/makeinfo.mk b/Mk/Uses/makeinfo.mk
index df0024a049cf..1d9de328477a 100644
--- a/Mk/Uses/makeinfo.mk
+++ b/Mk/Uses/makeinfo.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_MAKEINFO_MK)
_INCLUDE_USES_MAKEINFO_MK= yes
-.if defined(makeinfo_ARGS)
+.if !empty(makeinfo_ARGS)
IGNORE= USES=makeinfo - expects no arguments
.endif
diff --git a/Mk/Uses/makeself.mk b/Mk/Uses/makeself.mk
index 342728ede03f..2f806280f9fa 100644
--- a/Mk/Uses/makeself.mk
+++ b/Mk/Uses/makeself.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_MAKESELF_Mk)
_INCLUDE_USES_MAKESELF_MK= yes
-.if defined(makeself_ARGS)
+.if !empty(makeself_ARGS)
IGNORE= Incorrect 'USES+= makeself:${makeself_ARGS}' makeself takes no arguments
.endif
diff --git a/Mk/Uses/mono.mk b/Mk/Uses/mono.mk
index 6f1afea72505..ba4ff7371a88 100644
--- a/Mk/Uses/mono.mk
+++ b/Mk/Uses/mono.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_MONO_MK)
_INCLUDE_USES_MONO_MK= yes
-.if defined(mono_ARGS)
+.if !empty(mono_ARGS)
IGNORE= USES=mono takes no arguments
.endif
diff --git a/Mk/Uses/motif.mk b/Mk/Uses/motif.mk
index 5a2617d3a975..60cd47e9b573 100644
--- a/Mk/Uses/motif.mk
+++ b/Mk/Uses/motif.mk
@@ -13,7 +13,7 @@
.if !defined(_INCLUDE_USES_MOTIF_MK)
_INCLUDE_USES_MOTIF_MK= yes
-.if defined(motif_ARGS)
+.if !empty(motif_ARGS)
IGNORE= USES=motif takes no arguments
.endif
diff --git a/Mk/Uses/ncurses.mk b/Mk/Uses/ncurses.mk
index af7421de9ee0..6b7ce1212c43 100644
--- a/Mk/Uses/ncurses.mk
+++ b/Mk/Uses/ncurses.mk
@@ -26,11 +26,12 @@
.if !defined(_INCLUDE_USES_NCURSES_MK)
_INCLUDE_USES_NCURSES_MK= yes
-.if !defined(ncurses_ARGS)
+.if empty(ncurses_ARGS)
. if !exists(${DESTDIR}/${LOCALBASE}/lib/libncurses.so) && exists(${DESTDIR}/usr/include/ncurses.h)
ncurses_ARGS= base
+. else
+ncurses_ARGS= port
. endif
-ncurses_ARGS?= port
.endif
.if ${ncurses_ARGS} == base
diff --git a/Mk/Uses/ninja.mk b/Mk/Uses/ninja.mk
index 189eab48f86f..3e7c6186e033 100644
--- a/Mk/Uses/ninja.mk
+++ b/Mk/Uses/ninja.mk
@@ -13,7 +13,7 @@
.if !defined(_INCLUDE_USES_NINJA_MK)
_INCLUDE_USES_NINJA_MK= yes
-.if defined(ninja_ARGS)
+.if !empty(ninja_ARGS)
IGNORE= Incorrect 'USES+= ninja:${ninja_ARGS}' ninja takes no arguments
.endif
diff --git a/Mk/Uses/objc.mk b/Mk/Uses/objc.mk
index 68c9265b19e4..c49977317019 100644
--- a/Mk/Uses/objc.mk
+++ b/Mk/Uses/objc.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_OBJC_MK)
_INCLUDE_USES_OBJC_MK= yes
-.if defined(objc_ARGS)
+.if !empty(objc_ARGS)
IGNORE= USES=objc takes no arguments
.endif
diff --git a/Mk/Uses/openal.mk b/Mk/Uses/openal.mk
index dfceba2ca0a6..a95ae086f462 100644
--- a/Mk/Uses/openal.mk
+++ b/Mk/Uses/openal.mk
@@ -16,7 +16,6 @@
_INCLUDE_USES_OPENAL_MK= yes
_valid_ARGS= al si soft alut
-_openal_ARGS= ${openal_ARGS:C/,/ /g}
_si_DEPENDS= libopenal.so.0:${PORTSDIR}/audio/openal
_soft_DEPENDS= libopenal.so.1:${PORTSDIR}/audio/openal-soft
@@ -32,8 +31,8 @@ _HAVE_OPENAL= soft
.endif
# Be friendly
-.if ! defined(openal_ARGS)
-_openal_ARGS= ${_DEFAULT_OPENAL}
+.if empty(openal_ARGS)
+openal_ARGS= ${_DEFAULT_OPENAL}
.endif
# Sanity checks
@@ -41,12 +40,11 @@ _openal_ARGS= ${_DEFAULT_OPENAL}
IGNORE= OpenAL mismatch: ${_HAVE_OPENAL} is installed, but ${WANT_OPENAL} desired
.endif
-.if defined(_openal_ARGS)
-. for _arg in ${_openal_ARGS}
+.for _arg in ${openal_ARGS}
. if ! ${_valid_ARGS:M${_arg}}
IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] is not recognized
. endif
-. if ${_OPENAL_LIBS:M${_arg}} && ${_openal_ARGS:Mal}
+. if ${_OPENAL_LIBS:M${_arg}} && ${openal_ARGS:Mal}
IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: argument [${_arg}] cannot be used together with al
. endif
. if ${_OPENAL_LIBS:M${_arg}} && defined(_HAVE_OPENAL) && ${_HAVE_OPENAL} != ${_arg}
@@ -57,18 +55,17 @@ IGNORE= OpenAL mismatch: port wants to use ${_arg} while you wish to use ${WANT_
. endif
. if ${_OPENAL_LIBS:M${_arg}}
. for _carg in ${_OPENAL_LIBS:N${_arg}}
-. if ${_openal_ARGS:M${_carg}}
+. if ${openal_ARGS:M${_carg}}
IGNORE= Incorrect 'USES+= openal:${openal_ARGS}' usage: arguments [${_arg}] and [${_carg}] cannot be used together
. endif
. endfor
. endif
-. endfor
-.endif
+.endfor
# Proceed
_USE_OPENAL=
-.if ${_openal_ARGS:Mal}
+.if ${openal_ARGS:Mal}
.if defined(_HAVE_OPENAL)
_USE_OPENAL= ${_HAVE_OPENAL}
.elif defined(WANT_OPENAL)
@@ -78,7 +75,7 @@ _USE_OPENAL= ${_DEFAULT_OPENAL}
.endif
.endif
-.for _arg in ${_openal_ARGS:Nal}
+.for _arg in ${openal_ARGS:Nal}
_USE_OPENAL+= ${_arg}
.endfor
diff --git a/Mk/Uses/pathfix.mk b/Mk/Uses/pathfix.mk
index 1a675d6eebc1..adc1b8beb2e0 100644
--- a/Mk/Uses/pathfix.mk
+++ b/Mk/Uses/pathfix.mk
@@ -12,7 +12,7 @@
.if !defined(_INCLUDE_USES_PATHFIX_MK)
_INCLUDE_USES_PATHFIX_MK= yes
-.if defined(pathfix_ARGS)
+.if !empty(pathfix_ARGS)
IGNORE= USES=pathfix does not require args
.endif
diff --git a/Mk/Uses/pear.mk b/Mk/Uses/pear.mk
index 3f5d7176cdab..40779b3585c8 100644
--- a/Mk/Uses/pear.mk
+++ b/Mk/Uses/pear.mk
@@ -12,7 +12,7 @@
_INCLUDE_USES_PEAR_MK= yes
_USES_POST+= pear
-.if defined(pear_ARGS)
+.if !empty(pear_ARGS)
IGNORE+= USES=pear takes not arguments
.endif
diff --git a/Mk/Uses/perl5.mk b/Mk/Uses/perl5.mk
index f59dc8129120..6594fd7d79ef 100644
--- a/Mk/Uses/perl5.mk
+++ b/Mk/Uses/perl5.mk
@@ -36,7 +36,7 @@
.if !defined(_INCLUDE_USES_PERL5_MK)
_INCLUDE_USES_PERL5_MK= yes
-.if defined(perl5_ARGS)
+.if !empty(perl5_ARGS)
IGNORE= Incorrect 'USES+=perl5:${perl5_ARGS}' perl5 takes no arguments
.endif
diff --git a/Mk/Uses/pgsql.mk b/Mk/Uses/pgsql.mk
index c018660ab39b..430480dc15c7 100644
--- a/Mk/Uses/pgsql.mk
+++ b/Mk/Uses/pgsql.mk
@@ -67,7 +67,7 @@ _PGSQL_VER!= ${PG_CONFIG} --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]
. endif
# Handle the + and - version stuff
-. if defined(pgsql_ARGS)
+. if !empty(pgsql_ARGS)
. if ${pgsql_ARGS:M*+}
. for version in ${VALID_PGSQL_VER}
. if ${pgsql_ARGS:S/+//} <= ${version}
diff --git a/Mk/Uses/pkgconfig.mk b/Mk/Uses/pkgconfig.mk
index 6da41c905678..a68d8ffdb0aa 100644
--- a/Mk/Uses/pkgconfig.mk
+++ b/Mk/Uses/pkgconfig.mk
@@ -13,7 +13,7 @@ _INCLUDE_USES_PKGCONFIG_MK= yes
_PKGCONFIG_DEPENDS= pkgconf:${PORTSDIR}/devel/pkgconf
-.if !defined(pkgconfig_ARGS)
+.if empty(pkgconfig_ARGS)
pkgconfig_ARGS= build
.endif
diff --git a/Mk/Uses/pure.mk b/Mk/Uses/pure.mk
index 76655eb5506a..a753dc65308f 100644
--- a/Mk/Uses/pure.mk
+++ b/Mk/Uses/pure.mk
@@ -15,21 +15,18 @@
_INCLUDE_USES_PURE_MK= yes
_valid_ARGS= ffi
-_pure_ARGS= ${pure_ARGS:C/\:/ /g}
# Sanity check
-.if defined(pure_ARGS)
-. for arg in ${_pure_ARGS}
+.for arg in ${pure_ARGS}
. if empty(_valid_ARGS:M${arg})
IGNORE= Incorrect 'USES+= pure:${pure_ARGS}' usage: argument [${arg}] is not recognized
. endif
-. endfor
-.endif
+.endfor
LIB_DEPENDS+= libpure.so:${PORTSDIR}/lang/pure
.include "${USESDIR}/gmake.mk"
-.if ${_pure_ARGS:Mffi}
+.if ${pure_ARGS:Mffi}
RUN_DEPENDS+= ${LOCALBASE}/lib/pure/ffi.pure:${PORTSDIR}/devel/pure-ffi
.endif
diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
index b324652cf141..5bf8447ea530 100644
--- a/Mk/Uses/python.mk
+++ b/Mk/Uses/python.mk
@@ -238,11 +238,6 @@ _PYTHON_PORTBRANCH= 2.7 # ${_PYTHON_VERSIONS:[1]}
_PYTHON_BASECMD= ${LOCALBASE}/bin/python
_PYTHON_RELPORTDIR= ${PORTSDIR}/lang/python
-# Check the passed arguments
-.if !defined(python_ARGS)
-python_ARGS= #empty
-.endif
-
# COMPAT KNOBS, remove them, once the tree is cleaned
.undef _PY_COMPAT_OLD
# We will reuse USE_PYTHON with a different meaning, so make sure that, while
diff --git a/Mk/Uses/qmail.mk b/Mk/Uses/qmail.mk
index d4d43ae3473b..834c25e10b7f 100644
--- a/Mk/Uses/qmail.mk
+++ b/Mk/Uses/qmail.mk
@@ -20,7 +20,7 @@ _INCLUDE_QMAIL_MK= yes
QMAIL_PREFIX?= /var/qmail
-.if !defined(qmail_ARGS)
+.if empty(qmail_ARGS)
qmail_ARGS= both
.endif
diff --git a/Mk/Uses/qmake.mk b/Mk/Uses/qmake.mk
index 610b9192e478..b9ee08afa208 100644
--- a/Mk/Uses/qmake.mk
+++ b/Mk/Uses/qmake.mk
@@ -38,17 +38,14 @@ IGNORE= 'USES+= qmake' must be accompanied with 'USE_QT[${_QT_SUPPORTED:S/ //g}]
# targets (currently, only qmake-configure), without qmake being added to the
# configure stage.
_VALID_ARGS= norecursive outsource _env
-_qmake_ARGS= ${qmake_ARGS:S/\:/ /g}
-.if defined(qmake_ARGS)
-. for arg in ${_qmake_ARGS}
+.for arg in ${qmake_ARGS}
. if empty(_VALID_ARGS:M${arg})
IGNORE= Incorrect 'USES+= qmake' usage: argument '${arg}' is not recognized
. endif
-. endfor
-.endif
+.endfor
-.if ! ${_qmake_ARGS:M_env}
+.if ! ${qmake_ARGS:M_env}
USE_QT${_QT_VERSION:R:R}+= qmake_build
.endif
@@ -76,7 +73,7 @@ QMAKE_ARGS+= CONFIG+="release" \
.endif # defined(WITH_DEBUG)
# We set -recursive by default to keep qmake from running in the build stage.
-.if ! ${_qmake_ARGS:Mnorecursive}
+.if ! ${qmake_ARGS:Mnorecursive}
QMAKE_ARGS+= -recursive
.endif
@@ -88,7 +85,7 @@ QMAKE_ARGS+= -d
# use it for both qtbase and USES=qmake ports. They are private, not supposed to
# be used anywhere else.
_QMAKE_WRKSRC?= ${CONFIGURE_WRKSRC}
-.if ${_qmake_ARGS:Moutsource}
+.if ${qmake_ARGS:Moutsource}
CONFIGURE_WRKSRC= ${WRKDIR}/.build
BUILD_WRKSRC= ${CONFIGURE_WRKSRC}
INSTALL_WRKSRC= ${BUILD_WRKSRC}
@@ -97,7 +94,7 @@ QMAKE_SOURCE_PATH?= ${WRKSRC}
QMAKE_SOURCE_PATH?= # empty
.endif
-.if ! ${_qmake_ARGS:M_env}
+.if ! ${qmake_ARGS:M_env}
DESTDIRNAME= INSTALL_ROOT
.endif
@@ -108,7 +105,7 @@ qmake-configure:
@cd ${_QMAKE_WRKSRC} && \
${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${QMAKE_SOURCE_PATH}
-.if !target(do-configure) && ! ${_qmake_ARGS:M_env}
+.if !target(do-configure) && ! ${qmake_ARGS:M_env}
do-configure: qmake-configure
@${DO_NADA}
.endif
diff --git a/Mk/Uses/readline.mk b/Mk/Uses/readline.mk
index 280150162f48..fbd77ab258b9 100644
--- a/Mk/Uses/readline.mk
+++ b/Mk/Uses/readline.mk
@@ -15,7 +15,7 @@ _INCLUDE_USES_READLINE_MK= yes
readline_ARGS= port
.endif
-.if defined(readline_ARGS) && ${readline_ARGS} == port
+.if ${readline_ARGS} == port
LIB_DEPENDS+= libreadline.so.6:${PORTSDIR}/devel/readline
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
diff --git a/Mk/Uses/scons.mk b/Mk/Uses/scons.mk
index 869e6e790b8b..3866cb823bdf 100644
--- a/Mk/Uses/scons.mk
+++ b/Mk/Uses/scons.mk
@@ -10,7 +10,7 @@
.if !defined(_INCLUDE_USES_SCONS_MK)
_INCLUDE_USES_SCONS_MK= yes
-.if defined(scons_ARGS)
+.if !empty(scons_ARGS)
IGNORE= Incorrect 'USES+= scons:${scons_ARGS}' scons takes no arguments
.endif
diff --git a/Mk/Uses/shared-mime-info.mk b/Mk/Uses/shared-mime-info.mk
index 08770857574b..a47953d93656 100644
--- a/Mk/Uses/shared-mime-info.mk
+++ b/Mk/Uses/shared-mime-info.mk
@@ -11,7 +11,7 @@
.if !defined(_INCLUDE_USES_SHARED_MIME_INFO_MK)
_INCLUDE_USES_SHARED_MIME_INFO_MK= yes
-.if defined(shared-mime-info_ARGS)
+.if !empty(shared-mime-info_ARGS)
IGNORE= USES=shared-mime-info does not require args
.endif
diff --git a/Mk/Uses/tar.mk b/Mk/Uses/tar.mk
index 18ba4484ef81..1bf254b437c9 100644
--- a/Mk/Uses/tar.mk
+++ b/Mk/Uses/tar.mk
@@ -10,8 +10,6 @@
.if !defined(_INCLUDE_USES_TAR_MK)
_INCLUDE_USES_TAR_MK= yes
-tar_ARGS?= none
-
.if ${tar_ARGS} == xz
EXTRACT_SUFX?= .tar.xz
.elif ${tar_ARGS} == lzma
@@ -26,7 +24,7 @@ EXTRACT_SUFX?= .tgz
EXTRACT_SUFX?= .tbz
.elif ${tar_ARGS} == Z
EXTRACT_SUFX?= .tar.Z
-.elif ${tar_ARGS} == none
+.elif empty(tar_ARGS)
EXTRACT_SUFX?= .tar
.else
IGNORE= Incorrect 'USES+=tar:${tar_ARGS}'
diff --git a/Mk/Uses/tcl.mk b/Mk/Uses/tcl.mk
index fa3528a37eca..74a831d0fbe1 100644
--- a/Mk/Uses/tcl.mk
+++ b/Mk/Uses/tcl.mk
@@ -86,29 +86,24 @@ IGNORE= Invalid tcltk version ${TCLTK_DEFAULT}
_TCLTK_PORT?= tcl
#
-# Build a make(1)-friendly list of arguments (i.e., space separated).
-#
-_TCL_ARGS= ${tcl_ARGS:S/,/ /g}
-
-#
# Parse a ver+ argument.
#
-.if ${_TCL_ARGS:M*+}
-_TCLTK_MIN_VERSION:= ${_TCL_ARGS:M*+:S/+//}
+.if ${tcl_ARGS:M*+}
+_TCLTK_MIN_VERSION:= ${tcl_ARGS:M*+:S/+//}
_TCLTK_WANTED_VERSIONS:=${_TCLTK_DEFAULT_VERSION}
.endif
#
# Parse one or more ver arguments.
#
-.if ${_TCL_ARGS:M8[4-6]}
-_TCLTK_WANTED_VERSIONS:=${_TCL_ARGS:M8[4-6]}
+.if ${tcl_ARGS:M8[4-6]}
+_TCLTK_WANTED_VERSIONS:=${tcl_ARGS:M8[4-6]}
.endif
#
# It makes little sense to specify both the wrapper and a specific version.
#
-.if ${_TCL_ARGS:Mwrapper} && defined(_TCLTK_WANTED_VERSIONS)
+.if ${tcl_ARGS:Mwrapper} && defined(_TCLTK_WANTED_VERSIONS)
IGNORE= USES=${_TCLTK_PORT}: it is not possible to specify both a version and the wrapper: ${tcl_ARGS}
.endif
@@ -175,7 +170,7 @@ _TCLTK_RUN_DEPENDS=
_TCLTK_LIB_DEPENDS=
# Construct the correct dependency lines (wrapper)
-.if ${_TCL_ARGS:Mwrapper}
+.if ${tcl_ARGS:Mwrapper}
. if ${_TCLTK_PORT} == "tcl"
_TCLTK_WRAPPER_PORT= tclsh:${PORTSDIR}/lang/tcl-wrapper
. elif ${_TCLTK_PORT} == "tk"
@@ -192,10 +187,10 @@ _TCLTK_EXE_LINE= wish${TK_VER}:${PORTSDIR}/x11-toolkits/tk${_TCLTK_WANTED_VERSIO
_TCLTK_LIB_LINE= libtk${TK_SHLIB_VER}.so:${PORTSDIR}/x11-toolkits/tk${_TCLTK_WANTED_VERSION}
.endif
-.if ${_TCL_ARGS:Mbuild}
+.if ${tcl_ARGS:Mbuild}
BUILD_DEPENDS+= ${_TCLTK_WRAPPER_PORT} \
${_TCLTK_EXE_LINE}
-.elif ${_TCL_ARGS:Mrun}
+.elif ${tcl_ARGS:Mrun}
RUN_DEPENDS+= ${_TCLTK_WRAPPER_PORT} \
${_TCLTK_EXE_LINE}
.else
diff --git a/Mk/Uses/tk.mk b/Mk/Uses/tk.mk
index 6e204246e76f..a0bf6bb8184d 100644
--- a/Mk/Uses/tk.mk
+++ b/Mk/Uses/tk.mk
@@ -3,9 +3,7 @@
# vim: ts=8 noexpandtab
#
-.if defined(tk_ARGS)
-tcl_ARGS:= ${tk_ARGS}
-.endif
+tcl_ARGS= ${tk_ARGS}
_TCLTK_PORT= tk
diff --git a/Mk/Uses/twisted.mk b/Mk/Uses/twisted.mk
index e2eba4d67c95..ed7785dc6ff4 100644
--- a/Mk/Uses/twisted.mk
+++ b/Mk/Uses/twisted.mk
@@ -24,32 +24,11 @@
.if !defined(_INCLUDE_USES_TWISTED_MK)
_INCLUDE_USES_TWISTED_MK= yes
-.if !defined(twisted_ARGS)
-twisted_ARGS= build,run
-.endif
-
-_TWISTED_ARGS= ${twisted_ARGS:S/,/ /g}
-
-.if ${_TWISTED_ARGS:Mbuild}
-_TWISTED_BUILD_DEP= yes
-_TWISTED_ARGS:= ${_TWISTED_ARGS:Nbuild}
-.endif
-.if ${_TWISTED_ARGS:Mrun}
-_TWISTED_RUN_DEP= yes
-_TWISTED_ARGS:= ${_TWISTED_ARGS:Nrun}
-.endif
-
-.if !defined(_TWISTED_BUILD_DEP) && !defined(_TWISTED_RUN_DEP)
-# The port only seems to specify components, but neither run or build.
-# Assume them to be build and run dependencies.
-_TWISTED_BUILD_DEP= yes
-_TWISTED_RUN_DEP= yes
-.endif
-
-.if defined(_TWISTED_BUILD_DEP)
+# If neither build nor run are specified add both.
+.if ${twisted_ARGS:Mbuild} || empty(twisted_ARGS:Mrun)
BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/twisted/__init__.py:${PORTSDIR}/devel/py-twistedCore
.endif
-.if defined(_TWISTED_RUN_DEP)
+.if ${twisted_ARGS:Mrun} || empty(twisted_ARGS:Mbuild)
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/twisted/__init__.py:${PORTSDIR}/devel/py-twistedCore
.endif
@@ -67,14 +46,15 @@ web2_DEPENDS= ${PYTHON_SITELIBDIR}/twisted/web2/__init__.py:${PORTSDIR}/www/py-t
web_DEPENDS= ${PYTHON_SITELIBDIR}/twisted/web/__init__.py:${PORTSDIR}/www/py-twistedWeb
words_DEPENDS= ${PYTHON_SITELIBDIR}/twisted/words/__init__.py:${PORTSDIR}/net-im/py-twistedWords
-.for component in ${_TWISTED_ARGS}
+.for component in ${twisted_ARGS:Nbuild:Nrun}
. if ${_TWISTED_COMPONENTS:M${component}}==""
IGNORE= cannot install unknown twisted component ${component}
. endif
-. if defined(_TWISTED_BUILD_DEP)
+# If neither build nor run are specified add both.
+. if ${twisted_ARGS:Mbuild} || empty(twisted_ARGS:Mrun)
BUILD_DEPENDS+= ${${component}_DEPENDS}
. endif
-. if defined(_TWISTED_RUN_DEP)
+. if ${twisted_ARGS:Mrun} || empty(twisted_ARGS:Mbuild)
RUN_DEPENDS+= ${${component}_DEPENDS}
. endif
.endfor
diff --git a/Mk/Uses/uniquefiles.mk b/Mk/Uses/uniquefiles.mk
index 79083a6e1d08..1f073e16f952 100644
--- a/Mk/Uses/uniquefiles.mk
+++ b/Mk/Uses/uniquefiles.mk
@@ -64,10 +64,6 @@
.if !defined(_INCLUDE_USES_UNIQUEFILES_MK)
_INCLUDE_USES_UNIQUEFILES_MK= yes
-.if !defined(uniquefiles_ARGS)
-uniquefiles_ARGS= #empty
-.endif
-
UNIQUE_PREFIX?= ${PKGNAMEPREFIX}
UNIQUE_SUFFIX?= ${PKGNAMESUFFIX}
UNIQUE_PREFIX_FILES?= # empty
diff --git a/Mk/Uses/webplugin.mk b/Mk/Uses/webplugin.mk
index cf69f2d7aae2..4108ceccf2a7 100644
--- a/Mk/Uses/webplugin.mk
+++ b/Mk/Uses/webplugin.mk
@@ -113,19 +113,17 @@ _WEBPLUGIN_APPS_ALL_NATIVE= gecko opera opera-devel webkit-gtk2
_WEBPLUGIN_APPS_ALL= ${_WEBPLUGIN_APPS_ALL_LINUX} \
${_WEBPLUGIN_APPS_ALL_NATIVE}
-webplugin_ARGS?= all
-_WEBPLUGIN_ARGS= ${webplugin_ARGS:C/,/ /}
_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL}
-.if ${_WEBPLUGIN_ARGS} == all
+.if ${webplugin_ARGS} == all || empty(webplugin_ARGS)
_WEBPLUGIN_PATTERN= *
-.elif ${_WEBPLUGIN_ARGS} == native
+.elif ${webplugin_ARGS} == native
_WEBPLUGIN_PATTERN= *
_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL_NATIVE}
-.elif ${_WEBPLUGIN_ARGS} == linux
+.elif ${webplugin_ARGS} == linux
_WEBPLUGIN_PATTERN= *
_WEBPLUGIN_TEST= ${_WEBPLUGIN_APPS_ALL_LINUX}
.else
-_WEBPLUGIN_PATTERN= ${_WEBPLUGIN_ARGS}
+_WEBPLUGIN_PATTERN= ${webplugin_ARGS}
.endif
.if !defined(WEBPLUGIN_FILES)
diff --git a/Mk/Uses/zip.mk b/Mk/Uses/zip.mk
index c81687a2cd9a..61945eceb8e7 100644
--- a/Mk/Uses/zip.mk
+++ b/Mk/Uses/zip.mk
@@ -7,22 +7,21 @@
#
# MAINTAINER: portmgr@FreeBSD.org
-.if !defined(_INCLUDE_USES_ZIP_Mk)
+.if !defined(_INCLUDE_USES_ZIP_MK)
_INCLUDE_USES_ZIP_MK= yes
-zip_ARGS?= none
-
EXTRACT_SUFX?= .zip
EXTRACT_BEFORE_ARGS?= -qo
EXTRACT_AFTER_ARGS?= -d ${WRKDIR}
-.if ${zip_ARGS} == infozip
+.if empty(zip_ARGS)
+EXTRACT_CMD?= ${UNZIP_NATIVE_CMD}
+.elif ${zip_ARGS} == "infozip"
EXTRACT_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
EXTRACT_CMD?= ${UNZIP_CMD}
-.elif ${zip_ARGS} == none
-EXTRACT_CMD?= ${UNZIP_NATIVE_CMD}
.else
IGNORE= Incorrect 'USES+=zip:${zip_ARGS}' expecting 'USES+=zip[:infozip]'
.endif
+
.endif
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index b74a75b2db41..06e8f3521332 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1493,11 +1493,13 @@ QA_ENV+= USESSHAREDMIMEINFO=yes
# Loading features
.for f in ${USES}
-_f=${f:C/\:.*//g}
-.if ${_f} != ${f}
-${_f}_ARGS:= ${f:C/^[^\:]*\://g}
+_f:= ${f:C/\:.*//}
+.if !defined(${_f}_ARGS)
+${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
.endif
-.include "${USESDIR}/${_f}.mk"
+.endfor
+.for f in ${USES}
+.include "${USESDIR}/${f:C/\:.*//}.mk"
.endfor
.if defined(USE_BZIP2)
@@ -1917,11 +1919,13 @@ USE_SUBMAKE= yes
# Loading features
.for f in ${_USES_POST}
-_f=${f:C/\:.*//g}
-.if ${_f} != ${f}
-${_f}_ARGS:= ${f:C/^[^\:]*\://g}
+_f:= ${f:C/\:.*//}
+.if !defined(${_f}_ARGS)
+${_f}_ARGS:= ${f:C/^[^\:]*(\:|\$)//:S/,/ /g}
.endif
-.include "${USESDIR}/${_f}.mk"
+.endfor
+.for f in ${_USES_POST}
+.include "${USESDIR}/${f:C/\:.*//}.mk"
.endfor
.if defined(USE_XORG)