Salome HOME
Initialisation de la base KERNEL avec la version operationnelle de KERNEL_SRC issue...
[modules/kernel.git] / salome_adm / unix / config_files / check_cas.m4
1 AC_DEFUN([CHECK_CAS],[
2 AC_REQUIRE([AC_PROG_CXX])dnl
3 AC_REQUIRE([AC_PROG_CXXCPP])dnl
4
5 AC_CHECKING(for OpenCascade)
6
7 AC_LANG_SAVE
8 AC_LANG_CPLUSPLUS
9
10 AC_SUBST(CAS_CPPFLAGS)
11 AC_SUBST(CAS_CXXFLAGS)
12 AC_SUBST(CAS_LDFLAGS)
13
14 CAS_CPPFLAGS=""
15 CAS_CXXFLAGS=""
16 CAS_LDFLAGS=""
17
18 occ_ok=no
19
20 dnl libraries directory location
21 case $host_os in
22    linux*)
23       casdir=Linux
24       ;;
25    freebsd*)
26       casdir=Linux
27       ;;
28    irix5.*)
29       casdir=Linux
30       ;;
31    irix6.*)
32       casdir=Linux
33       ;;
34    osf4.*)
35       casdir=Linux
36       ;;
37    solaris2.*)
38       casdir=Linux
39       ;;
40    *)
41       casdir=Linux
42       ;;
43 esac
44
45 dnl were is OCC ?
46 if test -z $CASROOT; then
47   AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
48 else
49   occ_ok=yes
50 fi
51
52 if test "x$occ_ok" = "xyes"; then
53
54 dnl cascade headers
55
56   CPPFLAGS_old="$CPPFLAGS"
57   CPPFLAGS="$CPPFLAGS -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc"
58   CXXFLAGS_old="$CXXFLAGS"
59   CXXFLAGS="$CXXFLAGS -funsigned-char"
60
61   AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
62
63   CPPFLAGS="$CPPFLAGS_old"
64   CXXFLAGS="$CXXFLAGS_old"
65 fi
66
67 if test "x$occ_ok" = xyes ; then
68
69   CAS_CPPFLAGS="-DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc"
70   CAS_CXXFLAGS="-funsigned-char"
71
72   AC_MSG_CHECKING(for OpenCascade libraries)
73
74   CPPFLAGS_old="$CPPFLAGS"
75   CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS"
76   CXXFLAGS_old="$CXXFLAGS"
77   CXXFLAGS="$CXXFLAGS $CAS_CXXFLAGS"
78   LIBS_old="$LIBS"
79   LIBS="$LIBS -L$CASROOT/$casdir/lib -lTKernel"
80   
81   AC_CACHE_VAL(salome_cv_lib_occ,[
82     AC_TRY_LINK(
83 #include <Standard_Type.hxx>
84 ,   size_t size;
85     const Standard_CString aName="toto";
86     Standard_Type myST(aName) ; 
87     myST.Find(aName);,
88     eval "salome_cv_lib_occ=yes",eval "salome_cv_lib_occ=no")
89   ])
90   occ_ok="$salome_cv_lib_occ"
91
92   CPPFLAGS="$CPPFLAGS_old"
93   CXXFLAGS="$CXXFLAGS_old"
94   LIBS="$LIBS_old"
95 fi
96
97 if test "x$occ_ok" = xno ; then
98   AC_MSG_RESULT(no)
99   AC_MSG_WARN(Opencascade libraries not found)
100 else
101   AC_MSG_RESULT(yes)
102   CAS_LDFLAGS="-L$CASROOT/$casdir/lib -lTKPAppStd -lTKFillet -lTKService -lFWOSPlugin -lTKG2d -lTKShHealing -lTKShHealingStd -lTKOpenGl -lTKG3d -lTKTopAlgo -lTKGeomAlgo -lTKV2d -lPAppStdPlugin -lTKGeomBase -lTKV3d -lPTKernel -lTKHLR -lTKVRML -lTKShapeSchema -lTKIGES -lTKXSBase -lTKStdSchema -lTKMath -lTKBRep -lTKOffset -lTKernel -lTKBool -lTKPCAF -lTKCAF -lTKPShape -lTKCDF -lTKPrim -lTKSTEP -lTKFeat -lTKSTL"
103 fi
104
105 AC_LANG_RESTORE
106
107 ])dnl