Salome HOME
ea9fb1be2ee269749fe34461b99f8edad665b3c4
[plugins/blsurfplugin.git] / adm_local / unix / config_files / check_BLSURF.m4
1 dnl Copyright (C) 2007-2022  CEA/DEN, EDF R&D
2 dnl
3 dnl This library is free software; you can redistribute it and/or
4 dnl modify it under the terms of the GNU Lesser General Public
5 dnl License as published by the Free Software Foundation; either
6 dnl version 2.1 of the License, or (at your option) any later version.
7 dnl
8 dnl This library is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
10 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 dnl Lesser General Public License for more details.
12 dnl
13 dnl You should have received a copy of the GNU Lesser General Public
14 dnl License along with this library; if not, write to the Free Software
15 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 dnl
17 dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 dnl
19
20 dnl  File   : check_BLSURF.m4
21 dnl  Author : Vadim SANDLER, Open CASCADE S.A.S (vadim.sandler@opencascade.com)
22 dnl
23 AC_DEFUN([CHECK_BLSURF],[
24
25 AC_REQUIRE([AC_PROG_CXX])dnl
26 AC_REQUIRE([AC_PROG_CXXCPP])dnl
27
28 AC_CHECKING([for BLSURF commercial product])
29
30 AC_LANG_SAVE
31 AC_LANG_CPLUSPLUS
32
33 BLSURF_INCLUDES=""
34 BLSURF_LIBS=""
35
36 AC_ARG_WITH([blsurf],
37             [  --with-blsurf=DIR       root directory path of BLSURF installation])
38
39 BLSURF_ok=no
40
41 if test "$with_blsurf" != "no" ; then
42   if test "$with_blsurf" == "yes" || test "$with_blsurf" == "auto"; then
43     BLSURF_HOME=""
44   else
45     BLSURF_HOME="$with_blsurf"
46   fi
47
48   if test "$BLSURF_HOME" == "" ; then
49     if test "x$BLSURFHOME" != "x" ; then
50       BLSURF_HOME=$BLSURFHOME
51     fi
52   fi
53
54   if test "x$BLSURF_HOME" != "x"; then
55
56     echo
57     echo -------------------------------------------------
58     echo You are about to choose to use somehow the
59     echo BLSURF commercial product to generate 2D mesh.
60     echo
61
62     LOCAL_INCLUDES="-I$BLSURF_HOME/include"
63     LOCAL_LIBS="-L$BLSURF_HOME/lib/Linux"
64     archtest="$(`which arch`)"
65     if test "x$archtest" = "x" ; then
66       archtest="`uname -m`"
67     fi
68     if test $archtest = "x86_64" ; then
69         LOCAL_LIBS="-L$BLSURF_HOME/lib/Linux_64"
70     fi
71     LOCAL_LIBS="${LOCAL_LIBS} -ldistene -lBLSurf -lPreCAD"
72
73     CPPFLAGS_old="$CPPFLAGS"
74     CXXFLAGS_old="$CXXFLAGS"
75     CPPFLAGS="$LOCAL_INCLUDES $CPPFLAGS"
76     CXXFLAGS="$LOCAL_INCLUDES $CXXFLAGS"
77
78     AC_MSG_CHECKING([for BLSURF header file])
79
80     AC_CHECK_HEADER([distene/api.h],[BLSURF_ok=yes],[BLSURF_ok=no])
81
82     if test "x$BLSURF_ok" == "xyes"; then
83
84       AC_MSG_CHECKING([for BLSURF library])
85
86       LIBS_old="$LIBS"
87       LIBS="-L. $LOCAL_LIBS $LIBS"
88
89       AC_TRY_LINK(
90 extern "C" {
91 #include "distene/api.h"
92 },  distene_context_new(),
93         BLSURF_ok=yes,BLSURF_ok=no
94         )
95
96       LIBS="$LIBS_old"
97
98       AC_MSG_RESULT([$BLSURF_ok])
99     fi
100
101     CPPFLAGS="$CPPFLAGS_old"
102     CXXFLAGS="$CXXFLAGS_old"
103
104   fi
105 fi
106
107 if test "x$BLSURF_ok" == xno ; then
108   AC_MSG_RESULT([for BLSURF: no])
109   AC_MSG_WARN([BLSURF includes or libraries are not found or are not properly installed])
110   AC_MSG_WARN([Cannot build without BLSURF. Use --with-blsurf option to define BLSURF installation.])
111 else
112   BLSURF_INCLUDES=$LOCAL_INCLUDES
113   BLSURF_LIBS=$LOCAL_LIBS
114   AC_MSG_RESULT([for BLSURF: yes])
115 fi
116
117 AC_SUBST(BLSURF_INCLUDES)
118 AC_SUBST(BLSURF_LIBS)
119
120 AC_LANG_RESTORE
121
122 ])dnl