Salome HOME
Fix KERNEL compilation from sources problem on Red Hat 8.0
[tools/install.git] / config_files / KERNEL_SRC.sh
index 9f12ea820f78e2d4160b85f4638b1d5e9eef470a..26b768dd44453fc0b2de61010054033d9e210f00 100755 (executable)
@@ -1,11 +1,24 @@
-#!/bin/sh
+#!/bin/bash -noprofile
+
+####################################################################################
+#  File      : KERNEL_SRC.sh
+#  Created   : Thu Dec 18 12:01:00 2002
+#  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.
+#
+####################################################################################
+
+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.1.0a3" ]; 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
@@ -19,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}"
 }
@@ -48,11 +62,38 @@ install_source()
 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
 source ${INSTALL_WORK}/$SHRC
 
-check_jb tar xfz ${SOURCE_DIR}/KERNELsourcesV3.1.0a3.tar.gz -C ${INSTALL_ROOT}
+check_jb tar xfz ${SOURCE_DIR}/KERNELsourcesV${VERSION}.tar.gz -C ${INSTALL_ROOT}
 
 print_env
 }
 
+install_source_and_build()
+{
+# remove previously existing sources directory
+if [ -f $PRODUCT_DIR ] ; then
+    rm -rf $PRODUCT_DIR
+fi
+
+# 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 -c -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
@@ -68,8 +109,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.1.0a3"
+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