Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/yacs.git] / src / wrappergen / bin / HXX2SALOME_GENERIC_CLASS_NAME_SRC / adm_local / unix / config_files / check_Med.m4
1 dnl Copyright (C) 2006-2012  CEA/DEN, EDF R&D
2 dnl
3 dnl This library is free software; you can redistribute it and/or
4 dnl modify it under the terms of the GNU Lesser General Public
5 dnl License as published by the Free Software Foundation; either
6 dnl version 2.1 of the License.
7 dnl
8 dnl This library is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
10 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 dnl Lesser General Public License for more details.
12 dnl
13 dnl You should have received a copy of the GNU Lesser General Public
14 dnl License along with this library; if not, write to the Free Software
15 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 dnl
17 dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 dnl
19
20 # Check availability of Med binary distribution
21 #
22 # Author : Anthony GEAY (CEA, 2005)
23 #
24
25 AC_DEFUN([CHECK_MED],[
26
27 CHECK_HDF5
28 CHECK_MED2
29
30 AC_CHECKING(for Med)
31
32 Med_ok=no
33
34 AC_ARG_WITH(med,
35             [  --with-med=DIR root directory path of MED installation ],
36             MED_DIR="$withval",MED_DIR="")
37
38 if test "x$MED_DIR" == "x" ; then
39
40 # no --with-med-dir option used
41
42    if test "x$MED_ROOT_DIR" != "x" ; then
43
44     # MED_ROOT_DIR environment variable defined
45       MED_DIR=$MED_ROOT_DIR
46
47    else
48
49     # search Med binaries in PATH variable
50       AC_PATH_PROG(TEMP, libMEDMEM_Swig.py)
51       if test "x$TEMP" != "x" ; then
52          MED_BIN_DIR=`dirname $TEMP`
53          MED_DIR=`dirname $MED_BIN_DIR`
54       fi
55       
56    fi
57
58 fi
59
60 if test -f ${MED_DIR}/bin/salome/libMEDMEM_Swig.py ; then
61    Med_ok=yes
62    AC_MSG_RESULT(Using Med module distribution in ${MED_DIR})
63
64    if test "x$MED_ROOT_DIR" == "x" ; then
65       MED_ROOT_DIR=${MED_DIR}
66    fi
67    AC_SUBST(MED_ROOT_DIR)
68    MED_INCLUDES="-I${MED_ROOT_DIR}/include/salome ${MED2_INCLUDES} ${HDF5_INCLUDES} -I${KERNEL_ROOT_DIR}/include/salome"
69    MED_LIBS="-L${MED_ROOT_DIR}/lib/salome -lmedmem"
70    AC_SUBST(MED_INCLUDES)
71    AC_SUBST(MED_LIBS)
72
73 else
74    AC_MSG_WARN("Cannot find Med module sources")
75 fi
76
77 AC_MSG_CHECKING([for MED memory version])
78 [medmem_version=`cat ${MED_ROOT_DIR}/bin/salome/VERSION | cut -d" " -f7`]
79 [medmem_version=`expr $medmem_version : '\([0-9.]*\).*'`]
80 AC_MSG_RESULT([$medmem_version])
81 AC_MSG_CHECKING([for g++ version])
82 [gpp_version=`g++ --version | sed -e '2,$d' | cut -d" " -f3`]
83 AC_MSG_RESULT([$gpp_version])
84 [available=$gpp_version]
85 dnl Analyzing g++ version
86 [available_major=`echo $available | sed 's/[^0-9].*//'`]
87 if test -z "$available_major" ; then
88         [available_major=0]
89 fi
90 [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
91 [available_minor=`echo $available | sed 's/[^0-9].*//'`]
92 if test -z "$available_minor" ; then
93         [available_minor=0]
94 fi
95 [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
96 [available_patch=`echo $available | sed 's/[^0-9].*//'`]
97 if test -z "$available_patch" ; then
98         [available_patch=0]
99 fi
100 dnl Testing if g++ verion >= 3.4.0 or not
101 if test $available_major -ne "3" \
102         -o $available_minor -ne "4" \
103         -o $available_patch -lt "0" ; then
104                 [required_medmem_major=2]
105                 [required_medmem_minor=2]
106                 [required_medmem_patch=0]
107 else
108                 [required_medmem_major=2]
109                 [required_medmem_minor=2]
110                 [required_medmem_patch=4]
111 fi
112 [available=$medmem_version]
113 [available_major=`echo $available | sed 's/[^0-9].*//'`]
114 if test -z "$available_major" ; then
115         [available_major=0]
116 fi
117 [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
118 [available_minor=`echo $available | sed 's/[^0-9].*//'`]
119 if test -z "$available_minor" ; then
120         [available_minor=0]
121 fi
122 [available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
123 [available_patch=`echo $available | sed 's/[^0-9].*//'`]
124 if test -z "$available_patch" ; then
125         [available_patch=0]
126 fi
127 [available_num=`expr $available_major \* 100 + $available_minor \* 10 + $available_patch`]
128 [required_num=`expr $required_medmem_major \* 100 + $required_medmem_minor \* 10 + $required_medmem_patch`]
129 if test "x$Med_ok" == "xyes" ; then
130         if test $available_num -lt $required_num ; then
131                 AC_MSG_WARN([MEDMEM version invalid with your compiler : MEDMEM version >=2.2.4 required !!!])
132                 Med_ok=no
133         fi
134 fi
135 AC_MSG_RESULT(for MED memory: $Med_ok)
136  
137 ])dnl
138