2 #############################################################################
5 # Generate the vendor/product menu entries for the top level config
11 #############################################################################
15 echo $1 | tr '[\-\.\/\+a-z]' '[____A-Z]'
20 echo "##############################################################"
26 if [ -f config/vendor-default ] ; then
27 fix_name "`cat config/vendor-default`"
29 fix_name AcceleratedConcepts
33 #############################################################################
35 echo "mainmenu \"Embedded Linux Configuration\""
37 echo "config DISTVERSION"
43 # Figure out the vendor/products dynamically, allows people to add there
44 # own without messin with the config.in file
46 echo "menu \"Vendor/Product Selection\""
48 echo "comment \"Select the Vendor you wish to target\""
51 echo " prompt \"Vendor\""
52 echo " default DEFAULTS_`default_vendor`"
55 pfile=/tmp/products.$$
57 trap "rm -f $pfile; exit 1" 1 2 3 15
59 find vendors -mindepth 1 -maxdepth 1 -type d -print | \
60 sed -e 's?^vendors/??' | \
61 (sort; echo "END") | while read v
63 [ "$v" = "config" ] && continue
64 [ "$v" = END ] && break
66 find vendors/$v -name config.arch -print | \
67 sed -e 's?^vendors/??' -e 's?/[^/]*$??' -e 's?/? ?g' | \
68 (sort; echo "END END END END") | while read v p junk
70 [ "$fv" -a "$v" = END ] && (echo "endchoice"; echo) >> $pfile
71 [ "$v" = END ] && break
76 echo "config DEFAULTS_${fv}"
80 echo_separator >> $pfile
81 echo "choice" >> $pfile
82 echo " prompt \"${v} Products\"" >> $pfile
83 echo " depends on DEFAULTS_${fv}" >> $pfile
84 echo " default DEFAULTS_${fv}_${pv}" >> $pfile
88 echo "config DEFAULTS_${fv}_${pv}" >> $pfile
89 echo " bool \"${p}\"" >> $pfile
100 echo "comment \"Select the Product you wish to target\""
108 echo "config PRODUCT"
114 #############################################################################
116 echo "menu \"Kernel/Library/Defaults Selection\""
120 # Which kernel do they want, if only one then just set it, I don't
121 # expect an explosion of kernels just yet ;-)
124 KERNELS="`ls -dr linux-* 2>/dev/null`"
125 NKERNELS="`echo ${KERNELS} | wc -w`"
126 if [ ${NKERNELS} -gt 1 ]; then
128 echo " prompt \"Kernel Version\""
131 for i in ${KERNELS}; do
133 CFG="DEFAULTS_KERNEL_`echo ${VER%%.x}|sed -e 's/[-\.]/_/g'`"
135 if [ $GOTDEFAULT = "no" ]
137 echo " default ${CFG}"
142 echo " bool \"${DEF}\""
149 elif [ ${NKERNELS} -eq 1 ]; then
150 VER=${KERNELS##linux-}
151 CFG="DEFAULTS_KERNEL_`echo ${VER%%.x}|sed -e 's/[-\.]/_/g'`"
152 echo "comment \"Kernel is linux-${VER}\""
160 echo "ERROR: you have no kernels available in this directory." >&2
164 echo "config LINUXDIR"
168 #############################################################################
171 # Which libc do they want, if only one then just set it, I don't
172 # expect an explosion of libc's just yet either ;-)
175 LIBCS="`ls -d uClibc uClibc-* 2>/dev/null` `ls -d lib/libc 2>/dev/null` `ls -d glibc 2>/dev/null` None"
176 NLIBCS="`echo ${LIBCS} | wc -w`"
177 if [ ${NLIBCS} -gt 1 ]; then
179 echo " prompt \"Libc Version\""
182 for i in ${LIBCS}; do
183 [ "$i" = "lib/libc" ] && i=uC-libc
184 CFG="DEFAULTS_LIBC_`fix_name ${i}`"
186 if [ $GOTDEFAULT = "no" ]
188 echo " default ${CFG}"
193 echo " bool \"${DEF}\""
199 if [ -f glibc/Kconfig ]; then
201 echo "source glibc/Kconfig"
206 elif [ ${NLIBCS} -eq 1 ]; then
207 [ "$LIBCS" = "lib/libc" ] && LIBCS=uC-libc
208 CFG="DEFAULTS_LIBC_`fix_name ${LIBCS}`"
209 echo "comment \"Libc is ${LIBCS}\""
215 if [ -f glibc/Kconfig ]; then
217 echo "source glibc/Kconfig"
223 echo "ERROR: you have no libc available in this directory." >&2
227 echo "config LIBCDIR"
231 #############################################################################
234 # the rest of the config
238 config DEFAULTS_OVERRIDE
239 bool "Default all settings (lose changes)"
241 config DEFAULTS_KERNEL
242 bool "Customize Kernel Settings"
248 echo "config DEFAULTS_MODULES"
249 echo " bool \"Customize Module Settings\""
254 config DEFAULTS_VENDOR
255 bool "Customize Application/Library Settings"
257 config DEFAULTS_VENDOR_UPDATE
258 bool "Update Default Vendor Settings"
264 ############################################################################