From 71478fd62d8483483abb34609cdabb7f9cbadfd6 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 19 Dec 2015 14:18:43 +0000 Subject: Add hostTools from https://github.com/Noltari/cfe_bcm63xx --- hostTools/scripts/Menuconfig | 1601 ++++++++++++++++++++ hostTools/scripts/defconfig-bcm.template | 1066 +++++++++++++ hostTools/scripts/gendefconfig | 398 +++++ .../voice/ccLoadRules/CommEngine/cxcLoadRules.txt | 10 + .../voice/ccLoadRules/dslx_common/cxcLoadRules.txt | 108 ++ .../dslx_common_ldx197/cxcLoadRules.txt | 89 ++ .../scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh | 133 ++ .../scripts/nightlybuild/voice/cxc_nb_getsrc.sh | 133 ++ .../scripts/nightlybuild/voice/cxc_nbrt_app.bat | 13 + .../scripts/nightlybuild/voice/cxc_nbrt_build.bat | 33 + .../nightlybuild/voice/cxc_nbrt_ce_postprocess.sh | 129 ++ .../scripts/nightlybuild/voice/cxc_nbrt_cfg.bat | 117 ++ .../nightlybuild/voice/cxc_nbrt_genlabel.sh | 34 + .../scripts/nightlybuild/voice/cxc_nbrt_main.bat | 37 + .../nightlybuild/voice/cxc_nbrt_main_test.bat | 12 + .../nightlybuild/voice/cxc_nbrt_postprocess.sh | 125 ++ .../nightlybuild/voice/cxc_nbrt_prebuild.bat | 140 ++ .../scripts/nightlybuild/voice/cxc_nbrt_setenv.bat | 65 + .../scripts/nightlybuild/voice/cxc_nbrt_start.bat | 28 + .../scripts/nightlybuild/voice/cxc_nbrt_test.bat | 62 + .../nightlybuild/voice/cxc_nbrt_updatebaseline.sh | 18 + .../scripts/nightlybuild/voice/cxwarnerrorgrep.sh | 37 + .../nightlybuild/voice/lnx_nbrt_basic_cmds.exp | 115 ++ .../scripts/nightlybuild/voice/lnx_nbrt_build.sh | 9 + .../scripts/nightlybuild/voice/lnx_nbrt_prepare.sh | 9 + .../nightlybuild/voice/lnx_nbrt_view_build.exp | 53 + .../nightlybuild/voice/lnx_nbrt_view_prepare.exp | 31 + hostTools/scripts/nightlybuild/voice/readme.txt | 19 + 28 files changed, 4624 insertions(+) create mode 100644 hostTools/scripts/Menuconfig create mode 100644 hostTools/scripts/defconfig-bcm.template create mode 100644 hostTools/scripts/gendefconfig create mode 100644 hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt create mode 100644 hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt create mode 100644 hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat create mode 100644 hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh create mode 100644 hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh create mode 100644 hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp create mode 100644 hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh create mode 100644 hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh create mode 100644 hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp create mode 100644 hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp create mode 100644 hostTools/scripts/nightlybuild/voice/readme.txt (limited to 'hostTools/scripts') diff --git a/hostTools/scripts/Menuconfig b/hostTools/scripts/Menuconfig new file mode 100644 index 0000000..ff49bc5 --- /dev/null +++ b/hostTools/scripts/Menuconfig @@ -0,0 +1,1601 @@ +#! /bin/sh +# +# This script is used to configure the linux kernel. +# +# It was inspired by a desire to not have to hit 9 million times +# or startup the X server just to change a single kernel parameter. +# +# This script attempts to parse the configuration files, which are +# scattered throughout the kernel source tree, and creates a temporary +# set of mini scripts which are in turn used to create nested menus and +# radiolists. +# +# It uses a very modified/mutilated version of the "dialog" utility +# written by Savio Lam (lam836@cs.cuhk.hk). Savio is not responsible +# for this script or the version of dialog used by this script. +# Please do not contact him with questions. The official version of +# dialog is available at sunsite.unc.edu or a sunsite mirror. +# +# Portions of this script were borrowed from the original Configure +# script. +# +# William Roadcap was the original author of Menuconfig. +# Michael Elizabeth Chastain (mec@shout.net) is the current maintainer. +# +# 070497 Bernhard Kaindl (bkaindl@netway.at) - get default values for +# new bool, tristate and dep_tristate parameters from the defconfig file. +# new configuration parameters are marked with '(NEW)' as in make config. +# +# 180697 Bernhard Kaindl (bkaindl@netway.at) - added the needed support +# for string options. They are handled like the int and hex options. +# +# 081297 Pavel Machek (pavel@atrey.karlin.mff.cuni.cz) - better error +# handling +# +# 131197 Michael Chastain (mec@shout.net) - output all lines for a +# choice list, not just the selected one. This makes the output +# the same as Configure output, which is important for smart config +# dependencies. +# +# 101297 Michael Chastain (mec@shout.net) - remove sound driver cruft. +# +# 221297 Michael Chastain (mec@shout.net) - make define_bool actually +# define its arguments so that later tests on them work right. +# +# 160198 Michael Chastain (mec@shout.net) - fix bug with 'c' command +# (complement existing value) when used on virgin uninitialized variables. +# +# 090398 Axel Boldt (boldt@math.ucsb.edu) - allow for empty lines in help +# texts. +# +# 12 Dec 1998, Michael Elizabeth Chastain (mec@shout.net) +# Remove a /tmp security hole in get_def (also makes it faster). +# Give uninitialized variables canonical values rather than null value. +# Change a lot of places to call set_x_info uniformly. +# Take out message about preparing version (old sound driver cruft). +# +# 13 Dec 1998, Riley H Williams +# When an error occurs, actually display the error message as well as +# our comments thereon. +# +# 31 Dec 1998, Michael Elizabeth Chastain (mec@shout.net) +# Fix mod_bool to honor $CONFIG_MODULES. +# Fix dep_tristate to call define_bool when dependency is "n". +# +# 02 January 1999, Michael Elizabeth Chastain (mec@shout.net) +# Blow away lxdialog.scrltmp on entry to activate_menu. This protects +# against people who use commands like ' ' to select menus. +# +# 24 January 1999, Michael Elizabeth Chastain, +# - Improve the exit message (Jeff Ronne). +# +# 06 July 1999, Andrzej M. Krzysztofowicz, +# - Support for multiple conditions in dep_tristate(). +# - Implemented new functions: define_tristate(), define_int(), define_hex(), +# define_string(), dep_bool(). +# + + +# +# Change this to TRUE if you prefer all kernel options listed +# in a single menu rather than the standard menu hierarchy. +# +single_menu_mode= + +# +# Make sure we're really running bash. +# +[ -z "$BASH" ] && { echo "Menuconfig requires bash" 1>&2; exit 1; } + +# +# Cache function definitions, turn off posix compliance +# +set -h +o posix + + + +# Given a configuration variable, set the global variable $x to its value, +# and the global variable $info to the string " (NEW)" if this is a new +# variable. +# +# This function looks for: (1) the current value, or (2) the default value +# from the arch-dependent defconfig file, or (3) a default passed by the caller. + +function set_x_info () { + eval x=\$$1 + if [ -z "$x" ]; then + eval `sed -n -e 's/# \(.*\) is not set.*/\1=n/' -e "/^$1=/p" arch/$ARCH/defconfig` + eval x=\${$1:-"$2"} + eval $1=$x + eval INFO_$1="' (NEW)'" + fi + eval info="\$INFO_$1" +} + +# +# Load the functions used by the config.in files. +# +# I do this because these functions must be redefined depending +# on whether they are being called for interactive use or for +# saving a configuration to a file. +# +# Thank the heavens bash supports nesting function definitions. +# +load_functions () { + +# +# Additional comments +# +function comment () { + comment_ctr=$[ comment_ctr + 1 ] + echo -ne "': $comment_ctr' '--- $1' " >>MCmenu +} + +# +# Define a boolean to a specific value. +# +function define_bool () { + eval $1=$2 +} + +function define_tristate () { + eval $1=$2 +} + +function define_tristate2 () { + eval $1=$2 +} +function define_quad () { + eval $1=$2 +} + +function define_hex () { + eval $1=$2 +} + +function define_int () { + eval $1=$2 +} + +function define_string () { + eval $1="$2" +} + +# +# Create a boolean (Yes/No) function for our current menu +# which calls our local bool function. +# +function bool () { + set_x_info "$2" "n" + + case $x in + y|m) flag="*" ;; + n) flag=" " ;; + esac + + echo -ne "'$2' '[$flag] $1$info' " >>MCmenu + + echo -e "function $2 () { l_bool '$2' \"\$1\" ;}\n" >>MCradiolists +} + +# +# Create a tristate (Yes/No/Module) radiolist function +# which calls our local tristate function. +# +# Collapses to a boolean (Yes/No) if module support is disabled. +# +function tristate () { + if [ "$CONFIG_MODULES" != "y" ] + then + bool "$1" "$2" + else + set_x_info "$2" "n" + + case $x in + y) flag="*" ;; + m) flag="M" ;; + *) flag=" " ;; + esac + + echo -ne "'$2' '<$flag> $1$info' " >>MCmenu + + echo -e " + function $2 () { l_tristate '$2' \"\$1\" ;}" >>MCradiolists + fi +} + +function tristate2 () { + + set_x_info "$2" "n" + + case $x in + static) flag="static" ;; + dynamic) flag="dynamic" ;; + *) flag=" " ;; + esac + + echo -ne "'$2' '<$flag> $1$info' " >>MCmenu + + echo -e " + function $2 () { l_tristate2 '$2' \"\$1\" ;}" >>MCradiolists + +} + +function quad () { + + set_x_info "$2" "n" + + case $x in + static) flag="static" ;; + dynamic) flag="dynamic" ;; + debug) flag="debug" ;; + *) flag=" " ;; + esac + + echo -ne "'$2' '<$flag> $1$info' " >>MCmenu + + echo -e " + function $2 () { l_quad '$2' \"\$1\" ;}" >>MCradiolists + +} + +# +# Create a tristate radiolist function which is dependent on +# another kernel configuration option. +# +# Quote from the original configure script: +# +# If the option we depend upon is a module, +# then the only allowable options are M or N. If Y, then +# this is a normal tristate. This is used in cases where modules +# are nested, and one module requires the presence of something +# else in the kernel. +# +function dep_tristate () { + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + elif [ "$1" = m ]; then + dep=m + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + tristate "$ques" "$var" + elif [ "$dep" = m ]; then + mod_bool "$ques" "$var" + else + define_tristate "$var" n + fi +} + +# +# Same as above, but now only Y and N are allowed as dependency +# (i.e. third and next arguments). +# +function dep_bool () { + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + bool "$ques" "$var" + else + define_bool "$var" n + fi +} + +function dep_mbool () { + ques="$1" + var="$2" + dep=y + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y -o "$1" = m ]; then + shift + else + dep=n + shift $# + fi + done + if [ "$dep" = y ]; then + bool "$ques" "$var" + else + define_bool "$var" n + fi +} + +# +# Add a menu item which will call our local int function. +# +function int () { + set_x_info "$2" "$3" + + echo -ne "'$2' '($x) $1$info' " >>MCmenu + + echo -e "function $2 () { l_int '$1' '$2' '$3' '$x' ;}" >>MCradiolists +} + +# +# Add a menu item which will call our local hex function. +# +function hex () { + set_x_info "$2" "$3" + x=${x##*[x,X]} + + echo -ne "'$2' '($x) $1$info' " >>MCmenu + + echo -e "function $2 () { l_hex '$1' '$2' '$3' '$x' ;}" >>MCradiolists +} + +# +# Add a menu item which will call our local string function. +# +function string () { + set_x_info "$2" "$3" + + echo -ne "'$2' ' $1: \"$x\"$info' " >>MCmenu + + echo -e "function $2 () { l_string '$1' '$2' '$3' '$x' ;}" >>MCradiolists +} + +# +# Add a menu item which will call our local One-of-Many choice list. +# +function choice () { + # + # Need to remember params cause they're gonna get reset. + # + title=$1 + choices=$2 + default=$3 + current= + + # + # Find out if one of the choices is already set. + # If it's not then make it the default. + # + set -- $choices + firstchoice=$2 + + while [ -n "$2" ] + do + if eval [ "_\$$2" = "_y" ] + then + current=$1 + break + fi + shift ; shift + done + + : ${current:=$default} + + echo -ne "'$firstchoice' '($current) $title' " >>MCmenu + + echo -e " + function $firstchoice () \ + { l_choice '$title' \"$choices\" \"$current\" ;}" >>MCradiolists +} + +} # END load_functions() + + + + + +# +# Extract available help for an option from Configure.help +# and send it to standard output. +# +# Most of this function was borrowed from the original kernel +# Configure script. +# +function extract_help () { + if [ -f Documentation/Configure.help ] + then + #first escape regexp special characters in the argument: + var=$(echo "$1"|sed 's/[][\/.^$*]/\\&/g') + #now pick out the right help text: + text=$(sed -n "/^$var[ ]*\$/,\${ + /^$var[ ]*\$/c\\ +${var}:\\ + + /^#/b + /^[^ ]/q + s/^ // + /]*\\)>/s//\\1/g + p + }" Documentation/Configure.help) + + if [ -z "$text" ] + then + echo "There is no help available for this kernel option." + return 1 + else + echo "$text" + fi + else + echo "There is no help available for this kernel option." + return 1 + fi +} + +# +# Activate a help dialog. +# +function help () { + if extract_help $1 >help.out + then + $DIALOG --backtitle "$backtitle" --title "$2"\ + --textbox help.out $ROWS $COLS + else + $DIALOG --backtitle "$backtitle" \ + --textbox help.out $ROWS $COLS + fi + rm -f help.out +} + +# +# Show the README file. +# +function show_readme () { + $DIALOG --backtitle "$backtitle" \ + --textbox scripts/README.Menuconfig $ROWS $COLS +} + +# +# Begin building the dialog menu command and Initialize the +# Radiolist function file. +# +function menu_name () { + echo -ne "$DIALOG --title '$1'\ + --backtitle '$backtitle' \ + --menu '$menu_instructions' \ + $ROWS $COLS $((ROWS-10)) \ + '$default' " >MCmenu + >MCradiolists +} + +# +# Add a submenu option to the menu currently under construction. +# +function submenu () { + echo -ne "'activate_menu $2' '$1 --->' " >>MCmenu +} + +# +# Handle a boolean (Yes/No) option. +# +function l_bool () { + if [ -n "$2" ] + then + case "$2" in + y|m) eval $1=y ;; + c) eval x=\$$1 + case $x in + y) eval $1=n ;; + n) eval $1=y ;; + *) eval $1=y ;; + esac ;; + *) eval $1=n ;; + esac + else + echo -ne "\007" + fi +} + +# +# Same as bool() except options are (Module/No) +# +function mod_bool () { + if [ "$CONFIG_MODULES" != "y" ]; then + define_bool "$2" "n" + else + set_x_info "$2" "n" + + case $x in + y|m) flag='M' ;; + *) flag=' ' ;; + esac + + echo -ne "'$2' '<$flag> $1$info' " >>MCmenu + + echo -e "function $2 () { l_mod_bool '$2' \"\$1\" ;}" >>MCradiolists + fi +} + +# +# Same as l_bool() except options are (Module/No) +# +function l_mod_bool() { + if [ -n "$2" ] + then + case "$2" in + y) echo -en "\007" + ${DIALOG} --backtitle "$backtitle" \ + --infobox "\ +This feature depends on another which has been configured as a module. \ +As a result, this feature will be built as a module." 4 70 + sleep 5 + eval $1=m ;; + m) eval $1=m ;; + c) eval x=\$$1 + case $x in + m) eval $1=n ;; + n) eval $1=m ;; + *) eval $1=m ;; + esac ;; + *) eval $1=n ;; + esac + else + echo -ne "\007" + fi +} + +# +# Handle a tristate (Yes/No/Module) option. +# +function l_tristate () { + if [ -n "$2" ] + then + eval x=\$$1 + + case "$2" in + y) eval $1=y ;; + m) eval $1=m ;; + c) eval x=\$$1 + case $x in + y) eval $1=n ;; + n) eval $1=m ;; + m) eval $1=y ;; + *) eval $1=y ;; + esac ;; + *) eval $1=n ;; + esac + else + echo -ne "\007" + fi +} + +function l_tristate2 () { + if [ -n "$2" ] + then + eval x=\$$1 + + case "$2" in + static) eval $1=static ;; + dynamic) eval $1=dynamic ;; + c) eval x=\$$1 + case $x in + static) eval $1=n ;; + n) eval $1=dynamic ;; + dynamic) eval $1=static ;; + *) eval $1=static ;; + esac ;; + *) eval $1=n ;; + esac + else + echo -ne "\007" + fi +} + +function l_quad () { + if [ -n "$2" ] + then + eval x=\$$1 + + case "$2" in + static) eval $1=static ;; + dynamic) eval $1=dynamic ;; + debug) eval $1=debug ;; + c) eval x=\$$1 + case $x in + static) eval $1=n ;; + n) eval $1=dynamic ;; + dynamic) eval $1=debug ;; + debug) eval $1=static ;; + *) eval $1=static ;; + esac ;; + *) eval $1=n ;; + esac + else + echo -ne "\007" + fi +} + +# +# Create a dialog for entering an integer into a kernel option. +# +function l_int () { + while true + do + if $DIALOG --title "$1" \ + --backtitle "$backtitle" \ + --inputbox "$inputbox_instructions_int" \ + 10 75 "$4" 2>MCdialog.out + then + answer="`cat MCdialog.out`" + answer="${answer:-$3}" + + # Semantics of + and ? in GNU expr changed, so + # we avoid them: + if expr "$answer" : '0$' '|' "$answer" : '[1-9][0-9]*$' '|' "$answer" : '-[1-9][0-9]*$' >/dev/null + then + eval $2="$answer" + else + eval $2="$3" + echo -en "\007" + ${DIALOG} --backtitle "$backtitle" \ + --infobox "You have made an invalid entry." 3 43 + sleep 2 + fi + + break + fi + + help "$2" "$1" + done +} + +# +# Create a dialog for entering a hexadecimal into a kernel option. +# +function l_hex () { + while true + do + if $DIALOG --title "$1" \ + --backtitle "$backtitle" \ + --inputbox "$inputbox_instructions_hex" \ + 10 75 "$4" 2>MCdialog.out + then + answer="`cat MCdialog.out`" + answer="${answer:-$3}" + answer="${answer##*[x,X]}" + + if expr "$answer" : '[0-9a-fA-F][0-9a-fA-F]*$' >/dev/null + then + eval $2="$answer" + else + eval $2="$3" + echo -en "\007" + ${DIALOG} --backtitle "$backtitle" \ + --infobox "You have made an invalid entry." 3 43 + sleep 2 + fi + + break + fi + + help "$2" "$1" + done +} + +# +# Create a dialog for entering a string into a kernel option. +# +function l_string () { + while true + do + if $DIALOG --title "$1" \ + --backtitle "$backtitle" \ + --inputbox "$inputbox_instructions_string" \ + 10 75 "$4" 2>MCdialog.out + then + answer="`cat MCdialog.out`" + answer="${answer:-$3}" + + # + # Someone may add a nice check for the entered + # string here... + # + eval $2=\"$answer\" + + break + fi + + help "$2" "$1" + done +} + + +# +# Handle a one-of-many choice list. +# +function l_choice () { + # + # Need to remember params cause they're gonna get reset. + # + title="$1" + choices="$2" + current="$3" + chosen= + + # + # Scan current value of choices and set radiolist switches. + # + list= + set -- $choices + firstchoice=$2 + while [ -n "$2" ] + do + case "$1" in + "$current"*) if [ -z "$chosen" ]; then + list="$list $2 $1 ON " + chosen=1 + else + list="$list $2 $1 OFF " + fi ;; + *) list="$list $2 $1 OFF " ;; + esac + + shift ; shift + done + + while true + do + if $DIALOG --title "$title" \ + --backtitle "$backtitle" \ + --radiolist "$radiolist_instructions" \ + 15 70 6 $list 2>MCdialog.out + then + choice=`cat MCdialog.out` + break + fi + + help "$firstchoice" "$title" + done + + # + # Now set the boolean value of each option based on + # the selection made from the radiolist. + # + set -- $choices + while [ -n "$2" ] + do + if [ "$2" = "$choice" ] + then + eval $2="y" + else + eval $2="n" + fi + + shift ; shift + done +} + +# +# Call awk, and watch for error codes, etc. +# +function callawk () { +awk "$1" || echo "Awk died with error code $?. Giving up." || exit 1 +} + +# +# A faster awk based recursive parser. (I hope) +# +function parser1 () { +callawk ' +BEGIN { + menu_no = 0 + comment_is_option = 0 + parser("'$CONFIG_IN'","MCmenu0") +} + +function parser(ifile,menu) { + + while (getline >menu + + newmenu = sprintf("MCmenu%d", menu_no); + printf( "function MCmenu%s () {\n"\ + "default=$1\n"\ + "menu_name %s\n",\ + menu_no, $0) >newmenu + + parser(ifile, newmenu) + } + else if ($0 ~ /^#|\$MAKE|mainmenu_name/) { + printf("") >>menu + } + else if ($1 ~ "endmenu") { + printf("}\n") >>menu + return + } + else if ($1 == "source") { + parser($2,menu) + } + else { + print >>menu + } + } +}' +} + +# +# Secondary parser for single menu mode. +# +function parser2 () { +callawk ' +BEGIN { + parser("'$CONFIG_IN'","MCmenu0") +} + +function parser(ifile,menu) { + + while (getline >menu + } + else if ($1 ~ /mainmenu_option|endmenu/) { + printf("") >>menu + } + else if ($1 == "source") { + parser($2,menu) + } + else { + print >>menu + } + } +}' +} + +# +# Parse all the config.in files into mini scripts. +# +function parse_config_files () { + rm -f MCmenu* + + echo "function MCmenu0 () {" >MCmenu0 + echo 'default=$1' >>MCmenu0 + echo "menu_name 'Main Menu'" >>MCmenu0 + + if [ "_$single_menu_mode" = "_TRUE" ] + then + parser2 + else + parser1 + fi + + echo "comment ''" >>MCmenu0 + echo "g_alt_config" >>MCmenu0 + echo "s_alt_config" >>MCmenu0 + + echo "}" >>MCmenu0 + + # + # These mini scripts must be sourced into the current + # environment in order for all of this to work. Leaving + # them on the disk as executables screws up the recursion + # in activate_menu(), among other things. Once they are + # sourced we can discard them. + # + for i in MCmenu* + do + echo -n "." + source ./$i + done + rm -f MCmenu* +} + +# +# This is the menu tree's bootstrap. +# +# Executes the parsed menus on demand and creates a set of functions, +# one per configuration option. These functions will in turn execute +# dialog commands or recursively call other menus. +# +function activate_menu () { + rm -f lxdialog.scrltmp + while true + do + comment_ctr=0 #So comment lines get unique tags + + $1 "$default" 2> MCerror #Create the lxdialog menu & functions + + if [ "$?" != "0" ] + then + clear + cat < /' MCerror + cat <. You may also +send a problem report to . + +Please indicate the kernel version you are trying to configure and +which menu you were trying to enter when this error occurred. + +EOM + cleanup + exit 1 + fi + rm -f MCerror + + . ./MCradiolists #Source the menu's functions + + . ./MCmenu 2>MCdialog.out #Activate the lxdialog menu + ret=$? + + read selection "*|*"alt_config"*) + show_readme ;; + *) + eval help $selection ;; + esac + ;; + 255|1) + break + ;; + 139) + stty sane + clear + cat < or post a message to + for additional assistance. + +EOM + cleanup + exit 139 + ;; + esac + done +} + +# +# Create a menu item to load an alternate configuration file. +# +g_alt_config () { + echo -n "get_alt_config 'Load software build profile' "\ + >>MCmenu +} + +# +# Get alternate config file name and load the +# configuration from it. +# +get_alt_config () { + set -f ## Switch file expansion OFF + + while true + do + ALT_CONFIG="${ALT_CONFIG:-$DEFAULTS}" + + $DIALOG --backtitle "$backtitle" \ + --inputbox "\ +Enter the name of the profile you wish to load. Leave blank to abort."\ + 11 55 "$ALT_CONFIG" 2>MCdialog.out + + if [ "$?" = "0" ] + then + ALT_CONFIG=`cat MCdialog.out` + + [ "_" = "_$ALT_CONFIG" ] && break + + if eval [ -r "$TARGETS_DIR/$ALT_CONFIG/$ALT_CONFIG" ] + then + eval load_config_file "$TARGETS_DIR/$ALT_CONFIG/$ALT_CONFIG" + break + else + echo -ne "\007" + $DIALOG --backtitle "$backtitle" \ + --infobox "File does not exist!" 3 38 + sleep 2 + fi + else + cat <help.out + +Profiles are saved in a directory with the same name in "targets" directory. + +If you are uncertain, leave this blank. +EOM + $DIALOG --backtitle "$backtitle"\ + --title "Load Profile"\ + --textbox help.out $ROWS $COLS + fi + done + + set +f ## Switch file expansion ON + rm -f help.out MCdialog.out +} + +# +# Create a menu item to store an alternate config file. +# +s_alt_config () { + echo -n "save_alt_config 'Save software build profile as ...' "\ + >>MCmenu +} + +# +# Get an alternate config file name and save the current +# configuration to it. +# +save_alt_config () { + set -f ## Switch file expansion OFF + + while true + do + $DIALOG --backtitle "$backtitle" \ + --inputbox "\ +Enter a profile name to save. Leave blank to abort."\ + 10 55 "$ALT_CONFIG" 2>MCdialog.out + + if [ "$?" = "0" ] + then + ALT_CONFIG=`cat MCdialog.out` + + [ "_" = "_$ALT_CONFIG" ] && break + + if eval 'mkdir -p $TARGETS_DIR/$ALT_CONFIG;touch $TARGETS_DIR/$ALT_CONFIG/$ALT_CONFIG' 2>/dev/null + then + eval save_configuration $TARGETS_DIR/$ALT_CONFIG/$ALT_CONFIG + load_functions ## RELOAD + break + else + echo -ne "\007" + $DIALOG --backtitle "$backtitle" \ + --infobox "Can't create file! Probably a nonexistent directory." 3 60 + sleep 2 + fi + else + cat <help.out +Profiles are saved in a directory with the same name in "targets" directory. + +If you are uncertain, leave this blank. +EOM + $DIALOG --backtitle "$backtitle"\ + --title "Save profile"\ + --textbox help.out $ROWS $COLS + fi + done + + set +f ## Switch file expansion ON + rm -f help.out MCdialog.out +} + +# +# Load config options from a file. +# Converts all "# OPTION is not set" lines to "OPTION=n" lines +# +function load_config_file () { + awk ' + /# .* is not set.*/ { printf("%s=n\n", $2) } + ! /# .* is not set.*/ { print } + ' $1 >.tmpconfig + + source ./.tmpconfig + rm -f .tmpconfig +} + +# +# Just what it says. +# +save_configuration () { + echo + echo -n "Saving your software build profile." + + # + # Now, let's redefine the configuration functions for final + # output to the config files. + # + # Nested function definitions, YIPEE! + # + function bool () { + set_x_info "$2" "n" + eval define_bool "$2" "$x" + } + + function tristate () { + set_x_info "$2" "n" + eval define_tristate "$2" "$x" + } + + function tristate2 () { + set_x_info "$2" "n" + eval define_tristate2 "$2" "$x" + } + + function quad () { + set_x_info "$2" "n" + eval define_quad "$2" "$x" + } + + function dep_tristate () { + set_x_info "$2" "n" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + elif [ "$1" = m -a "$x" != n ]; then + x=m; shift + else + x=n; shift $# + fi + done + define_tristate "$var" "$x" + } + + function dep_bool () { + set_x_info "$2" "n" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y ]; then + shift + else + x=n; shift $# + fi + done + define_bool "$var" "$x" + } + + function dep_mbool () { + set_x_info "$2" "n" + var="$2" + shift 2 + while [ $# -gt 0 ]; do + if [ "$1" = y -o "$1" = m ]; then + shift + else + x=n; shift $# + fi + done + define_bool "$var" "$x" + } + + function int () { + set_x_info "$2" "$3" + echo "$2=$x" >>$CONFIG + echo "#define $2 ($x)" >>$CONFIG_H + } + + function hex () { + set_x_info "$2" "$3" + echo "$2=$x" >>$CONFIG + echo "#define $2 0x${x##*[x,X]}" >>$CONFIG_H + } + + function string () { + set_x_info "$2" "$3" + echo "$2=\"$x\"" >>$CONFIG + echo "#define $2 \"$x\"" >>$CONFIG_H + } + + function define_hex () { + eval $1="$2" + echo "$1=$2" >>$CONFIG + echo "#define $1 0x${2##*[x,X]}" >>$CONFIG_H + } + + function define_int () { + eval $1="$2" + echo "$1=$2" >>$CONFIG + echo "#define $1 ($2)" >>$CONFIG_H + } + + function define_string () { + eval $1="$2" + #echo "$1=\"$2\"" >>$CONFIG + echo "$1=$2" >>$CONFIG + echo "#define $1 \"$2\"" >>$CONFIG_H + } + + function define_bool () { + define_tristate "$1" "$2" + } + + function define_tristate () { + eval $1="$2" + + case "$2" in + y) + echo "$1=y" >>$CONFIG + echo "#define $1 1" >>$CONFIG_H + ;; + + m) + if [ "$CONFIG_MODULES" = "y" ] + then + echo "$1=m" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + echo "#define $1_MODULE 1" >>$CONFIG_H + else + echo "$1=y" >>$CONFIG + echo "#define $1 1" >>$CONFIG_H + fi + ;; + + n) + echo "# $1 is not set" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + esac + } + + function define_tristate2 () { + eval $1="$2" + + case "$2" in + static) + echo "$1=static" >>$CONFIG + echo "#define $1 1" >>$CONFIG_H + ;; + + dynamic) + echo "$1=dynamic" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + + n) + echo "# $1 is not set" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + esac + } + + function define_quad () { + eval $1="$2" + + case "$2" in + static) + echo "$1=static" >>$CONFIG + echo "#define $1 1" >>$CONFIG_H + ;; + + dynamic) + echo "$1=dynamic" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + + debug) + echo "$1=debug" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + + n) + echo "# $1 is not set" >>$CONFIG + echo "#undef $1" >>$CONFIG_H + ;; + esac + } + + function choice () { + # + # Find the first choice that's already set to 'y' + # + choices="$2" + default="$3" + current= + chosen= + + set -- $choices + while [ -n "$2" ] + do + if eval [ "_\$$2" = "_y" ] + then + current=$1 + break + fi + shift ; shift + done + + # + # Use the default if none were set. + # + : ${current:=$default} + + # + # Output all choices (to be compatible with other configs). + # + set -- $choices + while [ -n "$2" ] + do + case "$1" in + "$current"*) if [ -z "$chosen" ]; then + define_bool "$2" "y" + chosen=1 + else + define_bool "$2" "n" + fi ;; + *) define_bool "$2" "n" ;; + esac + shift ; shift + done + } + + function mainmenu_name () { + : + } + + function mainmenu_option () { + comment_is_option=TRUE + } + + function endmenu () { + : + } + + function comment () { + if [ "$comment_is_option" ] + then + comment_is_option= + echo >>$CONFIG + echo "#" >>$CONFIG + echo "# $1" >>$CONFIG + echo "#" >>$CONFIG + + echo >>$CONFIG_H + echo "/*" >>$CONFIG_H + echo " * $1" >>$CONFIG_H + echo " */" >>$CONFIG_H + fi + } + + echo -n "." + + DEF_CONFIG="${1:-.config}" + DEF_CONFIG_H="include/linux/autoconf.h" + + CONFIG=.tmpconfig + CONFIG_H=.tmpconfig.h + + echo "#" >$CONFIG + echo "# Automatically generated by make menuconfig: don't edit" >>$CONFIG + echo "#" >>$CONFIG + + echo "/*" >$CONFIG_H + echo " * Automatically generated by make menuconfig: don't edit" >>$CONFIG_H + echo " */" >>$CONFIG_H + echo "#define AUTOCONF_INCLUDED" >> $CONFIG_H + + echo -n "." + if . $CONFIG_IN >>.menuconfig.log 2>&1 + then + if [ "$DEF_CONFIG" = ".config" ] + then + mv $CONFIG_H $DEF_CONFIG_H + fi + + if [ -f "$DEF_CONFIG" ] + then + rm -f ${DEF_CONFIG}.old + mv $DEF_CONFIG ${DEF_CONFIG}.old + fi + + mv $CONFIG $DEF_CONFIG + + return 0 + else + return 1 + fi +} + +# +# Remove temporary files +# +cleanup () { + cleanup1 + cleanup2 +} + +cleanup1 () { + rm -f MCmenu* MCradiolists MCdialog.out help.out +} + +cleanup2 () { + rm -f .tmpconfig .tmpconfig.h +} + +set_geometry () { + # Some distributions export these with incorrect values + # which can really screw up some ncurses programs. + LINES= COLUMNS= + + ROWS=${1:-24} COLS=${2:-80} + + # Just in case the nasty rlogin bug returns. + # + [ $ROWS = 0 ] && ROWS=24 + [ $COLS = 0 ] && COLS=80 + + if [ $ROWS -lt 19 -o $COLS -lt 80 ] + then + echo -e "\n\007Your display is too small to run Menuconfig!" + echo "It must be at least 19 lines by 80 columns." + exit 1 + fi + + ROWS=$((ROWS-4)) COLS=$((COLS-5)) +} + + +set_geometry `stty size 2>/dev/null` + +menu_instructions="\ +Arrow keys navigate the menu. \ + selects submenus --->. \ +Highlighted letters are hotkeys. \ +Pressing includes, excludes, modularizes features. \ +Press to exit, for Help. \ +Legend: [*] built-in [ ] excluded module < > module capable" + +radiolist_instructions="\ +Use the arrow keys to navigate this window or \ +press the hotkey of the item you wish to select \ +followed by the . +Press for additional information about this option." + +inputbox_instructions_int="\ +Please enter a decimal value. \ +Fractions will not be accepted. \ +Use the key to move from the input field to the buttons below it." + +inputbox_instructions_hex="\ +Please enter a hexadecimal value. \ +Use the key to move from the input field to the buttons below it." + +inputbox_instructions_string="\ +Please enter a string value. \ +Use the key to move from the input field to the buttons below it." + +DIALOG="$KERNEL_DIR/scripts/lxdialog/lxdialog" + +#kernel_version="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}" + +#backtitle="Linux Kernel v$kernel_version Configuration" +backtitle="Broadcom Commengine xDSL Software Configuration" + +CONFIG_MODULES=y + +trap "cleanup ; exit 1" 1 2 15 + + +# +# Locate default files. +# +#CONFIG_IN=./config.in +if [ "$1" != "" ] ; then + CONFIG_IN=$1 +fi + +#DEFAULTS=arch/$ARCH/defconfig +#if [ -f .config ]; then +# DEFAULTS=.config +#fi +# +#if [ -f $DEFAULTS ] +#then +# echo "Using defaults found in" $DEFAULTS +# load_config_file $DEFAULTS +#else +# echo "No defaults found" +#fi + + +# Fresh new log. +>.menuconfig.log + +# Load the functions used by the config.in files. +echo -n "Preparing scripts: functions" +load_functions + +if [ ! -e $CONFIG_IN ] +then + echo "Your main config.in file ($CONFIG_IN) does not exist" + exit 1 +fi + +if [ ! -x $DIALOG ] +then + echo "Your lxdialog utility does not exist" + exit 1 +fi + +# +# Read config.in files and parse them into one shell function per menu. +# +echo -n ", parsing" +parse_config_files $CONFIG_IN + +echo "done." +# +# Start the ball rolling from the top. +# +activate_menu MCmenu0 + +# +# All done! +# +cleanup1 + +# +# Confirm and Save +# +if $DIALOG --backtitle "$backtitle" \ + --yesno "Save your $ALT_CONFIG software build configuration?" 5 60 +then + if [ "$ALT_CONFIG" != "" ]; then + save_configuration $TARGETS_DIR/$ALT_CONFIG/$ALT_CONFIG + else + save_alt_config + fi + echo + echo + echo "*** End of software build configuration." + echo "*** Use make PROFILE= to build your image" + echo +else + echo + echo + echo Your $ALT_CONFIG software build configuration changes were NOT saved. + echo +fi + +# Remove log if empty. +if [ ! -s .menuconfig.log ] ; then + rm -f .menuconfig.log +fi + +exit 0 diff --git a/hostTools/scripts/defconfig-bcm.template b/hostTools/scripts/defconfig-bcm.template new file mode 100644 index 0000000..3b13f78 --- /dev/null +++ b/hostTools/scripts/defconfig-bcm.template @@ -0,0 +1,1066 @@ +# +# A template defconfig file for BRCM xDSL build: don't edit +# +CONFIG_MIPS=y +# CONFIG_MIPS64 is not set +# CONFIG_64BIT is not set +CONFIG_MIPS32=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_CLEAN_COMPILE=y +CONFIG_STANDALONE=y +CONFIG_BROKEN_ON_SMP=y + +# +# General setup +# +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_HOTPLUG is not set +# CONFIG_IKCONFIG is not set +CONFIG_EMBEDDED=y +# CONFIG_KALLSYMS is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_OBSOLETE_MODPARM=y +# CONFIG_MODVERSIONS is not set +CONFIG_KMOD=y + +# +# Machine selection +# +CONFIG_MIPS_BRCM=y +# CONFIG_BCM96338 is not set +# CONFIG_BCM96348 is not set +# CONFIG_BCM96358 is not set + +# CONFIG_BCM_BOARD is not set +# CONFIG_BCM_SERIAL is not set +# CONFIG_BCM_ENET is not set +# CONFIG_BCM_ATMAPI is not set +# CONFIG_BCM_ATMTEST is not set +# CONFIG_BCM_USB is not set +# CONFIG_BCM_ADSL is not set +# CONFIG_BCM_WLAN is not set +# CONFIG_BCM_PCI is not set +# CONFIG_BCM_ENDPOINT is not set +# CONFIG_BCM_PROCFS is not set +# CONFIG_BCM_VDSL is not set +# CONFIG_BCM_SECURITY is not set +# CONFIG_BCM_HPNA is not set +# CONFIG_BCM_BCMPROF is not set + +# CONFIG_BCM96338_BOARD_IMPL=1 +# CONFIG_BCM96338_SERIAL_IMPL=1 +# CONFIG_BCM96338_ENET_IMPL=2 +# CONFIG_BCM96338_ATMAPI_IMPL=1 +# CONFIG_BCM96338_BLAA_IMPL=1 +# CONFIG_BCM96338_ATMTEST_IMPL=1 +# CONFIG_BCM96338_USB_IMPL=2 +# CONFIG_BCM96338_ADSL_IMPL=1 +# CONFIG_BCM96338_WLAN_IMPL=1 +# CONFIG_BCM96338_ENDPOINT_IMPL=1 +# CONFIG_BCM96338_PROCFS_IMPL=1 +# CONFIG_BCM96338_VDSL_IMPL=1 +# CONFIG_BCM96338_SECURITY_IMPL=1 +# CONFIG_BCM96338_HPNA_IMPL=0 +# CONFIG_BCM96338_BCMPROF_IMPL=1 + +# CONFIG_BCM96348_BOARD_IMPL=1 +# CONFIG_BCM96348_SERIAL_IMPL=1 +# CONFIG_BCM96348_ENET_IMPL=2 +# CONFIG_BCM96348_ATMAPI_IMPL=1 +# CONFIG_BCM96348_BLAA_IMPL=1 +# CONFIG_BCM96348_ATMTEST_IMPL=1 +# CONFIG_BCM96348_USB_IMPL=2 +# CONFIG_BCM96348_ADSL_IMPL=1 +# CONFIG_BCM96348_WLAN_IMPL=1 +# CONFIG_BCM96348_ENDPOINT_IMPL=1 +# CONFIG_BCM96348_PROCFS_IMPL=1 +# CONFIG_BCM96348_VDSL_IMPL=1 +# CONFIG_BCM96348_SECURITY_IMPL=1 +# CONFIG_BCM96348_HPNA_IMPL=0 +# CONFIG_BCM96348_BCMPROF_IMPL=1 + +# CONFIG_BCM96358_BOARD_IMPL=1 +# CONFIG_BCM96358_SERIAL_IMPL=1 +# CONFIG_BCM96358_ENET_IMPL=2 +# CONFIG_BCM96358_ATMAPI_IMPL=1 +# CONFIG_BCM96358_BLAA_IMPL=1 +# CONFIG_BCM96358_ATMTEST_IMPL=1 +# CONFIG_BCM96358_USB_IMPL=2 +# CONFIG_BCM96358_ADSL_IMPL=1 +# CONFIG_BCM96358_WLAN_IMPL=1 +# CONFIG_BCM96358_ENDPOINT_IMPL=1 +# CONFIG_BCM96358_PROCFS_IMPL=1 +# CONFIG_BCM96358_VDSL_IMPL=1 +# CONFIG_BCM96358_SECURITY_IMPL=1 +# CONFIG_BCM96358_HPNA_IMPL=0 +# CONFIG_BCM96358_BCMPROF_IMPL=1 + +# CONFIG_ROOTFS_SQUASHFS is not set +# CONFIG_ROOTFS_CRAMFS is not set +# CONFIG_ROOTFS_JFFS2 is not set +# CONFIG_ROOTFS_NFS is not set +# CONFIG_ROOT_FLASHFS is not set +# CONFIG_ROOT_NFS_DIR is not set + +# CONFIG_BRCM_USING_PTHREADS is not set + +# CONFIG_MACH_JAZZ is not set +# CONFIG_BAGET_MIPS is not set +# CONFIG_MACH_VR41XX is not set +# CONFIG_TOSHIBA_JMR3927 is not set +# CONFIG_MIPS_COBALT is not set +# CONFIG_MACH_DECSTATION is not set +# CONFIG_MIPS_EV64120 is not set +# CONFIG_MIPS_EV96100 is not set +# CONFIG_MIPS_IVR is not set +# CONFIG_LASAT is not set +# CONFIG_MIPS_ITE8172 is not set +# CONFIG_MIPS_ATLAS is not set +# CONFIG_MIPS_MALTA is not set +# CONFIG_MIPS_SEAD is not set +# CONFIG_MOMENCO_OCELOT is not set +# CONFIG_MOMENCO_OCELOT_G is not set +# CONFIG_MOMENCO_OCELOT_C is not set +# CONFIG_MOMENCO_JAGUAR_ATX is not set +# CONFIG_PMC_YOSEMITE is not set +# CONFIG_DDB5074 is not set +# CONFIG_DDB5476 is not set +# CONFIG_DDB5477 is not set +# CONFIG_NEC_OSPREY is not set +# CONFIG_SGI_IP22 is not set +# CONFIG_SGI_IP32 is not set +# CONFIG_SOC_AU1X00 is not set +# CONFIG_SIBYTE_SB1xxx_SOC is not set +# CONFIG_SNI_RM200_PCI is not set +# CONFIG_TOSHIBA_RBTX4927 is not set +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_HAVE_DEC_LOCK=y +CONFIG_DMA_NONCOHERENT=y +# CONFIG_CPU_LITTLE_ENDIAN is not set +CONFIG_MIPS_L1_CACHE_SHIFT=5 +# CONFIG_FB is not set + +# +# CPU selection +# +CONFIG_CPU_MIPS32=y +# CONFIG_CPU_MIPS64 is not set +# CONFIG_CPU_R3000 is not set +# CONFIG_CPU_TX39XX is not set +# CONFIG_CPU_VR41XX is not set +# CONFIG_CPU_R4300 is not set +# CONFIG_CPU_R4X00 is not set +# CONFIG_CPU_TX49XX is not set +# CONFIG_CPU_R5000 is not set +# CONFIG_CPU_R5432 is not set +# CONFIG_CPU_R6000 is not set +# CONFIG_CPU_NEVADA is not set +# CONFIG_CPU_R8000 is not set +# CONFIG_CPU_R10000 is not set +# CONFIG_CPU_RM7000 is not set +# CONFIG_CPU_RM9000 is not set +# CONFIG_CPU_SB1 is not set +CONFIG_PAGE_SIZE_4KB=y +# CONFIG_PAGE_SIZE_16KB is not set +# CONFIG_PAGE_SIZE_64KB is not set +# CONFIG_CPU_HAS_PREFETCH is not set +# CONFIG_VTAG_ICACHE is not set +# CONFIG_64BIT_PHYS_ADDR is not set +# CONFIG_CPU_ADVANCED is not set +CONFIG_CPU_HAS_LLSC=y +CONFIG_CPU_HAS_SYNC=y +# CONFIG_PREEMPT is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set + +# +# Bus options (PCI, PCMCIA, EISA, ISA, TC) +# +# CONFIG_PCI is not set +# CONFIG_PCI_NAMES is not set +# CONFIG_PCI_LEGACY_PROC is not set +CONFIG_MMU=y + +# +# PCI Hotplug Support +# +# CONFIG_HOTPLUG_PCI is not set +# CONFIG_HOTPLUG_PCI_FAKE is not set +# CONFIG_HOTPLUG_PCI_ACPI is not set +# CONFIG_HOTPLUG_PCI_CPCI is not set +# CONFIG_HOTPLUG_PCI_PCIE is not set +# CONFIG_HOTPLUG_PCI_SHPC is not set + +# +# PCMCIA/CardBus support +# +# CONFIG_PCMCIA is not set +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_MISC is not set +CONFIG_TRAD_SIGNALS=y +# CONFIG_BINFMT_IRIX is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_PARTITIONS is not set +# CONFIG_MTD_CONCAT is not set + +# +# User Modules And Translation Layers +# +# CONFIG_MTD_CHAR is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +# CONFIG_MTD_GEN_PROBE is not set +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +# CONFIG_MTD_CFI_NOSWAP is not set +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY is not set +# CONFIG_MTD_CFI_B1 is not set +# CONFIG_MTD_CFI_B2 is not set +# CONFIG_MTD_CFI_B4 is not set +# CONFIG_MTD_CFI_I1 is not set +# CONFIG_MTD_CFI_I2 is not set +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_INTELEXT is not set +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +# CONFIG_MTD_AMDSTD is not set +# CONFIG_MTD_SHARP is not set +# CONFIG_MTD_JEDEC is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_PHYSMAP_START is not set +# CONFIG_MTD_PHYSMAP_LEN is not set +# CONFIG_MTD_PHYSMAP_BUSWIDTH is not set +# CONFIG_MTD_PB1000 is not set +# CONFIG_MTD_PB1500 is not set +# CONFIG_MTD_CSTM_MIPS_IXX is not set +# CONFIG_MTD_OCELOT is not set +# CONFIG_MTD_BCM963XX is not set +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PCI is not set +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLKMTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_FD is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_LBD is not set + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_SCSI is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_IEEE1394 is not set + +# +# I2O device support +# +# CONFIG_I2O is not set + +# +# Networking support +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +# CONFIG_NETLINK_DEV is not set +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +# CONFIG_IP_PNP_DHCP is not set +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_IP_PIMSM_V1 is not set +# CONFIG_IP_PIMSM_V2 is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_XFRM_USER is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +# CONFIG_IPV6 is not set +# CONFIG_DECNET is not set +CONFIG_BRIDGE=y +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +# CONFIG_BRIDGE_NETFILTER is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_IP_NF_CONNTRACK is not set +# CONFIG_IP_NF_FTP is not set +# CONFIG_IP_NF_TFTP is not set +# CONFIG_IP_NF_TALK is not set +# CONFIG_IP_NF_AMANDA is not set +# CONFIG_IP_NF_H323 is not set +# CONFIG_IP_NF_IRC is not set +# CONFIG_IP_NF_DTX8 is not set +# CONFIG_IP_NF_PT is not set +# CONFIG_IP_NF_WM is not set +# CONFIG_IP_NF_PPTP is not set +# CONFIG_IP_NF_IPSEC is not set +# CONFIG_IP_NF_RTSP is not set +# CONFIG_IP_NF_PPTP_DEBUG is not set +# CONFIG_IP_NF_QUEUE is not set +# CONFIG_IP_NF_IPTABLES is not set +# CONFIG_IP_NF_MATCH_LIMIT is not set +# CONFIG_IP_NF_MATCH_IPRANGE is not set +# CONFIG_IP_NF_MATCH_MAC is not set +# CONFIG_IP_NF_MATCH_PKTTYPE is not set +# CONFIG_IP_NF_MATCH_MARK is not set +# CONFIG_IP_NF_MATCH_MULTIPORT is not set +# CONFIG_IP_NF_MATCH_TOS is not set +# CONFIG_IP_NF_MATCH_RECENT is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_DSCP is not set +# CONFIG_IP_NF_MATCH_AH_ESP is not set +# CONFIG_IP_NF_MATCH_LENGTH is not set +# CONFIG_IP_NF_MATCH_TTL is not set +# CONFIG_IP_NF_MATCH_TCPMSS is not set +# CONFIG_IP_NF_MATCH_HELPER is not set +# CONFIG_IP_NF_MATCH_STATE is not set +CONFIG_IP_NF_MATCH_CONNLIMIT=y +# CONFIG_IP_NF_MATCH_CONNTRACK is not set +# CONFIG_IP_NF_MATCH_UNCLEAN is not set +# CONFIG_IP_NF_MATCH_OWNER is not set +# CONFIG_IP_NF_MATCH_PHYSDEV is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_MIRROR is not set +# CONFIG_IP_NF_NAT is not set +# CONFIG_IP_NF_NAT_NEEDED is not set +# CONFIG_IP_NF_TARGET_MASQUERADE is not set +# CONFIG_IP_NF_TARGET_REDIRECT is not set +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_SAME is not set +# CONFIG_IP_NF_NAT_LOCAL is not set +# CONFIG_IP_NF_NAT_TALK is not set +# CONFIG_IP_NF_NAT_H323 is not set +# CONFIG_IP_NF_NAT_SNMP_BASIC is not set +# CONFIG_IP_NF_NAT_IRC is not set +# CONFIG_IP_NF_NAT_FTP is not set +# CONFIG_IP_NF_NAT_TFTP is not set +# CONFIG_IP_NF_NAT_IPSEC is not set +# CONFIG_IP_NF_NAT_RTSP is not set +# CONFIG_IP_NF_MANGLE is not set +# CONFIG_IP_NF_TARGET_LOG is not set +# CONFIG_IP_NF_TARGET_ULOG is not set +# CONFIG_IP_NF_TARGET_TCPMSS is not set +# CONFIG_IP_NF_TARGET_TOS is not set +# CONFIG_IP_NF_TARGET_ECN is not set +# CONFIG_IP_NF_TARGET_DSCP is not set +# CONFIG_IP_NF_TARGET_FTOS is not set +# CONFIG_IP_NF_TARGET_MARK is not set +# CONFIG_IP_NF_TARGET_CLASSIFY is not set +# CONFIG_IP_NF_ARPTABLES is not set +# CONFIG_IP_NF_COMPAT_IPCHAINS is not set +# CONFIG_IP_NF_COMPAT_IPFWADM is not set +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_MATCH_ADDRTYPE is not set +# CONFIG_IP_NF_MATCH_REALM is not set + +# +# Bridge: Netfilter Configuration +# +# CONFIG_ETHWAN is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_BRIDGE_EBT_BROUTE is not set +# CONFIG_BRIDGE_EBT_T_FILTER is not set +# CONFIG_BRIDGE_EBT_T_NAT is not set +# CONFIG_BRIDGE_EBT_802_3 is not set +# CONFIG_BRIDGE_EBT_AMONG is not set +# CONFIG_BRIDGE_EBT_ARP is not set +# CONFIG_BRIDGE_EBT_IP is not set +# CONFIG_BRIDGE_EBT_LIMIT is not set +# CONFIG_BRIDGE_EBT_MARK is not set +# CONFIG_BRIDGE_EBT_PKTTYPE is not set +# CONFIG_BRIDGE_EBT_STP is not set +# CONFIG_BRIDGE_EBT_VLAN is not set +# CONFIG_BRIDGE_EBT_TIME is not set +# CONFIG_BRIDGE_EBT_ARPREPLY is not set +# CONFIG_BRIDGE_EBT_DNAT is not set +# CONFIG_BRIDGE_EBT_MARK_T is not set +# CONFIG_BRIDGE_EBT_REDIRECT is not set +# CONFIG_BRIDGE_EBT_SNAT is not set +# CONFIG_BRIDGE_EBT_FTOS_T is not set +# CONFIG_BRIDGE_EBT_LOG is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set +CONFIG_ATM=y +# CONFIG_ATM_CLIP is not set +# CONFIG_ATM_LANE is not set +CONFIG_ATM_BR2684=y +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_ATM_RT2684=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_FASTROUTE is not set +# CONFIG_NET_HW_FLOWCONTROL is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set +# CONFIG_NET_SCH_CLK_JIFFIES is not set +# NET_SCH_CLK_GETTIMEOFDAY is not set +# NET_SCH_CLK_CPU is not set +# CONFIG_NET_SCH_CBQ is not sety +# CONFIG_NET_SCH_HTB is not sety +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_CSZ is not set +# CONFIG_NET_SCH_ATM is not set +# CONFIG_NET_SCH_PRIO is not sety +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFQ is not sety +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_DELAY is not set +# CONFIG_NET_SCH_INGRESS is not set +# CONFIG_NET_QOS is not set +# CONFIG_NET_ESTIMATOR is not set +# CONFIG_NET_CLS is not sety +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_POLICE is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_CLS_IND is not set +# CONFIG_NET_CLS_ACT is not set +# CONFIG_CLS_U32_PERF is not set + + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +# CONFIG_MII is not set +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_NET_VENDOR_3COM is not set + +# +# Tulip family network device support +# +# CONFIG_NET_TULIP is not set +# CONFIG_HP100 is not set +# CONFIG_NET_PCI is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_ACENIC is not set +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SK98LIN is not set +# CONFIG_TIGON3 is not set + +# +# Ethernet (10000 Mbit) +# +# CONFIG_SLIP is not set +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set + +CONFIG_PPP=y +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_PPP_DEFLATE is not set +# CONFIG_PPP_BSDCOMP is not set +CONFIG_PPPOE=y +CONFIG_PPPOATM=y + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set +# CONFIG_STRIP is not set + +# +# Wireless 802.11b ISA/PCI cards support +# +# CONFIG_HERMES is not set +# CONFIG_ATMEL is not set + +# +# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support +# CONFIG_PRISM54 is not set + +# +# Token Ring devices +# +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TR is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set + +# +# ATM drivers +# +# CONFIG_ATM_TCP is not set +# CONFIG_ATM_LANAI is not set +# CONFIG_ATM_ENI is not set +# CONFIG_ATM_FIRESTREAM is not set +# CONFIG_ATM_ZATM is not set +# CONFIG_ATM_NICSTAR is not set +# CONFIG_ATM_IDT77252 is not set +# CONFIG_ATM_AMBASSADOR is not set +# CONFIG_ATM_HORIZON is not set +# CONFIG_ATM_IA is not set +# CONFIG_ATM_FORE200E_MAYBE is not set +# CONFIG_ATM_HE is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# + +# Amateur Radio support +# +# CONFIG_HAMRADIO is not set + +# +# IrDA (infrared) support +# +# CONFIG_IRDA is not set + +# +# Bluetooth support +# +# CONFIG_BT is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Telephony Support +# +# CONFIG_PHONE is not set + +# +# Profiling Support +# +# CONFIG_BCMPROF is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Userland interfaces +# + +# +# Input I/O drivers +# +# CONFIG_GAMEPORT is not set +# CONFIG_SOUND_GAMEPORT is not set +# CONFIG_SERIO is not set +# CONFIG_SERIO_I8042 is not set + +# +# Input Device Drivers +# + +# +# Character devices +# +# CONFIG_VT is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_UNIX98_PTYS is not set +# CONFIG_QIC02_TAPE is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=2 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_RTC is not set +# CONFIG_GEN_RTC is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_FTAPE is not set +# CONFIG_AGP is not set +# CONFIG_DRM is not set +# CONFIG_RAW_DRIVER is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Misc devices +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# + +# +# Sound +# +# CONFIG_SOUND is not set + +# +# USB support +# +# CONFIG_USB is not set +# CONFIG_USB_DEBUG is not set +# + +# Miscellaneous USB options +# +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_EHCI_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_EHCI_SPLIT_ISO is not set +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_BLUETOOTH_TTY is not set +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_STORAGE is not set + +# +# USB Human Interface Devices (HID) +# +# CONFIG_USB_HID is not set + +# +# Input core support is needed for USB HID input layer or HIDBP support +# + +# +# USB HID Boot Protocol drivers +# + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set + +# +# USB Multimedia devices +# +# CONFIG_USB_DABUSB is not set + +# +# Video4Linux support is needed for USB Multimedia device support +# + +# +# USB Network adaptors +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set + +# +# USB Host-to-Host Cables +# +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +# CONFIG_USB_BELKIN is not set +# CONFIG_USB_GENESYS is not set +# CONFIG_USB_NET1080 is not set +# CONFIG_USB_PL2301 is not set + +# +# Intelligent USB Devices/Gadgets +# +# CONFIG_USB_ARMLINUX is not set +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_ZAURUS is not set +# CONFIG_USB_CDCETHER is not set + +# +# USB Network Adapters +# +# CONFIG_USB_AX8817X is not set + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_TIGL is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_SPEEDTOUCH is not set +# CONFIG_USB_PHIDGETSERVO is not set + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# File systems +# +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_JBD is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +# CONFIG_SYSFS is not set +# CONFIG_DEVFS_FS is not set +CONFIG_TMPFS=y +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_RAMFS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_SQUASHFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_LZMA_FS_INFLATE is not set +# CONFIG_ZLIB_FS_INFLATE is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +# CONFIG_NFS_FS is not set +# CONFIG_NFS_V3 is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +# CONFIG_ROOT_NFS is not set +# CONFIG_LOCKD is not set +# CONFIG_LOCKD_V4 is not set +# CONFIG_EXPORTFS is not set +# CONFIG_SUNRPC is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_INTERMEZZO_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set + +# +# Native Language Support +# +# CONFIG_NLS is not set + +# +# Kernel hacking +# +CONFIG_CROSSCOMPILE=y +CONFIG_CMDLINE="" +# CONFIG_DEBUG_KERNEL is not set + +# +# Security options +# +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA1_Z990 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_DES_Z990 is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_AES_586 is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Library routines +# +# CONFIG_CRC32 is not set +# CONFIG_LIBCRC32C is not set diff --git a/hostTools/scripts/gendefconfig b/hostTools/scripts/gendefconfig new file mode 100644 index 0000000..bb719da --- /dev/null +++ b/hostTools/scripts/gendefconfig @@ -0,0 +1,398 @@ +#!/bin/bash + +#**************************************************************************** +# +# Copyright (c) 2001, 2002, 2003, 2004 Broadcom Corporation +# All Rights Reserved +# No portions of this material may be reproduced in any form without the +# written permission of: +# Broadcom Corporation +# 16251 Laguna Canyon Road +# Irvine, California 92618 +# All information contained in this document is Broadcom Corporation +# company private, proprietary, and trade secret. +# +#**************************************************************************** + +driver_setup () +{ + + BRCM_DRIVER_NAME=BRCM_DRIVER_$1 + eval BRCM_DRIVER_VAL=\$$BRCM_DRIVER_NAME + LINUX_CONFIG_NAME=CONFIG_BCM_"$2" + LINUX_IMPL_NAME=CONFIG_BCM9"$BRCM_CHIP"_"$2"_IMPL + + if [ "$BRCM_DRIVER_VAL" != "" ]; then + SEDCMD="$SEDCMD -e 's/# $LINUX_CONFIG_NAME is not set/$LINUX_CONFIG_NAME="$BRCM_DRIVER_VAL"/'" + fi + SEDCMD="$SEDCMD -e 's/# "$LINUX_IMPL_NAME"/"$LINUX_CONFIG_NAME"_IMPL/'" +} + + +netfilter_setup () +{ + + SEDCMD="$SEDCMD -e 's/# CONFIG_IP_NF_"$1" is not set/CONFIG_IP_NF_"$1"="$2"/'" + +} + +general_setup () +{ + + SEDCMD="$SEDCMD -e 's/# "$1" is not set/"$1"="$2"/'" + +} + +TEMPLATE=$HOSTTOOLS_DIR/scripts/defconfig-bcm.template +#TEMPLATE=defconfig-bcm.template + +. $1 + +############################################################ +# Driver config generation +############################################################ + +SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP" is not set/CONFIG_BCM9"$BRCM_CHIP"=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_BOARD is not set/CONFIG_BCM_BOARD=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP"_BOARD_IMPL/CONFIG_BCM_BOARD_IMPL/'" + +driver_setup "ATM" "ATMAPI" + +driver_setup "ATM" "BLAA" + +# 63xx Chip ATM Diagnostic +if [ "$BUILD_DIAGAPP" != "" ]; then + general_setup CONFIG_BCM_ATMTEST $BRCM_DRIVER_ATM +fi +SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP"_ATMTEST_IMPL/CONFIG_BCM_ATMTEST_IMPL/'" + +driver_setup "ADSL" "ADSL" + +driver_setup "ETHERNET" "ENET" + +driver_setup "USB" "USB" + +driver_setup "WIRELESS" "WLAN" +if [ "$BRCM_DRIVER_WIRELESS" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_RADIO is not set/CONFIG_NET_RADIO=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_HOTPLUG is not set/CONFIG_HOTPLUG=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_SYSFS is not set/CONFIG_SYSFS=y/'" +if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'" +fi +fi + +if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then +driver_setup "PCI" "PCI" +if [ "$BRCM_DRIVER_PCI" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'" +fi +fi + +if [ "$LINUX_DRIVER_USB_HOST" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_USB is not set/CONFIG_USB=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_USB_OHCI_HCD is not set/CONFIG_USB_OHCI_HCD=y/'" +if [ "$BRCM_CHIP" != "6348" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_USB_EHCI_HCD is not set/CONFIG_USB_EHCI_HCD=y/'" +fi + SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_USB_PRINTER is not set/CONFIG_USB_PRINTER=y/'" +if [ "$LINUX_DRIVER_CDCETHER" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_USB_USBNET is not set/CONFIG_USB_USBNET=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_USB_CDCETHER is not set/CONFIG_USB_CDCETHER=y/'" +fi +fi + +driver_setup "VDSL" "VDSL" + +driver_setup "PHONE" "ENDPOINT" + +driver_setup "BCMPROF" "BCMPROF" + +driver_setup "HPNA" "HPNA" + +driver_setup "SECURITY" "SECURITY" + +driver_setup "PROCFS" "PROCFS" + +driver_setup "SERIAL" "SERIAL" + +# CFI Not needed anymore and all flash sectores used for rootfs are treated as ROM +# CFI only used by JFFS2 +if [ "$BRCM_KERNEL_ROOTFS" = "squashfs" -o "$BRCM_KERNEL_ROOTFS" = "cramfs" ]; then + + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BLOCK_RO is not set/CONFIG_MTD_BLOCK_RO=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BCM963XX is not set/CONFIG_MTD_BCM963XX=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_ROM is not set/CONFIG_MTD_ROM=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_COMPLEX_MAPPINGS is not set/CONFIG_MTD_COMPLEX_MAPPINGS=y/'" + +elif [ "$BRCM_KERNEL_ROOTFS" = "jffs2" ]; then + + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BLOCK is not set/CONFIG_MTD_BLOCK=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PARTITIONS is not set/CONFIG_MTD_PARTITIONS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI is not set/CONFIG_MTD_CFI=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_JEDECPROBE is not set/CONFIG_MTD_JEDECPROBE=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_GEN_PROBE is not set/CONFIG_MTD_GEN_PROBE=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_ADV_OPTIONS is not set/CONFIG_MTD_CFI_ADV_OPTIONS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_NOSWAP is not set/CONFIG_MTD_CFI_NOSWAP=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_B1 is not set/CONFIG_MTD_CFI_B1=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_B2 is not set/CONFIG_MTD_CFI_B2=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_I2 is not set/CONFIG_MTD_CFI_I1=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_I2 is not set/CONFIG_MTD_CFI_I2=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_AMDSTD is not set/CONFIG_MTD_CFI_AMDSTD=y/'" +# Change Mbytes to bytes in Hex + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP is not set/CONFIG_MTD_PHYSMAP=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_START is not set/CONFIG_MTD_PHYSMAP_START=BFC00000/'" + BRCM_FLASH_SIZE=$(($BRCM_FLASH_SIZE*100000)) + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_LEN is not set/CONFIG_MTD_PHYSMAP_LEN="$BRCM_FLASH_SIZE"/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_BUSWIDTH is not set/CONFIG_MTD_PHYSMAP_BUSWIDTH=2/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_COMPLEX_MAPPINGS is not set/CONFIG_MTD_COMPLEX_MAPPINGS=y/'" +fi + + +############################################################ +# Root file system config generation +############################################################ +if [ "$BRCM_KERNEL_ROOTFS" = "nfs" ]; then + SEDCMD="$SEDCMD -e 's/CONFIG_BCM_ENET=m/CONFIG_BCM_ENET=y/'" + SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_NFS_DIR is not set?CONFIG_ROOT_NFS_DIR=\"$PROFILE_DIR/fs\"?'" + SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_NFS is not set/CONFIG_ROOTFS_NFS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_NFS_FS is not set/CONFIG_NFS_FS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_ROOT_NFS is not set/CONFIG_ROOT_NFS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_IP_PNP is not set/CONFIG_IP_PNP=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_SUNRPC is not set/CONFIG_SUNRPC=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_LOCKD is not set/CONFIG_LOCKD=y/'" +elif [ "$BRCM_KERNEL_ROOTFS" = "jffs2" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_JFFS2 is not set/CONFIG_ROOTFS_JFFS2=y/'" + #ROOTDEV="root=/dev/mtdblock2 ro" + ROOTDEV="root=31:2 ro noinitrd" + SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_FLASHFS is not set?CONFIG_ROOT_FLASHFS=\"$ROOTDEV\"?'" + SEDCMD="$SEDCMD -e 's/# CONFIG_JFFS2_FS is not set/CONFIG_JFFS2_FS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_JFFS2_FS_DEBUG/CONFIG_JFFS2_FS_DEBUG/'" +else + if [ "$BRCM_KERNEL_ROOTFS" = "squashfs" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_SQUASHFS is not set/CONFIG_ROOTFS_SQUASHFS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_SQUASHFS is not set/CONFIG_SQUASHFS=y/'" + #SEDCMD="$SEDCMD -e 's/# CONFIG_ZLIB_FS_INFLATE is not set/CONFIG_ZLIB_FS_INFLATE=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_LZMA_FS_INFLATE is not set/CONFIG_LZMA_FS_INFLATE=y/'" + fi + if [ "$BRCM_KERNEL_ROOTFS" = "cramfs" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_CRAMFS is not set/CONFIG_ROOTFS_CRAMFS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_CRAMFS is not set/CONFIG_CRAMFS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_LZMA_FS_INFLATE is not set/CONFIG_LZMA_FS_INFLATE=y/'" + fi + + #ROOTDEV="root=/dev/mtdblock0 ro noinitrd" + ROOTDEV="root=31:0 ro noinitrd" + SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_FLASHFS is not set?CONFIG_ROOT_FLASHFS=\"$ROOTDEV\"?'" +fi + + +############################################################ +# Kernel Debug config generation +############################################################ + +if [ "$BRCM_KERNEL_DEBUG" = "y" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_REMOTE_DEBUG is not set/CONFIG_REMOTE_DEBUG=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_GDB_CONSOLE is not set/CONFIG_GDB_CONSOLE=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS is not set/CONFIG_KALLSYMS=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS_EXTRA_PASS is not set/CONFIG_KALLSYMS_EXTRA_PASS=y/'" +fi + + +############################################################ +# Kernel preemption +############################################################ + +if [ "$BRCM_KERNEL_PREEMPT" = "y" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_PREEMPT is not set/CONFIG_PREEMPT=y/'" +fi + + +############################################################ +# Netfilter config generation +############################################################ +NETFILTER_MODULES="CONNTRACK FTP TFTP TALK H323 IRC PPTP IPSEC DTX8 WM PT IPTABLES \ + MATCH_STATE MATCH_LIMIT MATCH_MARK RTSP \ + FILTER MANGLE NAT NAT_NEEDED NAT_TALK NAT_H323 NAT_SNMP_BASIC NAT_IRC NAT_FTP NAT_TFTP \ + TARGET_MASQUERADE TARGET_REDIRECT TARGET_LOG TARGET_TCPMSS TARGET_FTOS TARGET_MARK" + +NF_FIREWALL_MODULES="IPTABLES MATCH_STATE MATCH_LIMIT FILTER TARGET_TCPMSS" + +NF_MANGLE_MODULES="MANGLE MATCH_MARK TARGET_FTOS TARGET_MARK" + +NF_NAT_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED TARGET_MASQUERADE TARGET_REDIRECT" + +NF_PPPREMOTE_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED FILTER TARGET_TCPMSS MATCH_LIMIT" + +ALGS="FTP TFTP TALK H323 IRC PPTP IPSEC SNMP DTX8 WM PT RTSP" +FTP_ALG_MODULES="FTP NAT_FTP" +TFTP_ALG_MODULES="TFTP NAT_TFTP" +H323_ALG_MODULES="H323 NAT_H323" +IRC_ALG_MODULES="IRC NAT_IRC" +DTX8_ALG_MODULES="DTX8" +WM_ALG_MODULES="WM" +PT_ALG_MODULES="PT" +PPTP_ALG_MODULES="PPTP" +IPSEC_ALG_MODULES="IPSEC" +RTSP_ALG_MODULES="RTSP" +SNMP_ALG_MODULES="NAT_SNMP_BASIC" +TALK_ALG_MODULES="TALK NAT_TALK" + + +NF_LOG_MODULES="TARGET_LOG" + + +if [ "$BRCM_KERNEL_NETFILTER" != "" ]; then +# for mod in $NETFILTER_MODULES; do +# netfilter_setup $mod $BRCM_KERNEL_NETFILTER +# done + # set up firewall related modules + if [ "$BRCM_KERNEL_NF_FIREWALL" != "" ]; then + for mod in $NF_FIREWALL_MODULES; do + netfilter_setup $mod $BRCM_KERNEL_NF_FIREWALL + done + fi + + # set up packet mangling related modules + if [ "$BRCM_KERNEL_NF_MANGLE" != "" ]; then + for mod in $NF_MANGLE_MODULES; do + netfilter_setup $mod $BRCM_KERNEL_NF_MANGLE + done + fi + + # set up NAT related modules + if [ "$BRCM_KERNEL_NF_NAT" != "" ]; then + # set up required NAT modules + for mod in $NF_NAT_MODULES; do + netfilter_setup $mod $BRCM_KERNEL_NF_NAT + done + #set up ALGs + for alg in $ALGS; do + ALG_NAME=BRCM_KERNEL_NF_NAT_ALG_"$alg" + ALG_MODULE_NAME="$alg"_ALG_MODULES + eval ALG_VAL=\$$ALG_NAME + eval ALG_MODULE_VAL=\$$ALG_MODULE_NAME + if [ "$ALG_VAL" != "" ]; then + for mod in $ALG_MODULE_VAL; do + netfilter_setup $mod $ALG_VAL + done + fi + done + fi + + # set up logging module + if [ "$BRCM_KERNEL_NF_LOG" != "" ]; then + for mod in $NF_LOG_MODULES; do + netfilter_setup $mod $BRCM_KERNEL_NF_LOG + done + fi + + # set up special remote access support modules in PPP IP extension mode + if [ "$BRCM_KERNEL_NF_PPPREMOTE" != "" ]; then + for mod in $NF_PPPREMOTE_MODULES; do + netfilter_setup $mod $BRCM_KERNEL_NF_PPPREMOTE + done + fi + +fi + +############################################################ +# Cryptographic config generation +############################################################ +if [ "$BRCM_KERNEL_CRYPTO" != "" ]; then + + # set up networking options + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_KEY is not set/CONFIG_NET_KEY=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_INET_AH is not set/CONFIG_INET_AH=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_INET_ESP is not set/CONFIG_INET_ESP=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_XFRM_USER is not set/CONFIG_XFRM_USER=y/'" + + # set up cryptographic options + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO is not set/CONFIG_CRYPTO=y/'" + if [ "$BRCM_KERNEL_CRYPTO_HMAC" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_HMAC is not set/CONFIG_CRYPTO_HMAC=y/'" + fi + if [ "$BRCM_KERNEL_CRYPTO_NULL" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_NULL is not set/CONFIG_CRYPTO_NULL=y/'" + fi + if [ "$BRCM_KERNEL_CRYPTO_MD5" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_MD5 is not set/CONFIG_CRYPTO_MD5=y/'" + fi + if [ "$BRCM_KERNEL_CRYPTO_SHA1" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_SHA1 is not set/CONFIG_CRYPTO_SHA1=y/'" + fi + if [ "$BRCM_KERNEL_CRYPTO_DES" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_DES is not set/CONFIG_CRYPTO_DES=y/'" + fi + if [ "$BRCM_KERNEL_CRYPTO_AES" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_AES is not set/CONFIG_CRYPTO_AES=y/'" + fi +fi + +############################################################ +# Bridge Layer filter config generation +############################################################ +if [ "$BUILD_EBTABLES" != "" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_NF_EBTABLES is not set/CONFIG_BRIDGE_NF_EBTABLES=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_T_FILTER is not set/CONFIG_BRIDGE_EBT_T_FILTER=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_BROUTE is not set/CONFIG_BRIDGE_EBT_BROUTE=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_IP is not set/CONFIG_BRIDGE_EBT_IP=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_VLAN is not set/CONFIG_BRIDGE_EBT_VLAN=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_TIME is not set/CONFIG_BRIDGE_EBT_TIME=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_MARK_T is not set/CONFIG_BRIDGE_EBT_MARK_T=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_FTOS_T is not set/CONFIG_BRIDGE_EBT_FTOS_T=y/'" +fi + +############################################################ +# IGMP PROXY filter config generation +############################################################ +if [ "$BUILD_IGMP" != "" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_IP_MROUTE is not set/CONFIG_IP_MROUTE=y/'" +SEDCMD="$SEDCMD -e 's/# CONFIG_IP_MULTICAST is not set/CONFIG_IP_MULTICAST=y/'" +fi + +############################################################ +# Network QoS config generation +############################################################ +if [ "$BRCM_KERNEL_NETQOS" != "" ]; then + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCHED is not set/CONFIG_NET_SCHED=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCH_CLK_JIFFIES is not set/CONFIG_NET_SCH_CLK_JIFFIES=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS is not set/CONFIG_NET_CLS=y/'" + SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS_POLICE is not set/CONFIG_NET_CLS_POLICE=y/'" + general_setup CONFIG_NET_SCH_CBQ $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_SCH_HTB $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_SCH_PRIO $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_SCH_SFQ $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_CLS_FW $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_CLS_U32 $BRCM_KERNEL_NETQOS + general_setup CONFIG_NET_CLS_POLICE $BRCM_KERNEL_NETQOS +fi + +############################################################ +# VLAN config generation +############################################################ +if [ "$BUILD_VCONFIG" != "" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_VLAN_8021Q is not set/CONFIG_VLAN_8021Q=y/'" +fi + +############################################################ +# WAN operation over Ethernet +############################################################ +if [ "$BUILD_ETHWAN" != "" ]; then +SEDCMD="$SEDCMD -e 's/# CONFIG_ETHWAN is not set/CONFIG_ETHWAN=y/'" +fi + +############################################################ +# PTHREADS support +############################################################ +if [ "$BRCM_PTHREADS" != "" ]; then + general_setup CONFIG_BRCM_USING_PTHREADS $BRCM_PTHREADS +fi + +gen="sed $SEDCMD $TEMPLATE" +#echo $gen +#eval $gen +eval $gen > $KERNEL_DIR/arch/mips/defconfig + + diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt new file mode 100644 index 0000000..b1924ed --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt @@ -0,0 +1,10 @@ +load \CommEngine\cfe +load \CommEngine\docs +load \CommEngine\hostTools +load \CommEngine\Makefile +load \CommEngine\release +load \CommEngine\toolChains +load \CommEngine\sgibcm_2_4_17 +load \CommEngine\targets +load \CommEngine\userapps +load \CommEngine\xChange diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt new file mode 100644 index 0000000..b60daae --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt @@ -0,0 +1,108 @@ +load \ldx_apps\apps\buildHostLib.sh +load \ldx_apps\apps\chip3341_common/ +load \ldx_apps\apps\dsl_setenv.bat +load \ldx_apps\apps\dspApp3341 +load \ldx_apps\apps\dspApp3341_7231_729a_726/ +load \ldx_apps\apps\dspApp3341_faxr2 +load \ldx_apps\apps\dspApp3341_fxo_ext +load \ldx_apps\apps\dspApp3341_tdm_ext +load \ldx_apps\apps\dspApp3341_tdm_conf +load \ldx_apps\apps\dspApp3341_tdm_faxr2_ext +load \ldx_apps\apps\refApp_3341_common +load \ldx_apps\apps\refApp_3341_common_dsl_tdm +load \ldx_apps\apps\refApp_3341_common_dsl_fxo +load \ldx_apps\apps\dspApp3368/ +load \ldx_apps\apps\dspApp3368_super/ +load \ldx_apps\apps\dspApp6358/ +load \ldx_apps\apps\hausware_libs_gateway_distdsp/ +load \ldx_apps\apps\hausware_libs_gateway_distdsp_dsl_tdm +load \ldx_apps\apps\hausware_libs_gateway_distdsp_dsl_fxo +load \ldx_apps\apps\hausware_libs_gateway_disthost_33xx/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_6358/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_tdm +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_fxo +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_dualdsp +load \ldx_apps\apps\hostApp_6348gw +load \ldx_apps\apps\ldxApps.mk +load \ldx_apps\apps\makefile +load \ldx_apps\apps\readme.txt +load \ldx_apps\apps\refApp_3341_common/ +load \ldx_apps\apps\setenv.bash +load \ldx_apps\apps\setenv.bat +load \ldx_apps\common +load \ldx_apps\makefile + +load \ldx_apps\common\inc +load \ldx_apps\common\source\hal_3341 +load \ldx_apps\common\source\hal_3341tdm +load \ldx_apps\common\source\hal_3341_hybrid +load \ldx_apps\common\source\hal_6358_dsp +load \ldx_apps\common\source\hal_3368_dsp +load \ldx_apps\common\source\resample +load \ldx_apps\common\commoncode.mak +load \ldx_apps\common\commoncode_targets.mak +load \ldx_apps\drivers + +#load \voice_res_gw +load \voice_res_gw\boardHal\inc +load \voice_res_gw\boardHal\src\bcm6348_Le9502FXO +load \voice_res_gw\boardHal\src\bcm6348_Le9500FXO +load \voice_res_gw\boardHal\src\bcm6348gw +load \voice_res_gw\boardHal\src\bcm6348gw_pcm +load \voice_res_gw\boardHal\src\bcm6358vw +load \voice_res_gw\boardHal\src\common +load \voice_res_gw\boardHal\src\common3368 +load \voice_res_gw\boardHal\src\common6358 +load \voice_res_gw\boardHal\src\common6348 +load \voice_res_gw\boardHal\src\sim +load \voice_res_gw\casCtl +load \voice_res_gw\classStm +load \voice_res_gw\cmtdCtl +load \voice_res_gw\codec +load \voice_res_gw\endpt +load \voice_res_gw\hdsp +load \voice_res_gw\heartbeat +load \voice_res_gw\inc +load \voice_res_gw\lhapi +load \voice_res_gw\pstnCtl +load \voice_res_gw\tpdCtl +load \voice_res_gw\voice_res_gw.mk +load \voice_res_gw\voice_res_gw_env.mk +load \voice_res_gw\voice_res_gw_targets.mk + +load \xchg_common\assert +load \xchg_common\blog +load \xchg_common\bos +load \xchg_common\containers +load \xchg_common\crt +load \xchg_common\mem +load \xchg_common\rules +load \xchg_common\sme +load \xchg_common\str +load \xchg_common\tools\bin +load \xchg_common\trace +load \xchg_common\xchg_common.mk +load \xchg_common\xchg_common_app_template.mk +load \xchg_common\xchg_common_env.mk +load \xchg_common\xchg_common_targets.mk + +#load \xchg_drivers +load \xchg_drivers\arch +load \xchg_drivers\bcm3341 +load \xchg_drivers\bcm6348 +load \xchg_drivers\bcm3368 +load \xchg_drivers\bcm6358 +load \xchg_drivers\bcm63xx +load \xchg_drivers\bcm33xx +load \xchg_drivers\inc +load \xchg_drivers\xchg_drivers.mk +load \xchg_drivers\xchg_drivers_env.mk +load \xchg_drivers\xchg_drivers_targets.mk + +load \prot_callctrl + +load \ldx_tools +load \ldx_hausware +#load \zOEMtools_gnu_mips_elf +#load \zOEMtools_zsp \ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt new file mode 100644 index 0000000..b59dfcd --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt @@ -0,0 +1,89 @@ +load \ldx_apps\makefile +load \ldx_apps\apps\buildHostLib.sh +load \ldx_apps\apps\dsl_setenv.bat +load \ldx_apps\apps\ldxApps.mk +load \ldx_apps\apps\makefile +load \ldx_apps\apps\readme.txt +load \ldx_apps\apps\setenv.bat +load \ldx_apps\apps\chip3341_common +load \ldx_apps\apps\dspApp3341 +load \ldx_apps\apps\dspApp3341_ext +load \ldx_apps\apps\dspApp3341_faxr +load \ldx_apps\apps\dspApp3341_faxrinternal +load \ldx_apps\apps\dspApp3341_fxo +load \ldx_apps\apps\dspApp3341_fxo_ext +load \ldx_apps\apps\dspApp3341_hybrid +load \ldx_apps\apps\dspApp3341_hybrid_ext +load \ldx_apps\apps\dspApp3341_hybrid_fxo_ext +load \ldx_apps\apps\dspApp3341_tdm +load \ldx_apps\apps\xtp6348_hausware_libs +load \ldx_apps\apps\xtp6348fxo_hausware_libs +load \ldx_apps\apps\xtp6348hybrid_hausware_libs +load \ldx_apps\apps\xtp6348hybrid_fxo_hausware_libs +load \ldx_apps\apps\xtp6348tdm_hausware_libs +load \ldx_apps\common\source\hal_3341 +load \ldx_apps\common\source\hal_3341_hybrid +load \ldx_apps\common\source\hal_3341tdm +load \ldx_apps\common\source\resample +load \ldx_apps\common\inc\dspImageArchive.h +load \ldx_apps\common\inc\hal3341.h +load \ldx_apps\common\inc\hal3341hybrid.h +load \ldx_apps\common\inc\hal3341tdm.h +load \ldx_apps\common\inc\hal_ipc.h +load \ldx_apps\common\inc\hal_ipc_slave.h +load \ldx_apps\common\inc\resample.h +load \ldx_apps\common\commoncode_targets.mak +load \ldx_apps\common\commoncode.mak +load \ldx_apps\drivers\drivers.mak +load \ldx_apps\drivers\drivers_targets.mak + +load \ldx_hausware\ldxhausware.cfg +load \ldx_hausware\makefile +load \ldx_hausware\hausware + +load \ldx_tools + +load \voice_res_gw\battCtl +load \voice_res_gw\boardHal\inc +load \voice_res_gw\boardHal\src\bcm6348gw +load \voice_res_gw\boardHal\src\bcm6345gw +load \voice_res_gw\boardHal\src\bcm6348gw_pcm +load \voice_res_gw\boardHal\src\bcm6348LE9502 +load \voice_res_gw\boardHal\src\bcm6348gw_hybrid +load \voice_res_gw\boardHal\src\bcm6348lv +load \voice_res_gw\boardHal\src\bcm6348_Le9502FXO +load \voice_res_gw\boardHal\src\bcm6348_Le9500FXO +load \voice_res_gw\boardHal\src\common +load \voice_res_gw\casCtl +load \voice_res_gw\classStm +load \voice_res_gw\codec +load \voice_res_gw\cmtdCtl +load \voice_res_gw\endpt +load \voice_res_gw\hdsp +load \voice_res_gw\inc +load \voice_res_gw\lhapi +load \voice_res_gw\pstnCtl +load \voice_res_gw\voice_res_gw.mk +load \voice_res_gw\voice_res_gw_env.mk +load \voice_res_gw\voice_res_gw_targets.mk + +load \xchg_common\assert +load \xchg_common\bos +load \xchg_common\containers +load \xchg_common\crt +load \xchg_common\mem +load \xchg_common\rules +load \xchg_common\sme +load \xchg_common\str +load \xchg_common\tools\bin +load \xchg_common\trace +load \xchg_common\xchg_common.mk +load \xchg_common\xchg_common_app_template.mk +load \xchg_common\xchg_common_env.mk +load \xchg_common\xchg_common_targets.mk + +load \xchg_drivers + +#load \zOEMtools_zsp + + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh b/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh new file mode 100644 index 0000000..45a24ab --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh @@ -0,0 +1,133 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nb_getsrc.sh +# Purpose: Gets the CxC source code form Source Control Database +# Arguments: $1 = 0 - get minnimum latest source code without labeling +# = 1 - label and get full source code +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +export CXNB_BASECC_LOG_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_LOG_PATH}") +export CXNB_BASECC_SRC_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_SRC_PATH}") +export CXNB_BASECC_VIEW_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_VIEW_PATH}") +export CXNB_BASECC_CC_LRULES_CYGPATH=$(cygpath -u "${CXNB_BASECC_LRULES_PATH}") + +mkdir -p ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL} + +cxcFullLoad=$1 + +if [ "${cxcFullLoad}" = "0" ] +then + if [ "${CXNB_CFG_PREBUILD}" = "no" -o "${CXNB_CFG_PREBUILD_GETSRC}" = "no" ] + then + echo "Skipping prebuild source update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +else + if [ "${CXNB_CFG_BUILD}" = "no" -o "${CXNB_CFG_BUILD_GETSRC}" = "no" ] + then + echo "Skipping source update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +fi + +# echo "Removing directory at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +# rm -f -R ${CXNB_BASECC_SRC_PATH} +# echo "Finished Removing directory at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_BASECC_SRC_PATH} +# echo "Finished makeing new directories at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +if [ "${cxcFullLoad}" = "1" ] +then + #echo "Labeling code at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + #ss label $/${VSS_PROJ_PATH} -L"CXNB_${CXNB_LABEL}" "-Cnightly build" -I-Y + #echo "Finished Labeling code at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + echo "Starting Full CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Starting Minimum CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +fi + +# Get the source from CC. Predefined load rules determine what gets loaded +cd ${CXNB_BASECC_VIEW_PATH} + #record baselines of build + echo " " >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Nightly build Build Configuration: " >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo " " >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsstream -cview -fmt "Project %[project]p\nStream %[name]p\n" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Modifiable Components:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsproject -cview -fmt "\t%[mod_comps]p\n" | sed -e 's/ /\n\t/g' | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Recommended Baselines:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[rec_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Foundation Baselines:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[found_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + #update load rules in the config spec + + #get the original config spec + cleartool catcs >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt + #extract the original load rules + if [ "${CXNB_CFG_CC_CONFIGSPEC_UPDATE}" = "yes" ] + then + loadRulesFile=${CXNB_BASECC_CC_LRULES_CYGPATH}/cxcLoadRules.txt + if [ -e "${loadRulesFile}" ] + then + updateRules=0; + grep '^load' ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt + diff -b ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt ${loadRulesFile} || updateRules=1 + rm -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt + if [ "${updateRules}" = "1" ] + then + echo "CC Config Spec updated at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + #remove load rules from the original config spec + grep -v '^load' ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #append new load rules to the config spec + cat ${loadRulesFile}>>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #update the config spec + mv -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt . + cleartool setcs cc_new_cs.txt << EOF +y +EOF + mv -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.old + mv -f ./cc_new_cs.txt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt + fi + else + echo "ERROR: Could not find default load rules ${loadRulesFile}" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + echo + fi + fi + + #update the view + cleartool update -force -overwrite << EOF + y +EOF + +if [ "${cxcFullLoad}" = "1" ] +then + echo "Finished Full CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Finished Minimum CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +fi + + +# copy everything to a build location (shorter path name) to avoid +# problems with long paths that some tools might have +echo "Copying files to build location started at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +cp -f -R * ${CXNB_BASECC_SRC_PATH} +echo "Copying files to build location finished at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh b/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh new file mode 100644 index 0000000..64c75d1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh @@ -0,0 +1,133 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nb_getsrc.sh +# Purpose: Gets the CxC source code form Source Control Database +# Arguments: $1 = 0 - get minnimum latest source code without labeling +# = 1 - label and get full source code +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}") +export CXNB_SRC_PATH=$(cygpath -u "${CXNB_LOCAL_SRC_PATH}") +export CXNB_VIEW_PATH=$(cygpath -u "${CXNB_LOCAL_VIEW_PATH}") +export CXNB_CC_LRULES_CYGPATH=$(cygpath -u "${CXNB_CC_LRULES_PATH}") + +mkdir -p ${CXNB_LOG_PATH}/${CXNB_LABEL} + +cxcFullLoad=$1 + +if [ "${cxcFullLoad}" = "0" ] +then + if [ "${CXNB_CFG_PREBUILD}" = "no" -o "${CXNB_CFG_PREBUILD_GETSRC}" = "no" ] + then + echo "Skipping prebuild source update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +else + if [ "${CXNB_CFG_BUILD}" = "no" -o "${CXNB_CFG_BUILD_GETSRC}" = "no" ] + then + echo "Skipping source update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +fi + +# echo "Removing directory at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +# rm -f -R ${CXNB_SRC_PATH} +# echo "Finished Removing directory at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_SRC_PATH} +# echo "Finished makeing new directories at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +if [ "${cxcFullLoad}" = "1" ] +then + #echo "Labeling code at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + #ss label $/${VSS_PROJ_PATH} -L"CXNB_${CXNB_LABEL}" "-Cnightly build" -I-Y + #echo "Finished Labeling code at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + echo "Starting Full CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Starting Minimum CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +fi + +# Get the source from CC. Predefined load rules determine what gets loaded +cd ${CXNB_VIEW_PATH} + #record baselines of build + echo " " >${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Nightly build Build Configuration: " >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo " " >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsstream -cview -fmt "Project %[project]p\nStream %[name]p\n" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Modifiable Components:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsproject -cview -fmt "\t%[mod_comps]p\n" | sed -e 's/ /\n\t/g' | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Recommended Baselines:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[rec_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Foundation Baselines:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[found_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + #update load rules in the config spec + + #get the original config spec + cleartool catcs >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt + #extract the original load rules + if [ "${CXNB_CFG_CC_CONFIGSPEC_UPDATE}" = "yes" ] + then + loadRulesFile=${CXNB_CC_LRULES_CYGPATH}/cxcLoadRules.txt + if [ -e "${loadRulesFile}" ] + then + updateRules=0; + grep '^load' ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt + diff -b ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt ${loadRulesFile} || updateRules=1 + rm -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt + if [ "${updateRules}" = "1" ] + then + echo "CC Config Spec updated at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + #remove load rules from the original config spec + grep -v '^load' ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #append new load rules to the config spec + cat ${loadRulesFile}>>${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #update the config spec + mv -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt . + cleartool setcs cc_new_cs.txt << EOF +y +EOF + mv -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.old + mv -f ./cc_new_cs.txt ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt + fi + else + echo "ERROR: Could not find default load rules ${loadRulesFile}" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + echo + fi + fi + + #update the view + cleartool update -force -overwrite << EOF + y +EOF + +if [ "${cxcFullLoad}" = "1" ] +then + echo "Finished Full CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Finished Minimum CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +fi + + +# copy everything to a build location (shorter path name) to avoid +# problems with long paths that some tools might have +echo "Copying files to build location started at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +cp -f -R * ${CXNB_SRC_PATH} +echo "Copying files to build location finished at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat new file mode 100644 index 0000000..4756559 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat @@ -0,0 +1,13 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_app.bat +:: Purpose: Nightly Build and Regression testing application script +:: (builds target application and runs tests on it) +:: Arguments: %1 - target CxC app to build and test +:: %2 - target OS +::------------------------------------------------------------------------------ + +cmd.exe /c cxc_nbrt_build.bat %1 %2 +:: cmd.exe /c cxc_nbrt_test.bat %1 %2 + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat new file mode 100644 index 0000000..5ec6804 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat @@ -0,0 +1,33 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_build.bat +:: Purpose: CxC Nightly Build script (builds and saves CxC images) +:: Arguments: %1 - target CxC app to build +:: %2 - target OS to build the app for +::------------------------------------------------------------------------------ + +if "%2" == "" goto argsError + +set cxnb_build_target=%1 +set cxnb_build_os=%2 + +:: Setup nbrt environment variables specific for this target +call cxc_nbrt_cfg.bat %cxnb_build_target% %cxnb_build_os% + +if "%CXNB_CFG_BUILD%" == "no" goto theend + +bash -C lnx_nbrt_build.sh >> %CXNB_OUTPUT_DIR%\build.log + +goto theend + +:argsError +echo cxc_nbrt_build error: Insufficient arguments arg1=%1; arg2=%2; >>%CXNB_OUTPUT_DIR%\build.log +goto theend + +:theend +set cxnb_build_target= +set cxnb_build_os= +set cxnb_local_output_dir= +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh new file mode 100644 index 0000000..2689b21 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh @@ -0,0 +1,129 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_postprocess.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +cxcOsType=$1 + +export CXNB_BASECC_LOG_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_LOG_PATH}") +export CXNB_BASECC_LOCAL_SRC_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_SRC_PATH}") + +echo "Postprocessing at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} +cd ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} + +mkdir -p buildlogs +# mkdir -p deps/buildlogs +# mkdir -p debug +# mv -f *.map debug +# mv -f *_sym.bin debug +# mv -f *.txt buildlogs +# mv -f deps/*.txt deps/buildlogs + +# cp -f -v ${CXNB_BASECC_SRC_PATH}/cablex_tools/dev/callagent/callagent.exe ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +# cp -f -v ${CXNB_BASECC_SRC_PATH}/cablex_tools/dev/callagent/hhca.cfg ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_BASECC_SRC_PATH}/update*.updt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build*.log ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/ + + +if [ "${CXNB_CFG_SENDMAIL}" = "yes" ] +then + appendFiles= + attachments="build.log.gz cc_ce_config_spec.txt" + + if [ "${CXNB_CFG_BUILD_GETSRC}" = "yes" ] + then + appendFiles="${appendFiles} buildlogs/buildconfig.log" + fi + + echo $appendFiles + + recipients="vmarkovski@broadcom.com,jnicol@broadcom.com" + + echo "------------------------------------------------------------------------">email.txt + echo "CxC Nightly Build summary " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + # NOTE: The following greps are dependent on the printouts + # for the Linux commands through the expect script lnx_nbrt_basic_cmds.exp + total=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM" buildlogs/build.log` + fail=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM.*failed" buildlogs/build.log` + pass=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM.*succeeded" buildlogs/build.log` + echo "Total of $total DSL CommEngine apps built: $pass passed, $fail failed. " >>email.txt + grep "The Linux command \"make PROFILE=9634.*GWV BRCM.*failed" buildlogs/build.log >>email.txt + echo " " >>email.txt + grep "The Linux command \"make PROFILE=9634.*GWV BRCM.*succeeded" buildlogs/build.log >>email.txt + echo " " >>email.txt + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build auto-update activity " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + grep "CC Config Spec" ./../build.log >> email.txt || echo "No config spec update." >> email.txt + echo " " >>email.txt + + if [ -n "${appendFiles}" ] + then + for file in ${appendFiles} + do + if [ -e "${file}" ] + then + cat ${file} >> email.txt + else + echo "POSTPROCESSING ERROR: could not find ${file}!" >>email.txt + fi + done + fi + echo " " >>email.txt + + if [ -e "./../cc_config_spec.old" ] + then + attachments="${attachments} cc_config_spec.old" + fi + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build images, logs and source code for ${CXNB_EMAIL_DATE}:" >> email.txt + echo "------------------------------------------------------------------------">>email.txt + echo "Last night's nightly build source code can be found at:" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}) >> email.txt + echo "Nightly build images can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}/images) >> email.txt + # echo "Nightly build map files and symbol table images can be found at" >> email.txt + # echo $(cygpath -w //${UNIX_TESTCOMPUTER}/cxnb/cxlogs/${CXNB_UCMCC_PROJECT}/${CXNB_LABEL}/${cxcOsType}/debug) >> email.txt + echo "Nightly build logs can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs) >> email.txt + # echo $(cygpath -w //${CXNB_BASECC_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/deps/buildlogs) >> email.txt + + #note: blat doesnt work from UNC directories so copy everything to a local directory + + echo "Finished postprocessing at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/build.log + gzip ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/build.log + gzip ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + + for file in ${attachments} + do + cp -f ./../${file} . + done + + attachList="" + for file in ${attachments} + do + attachList="${attachList} -attach ${file}" + done + + blat email.txt -t ${recipients} -s "${CXNB_BASECC_PROJECT} Nightly Build results for ${CXNB_EMAIL_DATE}" ${attachList} + rm -f ${attachments} +fi + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat new file mode 100644 index 0000000..fc288c1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat @@ -0,0 +1,117 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_cfg.bat +:: Purpose: Configuration file for CablexChange Nightly Build & Regression +:: Testing scripts +:: Arguments: %1 - CxC target to set the environment for +:: %2 - OS to set the environment for +::------------------------------------------------------------------------------ +set cxc_nbrt_cfg_target=%1 +set cxc_nbrt_cfg_os=%2 + +:: List of valid CxC app targets, separated by commas +set cxnb_cxc_target_list=bcm6345gw + +::------------------------------------------------------------------------------ +:: Default Target Build/Test configuration +::------------------------------------------------------------------------------ +:: prebuild - prebuild process (make deps, libraries, ...) +:: if prebuild=yes the following is also configurable +:: getsrc - get source from source control database +:: deps - make CM-side dependencies +:: resolv - build MTA resolver library +:: hoth - build hausware library +:: +:: build - Build the test images +:: if build=yes the following is also configurable +:: getsrc - get source from source control database +:: cmsym - build symbol table image +:: +:: test - Test the test images +:: if test=yes the following is also configurable +:: testlabel - cxlogs subfolder to grab the images from, defaults to CXNB_LABEL +:: (example: CXNB_CFG_TESTLABEL=03_05_07.15_25_56 will force the testing +:: portion to use images form cxlogs/03_05_07.15_25_56 for testing) +:: note: this is normaly used when CXNB_CFG_BUILD=no +:: abacus - Abacus based tests +:: pc - PacketCable test scripts (Tcl) +:: data - data only tests +:: datavoice - simultaneous data and voice tests +set CXNB_CFG_OUTPUTDIR= +set CXNB_CFG_PREBUILD=no +set CXNB_CFG_PREBUILD_GETSRC=yes +set CXNB_CFG_PREBUILD_DEPS=no +set CXNB_CFG_PREBUILD_RESOLV=no +set CXNB_CFG_PREBUILD_HOTH=no +set CXNB_CFG_BUILD=yes +set CXNB_CFG_BUILD_GETSRC=yes +set CXNB_CFG_BUILD_CMSYM=yes +set CXNB_CFG_TEST=no +set CXNB_CFG_TESTLABEL= +set CXNB_CFG_TEST_ABACUS=yes +set CXNB_CFG_TEST_PC=yes +set CXNB_CFG_TEST_DATA=yes +set CXNB_CFG_TEST_DATAVOICE=yes +set CXNB_CFG_SENDMAIL=yes +set CXNB_CFG_CC_CONFIGSPEC_UPDATE=yes + +:: empty target indicates to use default config settings +if "%cxc_nbrt_cfg_target%" == "" goto theend + +:: go to custom target configuration +for %%t in (%cxnb_cxc_target_list%) do if "%%t" == "%cxc_nbrt_cfg_target%" goto config_%%t + +echo "cxc_nbrt_cfg ERROR: Unsuported cxc target=%cxc_nbrt_cfg_target%!" +set errorlevel= +set errorlevel 2>NUL: +goto :eof + +::------------------------------------------------------------------------------ +:: Custom Target Build/Test configurations +:: (overrides default target configuration) +::------------------------------------------------------------------------------ +:config_bcm3348vcm +set CXNB_CFG_OUTPUTDIR=bcm93348_propane +set CXNB_CFG_PREBUILD=yes +set CXNB_CFG_PREBUILD_RESOLV=yes +set CXNB_CFG_PREBUILD_DEPS=no +set CXNB_CFG_TEST=no +goto theend + +:config_bcm3348vcm_euro +set CXNB_CFG_OUTPUTDIR=bcm93348_propane_eu +set CXNB_CFG_TEST=yes +goto theend + +:config_bcm3348vcm_bv16 +:config_bcm3348vcm_g723 +:config_bcm3348vcm_g726 +:config_bcm3348vcm_g729a +:config_bcm3348vcm_bv32 +set CXNB_CFG_OUTPUTDIR=bcm93348_propane +goto theend + +:config_bcm3351vcm +set CXNB_CFG_OUTPUTDIR=bcm93351_propane +set CXNB_CFG_PREBUILD_DEPS=yes +goto theend + +:config_bcm3351svl +set CXNB_CFG_OUTPUTDIR=bcm93351_propane +goto theend + +:config_bcm3352v_g723 +:config_bcm3352v +set CXNB_CFG_OUTPUTDIR=bcm93352_propane +set CXNB_CFG_PREBUILD_DEPS=yes +goto theend + +:theend +set cxc_nbrt_cfg_target= +set cxc_nbrt_cfg_os= + + + + + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh new file mode 100644 index 0000000..51a79ba --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh @@ -0,0 +1,34 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_genlabel.sh +# Purpose: Generates a set file for the CXNB_LABEL and CXNB_OUTPUT_DIR env. +# variables used by Nightly build and Regression testing scripts +#------------------------------------------------------------------------------ + +setFileName=cxc_nbrt_setlabel.bat + +#remove old setfile +rm -f ${setFileName} + +#Take snapshot of date and time to set up logging. +DATE=`date +"%y_%m_%d"` +TIME=`date +"%H_%M_%S"` +LABEL=${DATE}.${TIME}.${CXNB_LABEL_SUFFIX} +EMAIL_LABEL=`date +"%A, %B %e %Y, %T"` + +echo ":: ------------------------------------------------------------------------------" >>${setFileName} +echo ":: Broadcom Canada Ltd., Copyright 2001 - 2003" >>${setFileName} +echo ":: " >>${setFileName} +echo ":: Filename: cxc_nbrt_setlabel.bat" >>${setFileName} +echo ":: Purpose: Sets CXNB_LABEL and CXNB_OUTPUT_DIR environment variables" >>${setFileName} +echo ":: needed for the Nightly Build and Regression Testing scripts" >>${setFileName} +echo ":: NOTE: This is an automatically generated file." >>${setFileName} +echo ":: Do *NOT* edit manually!" >>${setFileName} +echo ":: ------------------------------------------------------------------------------" >>${setFileName} +echo " " >>${setFileName} +echo "set CXNB_LABEL=${LABEL}" >>${setFileName} +echo "set CXNB_EMAIL_DATE=${EMAIL_LABEL}" >>${setFileName} +echo "set CXNB_OUTPUT_DIR=${CXNB_BASECC_LOCAL_LOG_PATH}\\${LABEL}" >>${setFileName} + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat new file mode 100644 index 0000000..43f62fd --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat @@ -0,0 +1,37 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_main.bat +:: Purpose: Main script for CxC Nightly Build and Regression Testing +::------------------------------------------------------------------------------ + + +:: Generate a set file to setup logging and output folder +bash -C cxc_nbrt_genlabel.sh + +:: Run the set file to setup logging and output folder +call cxc_nbrt_setlabel.bat + +::Load the Default Config settings for CxC Nightly build/regression testing +call cxc_nbrt_cfg.bat + +:: Linux pre-build +bash -C lnx_nbrt_prepare.sh + +::Build: label&download source code from Source Control (CommEngine) +bash -C cxc_nb_ce_getsrc.sh 1 + +::Build: label&download source code from Source Control (dslx_common) +bash -C cxc_nb_getsrc.sh 1 + +::Build&test: make target apps and launch the tests +for %%t in (%cxnb_cxc_target_list%) do call cxc_nbrt_app.bat %%t linux + +:: Postprocess the nightly and regression test logs (CommEngine) +bash -C cxc_nbrt_ce_postprocess.sh linux + +:: Postprocess the nightly and regression test logs (dslx_common) +bash -C cxc_nbrt_postprocess.sh linux + +::exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat new file mode 100644 index 0000000..0a8831b --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat @@ -0,0 +1,12 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_main.bat +:: Purpose: Main script for CxC Nightly Build and Regression Testing +::------------------------------------------------------------------------------ + + +call cxc_nbrt_setenv.bat + +bash -C lnx_nbrt_test.sh 1 + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh new file mode 100644 index 0000000..95b6e24 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh @@ -0,0 +1,125 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_postprocess.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +cxcOsType=$1 + +export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}") +export CXNB_SRC_PATH=$(cygpath -u "${CXNB_LOCAL_SRC_PATH}") + +echo "Postprocessing at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} +cd ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} + +mkdir -p buildlogs +# mkdir -p deps/buildlogs +# mkdir -p debug +# mv -f *.map debug +# mv -f *_sym.bin debug +# mv -f *.txt buildlogs +# mv -f deps/*.txt deps/buildlogs + +# cp -f -v ${CXNB_SRC_PATH}/cablex_tools/dev/callagent/callagent.exe ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +# cp -f -v ${CXNB_SRC_PATH}/cablex_tools/dev/callagent/hhca.cfg ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_SRC_PATH}/update*.updt ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_LOG_PATH}/${CXNB_LABEL}/build*.log ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/ + + +if [ "${CXNB_CFG_SENDMAIL}" = "yes" ] +then + appendFiles= + attachments="build.log cc_config_spec.txt" + + if [ "${CXNB_CFG_BUILD_GETSRC}" = "yes" ] + then + appendFiles="${appendFiles} buildlogs/buildconfig.log" + fi + + echo $appendFiles + + recipients="vmarkovski@broadcom.com,jnicol@broadcom.com" + + echo "------------------------------------------------------------------------">email.txt + echo "CxC Nightly Build summary " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + # total=`grep -c "cxc build" buildlogs/build_summary.txt` + # fail=`grep -c FAILED buildlogs/build_summary.txt` + # pass=`grep -c successfull buildlogs/build_summary.txt` + # echo "Total of $total cxc apps built: $pass pass, $fail failed. " >>email.txt + # echo " " >>email.txt + # grep FAILED buildlogs/build_summary.txt >>email.txt + # echo " " >>email.txt + # grep successfull buildlogs/build_summary.txt >>email.txt + # echo " " >>email.txt + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build auto-update activity " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + grep "CC Config Spec" ./../build.log >> email.txt || echo "No config spec update." >> email.txt + echo " " >>email.txt + + if [ -n "${appendFiles}" ] + then + for file in ${appendFiles} + do + if [ -e "${file}" ] + then + cat ${file} >> email.txt + else + echo "POSTPROCESSING ERROR: could not find ${file}!" >>email.txt + fi + done + fi + echo " " >>email.txt + + if [ -e "./../cc_config_spec.old" ] + then + attachments="${attachments} cc_config_spec.old" + fi + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build images, logs and source code for ${CXNB_EMAIL_DATE}:" >> email.txt + echo "------------------------------------------------------------------------">>email.txt + echo "Last night's nightly build source code can be found at:" >> email.txt + echo $(cygpath -w //${CXNB_LOCAL_SRC_PATH}) >> email.txt + echo "Nightly build images can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}/images) >> email.txt + # echo "Nightly build map files and symbol table images can be found at" >> email.txt + # echo $(cygpath -w //${UNIX_TESTCOMPUTER}/cxnb/cxlogs/${CXNB_UCMCC_PROJECT}/${CXNB_LABEL}/${cxcOsType}/debug) >> email.txt + echo "Nightly build logs can be found at" >> email.txt + echo $(cygpath -w //${CXNB_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs) >> email.txt + # echo $(cygpath -w //${CXNB_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/deps/buildlogs) >> email.txt + + #note: blat doesnt work from UNC directories so copy everything to a local directory + for file in ${attachments} + do + cp -f ./../${file} . + done + + attachList="" + for file in ${attachments} + do + attachList="${attachList} -attacht ${file}" + done + + blat email.txt -t ${recipients} -s "${CXNB_UCMCC_PROJECT} Nightly Build results for ${CXNB_EMAIL_DATE}" ${attachList} + rm -f ${attachments} +fi + +echo "Finished postprocessing at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat new file mode 100644 index 0000000..fd7e6a1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat @@ -0,0 +1,140 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_prebuild.bat +:: Purpose: CxC Nightly pre-build script (makes dependancies and libraries) +:: Arguments: %1 - target CxC app to pre-build +:: %2 - target OS to pre-build the app for +::------------------------------------------------------------------------------ + +if "%2" == "" goto argsError + +set cxnb_preapp_target=%1 +set cxnb_preapp_os=%2 + +:: Setup nbrt environment variables specific for this target +call cxc_nbrt_cfg.bat %cxnb_preapp_target% %cxnb_preapp_os% + +if "%CXNB_CFG_PREBUILD%" == "no" goto skipprebuild + +set cxnb_prebuild_output_dir=%CXNB_OUTPUT_DIR%\%cxnb_preapp_os%\deps +mkdir %cxnb_prebuild_output_dir% + +:: Set the CxC build environment +cd /D %CXNB_LOCAL_SRC_PATH%\cablex +call gen.bat %cxnb_preapp_os% %CXNB_TORNADO_PATH% +call set_%cxnb_preapp_os%.bat + +if "%CXNB_CFG_PREBUILD_DEPS%" == "no" goto skipdeps + +:: Check-out target dependancies +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os% +cd /D %CXNB_CFG_OUTPUTDIR% +copy /Y makefile.deps makefile.old +del /F makefile.deps + +:: *** Make the CM deps for CxC app *** +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\apps\%cxnb_preapp_target% +echo Started dependancy make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log +make cm_deps >%cxnb_prebuild_output_dir%\%cxnb_preapp_target%_propane_deps.txt 2>&1 +echo Completed dependancy make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log + +:: Save and check-in the new target dependancies +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR% +copy /Y makefile.deps %cxnb_prebuild_output_dir%\makefile_%cxnb_preapp_target%_propane.deps +if not exist makefile.old goto skipDepsCheckin +if not exist makefile.deps goto skipDepsCheckin + +:: Assume the dependencies have not changed +set cxnb_makefile_deps_different=no + +:: Compare the new deps with the old ones, if they differ set the flag +cleardiff -status_only -blank_ignore makefile.deps makefile.old || set cxnb_makefile_deps_different=yes + +:: Checkin the new deps if its different +if "%cxnb_makefile_deps_different%" == "no" goto skipDepsCheckin + +:: Checkin the new CxC app dependencies +mkdir %CXNB_LOCAL_VIEW_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR% +cd /D %CXNB_LOCAL_VIEW_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR% +cleartool setactivity -nc Nightly_CXNB_%CXNB_UCMCC_PROJECT%_Updates +cleartool checkout -nc -nquery makefile.deps +cp -f %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR%\makefile.deps . +cleartool checkin -nc makefile.deps + +:: Set increment baseline flag +set CXNB_UPDATE_BASELINE="yes" +:skipDepsCheckin + +:: Post-process dependancies +cd /D %cxnb_prebuild_output_dir% +bash -C cxwarnerrorgrep.sh %cxnb_preapp_target%_propane_deps makefile_%cxnb_preapp_target%_propane.deps +goto resolv + +:skipdeps +echo Skiping dependancy build for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log + +:resolv +if "%CXNB_CFG_PREBUILD_RESOLV%" == "no" goto skipresolv + +:: Check-out resolver library +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os% +copy /Y libresolv.a libresolv.old + +:: Build the resolver library +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\apps\%cxnb_preapp_target% +make clean_resolv >%cxnb_prebuild_output_dir%\mta_resolv.txt 2>&1 +echo Started resolver library make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log +make resolv >>%cxnb_prebuild_output_dir%\mta_resolv.txt 2>&1 +echo Completed resolver library make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log + +:: Save and check-in the new resolver library +cd /D %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os% +copy /Y libresolv.a %cxnb_prebuild_output_dir%\libresolv.a +if not exist libresolv.a goto skipResolvCheckin +if not exist libresolv.old goto skipResolvCheckin + +:: Assume the library has not changed +set cxnb_resolv_different=no + +:: Compare the new lib with the old one, if they differ set the flag +rawcmp.exe libresolv.a libresolv.old || set cxnb_resolv_different=yes + +:: Checkin the new lib if its different +if "%cxnb_resolv_different%" == "no" goto skipResolvCheckin + +:: Checkin the new resolver library +mkdir %CXNB_LOCAL_VIEW_PATH%\cablex\lib\VxWorks +cd /D %CXNB_LOCAL_VIEW_PATH%\cablex\lib\VxWorks +cleartool setactivity -nc Nightly_CXNB_%CXNB_UCMCC_PROJECT%_Updates +cleartool checkout -nc -nquery libresolv.a +cp -f %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os%\libresolv.a . +cleartool checkin -nc libresolv.a + +:: Set increment baseline flag +set CXNB_UPDATE_BASELINE="yes" +:skipResolvCheckin + +:: Post-process resolver build +cd /D %cxnb_prebuild_output_dir% +bash -C cxwarnerrorgrep.sh mta_resolv libresolv.a +goto theend + +:argsError +echo cxc_nbrt_prebuild error: Insufficient arguments arg1=%1; arg2=%2; >>%CXNB_OUTPUT_DIR%\build.log +goto theend + +:skipprebuild +echo Skiping prebuild for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log +goto theend + +:skipresolv +echo Skiping resolver build for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log +goto theend + +:theend +set cxnb_preapp_target= +set cxnb_preapp_os= +set cxnb_prebuild_output_dir= +set cxnb_resolv_different= +exit diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat new file mode 100644 index 0000000..6a3fab2 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat @@ -0,0 +1,65 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_setenv.bat +:: Purpose: Setting up of environment variables used in the other +:: batch files and shell scripts. +:: +:: NOTE: This is probably the only file that you will need +:: to modify to enable nightly builds. +::------------------------------------------------------------------------------ + +set CXNB_UCMCC_PROJECT=dslx_common +set CXNB_BASECC_PROJECT=CommEngine +set CXNB_LABEL_SUFFIX=dslx + +:: CUSTOMIZE +:: Enter the name or the IP address of the nightly build computer, +:: the username and password, +:: and the root password for the test computer +SET UNIX_TESTCOMPUTER=ip_address_of_the_unix_box +set UNIX_USERNAME=username_for_the_unix_box +set UNIX_USERPASS=password_for_the_unix_box +set UNIX_ROOTPASS=root_password_for_the_unix_box + +:: CUSTOMIZE +:: Enter the root of the CommEngine view (one level above CommEngine directory) in MSDOS style +set CXNB_BASECC_VIEW_ROOT=\\%UNIX_TESTCOMPUTER%\vmarkovski\views\nb_view + +:: CUSTOMIZE +:: Enter the path to the nightly build tools (blat, psexec, etc.) +set CXNB_TOOLS_PATH=c:\nb\tools + +:: CUSTOMIZE +:: Enter the path of the directory from where +:: the nightly build scripts are launched +set CXNB_RUN_PATH=V:\views\irvine_view\%CXNB_BASECC_PROJECT%\hostTools\scripts\nightlybuild\voice + +:: CUSTOMIZE +:: Make sure bash, build scripts and ldx_tools are in the PATH +set PATH=c:\cygwin\bin;%PATH%;%CXNB_RUN_PATH%;%CXNB_LDX_TOOLS_PATH%;%CXNB_TOOLS_PATH% + +:: CUSTOMIZE +:: Enter the root of the CommEngine view (one level above CommEngine directory) in UNIX style +set UNIX_CXNB_BASECC_VIEW_ROOT=/home/vmarkovski/views/nb_view + +set UNIX_CXNB_BASECC_LOCAL_VIEW_PATH=%UNIX_CXNB_BASECC_VIEW_ROOT%/%CXNB_BASECC_PROJECT% +set UNIX_CXNB_BASECC_LOCAL_SRC_PATH=%UNIX_CXNB_BASECC_VIEW_ROOT%/%CXNB_BASECC_PROJECT%_build + +:: Variables for base ClearCase projects +set CXNB_BASECC_LOCAL_VIEW_PATH=%CXNB_BASECC_VIEW_ROOT%\%CXNB_BASECC_PROJECT% +set CXNB_BASECC_LOCAL_SRC_PATH=%CXNB_BASECC_VIEW_ROOT%\%CXNB_BASECC_PROJECT%_build +set CXNB_BASECC_LRULES_PATH=%CXNB_RUN_PATH%\ccLoadRules\%CXNB_BASECC_PROJECT% +set CXNB_BASECC_LOCAL_LOG_PATH=%CXNB_BASECC_VIEW_ROOT%\log\%CXNB_BASECC_PROJECT% + +:: Variables for UCM ClearCase projects +:: CUSTOMIZE +:: For the variable CXNB_LOCAL_VIEW_PATH, enter to root of the UCM view +set CXNB_LOCAL_VIEW_PATH=%CXNB_BASECC_LOCAL_VIEW_PATH%\xChange\rmna_nb_%CXNB_UCMCC_PROJECT%_integration_sv +set CXNB_LOCAL_SRC_PATH=%CXNB_BASECC_LOCAL_SRC_PATH%\xChange\%CXNB_UCMCC_PROJECT% +set CXNB_CC_LRULES_PATH=%CXNB_RUN_PATH%\ccLoadRules\%CXNB_UCMCC_PROJECT% +set CXNB_LOCAL_LOG_PATH=%CXNB_BASECC_VIEW_ROOT%\log\%CXNB_UCMCC_PROJECT% + +:: Initialize baseline update flag to no +set CXNB_UPDATE_BASELINE="no" + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat new file mode 100644 index 0000000..11af566 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat @@ -0,0 +1,28 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_start.bat +:: Purpose: Startup script for CxC Nightly Build and Regression Testing +::------------------------------------------------------------------------------ + +echo ON + +::Set the environment for CxC Nightly build/regression testing +call cxc_nbrt_setenv.bat + +mkdir %CXNB_BASECC_VIEW_ROOT%\log +set CXNB_MAIN_LOGFILE=%CXNB_BASECC_VIEW_ROOT%\log\cxc_nbrt_main.log + +echo "cxc_nbrt_start.bat started" > %CXNB_MAIN_LOGFILE% +echo. >> %CXNB_MAIN_LOGFILE% +call cxc_nbrt_main.bat >> %CXNB_MAIN_LOGFILE% 2>&1 +echo ON +echo. >> %CXNB_MAIN_LOGFILE% +echo "cxc_nbrt_start.bat finished" >> %CXNB_MAIN_LOGFILE% + +echo "" +echo "UPDATE & BUILD FINISHED !!!" +echo "" +sleep 10 + +exit \ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat new file mode 100644 index 0000000..9a558fb --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat @@ -0,0 +1,62 @@ +::------------------------------------------------------------------------------ +:: Broadcom Canada Ltd., Copyright 2001 - 2003 +:: +:: Filename: cxc_nbrt_test.bat +:: Purpose: Entry point for CxC Nightly Regression Testing +:: Arguments: %1 - target platform to run the tests on +:: %2 - target OS to use for testing +::------------------------------------------------------------------------------ + +if "%1" == "" goto argsError +if "%2" == "" goto argsError + +set cxrt_test_target=%1 +set cxrt_test_os=%2 + +if "%cxrt_test_os%" == "vxworks" goto vxworks +echo "CXC_NBRT_TEST ERROR: Unsupported OS=%cxrt_test_os%" +goto theend + +:vxworks + +:: Setup nbrt environment variables specific for this target +call cxc_nbrt_cfg.bat %cxrt_test_target% %cxrt_test_os% + +if "%CXNB_CFG_TEST%" == "no" goto theend + +set TEST_SRV_COMPUTER_NAME=LBRMNA-CEXCH02 + +del /F /Q \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming\* + +:: Check if there is an image for this platform ready after the build + +if "%CXNB_CFG_TESTLABEL%" == "" set CXNB_CFG_TESTLABEL=%CXNB_LABEL% + +if exist %CXNB_LOCAL_LOG_PATH%\%CXNB_CFG_TESTLABEL%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin goto copyToTestServer +echo "CXC_NBRT_TEST ERROR: No image %CXNB_OUTPUT_DIR%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin. Could not run Regression tests!" +goto theend + +:copyToTestServer + +:: copy the test image +copy /Y %CXNB_LOCAL_LOG_PATH%\%CXNB_CFG_TESTLABEL%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming + +:: create and copy the configuration file for regression testing +more cxc_nbrt_cfg.bat >cxc_rt_cfg.bat +more cxc_nbrt_setlabel.bat >>cxc_rt_cfg.bat +copy /Y cxc_rt_cfg.bat \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming + +:: spawn the test on the remote test server +psexec \\%TEST_SRV_COMPUTER_NAME% -s -i c:\cxnt\spawnTestServer.bat %cxrt_test_target% vxram_sto_%cxrt_test_target%.bin + +goto theend + +:argsError +echo cxc_nbrt_test error: Insufficient arguments arg1=%1; arg2=%2; +goto theend + +:theend +set cxrt_test_target= +set cxrt_test_os= +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh new file mode 100644 index 0000000..c50e72b --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh @@ -0,0 +1,18 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_updatebaseline.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +#make the date and time look like a CCDelivery +CCDATE=`date +"%Y_%m_%d_%H%M_%S.0000"` + + +# Update the baselines if necessary + cd ${CXNB_LOCAL_VIEW_PATH} + cleartool mkbl -all -inc "BL_INC_nightlybuild_${CXNB_UCMCC_PROJECT}_${CCDATE}" + +# Exit this shell +exit diff --git a/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh b/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh new file mode 100644 index 0000000..82913e1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh @@ -0,0 +1,37 @@ +#/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxwarnerrorgrep.sh +# Purpose: Grep for errors and warnings in the build logs +# Arguments: $1 - CxC build target log file to parse +# $2 - File resulted from a build process (library, dependancy file, +# target image, ...). Indicates success or failure of the build +#------------------------------------------------------------------------------ + + +export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}") +echo "Started error warning grep for $1 $2 at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +if [ -e "$1.txt" ] +then + export CXNB_LDX_TOOLS_PATH_U=$(cygpath -u "${CXNB_LDX_TOOLS_PATH}") + mkdir -p buildlogs + echo "***************************************************************" >buildlogs/warn_err_$1.txt + echo "CablexChange Warnings and Errors for $1 " >>buildlogs/warn_err_$1.txt + echo "***************************************************************" >>buildlogs/warn_err_$1.txt + echo >>buildlogs/warn_err_$1.txt + gawk -f ${CXNB_LDX_TOOLS_PATH_U}/log.awk $1.txt >>buildlogs/warn_err_$1.txt + if [ -e "$2" ] + then + echo "$1 cxc build successfull." >>buildlogs/build_summary.txt + else + echo "$1 cxc build FAILED !!!!!" >>buildlogs/build_summary.txt + fi +else + echo "cxwarnerrorgrep error: $1.txt does not exits" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +fi + +echo "Completed error warning grep for $1 $2 at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +exit diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp new file mode 100644 index 0000000..c67b74e --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp @@ -0,0 +1,115 @@ +# +# Login to a Linux box +# +proc lnxLogin {ip username pass} { + + send_user "Login to Linux : $ip\n" + set timeout 20 + spawn ssh -l $username $ip + global ssh_spawn_id + set ssh_spawn_id $spawn_id + expect { + "password:" {} + "refused" { + send_user "\n Cannot connect to host $ip !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout while connecting to host $ip !!! \n" + exit 1 + } + } + + send "$pass\r" + expect { + "$username@*\\$" {} + "denied" { + send_user "\n Password not correct for user $username !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout while waiting for user passord !!! \n" + exit 1 + } + } + + send_user "Login Complete\n" + return 0 +} + + +# +# Switch to superuser (user already logged in) +# +proc lnxSu {pass} { + global ssh_spawn_id + set spawn_id $ssh_spawn_id + send_user "\n Switching to superuser\n" + + send "su\r" + expect { + "Password:" {} + timeout { + send_user "\n Timeout. Couldn't switch to superuser !!! \n" + exit 1 + } + } + + send "$pass\r" + expect { + "root@" {} + "incorrect password" { + send_user "\n Invalid password for superuser !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout. Couldn't switch to superuser !!! \n" + exit 1 + } + } + + send_user "\n Switched to superuser\n" +} + + +# +# Generic Linux command +# parameter 1: the actual command +# parameter 2: timeout value for the command (default = 10 sec) +# +proc lnxCmd {cmd timeoutvalue} { + global ssh_spawn_id + set spawn_id $ssh_spawn_id + set timeout $timeoutvalue + + send_user "\n \n $cmd \n" + + send "$cmd \r" + send "if \[ $? -ne 0 \]; then echo 'cmd''failure'; else echo 'cmd''success';fi \r" + + if {$timeout < 20} { + set timeout 20 + } + send_user "Timeout for the command \"$cmd\" set to $timeout sec\n" + expect { + "cmdfailure" { + send_user "\n The Linux command \"$cmd\" has failed !!!\n" + } + "cmdsuccess" { + send_user "\n The Linux command \"$cmd\" has succeeded \n" + } + timeout { + send_user "\n Timeout for Linux command \"$cmd\" \n" + exit 1 + } + } +} + + +proc lnxTest {params} { + set test [lindex $params 1] + puts $test + puts [exec ls] +} + +#lnxTest "ab cd de ef" diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh new file mode 100644 index 0000000..5127091 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +expect -c "set EXP_BASECC_PATH $UNIX_CXNB_BASECC_LOCAL_VIEW_PATH; \ + set EXP_SRC_PATH $UNIX_CXNB_BASECC_LOCAL_SRC_PATH; \ + set EXP_USERNAME $UNIX_USERNAME; \ + set EXP_USERPASS $UNIX_USERPASS; \ + set EXP_ROOTPASS $UNIX_ROOTPASS; \ + set EXP_TESTCOMPUTER $UNIX_TESTCOMPUTER" \ + -f lnx_nbrt_view_build.exp \ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh new file mode 100644 index 0000000..14df0af --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +expect -c "set EXP_BASECC_PATH $UNIX_CXNB_BASECC_LOCAL_VIEW_PATH; \ + set EXP_SRC_PATH $UNIX_CXNB_BASECC_LOCAL_SRC_PATH; \ + set EXP_USERNAME $UNIX_USERNAME; \ + set EXP_USERPASS $UNIX_USERPASS; \ + set EXP_ROOTPASS $UNIX_ROOTPASS; \ + set EXP_TESTCOMPUTER $UNIX_TESTCOMPUTER" \ + -f lnx_nbrt_view_prepare.exp \ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp new file mode 100644 index 0000000..aa7d7ce --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp @@ -0,0 +1,53 @@ +source lnx_nbrt_basic_cmds.exp + +lnxLogin $EXP_TESTCOMPUTER $EXP_USERNAME $EXP_USERPASS +lnxCmd "cd ${EXP_SRC_PATH}" 0 +lnxSu $EXP_ROOTPASS + +# NOTE: +# The following make commands assume that the default build in the profile is G729. +# Therefore, we don't setup the values for all the vocoder variables when we build +# a vocoder-specific build. For non-G729 loads, we only need to set the G729 +# vocoder variable to 'n' (i.e. reset the default G729 variable) +# and set the appropriate vocoder variable of choice. + +# MGCP, G723 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G723=y" 3600 + +# MGCP, G729 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=y" 3600 + +# MGCP, extended SRAM load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y" 3600 + +# MGCP, IOM2 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_IOM2=y" 3600 + +# SIP, G726 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G726=y" 3600 + +# SIP, G729 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=y" 3600 + +# SIP, extended SRAM load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y" 3600 + +# SIP, extended SRAM load (Japan) +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y BRCM_VOICE_COUNTRY_JAPAN=y" 3600 + +# SIP, IOM2 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_IOM2=y" 3600 + +lnxCmd "exit" 0 +lnxCmd "exit" 0 + + diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp new file mode 100644 index 0000000..15d1047 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp @@ -0,0 +1,31 @@ +source lnx_nbrt_basic_cmds.exp + +lnxLogin $EXP_TESTCOMPUTER $EXP_USERNAME $EXP_USERPASS +lnxSu $EXP_ROOTPASS + +lnxCmd "rm -rf ${EXP_BASECC_PATH}/cfe" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/docs" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/hostTools" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/images" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/release" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/sgibcm_2_4_17" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/targets" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/userapps" 30 +lnxCmd "rm -rf ${EXP_BASECC_PATH}/xChange/dslx" 30 + + +lnxCmd "rm -rf ${EXP_SRC_PATH}/cfe" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/docs" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/hostTools" 30 +# Don't delete the created images +# lnxCmd "rm -rf ${EXP_SRC_PATH}/images" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/release" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/sgibcm_2_4_17" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/targets" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/userapps" 30 +lnxCmd "rm -rf ${EXP_SRC_PATH}/xChange" 30 + +lnxCmd "exit" 0 +lnxCmd "exit" 0 + + diff --git a/hostTools/scripts/nightlybuild/voice/readme.txt b/hostTools/scripts/nightlybuild/voice/readme.txt new file mode 100644 index 0000000..74b7ec1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/readme.txt @@ -0,0 +1,19 @@ +This directory contains scripts for enabling nightly builds. + +The following prerequisites are needed for enabling nightly builds: +- one Windows and one Linux PC +- the Windows PC should have ClearCase client +- the Windows PC should have cygwin with support for bash shell and expect scripts +- the user can login to the Linux PC using ssh +- the ClearCase bin directory should be in the cygwin bash path +- base ClearCase view (CommEngine) should be created on the Linux PC and UCM ClearCase +view (dslx_common) should be created in the CommEngine/xChange directory + +The script initiation is performed from a Windows PC, usually through the Windows task scheduler. The batch file cxc_nbrt_start.bat starts the overall build process. + +IMPORTANT: +- the user should copy the content of this directory to a directory outside of the designated nightly build view +- the content of the file cxc_nbrt_setenv.bat should be modified to correspond to the user settings. The user should modify all the variables preceded with the comment "CUSTOMIZE". + + + -- cgit v1.2.3