summaryrefslogtreecommitdiffstats
path: root/hostTools/scripts
diff options
context:
space:
mode:
authorroot <root@lamia.panaceas.james.local>2015-12-19 14:18:43 +0000
committerroot <root@lamia.panaceas.james.local>2015-12-19 14:18:43 +0000
commit71478fd62d8483483abb34609cdabb7f9cbadfd6 (patch)
tree37b8eaba1ffe2d5f775227911eb0ed6fdc3c9553 /hostTools/scripts
parent1a2238d1bddc823df06f67312d96ccf9de2893cc (diff)
downloadbootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.tar.gz
bootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.tar.bz2
bootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.zip
Add hostTools from https://github.com/Noltari/cfe_bcm63xx
Diffstat (limited to 'hostTools/scripts')
-rw-r--r--hostTools/scripts/Menuconfig1601
-rw-r--r--hostTools/scripts/defconfig-bcm.template1066
-rw-r--r--hostTools/scripts/gendefconfig398
-rw-r--r--hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt10
-rw-r--r--hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt108
-rw-r--r--hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt89
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh133
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh133
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat13
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat33
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh129
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat117
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh34
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat37
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat12
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh125
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat140
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat65
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat28
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat62
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh18
-rw-r--r--hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh37
-rw-r--r--hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp115
-rw-r--r--hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh9
-rw-r--r--hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh9
-rw-r--r--hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp53
-rw-r--r--hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp31
-rw-r--r--hostTools/scripts/nightlybuild/voice/readme.txt19
28 files changed, 4624 insertions, 0 deletions
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 <enter> 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 <rhw@memalpha.cx>
+# 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, <mec@shout.net>
+# - Improve the exit message (Jeff Ronne).
+#
+# 06 July 1999, Andrzej M. Krzysztofowicz, <ankry@mif.pg.gda.pl>
+# - 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/^ //
+ /<file:\\([^>]*\\)>/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 <ifile) {
+ if ($1 == "mainmenu_option") {
+ comment_is_option = "1"
+ }
+ else if ($1 == "comment" && comment_is_option == "1") {
+ comment_is_option= "0"
+ sub($1,"",$0)
+ ++menu_no
+
+ printf("submenu %s MCmenu%s\n", $0, menu_no) >>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 <ifile) {
+ if ($0 ~ /^#|$MAKE|mainmenu_name/) {
+ printf("") >>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 <<EOM
+
+Menuconfig has encountered a possible error in one of the kernel's
+configuration files and is unable to continue. Here is the error
+report:
+
+EOM
+ sed 's/^/ Q> /' MCerror
+ cat <<EOM
+
+Please report this to the maintainer <mec@shout.net>. You may also
+send a problem report to <linux-kernel@vger.kernel.org>.
+
+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 <MCdialog.out
+
+ case "$ret" in
+ 0|3|4|5|6)
+ defaults="$selection$defaults" #pseudo stack
+ case "$ret" in
+ 0) eval $selection ;;
+ 3) eval $selection y ;;
+ 4) eval $selection n ;;
+ 5) eval $selection m ;;
+ 6) eval $selection c ;;
+ esac
+ default="${defaults%%*}" defaults="${defaults#*}"
+ ;;
+ 2)
+ default="${selection%%\ *}"
+
+ case "$selection" in
+ *"-->"*|*"alt_config"*)
+ show_readme ;;
+ *)
+ eval help $selection ;;
+ esac
+ ;;
+ 255|1)
+ break
+ ;;
+ 139)
+ stty sane
+ clear
+ cat <<EOM
+
+There seems to be a problem with the lxdialog companion utility which is
+built prior to running Menuconfig. Usually this is an indicator that you
+have upgraded/downgraded your ncurses libraries and did not remove the
+old ncurses header file(s) in /usr/include or /usr/include/ncurses.
+
+It is VERY important that you have only one set of ncurses header files
+and that those files are properly version matched to the ncurses libraries
+installed on your machine.
+
+You may also need to rebuild lxdialog. This can be done by moving to
+the /usr/src/linux/scripts/lxdialog directory and issuing the
+"make clean all" command.
+
+If you have verified that your ncurses install is correct, you may email
+the maintainer <mec@shout.net> or post a message to
+<linux-kernel@vger.kernel.org> 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 <<EOM >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 <<EOM >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. \
+<Enter> selects submenus --->. \
+Highlighted letters are hotkeys. \
+Pressing <Y> includes, <N> excludes, <M> modularizes features. \
+Press <Esc><Esc> to exit, <?> for Help. \
+Legend: [*] built-in [ ] excluded <M> 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 <SPACE BAR>.
+Press <?> for additional information about this option."
+
+inputbox_instructions_int="\
+Please enter a decimal value. \
+Fractions will not be accepted. \
+Use the <TAB> key to move from the input field to the buttons below it."
+
+inputbox_instructions_hex="\
+Please enter a hexadecimal value. \
+Use the <TAB> key to move from the input field to the buttons below it."
+
+inputbox_instructions_string="\
+Please enter a string value. \
+Use the <TAB> 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=<PROFILENAME> 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".
+
+
+