summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/package.mk2
-rw-r--r--package/pkgmaker45
2 files changed, 34 insertions, 13 deletions
diff --git a/mk/package.mk b/mk/package.mk
index df2c027b2..22d60e23c 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -137,6 +137,8 @@ build-all-pkgs: ${_IPKGS_COOKIE}
# cleaning (needed for toolchain packages like glibc/eglibc)
# should be package format independent and modular in the future
define PKG_template
+ALL_PKGOPTS+= $(1)
+PKGNAME_$(1)= $(2)
IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.${PKG_SUFFIX}
IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2)
ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},)
diff --git a/package/pkgmaker b/package/pkgmaker
index 5cc957ff9..46b8b1b15 100644
--- a/package/pkgmaker
+++ b/package/pkgmaker
@@ -5,25 +5,44 @@ else
export GMAKE=make
fi
-for subdir in bash; do
+for subdir in bash bc; do
cd $subdir
pn=$($GMAKE show=PKG_NAME)
+ pa=$($GMAKE show=ALL_PKGOPTS)
typeset -u pnu=$pn
pd=$($GMAKE show=PKG_DESCR)
ph=$($GMAKE show=PKG_URL)
- (print "config ADK_PACKAGE_$pnu"
- pnf=$pn
- while (( ${#pnf} < 34 )); do
- pnf=$pnf.
- done
- print "\tprompt \"$pnf ${pd:-$pn}\""
+
+ (
+ print "config ADK_COMPILE_$pnu"
print \\ttristate
+ print -n \\tdepends on
+ sp=' '
+ for xu in $pa; do
+ print -n "${sp}ADK_PACKAGE_$xu"
+ sp=' || '
+ done
+ print
print \\tdefault n
- if [[ -n $pd$ph ]]; then
- print \\thelp
- [[ -n $pd ]] && print "\t $pd"
- [[ -n $pd && -n $ph ]] && print '\t '
- [[ -n $ph ]] && print "\t $ph"
- fi
+
+ for xu in $pa; do
+ x=$($GMAKE show=PKGNAME_$xu)
+ print \\nconfig ADK_PACKAGE_$xu
+ xf=$x
+ 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
) >Config.in
+ cd ..
done