summaryrefslogtreecommitdiff
path: root/package/pkgmaker
blob: 15ee78901b74641ca38ba5596f2cb6b093db759f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
cd "$(dirname "$0")"
export TOPDIR=$(realpath ..)
if gmake --help >/dev/null 2>&1; then
	export GMAKE=gmake
else
	export GMAKE=make
fi

for subdir in bash bc mksh; do
	cd $subdir
	pn=$($GMAKE show=PKG_NAME)		# pn: package name
	pa=$($GMAKE show=ALL_PKGOPTS)		# pa: all subpackage options
	pfl=$($GMAKE show=PKG_FLAVOURS)		# pfl: all package flavours
	typeset -u pnu=$pn			# pnu: package name uppercase
	pd=$($GMAKE show=PKG_DESCR)		# pd: package description
	ph=$($GMAKE show=PKG_URL)		# ph: package homepage

	(
	print "config ADK_COMPILE_$pnu"
	print \\ttristate
	print -n \\tdepends on
	sp=' '					# local sp: space (or ' || ')
	for xu in $pa; do			# xu: package option uppercase
		print -n "${sp}ADK_PACKAGE_$xu"
		sp=' || '
	done
	print
	print \\tdefault n

	for xu in $pa; do			# xu: package option uppercase
		x=$($GMAKE show=PKGNAME_$xu)	# x: subpackage name
		print \\nconfig ADK_PACKAGE_$xu
		xf=$x				# xf: subpackage name ........
		while (( ${#xf} < 34 )); do
			xf=$xf.
		done
		print "\tprompt \"$xf ${pd:-$pn}\""
		print \\ttristate
		print \\tdefault n
		print \\tselect ADK_COMPILE_$pnu
		if [[ -n $pd$ph ]]; then
			print \\thelp
			[[ -n $pd ]] && print "\t  $pd"
			[[ -n $pd && -n $ph ]] && print '\t  '
			[[ -n $ph ]] && print "\t  $ph"
		fi
	done

	for pf in $pfl; do			# pf: package flavour
		pfd=$($GMAKE show=PKGFD_$pf)
		print
		print config ADK_PACKAGE_${pnu}_$pf
		print "\tbool \"${pfd:-flavour ADK_PACKAGE_${pnu}_$pf}\""
		print \\tdefault n
		print \\tdepends on ADK_COMPILE_$pnu
		print \\thelp
		print "\t  flavour ADK_PACKAGE_${pnu}_$pf"
	done
	) >Config.in
	cd ..
done