]> SALOME platform Git repositories - modules/kernel.git/blob - salome_adm/unix/config_files/check_cas.m4
Salome HOME
PR: mergefrom_PAL_OCC_21Oct04
[modules/kernel.git] / salome_adm / unix / config_files / check_cas.m4
1 dnl  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3 dnl 
4 dnl  This library is free software; you can redistribute it and/or 
5 dnl  modify it under the terms of the GNU Lesser General Public 
6 dnl  License as published by the Free Software Foundation; either 
7 dnl  version 2.1 of the License. 
8 dnl 
9 dnl  This library is distributed in the hope that it will be useful, 
10 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 dnl  Lesser General Public License for more details. 
13 dnl 
14 dnl  You should have received a copy of the GNU Lesser General Public 
15 dnl  License along with this library; if not, write to the Free Software 
16 dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17 dnl 
18 dnl  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 dnl
20 dnl
21 dnl
22 AC_DEFUN([CHECK_CAS],[
23 AC_REQUIRE([AC_PROG_CXX])dnl
24 AC_REQUIRE([AC_PROG_CXXCPP])dnl
25
26 AC_CHECKING(for OpenCascade)
27
28 AC_LANG_SAVE
29 AC_LANG_CPLUSPLUS
30
31 AC_SUBST(CAS_CPPFLAGS)
32 AC_SUBST(CAS_CXXFLAGS)
33 AC_SUBST(CAS_KERNEL)
34 AC_SUBST(CAS_VIEWER)
35 AC_SUBST(CAS_MODELER)
36 AC_SUBST(CAS_OCAF)
37 AC_SUBST(CAS_DATAEXCHANGE)
38 AC_SUBST(CAS_LDFLAGS)
39
40 AC_SUBST(CAS_LDPATH)
41
42 OWN_CONFIG_H=no
43
44 CAS_CPPFLAGS=""
45 CAS_CXXFLAGS=""
46 CAS_LDFLAGS=""
47 occ_ok=no
48 own_config_h=no
49
50
51 dnl libraries directory location
52 case $host_os in
53    linux*)
54       casdir=Linux
55       ;;
56    freebsd*)
57       casdir=Linux
58       ;;
59    irix5.*)
60       casdir=Linux
61       ;;
62    irix6.*)
63       casdir=Linux
64       ;;
65    osf4.*)
66       casdir=Linux
67       ;;
68    solaris2.*)
69       casdir=Linux
70       ;;
71    *)
72       casdir=Linux
73       ;;
74 esac
75
76 dnl were is OCC ?
77 if test -z $CASROOT; then
78   AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
79 else
80   occ_ok=yes
81   OCC_VERSION_MAJOR=0
82   ff=$CASROOT/inc/Standard_Version.hxx
83   if test -f $ff ; then
84     grep "define OCC_VERSION_MAJOR" $ff > /dev/null
85     if test $? = 0 ; then
86       OCC_VERSION_MAJOR=`grep "define OCC_VERSION_MAJOR" $ff | awk '{i=3 ; print $i}'`
87     fi
88   fi
89 fi
90
91 if test "x$occ_ok" = "xyes"; then
92
93 dnl cascade headers
94
95   CPPFLAGS_old="$CPPFLAGS"
96   CPPFLAGS="$CPPFLAGS -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -I$CASROOT/inc -I$CASROOT -I$KERNEL_ROOT_DIR/include/salome -Wno-deprecated -DHAVE_WOK_CONFIG_H"
97   CXXFLAGS_old="$CXXFLAGS"
98   CXXFLAGS="$CXXFLAGS -funsigned-char"
99
100
101   echo
102   echo
103   echo testing config.h
104   echo
105   echo
106
107   AC_CHECK_HEADER(config.h, own_config_h=no, [
108         echo
109         echo
110         echo "config.h file not found! Generating it..."
111         echo
112         echo
113         mv confdefs.h backup_confdefs.h
114         ${ROOT_SRCDIR}/make_config
115         rm -rf ${ROOT_BUILDDIR}/*.log
116         rm -rf ${ROOT_BUILDDIR}/*.status
117         mv backup_confdefs.h confdefs.h
118         rm -f backup_confdefs.h
119         own_config_h=yes
120         echo
121         echo
122   ])
123
124   if test "x$own_config_h" = xyes ; then
125     OWN_CONFIG_H=yes
126   fi
127
128   CPPFLAGS="$CPPFLAGS -I$ROOT_BUILDDIR/salome_adm/unix"
129   
130   AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
131
132   CPPFLAGS="$CPPFLAGS_old"
133   CXXFLAGS="$CXXFLAGS_old"
134 fi
135
136 AC_SUBST(OWN_CONFIG_H)
137
138 if test "x$occ_ok" = xyes ; then
139
140   CAS_CPPFLAGS="-DOCC_VERSION_MAJOR=$OCC_VERSION_MAJOR -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -I$CASROOT/inc -I$CASROOT -DHAVE_WOK_CONFIG_H"
141   CAS_CXXFLAGS="-funsigned-char"
142
143   AC_MSG_CHECKING(for OpenCascade libraries)
144
145   CPPFLAGS_old="$CPPFLAGS"
146   CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS -I$KERNEL_ROOT_DIR/include/salome -I$ROOT_BUILDDIR/salome_adm/unix -Wno-deprecated"
147   CXXFLAGS_old="$CXXFLAGS"
148   CXXFLAGS="$CXXFLAGS $CAS_CXXFLAGS"
149   LIBS_old="$LIBS"
150   LIBS="$LIBS -L$CASROOT/$casdir/lib -lTKernel"
151   AC_CACHE_VAL(salome_cv_lib_occ,[
152     AC_TRY_LINK(
153 using namespace std;
154 #include <Standard_Type.hxx>
155 ,   size_t size;
156     const Standard_CString aName="toto";
157     Standard_Type myST(aName) ; 
158     myST.Find(aName);,
159     eval "salome_cv_lib_occ=yes",eval "salome_cv_lib_occ=no")
160   ])
161   occ_ok="$salome_cv_lib_occ"
162
163   CPPFLAGS="$CPPFLAGS_old"
164   CXXFLAGS="$CXXFLAGS_old"
165   LIBS="$LIBS_old"
166 fi
167
168 if test "x$occ_ok" = xno ; then
169   AC_MSG_RESULT(no)
170   AC_MSG_WARN(Opencascade libraries not found)
171 else
172   AC_MSG_RESULT(yes)
173   CAS_LDPATH="-L$CASROOT/$casdir/lib "
174   CAS_KERNEL="$CAS_LDPATH -lTKernel -lTKMath"
175   CAS_OCAF="$CAS_LDPATH -lPTKernel -lTKCAF -lFWOSPlugin -lTKPShape -lTKPCAF -lTKStdSchema -lTKShapeSchema -lPAppStdPlugin -lTKPAppStd -lTKCDF"
176 dnl  CAS_VIEWER="-L$CASROOT/$casdir/lib -lTKOpenGl -lTKV3d -lTKV2d -lTKService"
177   CAS_VIEWER="$CAS_LDPATH -lTKOpenGl -lTKV3d -lTKService"
178 #  CAS_MODELER="-L$CASROOT/$casdir/lib -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKFeat -lTKOffset"
179   CAS_MODELER="$CAS_LDPATH -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKOffset"
180 dnl  CAS_DATAEXCHANGE="-L$CASROOT/$casdir/lib -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd -lTKSTL -lTKVRML "
181   CAS_DATAEXCHANGE="$CAS_LDPATH -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd"
182   CAS_LDFLAGS="$CAS_KERNEL $CAS_OCAF $CAS_VIEWER $CAS_MODELER $CAS_DATAEXCHANGE"  
183   
184   
185 fi
186
187 AC_LANG_RESTORE
188
189 ])dnl
190
191