3 ####################################################################################
5 # Created : Thu May 22 13:42:04 2014
6 # Author : Vadim SANDLER, Open CASCADE SAS (vadim.sandler@opencascade.com)
8 # Module : Installation Wizard
9 # Copyright : 2002-2014 CEA
11 # This script is the part of the SALOME installation procedure.
13 ####################################################################################
15 # minimal supported version
26 # check gcc available alternatives, to use version > GCC_MIN_VERSION if possible
27 local gcc_min=`echo ${GCC_MIN_VERSION} | awk -F. '{a1=0;a2=0;a3=0;if(NF>0)a1=$1;if(NF>1)a2=$2;if(NF>2)a3=$3;printf("%02d%02d%02d",a1,a2,a3);}'`
28 local gcc_ver=`gcc -dumpversion | awk -F. '{a1=0;a2=0;a3=0;if(NF>0)a1=$1;if(NF>1)a2=$2;if(NF>2)a3=$3;printf("%02d%02d%02d",a1,a2,a3);}'`
32 if [ ${gcc_ver} -le ${gcc_min} ] ; then
34 local wheregcc=$(dirname `which gcc`)
35 local all_gcc=$(find ${wheregcc}/gcc*)
38 for gcc_alt in ${all_gcc} XXX ; do
39 if [ ${gcc_alt} = "XXX" ] ; then continue ; fi
40 gcc_ver=`${gcc_alt} -dumpversion 2>/dev/null | awk -F. '{a1=0;a2=0;a3=0;if(NF>0)a1=$1;if(NF>1)a2=$2;if(NF>2)a3=$3;printf("%02d%02d%02d",a1,a2,a3);}'`
41 if [ "${gcc_ver}" = "" ] ; then continue ; fi
42 if [ ${gcc_ver} -gt ${gcc_min} ] && [ ${gcc_ver} -gt ${gcc_max} ] ; then
45 gxx_found=`echo ${gcc_found} | sed -e "s%gcc%g++%"`
46 test -e ${gxx_found} || gxx_found=
47 fc_found=`echo ${gcc_found} | sed -e "s%gcc%gfortran%"`
48 test -e ${fc_found} || fc_found=
52 if [ "${gcc_found}" != "" ] && [ "${gxx_found}" != "" ] && [ "${fc_found}" != "" ] ; then
53 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
54 #${DELIM} ${PRODUCT_TYPE} ${DELIM}
55 export CC=${gcc_found}
56 export CXX=${gxx_found}
61 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
62 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
70 # looks for the native product and collects it's environment (used by make_env())
73 make_env ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}"
79 try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
82 install_source_and_build()
89 try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
94 try_existing ${PRODUCT_DIR} ${INST_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" "${INSTALL_PRODUCTS}" ${PRODUCT_TYPE}
98 export INSTALL_WORK=$2;
101 export PRODUCT_SEQUENCE=$5;
102 export PRODUCT_TYPE=$6;
103 export INSTALL_PRODUCTS=$7;
105 export PRODUCT_DIR=${INST_ROOT}/${PRODUCT}
106 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}