summaryrefslogtreecommitdiff
path: root/package/pkgmaker
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-12-20 20:15:51 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-12-20 20:15:51 +0100
commitb11d3a635ac903eb013409aebaec4c9b91026056 (patch)
treecdf4c2e57eddd7397970dc75ffdfe6b3f5929376 /package/pkgmaker
parent4bde99fa31d105d163e3d519f314af7d9537bfb3 (diff)
fix all TARGET/HOST dependencies
expand TARGET logic for ! values
Diffstat (limited to 'package/pkgmaker')
-rw-r--r--package/pkgmaker14
1 files changed, 12 insertions, 2 deletions
diff --git a/package/pkgmaker b/package/pkgmaker
index f8061010d..f00285192 100644
--- a/package/pkgmaker
+++ b/package/pkgmaker
@@ -57,7 +57,7 @@ for dn in */Makefile; do
# PKGDFLT_*: subpackage 'default {:-n}', by subpackage option
# CFLINE_*: one free-format Config.in line per subpackage option
# PKGFD_*: flavour description, per package flavour option
- # PKG_{HOST,TARGET}_DEPENDS: wbx@’s weird ideas
+ # PKG_{HOST,TARGET}_DEPENDS: add host or target dependencies
eval $($GMAKE dump="PKG_NAME PKG_FLAVOURS PKG_DESCR PKG_URL PKG_CXX \
ALL_PKGOPTS \$(foreach x,\${ALL_PKGOPTS},PKGNAME_\${x} \
PKGDESC_\${x} PKGDEPS_\${x} PKGDFLT_\${x} CFLINE_\${x}) \
@@ -120,7 +120,13 @@ for dn in */Makefile; do
if [[ -n $PKG_TARGET_DEPENDS ]]; then
ptd='\tdepends on'
sp=' ' # local sp: space (or ' || ')
+ if [[ $PKG_TARGET_DEPENDS = *\!* ]]; then
+ sp=' !'
+ else
+ sp=' '
+ fi
for x in $PKG_TARGET_DEPENDS; do
+ x=${x#!}
#XXX cache this with mksh R40+
found=0
while read friendlyname sym; do
@@ -133,7 +139,11 @@ for dn in */Makefile; do
exit 1
fi
ptd="$ptd${sp}$sym"
- sp=' || '
+ if [[ $PKG_TARGET_DEPENDS = *\!* ]]; then
+ sp=' && !'
+ else
+ sp=' || '
+ fi
done
fi