2012-02-05 11:35:58 -05:00
|
|
|
#!/usr/local/bin/tcsh -f
|
|
|
|
#################################################################
|
|
|
|
# #
|
2012-10-29 18:54:31 -04:00
|
|
|
# Copyright 2001, 2012 Fidelity Information Services, Inc #
|
2012-02-05 11:35:58 -05:00
|
|
|
# #
|
|
|
|
# This source code contains the intellectual property #
|
|
|
|
# of its copyright holder(s), and is made available #
|
|
|
|
# under a license. If you do not know the terms of #
|
|
|
|
# the license, please stop and do not read further. #
|
|
|
|
# #
|
|
|
|
#################################################################
|
|
|
|
|
|
|
|
# Get rid of debug options producing huge amounts of output if set
|
|
|
|
unsetenv gtmdbglvl
|
|
|
|
|
|
|
|
if ($?RUNALL_DEBUG != 0) then
|
|
|
|
set verbose
|
|
|
|
set echo
|
|
|
|
endif
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
2012-03-24 14:06:46 -04:00
|
|
|
set runall_status = 0
|
2012-02-05 11:35:58 -05:00
|
|
|
set listonly = 0
|
|
|
|
set compileonly = 0
|
|
|
|
set linkonly = 0
|
|
|
|
set helponly = 0
|
|
|
|
set mumps_changed = ""
|
|
|
|
set gtmplatformlib_changed = ""
|
|
|
|
|
|
|
|
while (0 < $#)
|
|
|
|
switch ($1:q)
|
|
|
|
case -n :
|
|
|
|
set listonly = 1
|
|
|
|
breaksw
|
|
|
|
case -c :
|
|
|
|
set compileonly = 1
|
|
|
|
breaksw
|
|
|
|
case -l :
|
|
|
|
set linkonly = 1
|
|
|
|
breaksw
|
|
|
|
case -h :
|
|
|
|
set helponly = 1
|
|
|
|
breaksw
|
|
|
|
default :
|
|
|
|
break
|
|
|
|
endsw
|
|
|
|
shift
|
|
|
|
end
|
|
|
|
#set temp=(`getopt nchl $argv:q`)
|
|
|
|
#if ($? == 0) then
|
|
|
|
# eval set argv=\($temp:q\)
|
|
|
|
# while (1)
|
|
|
|
# switch ($1:q)
|
|
|
|
# case -n :
|
|
|
|
# set listonly = 1
|
|
|
|
# shift
|
|
|
|
# breaksw
|
|
|
|
#
|
|
|
|
# case -c :
|
|
|
|
# set compileonly = 1
|
|
|
|
# shift
|
|
|
|
# breaksw
|
|
|
|
#
|
|
|
|
# case -l :
|
|
|
|
# set linkonly = 1
|
|
|
|
# shift
|
|
|
|
# breaksw
|
|
|
|
#
|
|
|
|
# case -h :
|
|
|
|
# set helponly = 1
|
|
|
|
# shift
|
|
|
|
# breaksw
|
|
|
|
#
|
|
|
|
# case -- :
|
|
|
|
# shift
|
|
|
|
# break
|
|
|
|
# endsw
|
|
|
|
# end
|
|
|
|
#else
|
|
|
|
# set helponly = 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if ($helponly) then
|
|
|
|
echo "Usage : `basename $0` [-n|-c|-h] [file...]"
|
|
|
|
echo " -n List the out-of-date sources; don't compile, or build"
|
|
|
|
echo " -c Compile the out-of-date sources; don't build"
|
|
|
|
echo " -l Link the out-of-date sources; don't compile"
|
|
|
|
echo " -h Print this message"
|
|
|
|
echo ""
|
|
|
|
exit 1
|
|
|
|
endif
|
|
|
|
|
|
|
|
source $gtm_root/$gtm_verno/tools/gtm_cshrc.csh
|
|
|
|
|
|
|
|
\unalias unalias
|
|
|
|
unalias cd chown rm touch echo grep sed awk sort cat mv ls
|
|
|
|
|
|
|
|
if ($?RUNALL_VERSION == 0) then
|
|
|
|
setenv RUNALL_VERSION
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($?RUNALL_IMAGE == 0) then
|
|
|
|
setenv RUNALL_IMAGE
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ("$RUNALL_VERSION" == "") then
|
|
|
|
setenv RUNALL_VERSION $gtm_verno
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ("$RUNALL_IMAGE" == "") then
|
|
|
|
setenv RUNALL_IMAGE $gtm_exe:t
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($?RUNALL_EXTRA_CC_FLAGS == 0) then
|
|
|
|
setenv RUNALL_EXTRA_CC_FLAGS ""
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($?RUNALL_EXTRA_AS_FLAGS == 0) then
|
|
|
|
setenv RUNALL_EXTRA_AS_FLAGS ""
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($RUNALL_IMAGE == "d") then
|
|
|
|
setenv RUNALL_IMAGE "dbg"
|
|
|
|
else if ($RUNALL_IMAGE == "p") then
|
|
|
|
setenv RUNALL_IMAGE "pro"
|
|
|
|
else if ($RUNALL_IMAGE == "b") then
|
|
|
|
setenv RUNALL_IMAGE "bta"
|
|
|
|
endif
|
|
|
|
|
|
|
|
cd $gtm_root/$RUNALL_VERSION/${RUNALL_IMAGE}/obj
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "Start of $gtm_tools/runall.csh"
|
|
|
|
echo ""
|
|
|
|
echo -n " --> "
|
|
|
|
date
|
|
|
|
echo ""
|
|
|
|
echo "Input Command Line"
|
|
|
|
echo ""
|
|
|
|
echo -n " --> "
|
|
|
|
echo "[ $0 "$argv" ]"
|
|
|
|
echo ""
|
|
|
|
echo "Environment Variables"
|
|
|
|
echo ""
|
|
|
|
echo " RUNALL_VERSION ----> [ $RUNALL_VERSION ]"
|
|
|
|
echo " RUNALL_IMAGE ----> [ $RUNALL_IMAGE ]"
|
|
|
|
echo " RUNALL_EXTRA_CC_FLAGS ----> [ $RUNALL_EXTRA_CC_FLAGS ]"
|
|
|
|
echo " RUNALL_EXTRA_AS_FLAGS ----> [ $RUNALL_EXTRA_AS_FLAGS ]"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
if (`uname` == "SunOS") then
|
|
|
|
set path = (/usr/xpg4/bin $path)
|
|
|
|
endif
|
|
|
|
|
|
|
|
set user=`id -u -n`
|
|
|
|
|
|
|
|
version $RUNALL_VERSION $RUNALL_IMAGE
|
|
|
|
|
|
|
|
rm -f $gtm_log/error.$RUNALL_IMAGE.log >& /dev/null
|
|
|
|
|
|
|
|
set TMP_DIR_PREFIX = "/tmp/__${user}__runall"
|
|
|
|
set TMP_DIR = "${TMP_DIR_PREFIX}__`date +"%y%m%d_%H_%M_%S"`_$$"
|
|
|
|
rm -f ${TMP_DIR}_* >& /dev/null
|
|
|
|
|
|
|
|
onintr cleanup
|
|
|
|
|
|
|
|
set platform_name = `uname | sed 's/-//g' | sed 's,/,,' | tr '[A-Z]' '[a-z]'`
|
|
|
|
set mach_type = `uname -m`
|
|
|
|
|
|
|
|
if ($?RUNALL_BYPASS_VERSION_CHECK == 0) then
|
|
|
|
set temp_ver=`echo $gtm_verno | sed 's/./& /g'`
|
|
|
|
if ($temp_ver[2] != "9" || $temp_ver[3] == "9" && $temp_ver[4] == "0") then
|
|
|
|
echo ""
|
|
|
|
echo "-----------------------------------------------------------------------------------"
|
|
|
|
echo "RUNALL-E-WRONGVERSION : Cannot Runall a Non-Developemental Version ----> $gtm_verno"
|
|
|
|
echo "-----------------------------------------------------------------------------------"
|
|
|
|
echo ""
|
2012-03-24 14:06:46 -04:00
|
|
|
@ runall_status = 1 # to signal that the runall failed to do its job
|
2012-02-05 11:35:58 -05:00
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# ---- currently, dtgbldir isn't built into an executable. So a "dummy" executable is assigned to it.
|
|
|
|
|
|
|
|
cat - << LABEL >>! ${TMP_DIR}_exclude
|
|
|
|
dse dse
|
|
|
|
dse_cmd dse
|
|
|
|
dtgbldir dummy
|
|
|
|
mupip mupip
|
|
|
|
mupip_cmd mupip
|
|
|
|
lke lke
|
|
|
|
lke_cmd lke
|
|
|
|
geteuid geteuid
|
|
|
|
gtm mumps
|
|
|
|
gtm_svc gtm_svc
|
|
|
|
gtm_dal_svc gtm_svc
|
|
|
|
gtm_rpc_init gtm_svc
|
|
|
|
gtmsecshr gtmsecshr
|
|
|
|
gtmsecshr_wrapper gtmsecshr
|
|
|
|
gtm_main mumps
|
|
|
|
semstat2 semstat2
|
|
|
|
ftok ftok
|
|
|
|
gtcm_main gtcm_server
|
|
|
|
omi_srvc_xct gtcm_server
|
|
|
|
gtcm_play gtcm_play
|
|
|
|
omi_sx_play gtcm_play
|
|
|
|
gtcm_shmclean gtcm_shmclean
|
|
|
|
gtcm_pkdisp gtcm_pkdisp
|
|
|
|
gtcm_gnp_server gtcm_gnp_server
|
|
|
|
dbcertify dbcertify
|
|
|
|
dbcertify_cmd dbcertify
|
|
|
|
gtmcrypt_dbk_ref gtmcrypt
|
|
|
|
gtmcrypt_pk_ref gtmcrypt
|
|
|
|
gtmcrypt_sym_ref gtmcrypt
|
|
|
|
gtmcrypt_ref gtmcrypt
|
|
|
|
maskpass gtmcrypt
|
|
|
|
LABEL
|
|
|
|
|
|
|
|
# this first set of excluded modules are from the list above of modules that get built as plugins. Only plugins
|
|
|
|
# should be metioned in this list.
|
|
|
|
set exclude_compile_list = "gtmcrypt_dbk_ref gtmcrypt_sym_ref gtmcrypt_pk_ref gtmcrypt_ref maskpass"
|
|
|
|
# modules that should never be built or compiled are in this list. They are used in other capacities (e.g. used to
|
|
|
|
# generate other routines) but are NOT part of the GTM runtime. Other scripts compile and use these routines.
|
|
|
|
set exclude_build_list = "gtm_threadgbl_deftypes"
|
|
|
|
# find all libnames other than mumps
|
|
|
|
pushd $gtm_tools >& /dev/null
|
|
|
|
set comlist_liblist = `ls *.list | sed 's/.list//' | sed 's/^lib//'`
|
|
|
|
popd >& /dev/null
|
|
|
|
|
|
|
|
foreach value ($comlist_liblist)
|
|
|
|
cat $gtm_tools/lib$value.list | awk '{print "lib'${value}'.a", $1, " "}' >>! ${TMP_DIR}_list
|
|
|
|
end
|
|
|
|
|
|
|
|
rm -f ${TMP_DIR}_main_misc >& /dev/null
|
|
|
|
touch ${TMP_DIR}_main_.misc
|
|
|
|
|
|
|
|
rm -f $gtm_inc/__temp_runall_* >& /dev/null
|
|
|
|
rm -f $gtm_src/__temp_runall_* >& /dev/null
|
|
|
|
rm -f ${TMP_DIR}_inc_files >& /dev/null
|
|
|
|
rm -f ${TMP_DIR}_src_files >& /dev/null
|
|
|
|
rm -f ${TMP_DIR}_latest_exe
|
|
|
|
touch ${TMP_DIR}_inc_files
|
|
|
|
touch ${TMP_DIR}_src_files
|
|
|
|
|
|
|
|
# For all builds, gtm_threadgbl_deftypes.h needs to be generated unless we are bypassing.
|
|
|
|
# This only updates gtm_threadgbl_deftypes.h in $gtm_inc if generation shows it changed.
|
|
|
|
# Note shortened variable to RUNALL_BYPASS_GEN_THREADGBL due to failure on Tru64 (too long var name).
|
|
|
|
if ($?RUNALL_BYPASS_GEN_THREADGBL == 0) then
|
|
|
|
tcsh $gtm_tools/gen_gtm_threadgbl_deftypes.csh
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
|
|
|
if (0 != $runall_status) then
|
|
|
|
echo "Failed to build gtm_threadgbl_deftypes.h - aborting build"
|
|
|
|
exit $runall_status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($#argv) then
|
|
|
|
while ($#argv > 0)
|
|
|
|
set ext = $1:e
|
|
|
|
if ($ext == "h" || $ext == "si") then
|
|
|
|
echo $1 >>&! ${TMP_DIR}_inc_files
|
|
|
|
else if ("$ext" == "c" || "$ext" == "s" || "$ext" == "msg" || "$ext" == "") then
|
|
|
|
echo $1 >>&! ${TMP_DIR}_src_files
|
|
|
|
endif
|
|
|
|
shift
|
|
|
|
end
|
|
|
|
else
|
|
|
|
echo "...... Searching for --------> Last Built Executable in $gtm_exe ...... "
|
|
|
|
pushd $gtm_exe >& /dev/null
|
|
|
|
# Look down the $gtm_exe recursively so that the search for recent build executable is inclusive of $gtm_exe/plugin/ and
|
|
|
|
# $gtm_exe/plugin/gtmcrypt. Also the new shell invocation is needed to redirect the stderr that will arise due to the
|
|
|
|
# gtmsecshr privileges for which (find .) will issue 'permission denied'.
|
|
|
|
(ls -lart `find . -type f`| grep "\-..x..x..x" | tail -n 1 | awk '{print $NF}' > ${TMP_DIR}_latest_exe) >&! /dev/null
|
|
|
|
set latest_exe_with_rel_path = `cat ${TMP_DIR}_latest_exe`
|
|
|
|
set latest_exe = `basename $latest_exe_with_rel_path`
|
|
|
|
rm -f ${TMP_DIR}_latest_exe
|
|
|
|
popd >& /dev/null
|
|
|
|
if ("$latest_exe" != "") then
|
|
|
|
echo "...... Searching for --------> out-of-date INCLUDEs ...... "
|
|
|
|
pushd $gtm_inc >& /dev/null
|
|
|
|
ln -s $gtm_exe/${latest_exe_with_rel_path} __temp_runall_${latest_exe}
|
|
|
|
ls -1Lat | sed -n '1,/__temp_runall_'${latest_exe}'/p' | grep -E '(\.h$|\.si$)' >>&! ${TMP_DIR}_inc_files
|
|
|
|
rm -f __temp_runall_${latest_exe} >& /dev/null
|
|
|
|
popd >& /dev/null
|
|
|
|
echo "...... Searching for --------> out-of-date SOURCEs ...... "
|
|
|
|
pushd $gtm_src >& /dev/null
|
|
|
|
ln -s $gtm_exe/${latest_exe_with_rel_path} __temp_runall_${latest_exe}
|
|
|
|
ls -1Lat | sed -n '1,/__temp_runall_'${latest_exe}'/p' | grep -E '(\.c$|\.msg$|\.s$)' >>&! ${TMP_DIR}_src_files
|
|
|
|
rm -f __temp_runall_${latest_exe} >& /dev/null
|
|
|
|
popd >& /dev/null
|
|
|
|
echo "...... Searching for --------> out-of-date PCT ROUTINEs ...... "
|
|
|
|
pushd $gtm_pct >& /dev/null
|
|
|
|
ln -s $gtm_exe/${latest_exe_with_rel_path} __temp_runall_${latest_exe}
|
|
|
|
ls -1Lat | sed -n '1,/__temp_runall_'${latest_exe}'/p' | grep -E '\.m$' >>&! ${TMP_DIR}_pct_files
|
|
|
|
rm -f __temp_runall_${latest_exe} >& /dev/null
|
|
|
|
popd >& /dev/null
|
|
|
|
else
|
|
|
|
echo ""
|
|
|
|
echo "Unable to find the last modified executable in $gtm_exe. ....... Exiting"
|
|
|
|
echo ""
|
2012-03-24 14:06:46 -04:00
|
|
|
@ runall_status = 1 # to signal that the runall failed to do its job
|
2012-02-05 11:35:58 -05:00
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
###### if *.msg files got included, then also include *_ansi.h files for recompiling #######
|
|
|
|
if (!(-z ${TMP_DIR}_src_files)) then
|
|
|
|
foreach file (`cat ${TMP_DIR}_src_files`)
|
|
|
|
set ext = $file:e
|
|
|
|
if ("$ext" == "msg") then
|
|
|
|
set file=$file:t:r
|
|
|
|
echo ${file}_ansi.h >>&! ${TMP_DIR}_inc_files
|
|
|
|
endif
|
|
|
|
end
|
|
|
|
endif
|
|
|
|
|
|
|
|
if (! -z ${TMP_DIR}_inc_files) then
|
|
|
|
sort -u ${TMP_DIR}_inc_files >&! ${TMP_DIR}_inc_files_sorted
|
|
|
|
mv ${TMP_DIR}_inc_files_sorted ${TMP_DIR}_inc_files
|
|
|
|
endif
|
|
|
|
|
|
|
|
set backslash_quote
|
|
|
|
|
|
|
|
if (!(-z ${TMP_DIR}_inc_files)) then
|
|
|
|
echo "...... Searching for --------> out-of-date Nested HEADER Files ...... "
|
|
|
|
pushd $gtm_inc >& /dev/null
|
|
|
|
rm -f ${TMP_DIR}_inc_file_temp >& /dev/null
|
|
|
|
touch ${TMP_DIR}_inc_file_temp
|
|
|
|
while (1)
|
|
|
|
diff ${TMP_DIR}_inc_file_temp ${TMP_DIR}_inc_files | grep "^>" | sed 's/> //' > ${TMP_DIR}_inc_file_diff
|
|
|
|
if (! -z ${TMP_DIR}_inc_file_diff) then
|
|
|
|
cp -f ${TMP_DIR}_inc_files ${TMP_DIR}_inc_file_temp
|
|
|
|
foreach value (`cat ${TMP_DIR}_inc_file_diff`)
|
|
|
|
ls -1 | grep -E '(\.h$|\.si$)' | \
|
|
|
|
xargs grep -l "^[ ]*#[ ]*include[ ]*\"$value\"" >>&! ${TMP_DIR}_inc_files
|
|
|
|
end
|
|
|
|
sort -u ${TMP_DIR}_inc_files >&! ${TMP_DIR}_inc_files_sorted
|
|
|
|
mv ${TMP_DIR}_inc_files_sorted ${TMP_DIR}_inc_files
|
|
|
|
else
|
|
|
|
break
|
|
|
|
endif
|
|
|
|
end
|
|
|
|
popd >& /dev/null
|
|
|
|
endif
|
|
|
|
|
|
|
|
if (!(-z ${TMP_DIR}_inc_files)) then
|
|
|
|
echo "...... Searching for --------> #INCLUDEing Source Files ...... "
|
|
|
|
pushd $gtm_src >& /dev/null
|
|
|
|
foreach value (`cat ${TMP_DIR}_inc_files`)
|
|
|
|
ls -1 | grep -E '(\.c$|\.msg$|\.s$)' | \
|
|
|
|
xargs grep -l "^[ ]*#[ ]*include[ ]*\"$value\"" >>&! ${TMP_DIR}_src_files
|
|
|
|
end
|
|
|
|
popd >& /dev/null
|
|
|
|
endif
|
|
|
|
|
|
|
|
# For ia64 & x86_64, the file - xfer_desc.i - needs to be generated.
|
|
|
|
if ($?RUNALL_BYPASS_GEN_XFER_DESC == 0) then
|
|
|
|
if ( "ia64" == $mach_type || "x86_64" == $mach_type ) then
|
|
|
|
pushd $gtm_src
|
|
|
|
tcsh $gtm_tools/gen_xfer_desc.csh
|
|
|
|
popd
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Generate ttt.c
|
|
|
|
if (!(-e $gtm_src/ttt.c) || ((-M $gtm_tools/ttt.txt) > (-M $gtm_src/ttt.c))) then
|
|
|
|
if (-x $gtm_root/$gtm_curpro/pro/mumps) then
|
|
|
|
pushd $gtm_src >& /dev/null
|
|
|
|
/usr/local/bin/tcsh $gtm_tools/gen_ttt.csh
|
|
|
|
echo ttt.c >>&! ${TMP_DIR}_src_files
|
|
|
|
popd >& /dev/null
|
|
|
|
else
|
|
|
|
echo "RUNALL-E-NoMUMPS, unable to regenerate ttt.c due to missing $gtm_curpro/pro/mumps" \
|
|
|
|
>> $gtm_log/error.$RUNALL_IMAGE.log
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Run the list of files we are supposed to compile and delete the ones we never want to build
|
|
|
|
if (-e ${TMP_DIR}_src_files) then
|
|
|
|
rm -f ${TMP_DIR}_src_files_tmp
|
|
|
|
foreach value ($exclude_build_list)
|
|
|
|
sed "/$value/d" ${TMP_DIR}_src_files > ${TMP_DIR}_src_files_tmp
|
|
|
|
mv ${TMP_DIR}_src_files_tmp ${TMP_DIR}_src_files
|
|
|
|
end
|
|
|
|
endif
|
|
|
|
|
|
|
|
if (!(-z ${TMP_DIR}_src_files)) then
|
|
|
|
sort -u ${TMP_DIR}_src_files >&! ${TMP_DIR}_src_files_sorted
|
|
|
|
mv ${TMP_DIR}_src_files_sorted ${TMP_DIR}_src_files
|
|
|
|
else if (-z ${TMP_DIR}_pct_files) then
|
|
|
|
echo ""
|
2012-03-24 14:06:46 -04:00
|
|
|
echo " -- Nothing to Compile ............ Exiting"
|
2012-02-05 11:35:58 -05:00
|
|
|
echo ""
|
2012-03-24 14:06:46 -04:00
|
|
|
@ runall_status = 0 # runall's job is done even though there is nothing to compile
|
2012-02-05 11:35:58 -05:00
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
|
|
|
|
if ($listonly) then
|
|
|
|
if ($?latest_exe) then
|
|
|
|
echo ""
|
|
|
|
echo "************** Last built executable ************** "
|
|
|
|
echo ""
|
|
|
|
echo $latest_exe
|
|
|
|
endif
|
|
|
|
echo ""
|
|
|
|
echo "************** Out of date include files ********** "
|
|
|
|
echo ""
|
|
|
|
cat ${TMP_DIR}_inc_files
|
|
|
|
echo ""
|
|
|
|
echo "************** Out of date source files *********** "
|
|
|
|
echo ""
|
|
|
|
cat ${TMP_DIR}_src_files
|
|
|
|
echo ""
|
|
|
|
echo "************** Out of date pct files *********** "
|
|
|
|
echo ""
|
|
|
|
cat ${TMP_DIR}_pct_files
|
|
|
|
echo ""
|
2012-03-24 14:06:46 -04:00
|
|
|
@ runall_status = 0
|
2012-02-05 11:35:58 -05:00
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Irrespective of the gtm_chset value from the user environment, all
|
|
|
|
# M objects generated in $gtm_dist (GDE*.o, _*.o, ttt.o) must be
|
|
|
|
# compiled with gtm_chset="M".
|
|
|
|
unsetenv gtm_chset
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "****************************** COMPILING *********************************"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
set exclude_compile_list_modified = "FALSE"
|
|
|
|
if (! -z ${TMP_DIR}_src_files) then
|
|
|
|
foreach file (`cat ${TMP_DIR}_src_files`)
|
|
|
|
set file = $file:t
|
|
|
|
set ext = $file:e
|
|
|
|
if ("$ext" == "") then
|
|
|
|
set ext = "c"
|
|
|
|
endif
|
|
|
|
set file = $file:r # take the non-extension part for the obj file
|
|
|
|
set objfile = ${file}.o
|
|
|
|
|
|
|
|
# Do not compile plugin files if they are modified. Compilation and subsequent build will happen in
|
|
|
|
# buildaux.csh.
|
|
|
|
foreach exclude_file ($exclude_compile_list)
|
|
|
|
if ($exclude_file == $file) then
|
|
|
|
set exclude_compile_list_modified = "TRUE"
|
|
|
|
break
|
|
|
|
endif
|
|
|
|
end
|
|
|
|
if ("TRUE" == $exclude_compile_list_modified) then
|
|
|
|
continue
|
|
|
|
endif
|
|
|
|
|
|
|
|
alias runall_cc gt_cc_${RUNALL_IMAGE}
|
|
|
|
alias gt_as $gt_as_assembler $gt_as_options_common $gt_as_option_I $RUNALL_EXTRA_AS_FLAGS
|
|
|
|
alias runall_as gt_as_${RUNALL_IMAGE}
|
|
|
|
|
|
|
|
if ($linkonly == 0) then
|
|
|
|
# remove pre-existing object files before the current compilation
|
|
|
|
# to ensure they do not get used if the current compile fails
|
|
|
|
rm -f $gtm_obj/$file.o
|
|
|
|
if ($ext == "s") then
|
|
|
|
echo "$gtm_src/$file.$ext ----> $gtm_obj/$file.o"
|
|
|
|
if ( "ia64" == $mach_type && "linux" == $platform_name ) then
|
2012-03-24 14:06:46 -04:00
|
|
|
# assembler differences in HPUX on Linux. Send preprocessed assembly file on Linux.
|
|
|
|
set lfile = `basename ${file}`
|
|
|
|
set lfile = $lfile:r
|
|
|
|
gt_cpp -E ${gtm_src}/${file}.s > ${gtm_src}/${lfile}_cpp.s
|
|
|
|
if (0 != $status) @ runall_status = $status
|
|
|
|
runall_as ${gtm_src}/${lfile}_cpp.s -o ${lfile}.o
|
|
|
|
if (0 != $status) @ runall_status = $status
|
|
|
|
\rm -f ${gtm_src}/${lfile}_cpp.s
|
2012-02-05 11:35:58 -05:00
|
|
|
else if ( "os390" == $platform_name ) then
|
|
|
|
runall_as $gtm_src/${file}.s
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
if ( -e $gtm_obj/${file}.dbg ) chmod ugo+r $gtm_obj/${file}.dbg
|
|
|
|
else
|
2012-03-24 14:06:46 -04:00
|
|
|
runall_as $gtm_src/${file}.s
|
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
|
|
|
else if ($ext == "c") then
|
|
|
|
echo "$gtm_src/$file.$ext ----> $gtm_obj/$file.o"
|
|
|
|
runall_cc $RUNALL_EXTRA_CC_FLAGS $gtm_src/$file.c
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
if ($file == "omi_srvc_xct") then
|
|
|
|
chmod a+w $gtm_src/omi_sx_play.c
|
|
|
|
\cp $gtm_src/omi_srvc_xct.c $gtm_src/omi_sx_play.c
|
|
|
|
chmod a-w $gtm_src/omi_sx_play.c
|
|
|
|
echo "$gtm_src/omi_sx_play.c ----> $gtm_obj/omi_sx_play.o"
|
|
|
|
# remove pre-existing object
|
|
|
|
rm -f $gtm_obj/omi_sx_play.o
|
|
|
|
runall_cc -DFILE_TCP $RUNALL_EXTRA_CC_FLAGS $gtm_src/omi_sx_play.c
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
|
|
|
else if ($ext == "msg") then
|
|
|
|
echo "$gtm_src/$file.$ext ----> $gtm_obj/${file}_ctl.c ----> $gtm_obj/${file}_ctl.o"
|
|
|
|
# gtm_startup_chk requires gtm_dist setup
|
|
|
|
rm -f ${file}_ctl.c ${file}_ansi.h # in case an old version is lying around
|
|
|
|
set real_gtm_dist = "$gtm_dist"
|
|
|
|
setenv gtm_dist "$gtm_root/$gtm_curpro/pro"
|
|
|
|
setenv gtmroutines "$gtm_obj($gtm_pct)"
|
|
|
|
$gtm_root/$gtm_curpro/pro/mumps -run msg $gtm_src/$file.msg Unix
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
setenv gtm_dist "$real_gtm_dist"
|
|
|
|
unset real_gtm_dist
|
|
|
|
mv ${file}_ctl.c $gtm_src/${file}_ctl.c
|
|
|
|
if ( -f ${file}_ansi.h ) then
|
|
|
|
mv -f ${file}_ansi.h $gtm_inc
|
|
|
|
endif
|
|
|
|
runall_cc $RUNALL_EXTRA_CC_FLAGS $gtm_src/${file}_ctl.c
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
set objfile = ${file}_ctl.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
set library=`grep "^$file " ${TMP_DIR}_exclude`
|
|
|
|
if ("$library" == "") then
|
|
|
|
set library=`grep " $file " ${TMP_DIR}_list | awk '{print $1}'`
|
|
|
|
if ("$library" == "") then
|
|
|
|
set library="libmumps.a"
|
|
|
|
else
|
|
|
|
set retain=`grep "^$file" $gtm_tools/retain_list.txt`
|
|
|
|
if ("$retain" != "") then
|
|
|
|
echo $objfile >> ${TMP_DIR}_lib_.libmumps.a
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
echo $objfile >> ${TMP_DIR}_lib_.$library
|
|
|
|
else
|
|
|
|
if ("$library[1]" != "$library") then
|
|
|
|
echo $library[2] >> ${TMP_DIR}_main_.misc
|
|
|
|
if ($file == "omi_srvc_xct.c") then
|
|
|
|
echo "gtcm_play" >> ${TMP_DIR}_main_.misc
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
end # foreach
|
|
|
|
|
2012-03-24 14:06:46 -04:00
|
|
|
if ($compileonly || (0 != $runall_status)) then
|
2012-02-05 11:35:58 -05:00
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "-------------------------------- ARCHIVING --------------------------------"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
(ls -1 ${TMP_DIR}_lib_.* > ${TMP_DIR}_Lib_list) >& /dev/null
|
|
|
|
|
|
|
|
set retainlist = ""
|
|
|
|
foreach lib_ (`cat ${TMP_DIR}_Lib_list`)
|
|
|
|
set libext = $lib_:e
|
|
|
|
set library = $lib_:r
|
|
|
|
set library = $library:e
|
|
|
|
set library = $library.$libext
|
|
|
|
# Note down if any files in retain_list.txt are being compiled. If so we need to make sure we dont remove
|
|
|
|
# those .o files after including them in libgtmrpc.a as they also needed to be included in libmumps.a
|
|
|
|
if ("libgtmrpc.a" != $library) then
|
|
|
|
set dstlib = "$gtm_obj/$library"
|
|
|
|
else
|
|
|
|
set dstlib = "$gtm_exe/$library"
|
|
|
|
set retainlist = `cat $lib_ | egrep -f $gtm_tools/retain_list.txt`
|
|
|
|
endif
|
|
|
|
# remove pre-existing object files from object library to ensure an older working version of the module does
|
|
|
|
# not get used in case the current version of the module did not compile and failed to produce an object file.
|
|
|
|
gt_ar $gt_ar_option_delete $dstlib `cat $lib_` >& /dev/null
|
|
|
|
echo "--> into $dstlib <--"
|
|
|
|
gt_ar $gt_ar_option_update $dstlib `cat $lib_`
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
if (("ia64" == $mach_type) && ("hpux" == $platform_name)) then
|
|
|
|
ranlib $dstlib
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
if (("" != "$retainlist") && ("libgtmrpc.a" == $library)) then
|
|
|
|
rm -f `cat $lib_ | egrep -v -f $gtm_tools/retain_list.txt`
|
|
|
|
else
|
|
|
|
rm -f `cat $lib_`
|
|
|
|
endif
|
|
|
|
echo ""
|
|
|
|
end
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $runall_status) then
|
|
|
|
goto cleanup
|
|
|
|
endif
|
|
|
|
|
2012-02-05 11:35:58 -05:00
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo "----------------------------------------------------------"
|
|
|
|
echo " BUILDing the executables for the $RUNALL_IMAGE version"
|
|
|
|
echo "----------------------------------------------------------"
|
|
|
|
echo
|
|
|
|
|
|
|
|
# did libmumps.a change
|
|
|
|
set mumps_changed = `grep libmumps.a ${TMP_DIR}_Lib_list`
|
|
|
|
|
|
|
|
# on z/OS only, did libgtmzos.a change
|
|
|
|
set gtmplatformlib_changed = `grep libgtmzos.a ${TMP_DIR}_Lib_list`
|
|
|
|
|
|
|
|
cat ${TMP_DIR}_Lib_list ${TMP_DIR}_main_.misc | sed 's/.*lib//g' | sed 's/\.a$//g' | sort -u >! ${TMP_DIR}_main_.final
|
|
|
|
endif # if (! -z ${TMP_DIR}_src_files) then
|
|
|
|
|
|
|
|
# if either libmumps.a or a platform specific support library changes rebuild everything
|
|
|
|
if ("$mumps_changed" != "" || "$gtmplatformlib_changed" != "") then
|
|
|
|
$shell $gtm_tools/build${RUNALL_IMAGE}.csh $RUNALL_VERSION
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
else
|
|
|
|
# If the plugin files are modified, include them in the final list of build routines.
|
|
|
|
if ("TRUE" == "$exclude_compile_list_modified") then
|
|
|
|
echo "gtmcrypt" >>! ${TMP_DIR}_build_routine.final
|
|
|
|
endif
|
|
|
|
if (-e ${TMP_DIR}_main_.final) then
|
|
|
|
cat ${TMP_DIR}_main_.final >>! ${TMP_DIR}_build_routine.final
|
|
|
|
endif
|
|
|
|
# If we have a non-zero pct file list then include gde as one of the final build routines
|
2012-10-29 18:54:31 -04:00
|
|
|
if (-e ${TMP_DIR}_pct_files && ! -z ${TMP_DIR}_pct_files) then
|
2012-02-05 11:35:58 -05:00
|
|
|
echo "gde" >>! ${TMP_DIR}_build_routine.final
|
|
|
|
endif
|
|
|
|
set build_routine = `cat ${TMP_DIR}_build_routine.final`
|
|
|
|
$shell $gtm_tools/buildaux.csh $RUNALL_VERSION $RUNALL_IMAGE $gtm_root/$RUNALL_VERSION/$RUNALL_IMAGE $build_routine
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
if ( -f $gtm_log/error.${RUNALL_IMAGE}.log ) then
|
|
|
|
echo "Error summary:"
|
|
|
|
echo "--------------"
|
|
|
|
echo ""
|
|
|
|
cat $gtm_log/error.${RUNALL_IMAGE}.log
|
|
|
|
echo ""
|
|
|
|
echo " ----> Leaving runall logfiles ${TMP_DIR}_* intact. Please remove after troubleshooting."
|
|
|
|
echo ""
|
|
|
|
goto done
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Generate Special Debug Files (z/OS specific at the moment)
|
|
|
|
if ( -e $gtm_tools/gtm_dbgld.csh ) then
|
|
|
|
$gtm_tools/gtm_dbgld.csh $RUNALL_IMAGE
|
2012-03-24 14:06:46 -04:00
|
|
|
if (0 != $status) @ runall_status = $status
|
2012-02-05 11:35:58 -05:00
|
|
|
endif
|
|
|
|
|
|
|
|
cleanup:
|
|
|
|
if ($?latest_exe) then
|
|
|
|
rm -f $gtm_src/__temp_runall_${latest_exe} $gtm_inc/__temp_runall_${latest_exe} >& /dev/null
|
|
|
|
endif
|
|
|
|
if ($?TMP_DIR_PREFIX) then
|
|
|
|
rm -f ${TMP_DIR_PREFIX}* >& /dev/null
|
|
|
|
endif
|
|
|
|
|
|
|
|
done:
|
|
|
|
echo ""
|
|
|
|
echo "End of $gtm_tools/runall.csh"
|
|
|
|
echo ""
|
|
|
|
echo -n " -- "
|
|
|
|
date
|
|
|
|
echo ""
|
|
|
|
|
2012-03-24 14:06:46 -04:00
|
|
|
exit $runall_status
|