summaryrefslogtreecommitdiffstats
path: root/hostTools/scripts/nightlybuild/voice
diff options
context:
space:
mode:
Diffstat (limited to 'hostTools/scripts/nightlybuild/voice')
-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
25 files changed, 1559 insertions, 0 deletions
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".
+
+
+