Salome HOME
sources v1.2
[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 CAS_CPPFLAGS=""
41 CAS_CXXFLAGS=""
42 CAS_LDFLAGS=""
43
44 occ_ok=no
45
46 dnl libraries directory location
47 case $host_os in
48    linux*)
49       casdir=Linux
50       ;;
51    freebsd*)
52       casdir=Linux
53       ;;
54    irix5.*)
55       casdir=Linux
56       ;;
57    irix6.*)
58       casdir=Linux
59       ;;
60    osf4.*)
61       casdir=Linux
62       ;;
63    solaris2.*)
64       casdir=Linux
65       ;;
66    *)
67       casdir=Linux
68       ;;
69 esac
70
71 dnl were is OCC ?
72 if test -z $CASROOT; then
73   AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
74 else
75   occ_ok=yes
76 fi
77
78 if test "x$occ_ok" = "xyes"; then
79
80 dnl cascade headers
81
82   CPPFLAGS_old="$CPPFLAGS"
83   CPPFLAGS="$CPPFLAGS -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc"
84   CXXFLAGS_old="$CXXFLAGS"
85   CXXFLAGS="$CXXFLAGS -funsigned-char"
86
87   AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
88
89   CPPFLAGS="$CPPFLAGS_old"
90   CXXFLAGS="$CXXFLAGS_old"
91 fi
92
93 if test "x$occ_ok" = xyes ; then
94
95   CAS_CPPFLAGS="-DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc"
96   CAS_CXXFLAGS="-funsigned-char"
97
98   AC_MSG_CHECKING(for OpenCascade libraries)
99
100   CPPFLAGS_old="$CPPFLAGS"
101   CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS"
102   CXXFLAGS_old="$CXXFLAGS"
103   CXXFLAGS="$CXXFLAGS $CAS_CXXFLAGS"
104   LIBS_old="$LIBS"
105   LIBS="$LIBS -L$CASROOT/$casdir/lib -lTKernel"
106   
107   AC_CACHE_VAL(salome_cv_lib_occ,[
108     AC_TRY_LINK(
109 #include <Standard_Type.hxx>
110 ,   size_t size;
111     const Standard_CString aName="toto";
112     Standard_Type myST(aName) ; 
113     myST.Find(aName);,
114     eval "salome_cv_lib_occ=yes",eval "salome_cv_lib_occ=no")
115   ])
116   occ_ok="$salome_cv_lib_occ"
117
118   CPPFLAGS="$CPPFLAGS_old"
119   CXXFLAGS="$CXXFLAGS_old"
120   LIBS="$LIBS_old"
121 fi
122
123 if test "x$occ_ok" = xno ; then
124   AC_MSG_RESULT(no)
125   AC_MSG_WARN(Opencascade libraries not found)
126 else
127   AC_MSG_RESULT(yes)
128   CAS_KERNEL="-L$CASROOT/$casdir/lib -lTKernel -lTKMath"
129   CAS_OCAF="-L$CASROOT/$casdir/lib -lPTKernel -lTKCAF -lFWOSPlugin -lTKPShape -lTKPCAF -lTKStdSchema -lTKShapeSchema -lPAppStdPlugin -lTKPAppStd -lTKCDF"
130 dnl  CAS_VIEWER="-L$CASROOT/$casdir/lib -lTKOpenGl -lTKV3d -lTKV2d -lTKService"
131   CAS_VIEWER="-L$CASROOT/$casdir/lib -lTKOpenGl -lTKV3d -lTKService"
132 #  CAS_MODELER="-L$CASROOT/$casdir/lib -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKFeat -lTKOffset"
133   CAS_MODELER="-L$CASROOT/$casdir/lib -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKOffset"
134 dnl  CAS_DATAEXCHANGE="-L$CASROOT/$casdir/lib -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd -lTKSTL -lTKVRML "
135   CAS_DATAEXCHANGE="-L$CASROOT/$casdir/lib -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd"
136   CAS_LDFLAGS="$CAS_KERNEL $CAS_OCAF $CAS_VIEWER $CAS_MODELER $CAS_DATAEXCHANGE"
137
138 fi
139
140 AC_LANG_RESTORE
141
142 ])dnl
143
144