diff --git a/misc/config/config-200-defaults.in b/misc/config/config-200-defaults.in index c653d4930..66d57b9ec 100644 --- a/misc/config/config-200-defaults.in +++ b/misc/config/config-200-defaults.in @@ -2,13 +2,34 @@ comment ' ' menu_begin MENU_DEFAULTS 'Package Defaults' + comment 'Default Linux headers' + block_begin 3 + choice ROCKCFG_PKG_LINUX_DEFAULT_HEADERS linux26-headers \ + $CFGTEMP_LINUX_HEADERS + block_end + + if [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux24-headers ] ; then + pkgenable linux24-headers + pkgremove linux26-headers + pkgremove linux-libc-headers + elif [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux26-headers ] ; then + pkgremove linux24-headers + pkgenable linux26-headers + pkgremove linux-libc-headers + elif [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux-libc-headers ] ; then + pkgremove linux24-headers + pkgremove linux26-headers + pkgenable linux-libc-headers + fi + + comment ' ' comment "Default compilers" block_begin 3 choice ROCKCFG_DEFAULT_CC gcc42 $CFGTEMP_DEFAULT_CC choice ROCKCFG_DEFAULT_KCC gcc42 $CFGTEMP_DEFAULT_KCC - choice ROCKCFG_DEFAULT_CXX gcc42 $CFGTEMP_DEFAULT_CXX - choice ROCKCFG_DEFAULT_F77 gcc42 $CFGTEMP_DEFAULT_F77 - choice ROCKCFG_DEFAULT_F95 gcc42 $CFGTEMP_DEFAULT_F95 + choice ROCKCFG_DEFAULT_CXX gcc42 $CFGTEMP_DEFAULT_CXX 'none' 'No_default_C++_compiler' + choice ROCKCFG_DEFAULT_F77 gcc42 $CFGTEMP_DEFAULT_F77 'none' 'No_default_Fortran_77_compiler' + choice ROCKCFG_DEFAULT_F95 gcc42 $CFGTEMP_DEFAULT_F95 'none' 'No_default_Fortran_95_compiler' pkgenable $ROCKCFG_DEFAULT_CC pkgenable $ROCKCFG_DEFAULT_KCC @@ -17,13 +38,18 @@ menu_begin MENU_DEFAULTS 'Package Defaults' pkgenable $ROCKCFG_DEFAULT_F95 block_end - # build non-default CCs in stages 5 and 9 - # and dedicated C++ and Fortran77 compilers in stages 2 and 9 + # Build non-default CCs in stages 5 and 9 + # and dedicated C++ and Fortran77 compilers in stages 2 and 9. + # Also remove CORE flag from non-default compilers. k=""; for x in $CFGTEMP_DEFAULT_CC $CFGTEMP_DEFAULT_CXX $CFGTEMP_DEFAULT_F77 ; do if [ "$ROCKCFG_DEFAULT_CC" != "$x" ] ; then if [[ "$ROCKCFG_DEFAULT_CXX" != "$x" && \ - "$ROCKCFG_DEFAULT_F77" != "$x" ]]; then - k="$k /[ =]$x / s/^\(.\) [0-9-]*/\1 -----5---9/;"; + "$ROCKCFG_DEFAULT_F77" != "$x" ]]; then + k="$k /[ =]$x / s/^\(.\) [0-9-]*/\1 -----5---9/;" + if [[ "$ROCKCFG_DEFAULT_KCC" != "$x" && \ + "$ROCKCFG_DEFAULT_F95" != "$x" ]] ; then + k="$k /[ =]$x / s/\(.*\) CORE \(.*\)/\1 \2/;" + fi else k="$k /[ =]$x / s/^\(.\) [0-9-]*/\1 --2------9/;" fi diff --git a/package/base/bash/preconfig.in b/package/base/bash/preconfig.in index 0d9635cb9..c4dced449 100644 --- a/package/base/bash/preconfig.in +++ b/package/base/bash/preconfig.in @@ -20,6 +20,6 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -pkgfork bash bash2 -pkgfork bash bash3 +pkgfork bash bash2 +pkgfork bash bash3 unflag CORE pkgremove bash diff --git a/package/base/bdb/subconfig-libs.in b/package/base/bdb/subconfig-libs.in index 0c819e44c..d10c8689d 100644 --- a/package/base/bdb/subconfig-libs.in +++ b/package/base/bdb/subconfig-libs.in @@ -20,35 +20,34 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -if pkgcheck bdb=bdb33 X || pkgcheck bdb=bdb40 X || pkgcheck bdb=bdb41 X \ - || pkgcheck bdb=bdb42 X || pkgcheck bdb=bdb44 X +if pkgcheck "bdb=.*" . then menu_begin MENU_PKG_BDB 'BerkleyDB Options' block_begin 4 # we choose to select the newest bdb available as default - if pkgcheck bdb=bdb33 X ; then + if pkgcheck bdb=bdb33 . ; then bdbdefselect="$bdbdefselect bdb33 'Using v3.3 as default'" bdbdefault="bdb33"; fi; - if pkgcheck bdb=bdb40 X ; then + if pkgcheck bdb=bdb40 . ; then bdbdefselect="$bdbdefselect bdb40 'Using v4.0 as default'" bdbdefault="bdb40"; fi - if pkgcheck bdb=bdb41 X ; then + if pkgcheck bdb=bdb41 . ; then bdbdefselect="$bdbdefselect bdb41 'Using v4.1 as default'" bdbdefault="bdb41"; fi - if pkgcheck bdb=bdb42 X ; then + if pkgcheck bdb=bdb42 . ; then bdbdefselect="$bdbdefselect bdb42 'Using v4.2 as default'" bdbdefault="bdb42"; fi - if pkgcheck bdb=bdb44 X ; then + if pkgcheck bdb=bdb44 . ; then bdbdefselect="$bdbdefselect bdb44 'Using v4.4 as default'" bdbdefault="bdb44"; fi - eval "choice ROCKCFG_PKG_BDB_DEFAULT $bdbdefault $bdbdefselect" + eval "choice ROCKCFG_PKG_BDB_DEFAULT $bdbdefault $bdbdefselect none No_default_BerkleyDB" block_end menu_end diff --git a/package/base/gcc/preconfig.in b/package/base/gcc/preconfig.in index f816df85a..b9d3c2671 100644 --- a/package/base/gcc/preconfig.in +++ b/package/base/gcc/preconfig.in @@ -1,6 +1,6 @@ #!/bin/bash for x in gcc2 gcc32 gcc33 gcc34 gcc40 gcc41 gcc42 ; do - pkgfork gcc $x status O + pkgfork gcc $x CFGTEMP_DEFAULT_CC="$x Use_${x}_as_default_C_compiler $CFGTEMP_DEFAULT_CC" CFGTEMP_DEFAULT_KCC="$x Use_${x}_as_default_kernel_compiler $CFGTEMP_DEFAULT_KCC" CFGTEMP_DEFAULT_CXX="$x Use_${x}_as_default_C++_compiler $CFGTEMP_DEFAULT_CXX" diff --git a/package/base/linux-libc-headers/preconfig.in b/package/base/linux-libc-headers/preconfig.in new file mode 100644 index 000000000..8a417ab7b --- /dev/null +++ b/package/base/linux-libc-headers/preconfig.in @@ -0,0 +1 @@ +CFGTEMP_LINUX_HEADERS="$CFGTEMP_LINUX_HEADERS linux-libc-headers Use_linux-libc-headers_as_Linux_headers" diff --git a/package/base/linux/config-500.in b/package/base/linux/config-500.in index bc763dc56..2313710c8 100644 --- a/package/base/linux/config-500.in +++ b/package/base/linux/config-500.in @@ -20,7 +20,7 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -if pkgcheck "linux=.*" X +if pkgcheck "linux=.*" . then menu_begin MENU_PKG_LINUX 'Linux Kernel Options' @@ -29,6 +29,8 @@ then if [ "$ROCKCFG_PKG_LINUX_SRC24" = 0 ]; then pkgdisable linux=linux24-source + else + pkgenable linux=linux24-source fi bool 'Place linux26 sources in /usr/src' \ @@ -36,6 +38,8 @@ then if [ "$ROCKCFG_PKG_LINUX_SRC26" = 0 ]; then pkgdisable linux=linux26-source + else + pkgenable linux=linux26-source fi bool 'Build and install a linux24 kernel' \ @@ -43,6 +47,8 @@ then if [ "$ROCKCFG_PKG_LINUX_IMG24" = 0 ]; then pkgdisable linux=linux24 + else + pkgenable linux=linux24 fi bool 'Build and install a linux26 kernel' \ @@ -50,6 +56,8 @@ then if [ "$ROCKCFG_PKG_LINUX_IMG26" = 0 ]; then pkgdisable linux=linux26 + else + pkgenable linux=linux26 fi case "$ROCKCFG_PKG_LINUX_IMG24$ROCKCFG_PKG_LINUX_IMG26" in @@ -69,10 +77,6 @@ then ;; esac - choice ROCKCFG_PKG_LINUX_DEFAULT_HEADERS linux26 \ - linux26 'Use Linux 2.6 headers as system headers' \ - linux-libc 'Use linux-libc-headers package as system headers' - choice ROCKCFG_PKG_LINUX_CONFIG_STYLE modules \ none 'Do not perform any automatic kernel configuration' \ nomodules 'Perform normal kernel configuration without modules' \ diff --git a/package/base/linux/postconfig.in b/package/base/linux/postconfig.in deleted file mode 100644 index ee5cbd86c..000000000 --- a/package/base/linux/postconfig.in +++ /dev/null @@ -1,13 +0,0 @@ -if [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux24 ] ; then - pkgenable linux24-headers - pkgremove linux26-headers - pkgremove linux-libc-headers -elif [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux26 ] ; then - pkgremove linux24-headers - pkgenable linux26-headers - pkgremove linux-libc-headers -elif [ "$ROCKCFG_PKG_LINUX_DEFAULT_HEADERS" == linux-libc ] ; then - pkgremove linux24-headers - pkgremove linux26-headers - pkgenable linux-libc-headers -fi diff --git a/package/base/linux/preconfig.in b/package/base/linux/preconfig.in index 80959ba57..4a77b059d 100644 --- a/package/base/linux/preconfig.in +++ b/package/base/linux/preconfig.in @@ -5,4 +5,4 @@ pkgfork linux linux26-source stages -X---5---9 pkgfork linux linux26-headers stages 01-------9 priority 100.200 pkgremove linux -CFGTEMP_LINUX_HEADERS="$CFGTEMP_LINUX_HEADERS linux26-headers" +CFGTEMP_LINUX_HEADERS="$CFGTEMP_LINUX_HEADERS linux26-headers Use_Linux_2.6_as_Linux_headers" diff --git a/scripts/Config b/scripts/Config index 84e1736ad..5e9c62599 100755 --- a/scripts/Config +++ b/scripts/Config @@ -171,17 +171,11 @@ if expr "`uname -m`" : "powerpc" > /dev/null ; then arch=powerpc ; fi if expr "`uname -m`" : "sparc" > /dev/null ; then arch=sparc ; fi if expr "`uname -m`" : "mips" > /dev/null ; then arch=mips ; fi -export CFGTEMP_ARCH="$arch" -export CFGTEMP_ID="$rockver" export ROCKCFG_EXPERT=0 . $swpdir/config . $swpdir/config_usr -include "architecture/*/preconfig.in" -include "misc/*/preconfig.in" -include "target/*/preconfig.in" - old_pkg_cmd="" do_config_cycle=1 recreate_packages=1 @@ -201,21 +195,14 @@ while [ "$do_config_cycle" == 1 ] ; do else eval "./scripts/Create-PkgList $pkg_cmd" \ > $swpdir/packages - pkgin - if [ ! -e "$swpdir/preconfig.in.tmp" ] ; then - cat package/*/*/preconfig.in | grep -v "^#" \ - > "$swpdir/preconfig.in.tmp" - fi - include "$swpdir/preconfig.in.tmp" - pkgout cp -a "$swpdir/packages" "$pkg_cache" fi old_pkg_cmd="$pkg_cmd" else cp -a "$pkg_cache" "$swpdir/packages" - pkgin fi + pkgin rm -f $swpdir/config.{dialog,data,help}{,.*} config_cycle @@ -225,20 +212,10 @@ while [ "$do_config_cycle" == 1 ] ; do . scripts/config.in - if [ ! -e "$swpdir/postconfig.in.tmp" ] ; then - { - ls misc/*/postconfig{,-*}.in 2>/dev/null \ - | LC_ALL=C sort -k3,3 -t"/" | tr '\n' ' ' | xargs cat - cat package/*/*/postconfig.in - } | grep -v "^#" > "$swpdir/postconfig.in.tmp" - fi - include "$swpdir/postconfig.in.tmp" - include architecture/$ROCKCFG_ARCH/postconfig.in - include target/$ROCKCFG_TARGET/postconfig.in - bprof rockconfig stop bprof main start - + + pkgout configtitle="$(printf ' %-50s %6s active packages ]' \ "ROCK Linux $rockver Configuration - $config" \ "[ $(echo `grep '^X' $swpdir/packages | wc -l`)" )" diff --git a/scripts/config.in b/scripts/config.in index c8e333699..4008729a9 100644 --- a/scripts/config.in +++ b/scripts/config.in @@ -70,11 +70,23 @@ # Config Presets: ROCKCFGSET_* # +unset ${!CFGTEMP_*} + +if [ ! -e "$swpdir/preconfig.in.tmp" ] ; then + grep -h -v "^#" architecture/*/preconfig.in \ + misc/*/preconfig.in \ + target/*/preconfig.in \ + package/*/*/preconfig.in \ + 2> /dev/null > "$swpdir/preconfig.in.tmp" +fi +include "$swpdir/preconfig.in.tmp" + comment_id '- Architecture, CPU and Optimization' COMMENT_ARCHCPUOPT block_begin 7 - choice ROCKCFG_ARCH $CFGTEMP_ARCH $CFGTEMP_ARCHLIST + choice ROCKCFG_ARCH $arch $CFGTEMP_ARCHLIST + ROCKCFG_ID="$rockver-$ROCKCFG_ARCH" if [ -f architecture/$ROCKCFG_ARCH/config.in ] then . architecture/$ROCKCFG_ARCH/config.in ; fi expert_begin @@ -245,8 +257,8 @@ block_end if [ ! -e "$swpdir/config.in.tmp" ] ; then ls package/*/*/config{,-*}.in ./misc/*/config{,-*}.in | \ - LC_ALL=C sort -k4,4 -t"/" | tr '\n' ' ' | xargs cat | \ - grep -v "^#" > "$swpdir/config.in.tmp" + LC_ALL=C sort -k4,4 -t"/" | \ + xargs grep -h -v "^#" 2> /dev/null > "$swpdir/config.in.tmp" fi include "$swpdir/config.in.tmp" expert_end @@ -281,9 +293,9 @@ var_append filterscript ' ' '/^[XO] --* / d ;' pkgfilter sed -e "$filterscript" -ROCKCFG_ID="$CFGTEMP_ID-$ROCKCFG_ARCH-$ROCKCFG_TARGET" [ "$ROCKCFG_CROSSBUILD" = 1 ] && ROCKCFG_ID="$ROCKCFG_ID-cross" [ "$ROCKCFG_PSEUDONATIVE" = 1 ] && ROCKCFG_ID="$ROCKCFG_ID-pseudonative" +ROCKCFG_ID="$ROCKCFG_ID-$ROCKCFG_TARGET" [ $ROCKCFG_EXPERT == 1 ] && ROCKCFG_ID="$ROCKCFG_ID-expert" [ "$ROCKCFG_IDCKSUM" = 1 ] && \ ROCKCFG_ID="`echo $ROCKCFG_ID | cksum | cut -f1 -d' '`" @@ -292,3 +304,14 @@ const ROCKCFG_SHORTID "$ROCKCFG_ID" ROCKCFG_ID="$config-$ROCKCFG_ID" const ROCKCFG_ID "$ROCKCFG_ID" + +if [ ! -e "$swpdir/postconfig.in.tmp" ] ; then + { + ls misc/*/postconfig{,-*}.in 2>/dev/null \ + | LC_ALL=C sort -k3,3 -t"/" + ls package/*/*/postconfig.in + } | xargs grep -h -v "^#" 2> /dev/null > "$swpdir/postconfig.in.tmp" +fi +include "$swpdir/postconfig.in.tmp" +include architecture/$ROCKCFG_ARCH/postconfig.in +include target/$ROCKCFG_TARGET/postconfig.in