]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Implement features:
authorvsr <vsr@opencascade.com>
Mon, 25 Dec 2006 13:35:50 +0000 (13:35 +0000)
committervsr <vsr@opencascade.com>
Mon, 25 Dec 2006 13:35:50 +0000 (13:35 +0000)
- install and build SALOME module sources
- install all products from sources

33 files changed:
config_files/CALCULATOR_BIN.sh
config_files/CALCULATOR_SRC.sh
config_files/COMPONENT_BIN.sh
config_files/COMPONENT_SRC.sh
config_files/GEOM_BIN.sh
config_files/GEOM_SRC.sh
config_files/GHS3DPLUGIN_BIN.sh
config_files/GHS3DPLUGIN_SRC.sh
config_files/GUI_BIN.sh
config_files/GUI_SRC.sh
config_files/HELLO_BIN.sh
config_files/HELLO_SRC.sh
config_files/KERNEL_BIN.sh
config_files/KERNEL_SRC.sh
config_files/LIGHT_BIN.sh
config_files/LIGHT_SRC.sh
config_files/MED_BIN.sh
config_files/MED_SRC.sh
config_files/NETGENPLUGIN_BIN.sh
config_files/NETGENPLUGIN_SRC.sh
config_files/PYCALCULATOR_BIN.sh
config_files/PYCALCULATOR_SRC.sh
config_files/PYHELLO_BIN.sh
config_files/PYHELLO_SRC.sh
config_files/SAMPLES.sh
config_files/SMESH_BIN.sh
config_files/SMESH_SRC.sh
config_files/SUPERV_BIN.sh
config_files/SUPERV_SRC.sh
config_files/VISU_BIN.sh
config_files/VISU_SRC.sh
config_files/build.sh [new file with mode: 0755]
config_files/common.sh

