#!/bin/csh -f
-##################################################################################################
-# Name : build.csh
-# Description: Build and install SALOME modules from sources
-# Author : Vadim SANDLER (VSR), Open CASCADE S.A.
-# Created : 27.01.2005
-##################################################################################################
+
+####################################################################################
+# File : build.csh
+# Created : Thu Jan 27 09:50:55 2005
+# Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
+# Project : SALOME
+# Module : Installation Wizard
+# Copyright : 2002-2007 CEA
+#
+# This script is the part of the SALOME installation procedure.
+#
+# This script can be used to build and install SALOME modules from sources.
+# Try build.csh -h for more details about usage.
+#
+####################################################################################
set is_build_configure=0
set is_configure=0
+set med_with_gui=1
set is_delete=0
set verbose_level=2
set params=""
set b_params=""
-set modules=(KERNEL GUI GEOM MED SMESH VISU SUPERV NETGENPLUGIN GHS3DPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO LIGHT)
+set modules=(KERNEL GUI GEOM MED SMESH VISU SUPERV NETGENPLUGIN GHS3DPLUGIN BLSURFPLUGIN HexoticPLUGIN GHS3DPRLPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO LIGHT SIERPINSKY RANDOMIZER FILTER YACS MULTIPR)
set optim=""
set is_install=0
set is_help=0
+set is_tui=0
set prefix=""
#########################################################
set is_configure=1
else if ( "$1" == "-c" ) then
set is_configure=1
+ else if ( "$1" == "-w" ) then
+ set med_with_gui=0
else if ( "$1" == "-d" ) then
set is_delete=1
else if ( "$1" == "-o" ) then
set prefix=$1
else if ( "$1" == "-h" ) then
set is_help=1
+ else if ( "$1" == "-t" ) then
+ set is_tui=1
else
set ckt=`echo ${modules} | grep $1`
if ( "$ckt" != "" ) then
echo ""
echo ""
echo "Description:"
-echo " Builds given SALOME2 modules by performing make and (optionally) make install commands"
+echo " Builds given SALOME modules by performing make and (optionally) make install commands"
echo ""
echo "Usage:"
echo " build.csh [ <option> ] ... [ <module> [ <module> ... ] ]"
echo ""
echo "<module> Modules to build, separated by space(s)."
-echo " If no modules are given - all SALOME2 modules are assumed."
+echo " If no modules are given - all SALOME modules are assumed."
echo " Note, that modules given in command lines are automatically sorted in such order"
echo " to support correct modules dependencies."
echo ""
echo ""
echo "-c Perform configure command for all given modules. Default is off."
echo ""
+echo "-w Add --without-ihm key to build_configure and configure"
+echo " commands for MED module to build its sources without GUI."
+echo " By default MED sources are built with GUI."
+echo ""
echo "-d Delete build directories before calling configure, to enforce full rebuild"
echo " (and reinstall if -i or -p option is used) of module."
echo " Use this option carefully."
echo " This option can require -d option to be set (to ensure that previously"
echo " created build directories are removed to enforce rebuild in optimized mode)."
echo ""
+echo "-t Performs make dev_docs step to build TUI documentation for those modules"
+echo " which support this. Default is off."
+echo ""
echo "-i Performs make install step. Default is off that means only make step."
echo ""
echo "-p <prefix> Define the directory where to install modules after compilation."
#########################################################
# call build_configure
#########################################################
+ if ( $med_with_gui == 0 && "${module}" == "MED" ) then
+ set add_keys="--without-ihm"
+ endif
cd ${module_src}
- ./build_configure >& ${LOG_DIR}/build_configure_${module}.log
+ ./build_configure ${add_keys} >& ${LOG_DIR}/build_configure_${module}.log
#########################################################
# echo possible errors
#########################################################
if ( $verbose_level > 0 ) then
- cat ${LOG_DIR}/build_configure_${module}.log | grep ": error:"
+ cat ${LOG_DIR}/build_configure_${module}.log | grep -E "(failed|: error:)" >&2
endif
endif
endif
if ( ! -e ${module_src}/configure ) then
echo "\!\!\! Warning \!\!\! Can not find configure script in ${module_src}."
else
- if ( "${module}" == "NETGENPLUGIN" && ($?NETGENHOME) ) then
+ if ( $med_with_gui == 0 && "${module}" == "MED" ) then
+ set add_keys="--without-ihm"
+ endif
+ if ( "${module}" == "MED" && ($?METISDIR) && ($?SCOTCHDIR) ) then
+ set add_keys="--enable-splitter=yes --with-metis=${METISDIR} --with-scotch=${SCOTCHDIR}"
+ endif
+ if ( "${module}" == "NETGENPLUGIN" && ($?NETGENHOME) ) then
set add_keys="--with-netgen=${NETGENHOME}"
endif
${module_src}/configure --prefix=$px ${optim} ${add_keys} >& ${LOG_DIR}/configure_${module}.log
# echo possible errors
#########################################################
if ( $verbose_level > 0 ) then
- cat ${LOG_DIR}/configure_${module}.log | grep ": error:"
+ cat ${LOG_DIR}/configure_${module}.log | grep ": error:" >&2
endif
if ( $verbose_level > 1 ) then
- cat ${LOG_DIR}/configure_${module}.log | grep ": WARNING:"
+ cat ${LOG_DIR}/configure_${module}.log | grep ": WARNING:" >&2
endif
endif
endif
#########################################################
# print make errors
#########################################################
- cat ${LOG_DIR}/make_${module}.log | grep '[*][*][*]'
+ cat ${LOG_DIR}/make_${module}.log | grep '[*][*][*]' >&2
#########################################################
# print compiler errors and warnings
# Note: here awk is used to concatenate together several lines of single
#########################################################
if ( $verbose_level > 0 ) then
###cat ${LOG_DIR}/make_${module}.log | grep ": error"
- cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {printf $0} END {print ""}' | grep "${module_src}/[A-Za-z_0-9./]*:" | sed s@"^${module_src}/src/"@@
+ cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {printf $0} END {print ""}' | grep "${module_src}/[A-Za-z_0-9./]*:" | sed s@"^${module_src}/src/"@@ >&2
endif
if ( $verbose_level > 1 ) then
- cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {printf $0} END {print ""}' | grep ": warning" | sed s@"^${module_src}/src/"@@
+ cat ${LOG_DIR}/make_${module}.log | awk 'substr($0,0,1)!=" " {print ""} {printf $0} END {print ""}' | grep ": warning" | sed s@"^${module_src}/src/"@@ >&2
endif
#########################################################
+ # perform make dev_docs step if -t flag is given
+ #########################################################
+ if ( $is_tui == 1 && $sts == 0 && -d ${module_build}/doc ) then
+ cd ${module_build}/doc
+ set dd=`cat Makefile | grep -E "dev_docs[[:space:]]*:"`
+ if ( "$dd" != "" ) then
+ echo "... Performing make dev_docs"
+ make dev_docs >& ${LOG_DIR}/make_dev_docs_${module}.log
+ cat ${LOG_DIR}/make_dev_docs_${module}.log | grep '[*][*][*]' >&2
+ endif
+ endif
+ cd ${module_build}
+ #########################################################
# perform make if -i or -p flags are given
#########################################################
if ( $is_install == 1 && $sts == 0 || "${module}" == "KERNEL" ) then
- echo "... Performing make install"
#########################################################
# deleting build directory if -d flag is given
#########################################################
echo "... Removing $px"
rm -rf $px
endif
+ echo "... Performing make install"
make install >& ${LOG_DIR}/make_install_${module}.log
set sts=$status
#########################################################