|  | @@ -57,10 +57,12 @@ 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
 | 
	
		
			
				|  |  |  	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}) \
 | 
	
		
			
				|  |  | -	    \$(foreach x,\${PKG_FLAVOURS},PKGFD_\${x})")
 | 
	
		
			
				|  |  | +	    \$(foreach x,\${PKG_FLAVOURS},PKGFD_\${x}) \
 | 
	
		
			
				|  |  | +	    PKG_HOST_DEPENDS PKG_TARGET_DEPENDS")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	# dnu: directory name, uppercase, y/-+/_X/
 | 
	
		
			
				|  |  |  	typeset -u dnu=${dn//-/_}
 | 
	
	
		
			
				|  | @@ -95,6 +97,46 @@ for dn in */Makefile; do
 | 
	
		
			
				|  |  |  	fi
 | 
	
		
			
				|  |  |  	print -u4 \\tdefault n
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	# Handle NOT/ONLY_FOR_PLATFORM alikes
 | 
	
		
			
				|  |  | +	phd=					# phd: PKG_HOST_DEPENDS expand.
 | 
	
		
			
				|  |  | +	if [[ -n $PKG_HOST_DEPENDS ]]; then
 | 
	
		
			
				|  |  | +		phd='\tdepends on'
 | 
	
		
			
				|  |  | +		if [[ $PKG_HOST_DEPENDS = *\!* ]]; then
 | 
	
		
			
				|  |  | +			sp=' !'
 | 
	
		
			
				|  |  | +		else
 | 
	
		
			
				|  |  | +			sp=' '
 | 
	
		
			
				|  |  | +		fi
 | 
	
		
			
				|  |  | +		for x in $PKG_HOST_DEPENDS; do
 | 
	
		
			
				|  |  | +			typeset -u x=${x#!}
 | 
	
		
			
				|  |  | +			phd="$phd${sp}ADK_HOST_$x"
 | 
	
		
			
				|  |  | +			if [[ $PKG_HOST_DEPENDS = *\!* ]]; then
 | 
	
		
			
				|  |  | +				sp=' && !'
 | 
	
		
			
				|  |  | +			else
 | 
	
		
			
				|  |  | +				sp=' || '
 | 
	
		
			
				|  |  | +			fi
 | 
	
		
			
				|  |  | +		done
 | 
	
		
			
				|  |  | +	fi
 | 
	
		
			
				|  |  | +	ptd=					# ptd: PKG_TARGET_DEPENDS exp.
 | 
	
		
			
				|  |  | +	if [[ -n $PKG_TARGET_DEPENDS ]]; then
 | 
	
		
			
				|  |  | +		ptd='\tdepends on'
 | 
	
		
			
				|  |  | +		sp=' '				# local sp: space (or ' || ')
 | 
	
		
			
				|  |  | +		for x in $PKG_TARGET_DEPENDS; do
 | 
	
		
			
				|  |  | +			#XXX cache this with mksh R40+
 | 
	
		
			
				|  |  | +			found=0
 | 
	
		
			
				|  |  | +			while read friendlyname sym; do
 | 
	
		
			
				|  |  | +				[[ $friendlyname = $x ]] || continue
 | 
	
		
			
				|  |  | +				found=1
 | 
	
		
			
				|  |  | +				break
 | 
	
		
			
				|  |  | +			done <../../target/target.lst
 | 
	
		
			
				|  |  | +			if (( !found )); then
 | 
	
		
			
				|  |  | +				print -u2 "$dn: Target '$x' not found!"
 | 
	
		
			
				|  |  | +				exit 1
 | 
	
		
			
				|  |  | +			fi
 | 
	
		
			
				|  |  | +			ptd="$ptd${sp}$sym"
 | 
	
		
			
				|  |  | +			sp=' || '
 | 
	
		
			
				|  |  | +		done
 | 
	
		
			
				|  |  | +	fi
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	# Handle subpackages / multipackages
 | 
	
		
			
				|  |  |  	for spcu in $ALL_PKGOPTS; do		# spcu: package option, ucase
 | 
	
		
			
				|  |  |  		eval sppn=\$PKGNAME_$spcu	# sppn: subpackage (ipkg) name
 | 
	
	
		
			
				|  | @@ -122,6 +164,8 @@ for dn in */Makefile; do
 | 
	
		
			
				|  |  |  		fi
 | 
	
		
			
				|  |  |  		print -u$h "\tprompt \"$spnf\""
 | 
	
		
			
				|  |  |  		print -u$h \\ttristate
 | 
	
		
			
				|  |  | +		[[ -n $phd ]] && print -u$h "$phd"
 | 
	
		
			
				|  |  | +		[[ -n $ptd ]] && print -u$h "$ptd"
 | 
	
		
			
				|  |  |  		print -u$h "\tdefault ${dflt:-n}"
 | 
	
		
			
				|  |  |  		for dep in $deps; do		# dep: ipkg name of one rundep.
 | 
	
		
			
				|  |  |  			# skip dependencies on uclibc++ and libstdcxx iff
 |