index e758e0c045e7946d124923f8ff3aad974ca4c1c5..f9d13b8a3362dbf6522e0c7bc9b490b0d1faeb64 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${CALCULATOR_ROOT_DIR}" ]; then
     check_lib_version VERSION ${CALCULATOR_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${CALCULATOR_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -91,7 +93,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/CALCULATORbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/CALCULATORbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export CALCULATOR_ROOT_DIR=${PRODUCT_DIR}
@@ -111,8 +113,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="CalculatorBin" ; fi
-export PRODUCT="CALCULATOR_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="CALCULATORbin" ; fi
+export PRODUCT="CALCULATOR_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 68c1275edd6223f7dbffcdd63d237dcea46b6a52..0aa49ac5fc73681481ddaff80908060c76655471 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${CALCULATOR_SRC_DIR}" ]; then
-    check_lib_version VERSION ${CALCULATOR_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${CALCULATOR_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${CALCULATOR_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${CALCULATOR_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export CALCULATOR_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/CALCULATORsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/CALCULATORsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/CALCULATOR_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT CALCULATOR
+
+# create environment for the built binaries
+cd $CUR_DIR
+./CALCULATOR_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="CalculatorSrc" ; fi
-export PRODUCT="CALCULATOR_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="CALCULATORsrc" ; fi
+export PRODUCT="CALCULATOR_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 594031668139fcacf105bfcf9b1c30e42b647214..e12a04865106cbcc4d3c606f3fe44d460b139179 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${COMPONENT_ROOT_DIR}" ]; then
     check_lib_version VERSION ${COMPONENT_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${COMPONENT_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -91,7 +93,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/COMPONENTbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/COMPONENTbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export COMPONENT_ROOT_DIR=${PRODUCT_DIR}
@@ -105,8 +107,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="ComponentBin" ; fi
-export PRODUCT="COMPONENT_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="COMPONENTbin" ; fi
+export PRODUCT="COMPONENT_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 779480fcbb7e138da504783a79db79512b85dab2..e7ac2fba3bcd68147b9fa72d8bd8b37a7f59ff45 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${COMPONENT_SRC_DIR}" ]; then
-    check_lib_version VERSION ${COMPONENT_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${COMPONENT_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${COMPONENT_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${COMPONENT_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export COMPONENT_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/COMPONENTsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/COMPONENTsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/COMPONENT_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT COMPONENT
+
+# create environment for the built binaries
+cd $CUR_DIR
+./COMPONENT_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="ComponentSrc" ; fi
-export PRODUCT="COMPONENT_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="COMPONENTsrc" ; fi
+export PRODUCT="COMPONENT_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 1e7e7b41ccbf65ecfad285a90f917f981527226c..76e2ddce9917a292dca6ae159460d8a257cc205f 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GEOM_ROOT_DIR}" ]; then
     check_lib_version VERSION ${GEOM_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${GEOM_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GEOMbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GEOMbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export GEOM_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GeomBin" ; fi
-export PRODUCT="GEOM_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GEOMbin" ; fi
+export PRODUCT="GEOM_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 6001d16d399c797865e3fe47a2ce2e3c4d61fe23..470ca7603c921283a51fd82972acc09186b5fe0f 100755 (executable)
@@ -8,16 +8,17 @@
 #  Module    : Installation Wizard
 #  Copyright : 2002-2006 CEA
 #
-# The script is the part of the SALOME installation procedure.
+#  This script is the part of the SALOME installation procedure.
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GEOM_SRC_DIR}" ]; then
-    check_lib_version VERSION ${GEOM_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${GEOM_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${GEOM_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${GEOM_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export GEOM_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GEOMsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GEOMsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/GEOM_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT GEOM
+
+# create environment for the built binaries
+cd $CUR_DIR
+./GEOM_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GeomSrc" ; fi
-export PRODUCT="GEOM_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GEOMsrc" ; fi
+export PRODUCT="GEOM_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index e107e5090abd8f9534f9f8b082f12d476efb4888..0050be357bf260b918140ba8bee59991aab78bf7 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GHS3DPLUGIN_ROOT_DIR}" ]; then
     check_lib_version VERSION ${GHS3DPLUGIN_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${GHS3DPLUGIN_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -90,7 +92,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GHS3DPLUGINbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GHS3DPLUGINbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export GHS3DPLUGIN_ROOT_DIR=${PRODUCT_DIR}
@@ -104,8 +106,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GHS3DPLUGINBin" ; fi
-export PRODUCT="GHS3DPLUGIN_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GHS3DPLUGINbin" ; fi
+export PRODUCT="GHS3DPLUGIN_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 214cc85c8d006594296221909c4405d9ad0c9ea0..3ca97aa2c01c27d6533125613453bee97497ba27 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GHS3DPLUGIN_SRC_DIR}" ]; then
-    check_lib_version VERSION ${GHS3DPLUGIN_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${GHS3DPLUGIN_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${GHS3DPLUGIN_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${GHS3DPLUGIN_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
-  return 0
 fi
 return 1
 }
@@ -32,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export GHS3DPLUGIN_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -61,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GHS3DPLUGINsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GHS3DPLUGINsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/GHS3DPLUGIN_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT GHS3DPLUGIN
+
+# create environment for the built binaries
+cd $CUR_DIR
+./GHS3DPLUGIN_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -76,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GHS3DPLUGINSrc" ; fi
-export PRODUCT="GHS3DPLUGIN_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GHS3DPLUGINsrc" ; fi
+export PRODUCT="GHS3DPLUGIN_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index cfdcc7c8e8dbb6679da5ea5512903a89b74d2cb2..152eed603b38c7c8884e35f4d78497d6bc557fee 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GUI_ROOT_DIR}" ]; then
     check_lib_version VERSION ${GUI_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${GUI_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GUIbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GUIbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export GUI_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GUIBin" ; fi
-export PRODUCT="GUI_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GUIbin" ; fi
+export PRODUCT="GUI_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 7ec87e99758e3f4789c33d4778f1ff0956b089c5..5b2b48331bdba3e9510f1066bdce50a5044da5b3 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${GUI_SRC_DIR}" ]; then
-    check_lib_version VERSION ${GUI_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${GUI_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${GUI_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${GUI_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export GUI_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/GUIsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/GUIsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/GUI_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT GUI
+
+# create environment for the built binaries
+cd $CUR_DIR
+./GUI_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GUISrc" ; fi
-export PRODUCT="GUI_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="GUIsrc" ; fi
+export PRODUCT="GUI_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 2e627a4d756e2a652daeacf9f4f9cfc037131465..a72df3d894f8f178c9d343cac69f3baf284a1166 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${HELLO_ROOT_DIR}" ]; then
     if [ -f ${HELLO_ROOT_DIR}/bin/salome/VERSION ]; then
        ver=`cat ${HELLO_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -88,7 +90,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/HELLObinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/HELLObinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export HELLO_ROOT_DIR=${PRODUCT_DIR}
@@ -108,8 +110,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="HelloBin" ; fi
-export PRODUCT="HELLO_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="HELLObin" ; fi
+export PRODUCT="HELLO_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 4d47cf66e6011a583dc07af245015cfb2b788322..7178bbbdd4ee819cd0f0998107ddf6c10689f2e5 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${HELLO_SRC_DIR}" ]; then
-    if [ -f ${HELLO_SRC_DIR}/bin/VERSION ]; then
-       ver=`cat ${HELLO_SRC_DIR}/bin/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${HELLO_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${HELLO_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -30,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export HELLO_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -59,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/HELLOsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/HELLOsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/HELLO_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT HELLO
+
+# create environment for the built binaries
+cd $CUR_DIR
+./HELLO_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -74,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="HelloSrc" ; fi
-export PRODUCT="HELLO_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="HELLOsrc" ; fi
+export PRODUCT="HELLO_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index f2839c2bac72e1dd19e7dd68ceb096f63db699ce..2369fed905015ab487692904fb8981c7f3f09145 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${KERNEL_ROOT_DIR}" ]; then
     check_lib_version VERSION ${KERNEL_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${KERNEL_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/KERNELbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/KERNELbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # The next two symbolic links are created only for Red Hat 9 and Scientific Linux 3.0.5
 if [ -f /lib/libcrypto.so.0.9.7a ]; then
@@ -124,8 +126,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KernelBin" ; fi
-export PRODUCT="KERNEL_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KERNELbin" ; fi
+export PRODUCT="KERNEL_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index e45b47bb1e2a36607dc45e011d72b2d7ceaeeb9a..0b13fea69d9b3d91183ba2376bd794e43d39c584 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${KERNEL_SRC_DIR}" ]; then
-    check_lib_version VERSION ${KERNEL_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${KERNEL_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${KERNEL_SRC_DIR}/configure.ac ]; then
+       ver=`grep -E "^VERSION=" ${KERNEL_SRC_DIR}/configure.ac | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export KERNEL_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/KERNELsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/KERNELsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/KERNEL_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT KERNEL
+
+# create environment for the built binaries
+cd $CUR_DIR
+./KERNEL_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -80,8 +104,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KernelSrc" ; fi
-export PRODUCT="KERNEL_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="KERNELsrc" ; fi
+export PRODUCT="KERNEL_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 410f656f09dda503fc16c2c03ce8ee8497d42612..0b18b899aa98695cb7cdf9c1ccd08c0c05bbb6e4 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${LIGHT_ROOT_DIR}" ]; then
     if [ -f ${LIGHT_ROOT_DIR}/bin/salome/VERSION ]; then
        ver=`cat ${LIGHT_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -84,7 +86,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/LIGHTbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/LIGHTbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export LIGHT_ROOT_DIR=${PRODUCT_DIR}
@@ -98,8 +100,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="LIGHTBin" ; fi
-export PRODUCT="LIGHT_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="LIGHTbin" ; fi
+export PRODUCT="LIGHT_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 8d70c54918d92c88ee559f56110b10f9179121ae..ce65b8667c506af65c4aa74400f120932d1045d7 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${LIGHT_SRC_DIR}" ]; then
-    if [ -f ${LIGHT_SRC_DIR}/bin/VERSION ]; then
-       ver=`cat ${LIGHT_SRC_DIR}/bin/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${LIGHT_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${LIGHT_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -30,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export LIGHT_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -59,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/LIGHTsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/LIGHTsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/LIGHT_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT LIGHT
+
+# create environment for the built binaries
+cd $CUR_DIR
+./LIGHT_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -74,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="LIGHTSrc" ; fi
-export PRODUCT="LIGHT_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="LIGHTsrc" ; fi
+export PRODUCT="LIGHT_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index d442da9b2bf93e2a3a1e7d05e82eb8dae749500d..bcb1cef1c56778e162b8663dadb4577e2b41733c 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${MED_ROOT_DIR}" ]; then
     check_lib_version VERSION ${MED_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${MED_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/MEDbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/MEDbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export MED_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="MedBin" ; fi
-export PRODUCT="MED_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="MEDbin" ; fi
+export PRODUCT="MED_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 9f5678b00081d5239871b4ec8a1dba1472feca32..4484b248ce466dc4d75322eab4dfd19bdcf6b887 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${MED_SRC_DIR}" ]; then
-    check_lib_version VERSION ${MED_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${MED_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${MED_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${MED_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export MED_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/MEDsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/MEDsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/MED_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT MED
+
+# create environment for the built binaries
+cd $CUR_DIR
+./MED_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="MedSrc" ; fi
-export PRODUCT="MED_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="MEDsrc" ; fi
+export PRODUCT="MED_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 0d213bad4cce774f1e7e3614406d26942b140ee1..bc676f5721a3d902d4dbf7765f581717cab017de 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${NETGENPLUGIN_ROOT_DIR}" ]; then
     check_lib_version VERSION ${NETGENPLUGIN_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${NETGENPLUGIN_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -88,7 +90,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/NETGENPLUGINbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/NETGENPLUGINbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export NETGENPLUGIN_ROOT_DIR=${PRODUCT_DIR}
@@ -102,8 +104,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="NETGENPLUGINBin" ; fi
-export PRODUCT="NETGENPLUGIN_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="NETGENPLUGINbin" ; fi
+export PRODUCT="NETGENPLUGIN_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 260ea938fc72da77eb8b2584f564f6d969760a48..ac8e683fed83bc6aac75d1dc157a4abb6c3dc987 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${NETGENPLUGIN_SRC_DIR}" ]; then
-    check_lib_version VERSION ${NETGENPLUGIN_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${NETGENPLUGIN_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${NETGENPLUGIN_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${NETGENPLUGIN_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
-  return 0
 fi
 return 1
 }
@@ -32,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export NETGENPLUGIN_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -61,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/NETGENPLUGINsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/NETGENPLUGINsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/NETGENPLUGIN_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT NETGENPLUGIN
+
+# create environment for the built binaries
+cd $CUR_DIR
+./NETGENPLUGIN_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -76,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="NETGENPLUGINSrc" ; fi
-export PRODUCT="NETGENPLUGIN_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="NETGENPLUGINsrc" ; fi
+export PRODUCT="NETGENPLUGIN_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 1233014dc4a570b9301456edf568bd8ba561e421..57b4f98bd9b58804dc60538e8a9e70f2e368938d 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${PYCALCULATOR_ROOT_DIR}" ]; then
     check_lib_version VERSION ${PYCALCULATOR_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${PYCALCULATOR_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -87,7 +89,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/PYCALCULATORbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/PYCALCULATORbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export PYCALCULATOR_ROOT_DIR=${PRODUCT_DIR}
@@ -101,8 +103,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PyCalculatorBin" ; fi
-export PRODUCT="PYCALCULATOR_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PYCALCULATORbin" ; fi
+export PRODUCT="PYCALCULATOR_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 63c1ad178c0fc11a00f6e1a181dd2305cee9660e..a979688b9a2c537d4b3b62701883e97135b25e90 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${PYCALCULATOR_SRC_DIR}" ]; then
-    check_lib_version VERSION ${PYCALCULATOR_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${PYCALCULATOR_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${PYCALCULATOR_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${PYCALCULATOR_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export PYCALCULATOR_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/PYCALCULATORsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/PYCALCULATORsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/PYCALCULATOR_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT PYCALCULATOR
+
+# create environment for the built binaries
+cd $CUR_DIR
+./PYCALCULATOR_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PyCalculatorSrc" ; fi
-export PRODUCT="PYCALCULATOR_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PYCALCULATORsrc" ; fi
+export PRODUCT="PYCALCULATOR_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 8caa15a68629ffb25aa2fc8dbb2bbe9e021ead2c..9859d50edca52479c36a6c3d178f36b7a545f7c7 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${PYHELLO_ROOT_DIR}" ]; then
     if [ -f ${PYHELLO_ROOT_DIR}/bin/salome/VERSION ]; then
        ver=`cat ${PYHELLO_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -86,7 +88,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/PYHELLObinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/PYHELLObinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export PYHELLO_ROOT_DIR=${PRODUCT_DIR}
@@ -105,8 +107,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PyHelloBin" ; fi
-export PRODUCT="PYHELLO_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PYHELLObin" ; fi
+export PRODUCT="PYHELLO_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index b8d4bd8ef2be41006c0a8c576893ee0bd5844d95..b4380e229945b3e58edbee8b4ff4c7d87757273e 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${PYHELLO_SRC_DIR}" ]; then
-    if [ -f ${PYHELLO_SRC_DIR}/bin/VERSION ]; then
-       ver=`cat ${PYHELLO_SRC_DIR}/bin/VERSION | awk -F: '{print $NF}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${PYHELLO_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${PYHELLO_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -30,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export PYHELLO_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -59,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/PYHELLOsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/PYHELLOsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/PYHELLO_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT PYHELLO
+
+# create environment for the built binaries
+cd $CUR_DIR
+./PYHELLO_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -74,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PyHelloSrc" ; fi
-export PRODUCT="PYHELLO_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="PYHELLOsrc" ; fi
+export PRODUCT="PYHELLO_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index d7c5fad20494c626dc891213d92abc7f953c113e..bba45581943c287e56de6337584efbf02cb5ae46 100755 (executable)
@@ -12,6 +12,8 @@
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 # There is no possibility to check version number
 return 0
@@ -52,7 +54,7 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/SAMPLESsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/SAMPLESsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
@@ -67,8 +69,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="Samples" ; fi
-export PRODUCT="SAMPLES_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SAMPLES" ; fi
+export PRODUCT="SAMPLES_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 4c869d214cbde3a8089e3298b8ccdae9b9c457d5..ab9dcfc7a5e41f086e233eedcd1a872658d58953 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${SMESH_ROOT_DIR}" ]; then
     check_lib_version VERSION ${SMESH_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${SMESH_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/SMESHbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/SMESHbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export SMESH_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SmeshBin" ; fi
-export PRODUCT="SMESH_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SMESHbin" ; fi
+export PRODUCT="SMESH_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index b848e37a88346ad31d12c091a0eed5dac67553b7..fb25ffeac5fcfe1d98e674a56ea237517f66fd95 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${SMESH_SRC_DIR}" ]; then
-    check_lib_version VERSION ${SMESH_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${SMESH_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${SMESH_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${SMESH_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export SMESH_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/SMESHsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/SMESHsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/SMESH_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT SMESH
+
+# create environment for the built binaries
+cd $CUR_DIR
+./SMESH_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SmeshSrc" ; fi
-export PRODUCT="SMESH_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SMESHsrc" ; fi
+export PRODUCT="SMESH_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index b10bc88623f92654d544875f2b8c78dff8b18ee4..195b6e4c1987c3d199722aa9a2ab41d596341496 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${SUPERV_ROOT_DIR=}" ]; then
     check_lib_version VERSION ${SUPERV_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${SUPERV_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/SUPERVbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/SUPERVbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export SUPERV_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SupervBin" ; fi
-export PRODUCT="SUPERV_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SUPERVbin" ; fi
+export PRODUCT="SUPERV_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 0e282dd8b7af320bb173641ae898933178683abd..68856e21f0416242683c27a96f8545025087e66e 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${SUPERV_SRC_DIR}" ]; then
-    check_lib_version VERSION ${SUPERV_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${SUPERV_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${SUPERV_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${SUPERV_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export SUPERV_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/SUPERVsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/SUPERVsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/SUPERV_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT SUPERV
+
+# create environment for the built binaries
+cd $CUR_DIR
+./SUPERV_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SupervSrc" ; fi
-export PRODUCT="SUPERV_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="SUPERVsrc" ; fi
+export PRODUCT="SUPERV_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index 9249e60852610b278ea9e9648fd20723b42f67ba..69d6000185ebd6dbd984b5a04cad18ccb2290d3f 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${VISU_ROOT_DIR}" ]; then
     check_lib_version VERSION ${VISU_ROOT_DIR}/bin/salome
     if [ "$?" -eq "0" ]; then
        ver=`cat ${VISU_ROOT_DIR}/bin/salome/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -89,7 +91,7 @@ install_binary()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/VISUbinariesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/VISUbinariesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 # modify all *.la files
 export VISU_ROOT_DIR=${PRODUCT_DIR}
@@ -103,8 +105,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="VisuBin" ; fi
-export PRODUCT="VISU_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="VISUbin" ; fi
+export PRODUCT="VISU_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
index bba69fffd0012ffc19e63a310db2f0718f2c54c6..eb4534ef21a95c24513e484753ec3afc4602fa18 100755 (executable)
 #
 ####################################################################################
 
+VERSION="3.2.4"
+
 check_version(){
 if [ -n "${VISU_SRC_DIR}" ]; then
-    check_lib_version VERSION ${VISU_SRC_DIR}/bin
-    if [ "$?" -eq "0" ]; then
-       ver=`cat ${VISU_SRC_DIR}/bin/VERSION | awk -F: '{print $2}' | tr -d '[:space:]' ` 
-       if [ "$ver" = "3.2.4" ]; then
+    if [ -f ${VISU_SRC_DIR}/configure.in.base ]; then
+       ver=`grep -E "^VERSION=" ${VISU_SRC_DIR}/configure.in.base | awk -F= '{print $NF}' | tr -d '[:space:]' ` 
+       if [ "$ver" = "${VERSION}" ]; then
            return 0
        fi
     fi
@@ -31,6 +32,7 @@ cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
 export VISU_SRC_DIR=\${INSTALL_ROOT}/${PRODUCT}
 ##
 EOF
+
 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 }
@@ -60,11 +62,33 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/VISUsourcesV3.2.4.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/VISUsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# install sources
+install_source
+
+# build sources
+prod_bin=`echo $PRODUCT_TYPE | sed "s%src%bin%g"`
+mkdir -p ${INSTALL_ROOT}/VISU_${VERSION}
+
+if [ -e ./build.sh ] ; then
+    cp -f ./build.sh ${INSTALL_ROOT}
+fi
+
+CUR_DIR=`pwd`
+cd ${INSTALL_ROOT}
+check_jb build.sh -o -b -d -v 0 -p $INSTALL_ROOT VISU
+
+# create environment for the built binaries
+cd $CUR_DIR
+./VISU_BIN.sh print_env $INSTALL_WORK $SOURCE_DIR $INSTALL_ROOT $PRODUCT_SEQUENCE $prod_bin
+}
+
 install_binary()
 {
 return 1
@@ -75,8 +99,8 @@ export INSTALL_WORK=$2;
 export SOURCE_DIR=$3;
 export INSTALL_ROOT=$4;
 export PRODUCT_SEQUENCE=$5;
-if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="VisuSrc" ; fi
-export PRODUCT="VISU_SRC_3.2.4"
+if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="VISUsrc" ; fi
+export PRODUCT="VISU_SRC_${VERSION}"
 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
 source ./common.sh
diff --git a/config_files/build.sh b/config_files/build.sh
new file mode 100755 (executable)
index 0000000..c81ffb5
--- /dev/null
@@ -0,0 +1,427 @@
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : build.sh
+#  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-2006 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.sh -h for more details about usage.
+#
+####################################################################################
+
+###############################################################
+# Prints usage information and exits
+###############################################################
+usage(){
+    echo ""
+    echo "Description:"
+    echo "            Builds given SALOME modules by performing make and (optionally)"
+    echo "            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 SALOME modules are assumed."
+    echo "            Note, that modules given in command lines are automatically"
+    echo "            sorted in such order to support correct modules dependencies."
+    echo ""
+    echo "Options:"
+    echo "-b          Perform build_configure command for all given modules."
+    echo "            This option forces configure (-c) key to be set. Default is off."
+    echo ""
+    echo "-c          Perform configure command for all given modules. Default is off."
+    echo ""
+    echo "-d          Delete build directories before calling configure, to enforce full"
+    echo "            rebuild (and reinstall if -i or -p option is used) of module."
+    echo "            Use this option carefully."
+    echo ""
+    echo "-o          Build sources in optimized mode. Default is off that means"
+    echo "            debug mode."
+    echo "            Use this option together with -c or -b."
+    echo "            This option can require -d option to be set (to ensure that"
+    echo "            previously created build directories are removed to enforce"
+    echo "            rebuild in optimized mode)."
+    echo ""
+    echo "-t          Performs make dev_docs step to build TUI documentation for those"
+    echo "            modules which support this. Default is off."
+    echo ""
+    echo "-i          Performs make install step. Default is off that means only make"
+    echo "            step."
+    echo ""
+    echo "-p <prefix> Define the directory where to install modules after compilation."
+    echo "            By default the directory where compilation is performed is used."
+    echo ""
+    echo "-v <level>  Verbose level (0-2, default 2): print information on build status:"
+    echo "            0: only 'make' errors"
+    echo "            1: 0 + compiler and other errors (build_configure, configure)"
+    echo "            2: 1 + compiler and other warnings "
+    echo ""
+    echo "-h          Prints this help information."
+    echo ""
+    echo "Note:       If no keys are given script just performs make step."
+    echo ""
+    echo "Example:"
+    echo "            ./build.csh -o -i -b KERNEL MED GEOM"
+    echo ""
+    echo "            This will make KERNEL, GEOM and MED modules: build_configure,"
+    echo "            configure, make and install procedures will be performed for all"
+    echo "            specified modules. The modules will be built in the optimized mode."
+    echo ""
+    exit 1
+}
+
+is_build_configure=0
+is_configure=0
+is_delete=0
+verbose_level=2
+params=""
+b_params=""
+modules="KERNEL GUI GEOM MED SMESH VISU SUPERV NETGENPLUGIN GHS3DPLUGIN COMPONENT PYCALCULATOR CALCULATOR HELLO PYHELLO LIGHT"
+optim=""
+is_install=0
+is_tui=0
+prefix=""
+
+#########################################################
+# parse parameters
+#########################################################
+while getopts ":hbcdoitv:p:" option ; do
+    case $option in
+        h ) usage ;;
+        b ) is_build_configure=1 ; is_configure=1 ;;
+        c ) is_configure=1 ;;
+        d ) is_delete=1 ;;
+        o ) optim="--enable-production=yes --disable-debug" ;;
+        i ) is_install=1 ;;
+       t ) is_tui=1 ;;
+        v ) verbose_level=$OPTARG ;;
+        p ) is_install=1 ; prefix=$OPTARG ;;
+        ? ) usage ;;
+    esac
+done
+# shift to have the good number of other args
+shift $((OPTIND - 1))
+
+for arg in $@ ; do
+    known=0
+    for m in $modules ; do
+       if [ "$m" == "$arg" ] ; then known=1 ; break ; fi
+    done
+    if [ $known -eq 1 ] ; then
+       params="$params $arg"
+    else
+       b_params="$b_params $arg"
+       echo
+       echo '!!! Warning !!! Unknown module: '$arg'. Skipping.'
+    fi
+done
+
+#########################################################
+# sort modules in proper order according to the dependancies
+#########################################################
+if [ "${params}" != "" ] ; then
+    xparams=""
+    for module in ${modules} ; do
+       found=0
+       for p in $params ; do
+           if [ "$p" == "$module" ] ; then found=1 ; break ; fi
+       done
+       if [ $found -eq 1 ] ; then xparams="$xparams $module" ; fi
+    done
+    modules="$xparams"
+elif [ "${b_params}" != "" ] ; then
+    echo
+    echo "Nothing to be built. Exiting."
+    echo
+    exit 1
+fi
+
+echo
+echo ">>> The following SALOME packages will be built:"
+echo $modules
+
+#########################################################
+# set environment
+#########################################################
+env_script=`dirname $0`/env_build.sh
+if [ ! -e $env_script ] ; then
+    env_script=`dirname $0`/env_products.sh
+fi
+if [ -e $env_script ] ; then
+    echo
+    echo ">>> Setting environment"
+    source $env_script
+else
+    echo
+    echo '!!! Warning !!! Environment is not set.'
+    echo 'Neither env_build.sh nor env_products.sh file is found.'
+    echo 'Proceed with the current environment.'
+fi
+
+BUILD_DIR=${PWD}
+LOG_DIR=${BUILD_DIR}/LOGS
+
+#########################################################
+# define installation prefix
+#########################################################
+if [ "$prefix" == "" ] ; then
+    prefix=${BUILD_DIR}/INSTALL
+    if [ $is_install -eq 1 ] ; then
+       echo
+       echo '!!! Warning !!! Installation directory is not set.'
+       echo "All the modules will be installed to the $prefix"
+    elif [ "`echo ${modules} | grep KERNEL`" != "" ] ; then
+       echo
+       echo '!!! Warning !!! KERNEL module requires install step to be performed.'
+       echo "For this module -i option will be forced."
+       echo "The module(s) will be installed to the $prefix"
+    fi
+else
+    if [ "`echo $prefix | grep -E '^/'`" == "" ] ; then
+       prefix=${BUILD_DIR}/$prefix
+       echo
+       echo '!!! Warning !!! Relative prefix is used.'
+       echo "All the modules will be installed to the $prefix."
+    fi
+fi
+
+#########################################################
+# create log directory
+#########################################################
+if [ ! -e ${LOG_DIR} ] ; then
+    mkdir -p ${LOG_DIR}
+fi
+
+echo
+echo "==========================================================================="
+echo "Starting SALOME build at `date`"
+echo "==========================================================================="
+echo
+
+#########################################################
+# loop for all given modules
+#########################################################
+for module in ${modules}; do
+    echo ">>> Processing ${module} module"
+
+    module_src=`printenv ${module}_SRC_DIR`
+    module_build=${BUILD_DIR}/${module}_BUILD
+    
+    if [ "${module_src}" != "" ] ; then
+       add_keys=""
+       cd ${BUILD_DIR}
+        #########################################################
+        # check if sources directory exists
+        #########################################################
+       if [ ! -e ${module_src} ] ; then
+           echo
+           echo '!!! Error !!! Cannot find module sources directory:'
+           echo "${module_src} does not exist."
+           echo
+           continue
+       fi
+        #########################################################
+        # check if configure script exists
+        #########################################################
+       cfg_exist=0
+       if [ -e ${module_src}/configure ] ; then
+           cfg_exist=1
+       fi
+        #########################################################
+        # perform build_configure if -b flag is given or if 
+        # configure script does not exist (first compilation?)
+        #########################################################
+       if [ $is_build_configure -eq 1 ] || [ $cfg_exist -eq 0 ] ; then
+           echo "... Performing build_configure"
+           #########################################################
+            # check if build_configure script exists
+           #########################################################
+           if [ ! -e ${module_src}/build_configure ] ; then
+               echo '!!! Warning !!! Cannot find build_configure script in '${module_src}'.'
+           else
+               #########################################################
+                # call build_configure
+               #########################################################
+               cd ${module_src}
+               ./build_configure >& ${LOG_DIR}/build_configure_${module}.log
+               #########################################################
+               # echo possible errors
+               #########################################################
+               if [ $verbose_level -gt 0 ] ; then
+                   cat ${LOG_DIR}/build_configure_${module}.log | grep ": error:"
+               fi
+           fi
+       fi
+        #########################################################
+        # deleting build directory if -d flag is given
+        #########################################################
+       if [ -e ${module_build} ] && [ $is_delete -eq 1 ] ; then
+           echo "... Removing ${module_build}"
+           rm -rf ${module_build}
+       fi
+        #########################################################
+        # creating build directory if it does not exist
+        #########################################################
+       if [ ! -e ${module_build} ] ; then
+           mkdir -p ${module_build}
+       fi
+       cd ${module_build}
+        #########################################################
+        # check if top Makefile exists in build directory, i.e. 
+        # is it necessary to run configure script
+        #########################################################
+       mkfile_exist=0
+       if [ -e ${module_build}/Makefile ] ; then
+           mkfile_exist=1
+       fi
+        #########################################################
+        # check if configure options are changed from the 
+        # previous launch
+        #########################################################
+       opts_changed=0
+##      if [ -f ${module_build}/config.log ] ; then
+##         old_prefix=`grep -e '^prefix=' ${module_build}/config.log | sed -e "s%^prefix='\(.*\)'%\1%"`
+##         if [ "$old_prefix" != "$prefix" ] ; then
+##             opts_changed=1
+##         fi
+##      fi
+        #########################################################
+        # define installation directory (by using module's version
+        # number); default is a build directory
+        #########################################################
+       vx=""
+       cfg_file=configure.ac
+       if [ ! -e ${module_src}/${cfg_file} ] ; then
+           cfg_file=configure.in.base
+       fi
+       if [ -e ${module_src}/${cfg_file} ] ; then
+           vx=`grep -e "^VERSION=" ${module_src}/${cfg_file} | awk -F= '{ if (NF>1) print $NF; }' | tr -d '[:space:]'`
+       fi
+       px=${BUILD_DIR}/${module}
+       if [ "$prefix" != "" ] ; then
+           px=$prefix/${module}
+       fi
+       if [ "$vx" != "" ] ; then
+           px="$px"_"$vx"
+       fi
+        #########################################################
+        # perform configure if -c flag is given or if 
+        # Makefile does not exist (first compilation?)
+        #########################################################
+       if [ $is_configure -eq 1 ] || [ $mkfile_exist -eq 0 ] || [ $opts_changed -eq 1 ] ; then
+           echo "... Performing configure"
+           #########################################################
+           # check if configure script exists
+           #########################################################
+           if [ ! -e ${module_src}/configure ] ; then
+               echo
+               echo '!!! Warning !!! Can not find configure script in '${module_src}'.'
+               echo
+           else
+               if [  "${module}" == "NETGENPLUGIN" ] && [ "$NETGENHOME" != "" ] ; then
+                   add_keys="--with-netgen=${NETGENHOME}"
+               fi
+               ${module_src}/configure --prefix=$px ${optim} ${add_keys} >& ${LOG_DIR}/configure_${module}.log
+               #########################################################
+               # echo possible errors
+               #########################################################
+               if [ $verbose_level -gt 0 ] ; then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": error:"
+               fi
+               if [ $verbose_level -gt 1 ] ; then
+                   cat ${LOG_DIR}/configure_${module}.log | grep ": WARNING:"
+               fi
+           fi
+       fi
+        #########################################################
+        # perform make
+        #########################################################
+        echo "... Performing make"
+        #########################################################
+        # first clear dependencies
+        #########################################################
+       find . -name ".dep*" -type f -exec rm -f {} \; >& /dev/null
+       make >& ${LOG_DIR}/make_${module}.log
+       sts=$?
+        #########################################################
+        # if make step is successful set the ${module}_ROOT_DIR
+        # environment variable
+        #########################################################
+        if [ $sts -eq 0 ] ; then
+           export ${module}_ROOT_DIR=${module_build}
+       fi
+        #########################################################
+        # print make errors
+        #########################################################
+       cat ${LOG_DIR}/make_${module}.log | grep '[*][*][*]'
+        #########################################################
+        # print compiler errors and warnings
+        # Note: here awk is used to concatenate together several lines of single
+        #       error or warning message produced by stupid gnu compiler
+        # Actually, instead of that we could use 'fmessage length=n' option of g++...
+        #########################################################
+       if [ $verbose_level -gt 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/"@@
+       fi
+       if [ $verbose_level -gt 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/"@@
+       fi
+        #########################################################
+        # perform make dev_docs step if -t flag is given
+        #########################################################
+       if [ $is_tui -eq 1 ] && [ $sts -eq 0 ] && [ -d ${module_build}/doc ] ; then
+           cd ${module_build}/doc
+           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
+           fi
+       fi
+       cd ${module_build}
+        #########################################################
+        # perform make if -i or -p flags are given
+        #########################################################
+       if [ $is_install -eq 1 ] && [ $sts -eq 0 ] || [ "${module}" == "KERNEL" ] ; then
+           echo "... Performing make install"
+           #########################################################
+           # deleting build directory if -d flag is given
+           #########################################################
+           if [ -e $px ] && [ $is_delete -eq 1 ] ; then
+               echo "... Removing $px"
+               rm -rf $px
+           fi
+           make install >& ${LOG_DIR}/make_install_${module}.log
+           sts=$?
+           #########################################################
+           # if make install step is successful set the 
+            # ${module}_ROOT_DIR environment variable
+           #########################################################
+           if [ $sts -eq 0 ] ; then
+               export ${module}_ROOT_DIR=$px
+           fi
+       fi
+       echo ">>> Finished ${module} module"
+    else
+       echo
+       echo '!!! Error !!! Cannot find module sources. '${module}'_SRC_DIR environment variable is not set.'
+       echo
+    fi
+done
+#########################################################
+# finalize
+#########################################################
+cd ${BUILD_DIR}
+
+echo
+echo "==========================================================================="
+echo "SALOME build finished at `date`"
+echo "==========================================================================="
+echo 
index e4c88fbd2fbe5088879c48137e88062327587f62..ca95141800e29c3151756cf21f4de4f17c3f7bf6 100755 (executable)
@@ -76,6 +76,7 @@ make_env()
 {
 install_root=$1;  shift
 install_work=$1; 
+
 for i in $SHRC $CSHRC ; do
     if [ -e ${install_work}/$i ]; then
        rm ${install_work}/$i
@@ -343,10 +344,13 @@ cp -f ${install_work}/_$CSHRC ${install_root}/env_products.csh
 cp -f ${install_work}/_$SHRC  ${install_root}/env_products.sh
 
 rm -f ${install_work}/_$SHRC ${install_work}/_$CSHRC
-### !!! copying build.csh script
+### !!! copying build.csh and build.sh scripts
 if [ -e ./build.csh ]; then
     cp -f ./build.csh ${install_root}
 fi
+if [ -e ./build.sh ]; then
+    cp -f ./build.sh ${install_root}
+fi
 ### !!! copying release notes
 for p in `ls ../` ; do
     export pdf=`echo ${p} | sed s/[.]/" "/g | awk '{print $2}'`