Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[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_KERNEL)
13 AC_SUBST(CAS_VIEWER)
14 AC_SUBST(CAS_MODELER)
15 AC_SUBST(CAS_OCAF)
16 AC_SUBST(CAS_DATAEXCHANGE)
17 AC_SUBST(CAS_LDFLAGS)
18
19 CAS_CPPFLAGS=""
20 CAS_CXXFLAGS=""
21 CAS_LDFLAGS=""
22
23 occ_ok=no
24
25 dnl libraries directory location
26 case $host_os in
27    linux*)
28       casdir=Linux
29       ;;
30    freebsd*)
31       casdir=Linux
32       ;;
33    irix5.*)
34       casdir=Linux
35       ;;
36    irix6.*)
37       casdir=Linux
38       ;;
39    osf4.*)
40       casdir=Linux
41       ;;
42    solaris2.*)
43       casdir=Linux
44       ;;
45    *)
46       casdir=Linux
47       ;;
48 esac
49
50 dnl were is OCC ?
51 if test -z $CASROOT; then
52   AC_MSG_WARN(You must provide CASROOT variable : see OCC installation manual)
53 else
54   occ_ok=yes
55 fi
56
57 if test "x$occ_ok" = "xyes"; then
58
59 dnl cascade headers
60
61   CPPFLAGS_old="$CPPFLAGS"
62   CPPFLAGS="$CPPFLAGS -DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc -Wno-deprecated"
63   CXXFLAGS_old="$CXXFLAGS"
64   CXXFLAGS="$CXXFLAGS -funsigned-char"
65
66   AC_CHECK_HEADER(Standard_Type.hxx,occ_ok=yes ,occ_ok=no)
67
68   CPPFLAGS="$CPPFLAGS_old"
69   CXXFLAGS="$CXXFLAGS_old"
70 fi
71
72 if test "x$occ_ok" = xyes ; then
73
74   CAS_CPPFLAGS="-DLIN -DLINTEL -DCSFDB -DNO_CXX_EXCEPTION -DNo_exception -I$CASROOT/inc"
75   CAS_CXXFLAGS="-funsigned-char"
76
77   AC_MSG_CHECKING(for OpenCascade libraries)
78
79   CPPFLAGS_old="$CPPFLAGS"
80   CPPFLAGS="$CPPFLAGS $CAS_CPPFLAGS -Wno-deprecated"
81   CXXFLAGS_old="$CXXFLAGS"
82   CXXFLAGS="$CXXFLAGS $CAS_CXXFLAGS"
83   LIBS_old="$LIBS"
84   LIBS="$LIBS -L$CASROOT/$casdir/lib -lTKernel"
85   
86   AC_CACHE_VAL(salome_cv_lib_occ,[
87     AC_TRY_LINK(
88 #include <Standard_Type.hxx>
89 ,   size_t size;
90     const Standard_CString aName="toto";
91     Standard_Type myST(aName) ; 
92     myST.Find(aName);,
93     eval "salome_cv_lib_occ=yes",eval "salome_cv_lib_occ=no")
94   ])
95   occ_ok="$salome_cv_lib_occ"
96
97   CPPFLAGS="$CPPFLAGS_old"
98   CXXFLAGS="$CXXFLAGS_old"
99   LIBS="$LIBS_old"
100 fi
101
102 if test "x$occ_ok" = xno ; then
103   AC_MSG_RESULT(no)
104   AC_MSG_WARN(Opencascade libraries not found)
105 else
106   AC_MSG_RESULT(yes)
107   CAS_KERNEL="-L$CASROOT/$casdir/lib -lTKernel -lTKMath"
108   CAS_OCAF="-L$CASROOT/$casdir/lib -lPTKernel -lTKCAF -lFWOSPlugin -lTKPShape -lTKPCAF -lTKStdSchema -lTKShapeSchema -lPAppStdPlugin -lTKPAppStd -lTKCDF"
109 dnl  CAS_VIEWER="-L$CASROOT/$casdir/lib -lTKOpenGl -lTKV3d -lTKV2d -lTKService"
110   CAS_VIEWER="-L$CASROOT/$casdir/lib -lTKOpenGl -lTKV3d -lTKService"
111 #  CAS_MODELER="-L$CASROOT/$casdir/lib -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKFeat -lTKOffset"
112   CAS_MODELER="-L$CASROOT/$casdir/lib -lTKG2d -lTKG3d -lTKGeomBase -lTKBRep -lTKGeomAlgo -lTKTopAlgo -lTKPrim -lTKBool -lTKHLR -lTKFillet -lTKOffset"
113 dnl  CAS_DATAEXCHANGE="-L$CASROOT/$casdir/lib -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd -lTKSTL -lTKVRML "
114   CAS_DATAEXCHANGE="-L$CASROOT/$casdir/lib -lTKXSBase -lTKIGES -lTKSTEP -lTKShHealing -lTKShHealingStd"
115   CAS_LDFLAGS="$CAS_KERNEL $CAS_OCAF $CAS_VIEWER $CAS_MODELER $CAS_DATAEXCHANGE"
116
117 fi
118
119 AC_LANG_RESTORE
120
121 ])dnl
122
123