1 dnl Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
18 dnl See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 AC_DEFUN([CHECK_CAS],[
23 AC_REQUIRE([AC_PROG_CXX])dnl
24 AC_REQUIRE([AC_PROG_CXXCPP])dnl
26 AC_CHECKING(for OpenCascade)
31 AC_SUBST(CAS_CPPFLAGS)
32 AC_SUBST(CAS_CXXFLAGS)
37 AC_SUBST(CAS_DATAEXCHANGE)
40 AC_SUBST(CAS_STDPLUGIN)
50 dnl libraries directory location
75 AC_MSG_CHECKING(for OpenCascade directories)
77 if test -z $CASROOT; then
78 AC_MSG_RESULT(CASROOT not defined)
79 for d in `echo $LD_LIBRARY_PATH | sed -e "s/:/ /g"` ; do
80 if test -f $d/libTKernel.so ; then
81 AC_MSG_RESULT(libTKernel.so detected in $d)
83 CASROOT=`echo ${CASROOT} | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
89 if test -d ${CASROOT}/${casdir}/lib; then
90 CAS_LDPATH="-L$CASROOT/$casdir/lib "
93 if test -d ${CASROOT}/lib; then
94 CAS_LDPATH="-L$CASROOT/lib "
103 if test -z $CASROOT; then
104 AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
109 ff=$CASROOT/inc/Standard_Version.hxx
110 if test -f $ff ; then
111 grep "define OCC_VERSION_MAJOR" $ff > /dev/null
112 if test $? = 0 ; then
113 OCC_VERSION_MAJOR=`grep "define OCC_VERSION_MAJOR" $ff | awk '{i=3 ; print $i}'`
115 grep "define OCC_VERSION_MINOR" $ff > /dev/null
116 if test $? = 0 ; then
117 OCC_VERSION_MINOR=`grep "define OCC_VERSION_MINOR" $ff | awk '{i=3 ; print $i}'`
122 if test "x$occ_ok" = "xyes"; then
124 dnl test c++ compiler flag for unsigned character
125 for opt in -funsigned-char -unsigned ; do
126 AC_CXX_OPTION($opt,CAS_CXXFLAGS,flag=yes,flag=no)
127 if test "$flag" = "yes"; then
134 CPPFLAGS_old="$CPPFLAGS"
137 CAS_CPPFLAGS="-DOCC_VERSION_MAJOR=$OCC_VERSION_MAJOR -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_WOK_CONFIG_H -I$CASROOT/inc"
140 CAS_CPPFLAGS="-DOCC_VERSION_MAJOR=$OCC_VERSION_MAJOR -DLIN -DLINTEL -DCSFDB -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_WOK_CONFIG_H -I$CASROOT/inc"
143 CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS"
145 if test -n $KERNEL_ROOT_DIR; then
146 if test -d $KERNEL_ROOT_DIR/include/salome; then
147 CAS_CPPFLAGS="$CAS_CPPFLAGS -I$KERNEL_ROOT_DIR/include/salome"
148 CPPFLAGS="$CPPFLAGS -I$KERNEL_ROOT_DIR/include/salome"
151 CAS_CPPFLAGS="$CAS_CPPFLAGS -I${ROOT_BUILDDIR}/include/salome"
152 CPPFLAGS="$CPPFLAGS -I${ROOT_BUILDDIR}/salome_adm/unix"
156 echo testing config.h
160 AC_CHECK_HEADER(config.h, own_config_h=no, [
163 echo "config.h file not found! Generating it..."
166 mv confdefs.h backup_confdefs.h
167 ${ROOT_SRCDIR}/make_config
168 rm -rf ${ROOT_BUILDDIR}/*.log
169 rm -rf ${ROOT_BUILDDIR}/*.status
170 mv backup_confdefs.h confdefs.h
171 rm -f backup_confdefs.h
177 if test "x$own_config_h" = xyes ; then
181 AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
185 AC_SUBST(OWN_CONFIG_H)
187 if test "x$occ_ok" = xyes ; then
189 AC_MSG_CHECKING(for OpenCascade libraries)
192 LIBS="$LIBS $CAS_LDPATH -lTKernel"
194 AC_CACHE_VAL(salome_cv_lib_occ,[
196 #include <Standard_Type.hxx>
198 const Standard_CString aName="toto";
199 Standard_Type myST(aName) ;
201 eval "salome_cv_lib_occ=yes",eval "salome_cv_lib_occ=no")
203 occ_ok="$salome_cv_lib_occ"
206 CPPFLAGS="$CPPFLAGS_old"
209 if test "x$occ_ok" = xno ; then
211 AC_MSG_WARN(Opencascade libraries not found)
214 CAS_KERNEL="$CAS_LDPATH -lTKernel -lTKMath"
216 # E.A. compatibility version 4 and 5.x
217 CAS_OCAF="$CAS_LDPATH -lPTKernel -lTKPShape -lTKCDF -lTKCAF -lTKShapeSchema -lTKPCAF -lFWOSPlugin -lTKStdSchema"
218 if test $OCC_VERSION_MAJOR -lt 5 ; then
219 CAS_OCAF="$CAS_OCAF -lTKPAppStd"
221 if test -f $CASROOT/$casdir/lib/libPAppStdPlugin.so ; then
222 # this library is absent in CASCADE 5.2.3
223 CAS_OCAF="$CAS_OCAF -lPAppStdPlugin"
224 CAS_STDPLUGIN="PAppStdPlugin"
226 if test -f $CASROOT/$casdir/lib/libStdPlugin.so ; then
227 # this libraries are only for CASCADE 5.2.3
228 CAS_STDPLUGIN="StdPlugin"
229 CAS_OCAF="$CAS_OCAF -lStdPlugin -lStdLPlugin -lTKLCAF -lTKPLCAF -lTKStdLSchema"
232 CAS_VIEWER="$CAS_LDPATH -lTKOpenGl -lTKV3d -lTKService"
233 CAS_MODELER="$CAS_LDPATH -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBO -lTKBool -lTKHLR -lTKFillet -lTKOffset -lTKFeat"
235 # E.A. compatibility version 4 and 5.x
236 CAS_DATAEXCHANGE="$CAS_LDPATH -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing"
237 if test $OCC_VERSION_MAJOR -lt 5 ; then
238 CAS_DATAEXCHANGE="$CAS_DATAEXCHANGE -lTKShHealingStd"
242 CAS_LDFLAGS="$CAS_KERNEL $CAS_OCAF $CAS_VIEWER $CAS_MODELER $CAS_DATAEXCHANGE"