diff options
author | Brian Horton <brianh@linux.ibm.com> | 2013-04-26 09:37:50 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-06-03 10:54:53 -0500 |
commit | 33aa2dc320ff145e2721471a4494576aa76b8c31 (patch) | |
tree | 2839369f739fc61869b4bae39e085d94d681d654 /src/build/hwpf | |
parent | 0ebe4ca63f33947c25960e4dd79f48dc170fe5e4 (diff) | |
download | blackbird-hostboot-33aa2dc320ff145e2721471a4494576aa76b8c31.tar.gz blackbird-hostboot-33aa2dc320ff145e2721471a4494576aa76b8c31.zip |
improvements and corrections to prcd_compile tool
. reset values for each new connection (keepsandbox and fulldirectory)
so that previous builds don't affect future builds
. remove hb hack
. return linker error back to user ('exception caught')
. remove unused variables
. add BUILD_MINIMAL flag for faster/smaller builds
. add '-O' option to prcd_compile to not retrive output (useful
if tool is only used to detect compile errors)
Change-Id: I7b16b04f2ddd27c70759a26e1d82d7df2037f2b9
RTC: 70455
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4680
Tested-by: Jenkins Server
Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build/hwpf')
-rwxr-xr-x | src/build/hwpf/prcd_compile.tcl | 26 | ||||
-rwxr-xr-x | src/build/hwpf/prcd_server.tcl | 26 |
2 files changed, 27 insertions, 25 deletions
diff --git a/src/build/hwpf/prcd_compile.tcl b/src/build/hwpf/prcd_compile.tcl index 0815ea46b..a53972972 100755 --- a/src/build/hwpf/prcd_compile.tcl +++ b/src/build/hwpf/prcd_compile.tcl @@ -261,9 +261,7 @@ proc start_patch_server_on_fsp { fspip fsppassword } { # MAIN # ------------------------ set userid $::env(USER) -set home $::env(HOME) -set domain [exec hostname -d] -set version "1.4" +set version "1.5" set files [list] set directories [list] @@ -289,7 +287,8 @@ foreach arg $argv { -o { set state outputflag } -n { set newfiles 1 } -k { set keepsandbox 1 } - -*h* { puts {prcd_compile.tcl [--help] [-f <fipslevel> | -d <drivername>] [-o <ouput dir> ] [-n] [ <filename> | -D <directory] } + -O { set noretrieve 1 } + -*h* { puts {prcd_compile.tcl [--help] [-f <fipslevel> | -d <drivername>] [-o <ouput dir> | -O ] [-n] [ <filename> | -D <directory>] } puts {} puts {For existing files, this only supports *.{c,C,h,H,initfile,xml} files in the following hostboot directory trees: } puts { src/usr/hwpf/hwp } @@ -297,16 +296,12 @@ foreach arg $argv { puts {} puts {The files can either be in the local current working directory, or in a local sub-directory mirroring the hostboot tree. } puts {} - puts {examples } - puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output fapiTestHwp.C fapiTestHwp.C sample.initfile} - puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output/ proc_cen_framelock.C } - puts {> prcd_compile.tcl -f b0211a_1307.810 -o output dmi_training/proc_cen_framelock/proc_cen_framelock.H } - puts {} puts {Without the -n parameter, the file MUST be an existing files in the hostboot sandbox.} puts {If they are not found in the sandbox, an error will be returned.} puts {} - puts {On success, files from the img/ directory (*.bin *.syms and hbotStringFile) } - puts {will be placed in the output directory. } + puts {if -O is not specified, on success, image and pnor files will be placed in the output directory. } + puts {The -o parameter is optional. The default is the current working directory. } + puts {If instead the -O parameter is specified, no image or pnor files are returned. } puts {} puts {With the -n parameter, the files are assumed to be for a NEW HWP and will be checked to see} puts {if they compile - no binary image files will be returned.} @@ -321,6 +316,11 @@ foreach arg $argv { puts {The -d and -o parameters are optional. Default for -d is the master level of code } puts {and default for -o is the current working directory } puts {} + puts {examples } + puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output fapiTestHwp.C fapiTestHwp.C sample.initfile} + puts {> prcd_compile.tcl -d hb0216a_1307.810 -o ./output/ proc_cen_framelock.C } + puts {> prcd_compile.tcl -f b0211a_1307.810 -o output dmi_training/proc_cen_framelock/proc_cen_framelock.H } + puts {} puts "Version: $version" puts {} exit @@ -475,7 +475,9 @@ if {[info exists newfiles]} { # Generate compile, retrieve, and complete directives ########################################################## lappend cmds ":HWP_COMPILE" - lappend cmds ":HWP_RETRIEVE" + if { ![info exists noretrieve] } { + lappend cmds ":HWP_RETRIEVE" + } lappend cmds ":HWP_DONE" } diff --git a/src/build/hwpf/prcd_server.tcl b/src/build/hwpf/prcd_server.tcl index 84aa371b0..a86414608 100755 --- a/src/build/hwpf/prcd_server.tcl +++ b/src/build/hwpf/prcd_server.tcl @@ -29,7 +29,8 @@ exec tclsh "$0" "$@" # Based on if_server.tcl by Doug Gilbert -set version "1.4" +set PNOR_version "1.4" +set version "1.5" ############################################################################ # Accept is called when a new client request comes in @@ -39,6 +40,12 @@ set version "1.4" proc Accept { sock addr port} { global socklist global log + global keepsandbox + global fulldirectory + + # reset some per-connection variables that don't always get sent + set keepsandbox 0 + set fulldirectory 0 puts "[clock format [clock seconds]]: Accept $sock from $addr port $port" puts $log "$port: [clock format [clock seconds]]: Accept $sock from $addr port $port" @@ -530,14 +537,7 @@ proc SendSandbox { sock git_sh} { puts $git_sh "echo $fips_dir > src/build/citest/etc/bbuild;" } - puts $git_sh "source env.bash;\ - make -j4;" - - # hack for now. need to point to 'current' version of hb, not built, since - # older versions doesn't support the new fipssetup command. - # when this is ready merge, i'll copy the corrected 'hb' into the hostboot - # projects directory. - puts $git_sh "rm -f hb;ln -s /gsa/ausgsa/home/h/o/hortonb/hb2/src/build/tools/hb;" + puts $git_sh "source env.bash; BUILD_MINIMAL=1 make -j4;" puts $git_sh "export SANDBOXROOT=`pwd`; export SANDBOXNAME=prcd_fsp;\ echo \"./hb fipssetup && ./hb prime\" > hbdo; chmod +x hbdo;\ @@ -601,7 +601,7 @@ proc SendSandboxNew { sock git_sh} { # Start Compile ################################################################## set newdir src/usr/hwpf/hwp/mss_new - puts $git_sh "source env.bash; make -j4; make -C $newdir" + puts $git_sh "source env.bash; BUILD_MINIMAL=1 make -j4; make -C $newdir" ################################################################## # tell the workon shell to terminate @@ -652,7 +652,7 @@ proc SendSandboxNew { sock git_sh} { # client. Note: Everything from stderr gets returned ################################################################## -set explist [list {^make.*Error.*} {ERROR:.*} {error:.*} {^IfScrub..E>.*} {^Parse Error.*} {^Error.*} ] +set explist [list {^make.*Error.*} {ERROR:.*} {error:.*} {^IfScrub..E>.*} {^Parse Error.*} {^Error.*} {^exception caught.*} ] ################################################################## ## This event catches the output of the sandbox when the pipe become readable @@ -740,7 +740,7 @@ proc SendObjFiles { sock obj_dir } { ################################################################## proc SendPnorFiles { sock obj_dir } { global log - global version + global PNOR_version global client_version set pnor_files {} @@ -750,7 +750,7 @@ proc SendPnorFiles { sock obj_dir } { puts $sock "ERROR: Needed image files not found in $obj_dir" puts $log "$sock: Needed image files not found in $obj_dir" } else { - if { $client_version < $version } { + if { $client_version < $PNOR_version } { # client can't handle PNOR_FILE type, so just send the files # back and they'll get put into the <outputdir> SendFiles "OBJ_FILE" $sock $pnor_files |