+# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
# Author : Marc Tajchman (CEA)
# Date : 28/06/2001
# Modified by : Patrick GOLDBRONN (CEA)
# Modified by : Marc Tajchman (CEA)
# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
# Created from configure.in.base
#
-
-
-AC_INIT([Salome2 Project GEOM module], [4.1.1], [webmaster.salome@opencascade.com], [salome])
-AC_CONFIG_AUX_DIR(salome_adm/unix/config_files)
+AC_INIT([Salome2 Project GEOM module], [7.2.0], [webmaster.salome@opencascade.com], [SalomeGEOM])
+AC_CONFIG_AUX_DIR(adm_local/unix/config_files)
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([tar-pax -Wno-portability])
+
XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
AC_SUBST(XVERSION)
+VERSION_DEV=0
+AC_SUBST(VERSION_DEV)
# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
MODULE_NAME=geom
AC_PROG_MAKE_SET
AC_PROG_INSTALL
+AC_LOCAL_INSTALL
dnl
dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
echo
echo ---------------------------------------------
-echo Coniguring production
+echo Configuring production
echo ---------------------------------------------
echo
AC_ENABLE_DEBUG(yes)
dnl full-path to the binary instead.
case "$INSTALL" in
*install-sh*)
- INSTALL='\${ROOT_BUILDDIR}'/salome_adm/unix/config_files/install-sh
+ INSTALL='\${ROOT_BUILDDIR}'/adm_local/unix/config_files/install-sh
;;
esac
dnl ---------------------------------------------
dnl
-CHECK_MPICH
+dnl CHECK_MPICH
+
+echo
+echo ---------------------------------------------
+echo testing MPI
+echo ---------------------------------------------
+echo
+
+CHECK_MPI
echo
echo ---------------------------------------------
fi
-GEOM_WITH_GUI=yes
+echo
+echo ---------------------------------------------
+echo Testing GUI
+echo ---------------------------------------------
+echo
-AM_CONDITIONAL(GEOM_ENABLE_GUI, [test "${GEOM_WITH_GUI}" = "yes"])
+CHECK_GUI_MODULE
-if test "${GEOM_WITH_GUI}" = "yes"; then
- echo
- echo ---------------------------------------------
- echo testing msg2qm
- echo ---------------------------------------------
- echo
+gui_ok=no
+if test "${SalomeGUI_need}" != "no" -a "${FullGUI_ok}" = "yes" ; then
+ gui_ok=yes
+fi
- CHECK_MSG2QM
+AM_CONDITIONAL(GEOM_ENABLE_GUI, [test "${gui_ok}" = "yes"])
+
+if test "${SalomeGUI_need}" == "yes"; then
+ if test "${FullGUI_ok}" != "yes"; then
+ AC_MSG_WARN(For configure GEOM module necessary full GUI!)
+ fi
+elif test "${SalomeGUI_need}" == "auto"; then
+ if test "${FullGUI_ok}" != "yes"; then
+ AC_MSG_WARN(Full GUI not found. Build will be done without GUI!)
+ fi
+elif test "${SalomeGUI_need}" == "no"; then
+ echo Build without GUI option has been chosen
+fi
+if test "${gui_ok}" = "yes"; then
echo
echo ---------------------------------------------
echo testing openGL
echo
CHECK_QT
+fi
- echo
- echo ---------------------------------------------
- echo testing VTK
- echo ---------------------------------------------
- echo
-
- CHECK_VTK
-
- echo
- echo ---------------------------------------------
- echo Testing GUI
- echo ---------------------------------------------
- echo
-
- CHECK_SALOME_GUI
-
- echo
- echo ---------------------------------------------
- echo Testing full GUI
- echo ---------------------------------------------
- echo
+echo
+echo ---------------------------------------------
+echo testing VTK
+echo ---------------------------------------------
+echo
- CHECK_CORBA_IN_GUI
- if test "x${CORBA_IN_GUI}" != "xyes"; then
- echo "failed : For configure GEOM module necessary full GUI !"
- exit
- fi
-fi
+CHECK_VTK
echo
echo ---------------------------------------------
CHECK_HTML_GENERATORS
+echo
+echo ---------------------------------------------
+echo testing sphinx
+echo ---------------------------------------------
+echo
+CHECK_SPHINX
+
+echo
+echo ---------------------------------------------
+echo testing Opencv
+echo ---------------------------------------------
+echo
+CHECK_OPENCV
+if test "${opencv_ok}" = "yes"; then
+ AC_DEFINE_UNQUOTED(WITH_OPENCV,${WITH_OPENCV})
+fi
+
+
echo
echo ---------------------------------------------
echo Testing Kernel
echo ---------------------------------------------
echo
-echo Configure
+if test "${SalomeGUI_need}" == "no"; then
+ echo "* Configuration options (without GUI):"
+else
+ echo "* Configuration options:"
+fi
+echo
+
+obligatory_vars="cc_ok lex_yacc_ok python_ok swig_ok threads_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok sphinx_ok Kernel_ok"
+optional_vars="opencv_ok"
+gui_vars="OpenGL_ok qt_ok gui_ok"
-if test "${GEOM_WITH_GUI}" = "yes"; then
-variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok"
+###
+# mandatory products
+###
+
+echo "--- Mandatory products:"
+
+missing_obligatory=no
+for var in $obligatory_vars
+do
+ eval toto=\$$var
+ if test x$toto == "x"; then toto="no" ; fi
+ if test x$toto == "xno"; then missing_obligatory=yes ; fi
+ printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
+ eval echo \$$var
+ #fi
+done
+if test x$missing_obligatory == "xyes"; then
+ AC_MSG_ERROR([one or more obligatory product is missing])
fi
-if test "${GEOM_WITH_GUI}" = "no"; then
-variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok omniORB_ok boost_ok occ_ok doxygen_ok graphviz_ok Kernel_ok"
+
+###
+# gui products
+###
+
+if test "${SalomeGUI_need}" == "yes"; then
+ # SALOME GUI is mandatory
+ if test "${gui_ok}" != "yes"; then
+ AC_MSG_ERROR([SALOME GUI is missing])
+ fi
+fi
+
+if test "${SalomeGUI_need}" != "no"; then
+ echo "--- GUI products (optional):"
+
+ for var in $gui_vars
+ do
+ eval toto=\$$var
+ if test x$toto == "x"; then toto="no"; fi
+ printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
+ eval echo \$toto
+ done
fi
-for var in $variables
+###
+# optional products
+###
+
+echo "--- Other products (optional):"
+
+for var in $optional_vars
do
- printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
- eval echo \$$var
+ eval toto=\$$var
+ if test x$toto != "x"; then
+ printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
+ eval echo \$$var
+ fi
done
echo
-echo "Default ORB : $DEFAULT_ORB"
+echo "* Default ORB : $DEFAULT_ORB"
echo
dnl We don t need to say when we re entering directories if we re using
-dnl GNU make becuase make does it for us.
+dnl GNU make because make does it for us.
if test "X$GMAKE" = "Xyes"; then
AC_SUBST(SETX) SETX=":"
else
AC_SUBST(SETX) SETX="set -x"
fi
-dnl copy shells and utilities contained in the bin directory
-dnl excluding .in files (treated in AC-OUTPUT below) and CVS
-dnl directory
-
-
echo
echo ---------------------------------------------
echo generating Makefiles and configure files
echo ---------------------------------------------
echo
-AC_OUTPUT_COMMANDS([ \
- chmod +x ./bin/*; \
-])
+#AC_OUTPUT_COMMANDS([ \
+# chmod +x ./bin/*; \
+#])
+
+AC_HACK_LIBTOOL
+AC_CONFIG_COMMANDS([hack_libtool],[
+sed -i "s%^CC=\"\(.*\)\"%hack_libtool (){ \n\
+ $(pwd)/hack_libtool \1 \"\$[@]\" \n\
+}\n\
+CC=\"hack_libtool\"%g" libtool
+sed -i "s%\(\s*\)for searchdir in \$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path; do%\1searchdirs=\"\$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path\"\n\1for searchdir in \$searchdirs; do%g" libtool
+sed -i "s%\(\s*\)searchdirs=\"\$newlib_search_path \$lib_search_path \(.*\)\"%\1searchdirs=\"\$newlib_search_path \$lib_search_path\"\n\1sss_beg=\"\"\n\1sss_end=\"\2\"%g" libtool
+sed -i "s%\(\s*\)\(for searchdir in \$searchdirs; do\)%\1for sss in \$searchdirs; do\n\1 if ! test -d \$sss; then continue; fi\n\1 ssss=\$(cd \$sss; pwd)\n\1 if test \"\$ssss\" != \"\" \&\& test -d \$ssss; then\n\1 case \$ssss in\n\1 /usr/lib | /usr/lib64 ) ;;\n\1 * ) sss_beg=\"\$sss_beg \$ssss\" ;;\n\1 esac\n\1 fi\n\1done\n\1searchdirs=\"\$sss_beg \$sss_end\"\n\1\2%g" libtool
+],[])
# This list is initiated using autoscan and must be updated manually
# when adding a new file <filename>.in to manage. When you execute
# autoscan, the Makefile list is generated in the output file configure.scan.
# This could be helpfull to update de configuration.
AC_OUTPUT([ \
- ./salome_adm/unix/SALOMEconfig.h \
- ./adm_local/Makefile \
- ./adm_local/unix/Makefile \
- ./adm_local/unix/config_files/Makefile \
- ./bin/VERSION \
- ./bin/Makefile \
- ./GEOM_version.h \
- ./doc/Makefile \
- ./doc/salome/Makefile \
- ./doc/salome/gui/Makefile \
- ./doc/salome/gui/GEOM/doxyfile \
- ./doc/salome/gui/GEOM/doxyfile_py \
- ./doc/salome/tui/Makefile \
- ./doc/salome/tui/GEOM/doxyfile \
- ./doc/salome/tui/GEOM/sources/static/tree.js \
- ./src/Makefile \
- ./src/ARCHIMEDE/Makefile \
- ./src/BREPExport/Makefile \
- ./src/BREPImport/Makefile \
- ./src/BasicGUI/Makefile \
- ./src/BlocksGUI/Makefile \
- ./src/BooleanGUI/Makefile \
- ./src/BuildGUI/Makefile \
- ./src/DisplayGUI/Makefile \
- ./src/DlgRef/Makefile \
- ./src/EntityGUI/Makefile \
- ./src/GEOM/Makefile \
- ./src/GEOMAlgo/Makefile \
- ./src/GEOMBase/Makefile \
- ./src/GEOMClient/Makefile \
- ./src/GEOMFiltersSelection/Makefile \
- ./src/GEOMGUI/Makefile \
- ./src/GEOMImpl/Makefile \
- ./src/GEOMToolsGUI/Makefile \
- ./src/GEOM_I/Makefile \
- ./src/GEOM_I_Superv/Makefile \
- ./src/GEOM_SWIG/Makefile \
- ./src/GEOM_SWIG_WITHIHM/Makefile \
- ./src/GenerationGUI/Makefile \
- ./src/GroupGUI/Makefile \
- ./src/IGESExport/Makefile \
- ./src/IGESImport/Makefile \
- ./src/MeasureGUI/Makefile \
- ./src/NMTAlgo/Makefile \
- ./src/NMTDS/Makefile \
- ./src/NMTTools/Makefile \
- ./src/OBJECT/Makefile \
- ./src/OperationGUI/Makefile \
- ./src/PrimitiveGUI/Makefile \
- ./src/RepairGUI/Makefile \
- ./src/SKETCHER/Makefile \
- ./src/STEPExport/Makefile \
- ./src/STEPImport/Makefile \
- ./src/STLExport/Makefile \
- ./src/ShHealOper/Makefile \
- ./src/TransformationGUI/Makefile \
- ./resources/Makefile \
- ./resources/GEOMCatalog.xml \
- ./idl/Makefile \
+ adm_local/Makefile \
+ adm_local/cmake_files/Makefile \
+ adm_local/unix/Makefile \
+ adm_local/unix/config_files/Makefile \
+ bin/VERSION \
+ bin/Makefile \
+ GEOM_version.h \
+ doc/Makefile \
+ doc/docutils/Makefile \
+ doc/docutils/conf.py \
+ doc/salome/Makefile \
+ doc/salome/examples/Makefile \
+ doc/salome/gui/Makefile \
+ doc/salome/gui/GEOM/Makefile \
+ doc/salome/gui/GEOM/doxyfile \
+ doc/salome/gui/GEOM/doxyfile_py \
+ doc/salome/gui/GEOM/doxyfile_tui \
+ doc/salome/gui/GEOM/static/header.html \
+ doc/salome/gui/GEOM/static/header_py.html \
+ doc/salome/tui/Makefile \
+ doc/salome/tui/doxyfile \
+ doc/salome/tui/static/header.html \
+ src/Makefile \
+ src/AdvancedGUI/Makefile \
+ src/ARCHIMEDE/Makefile \
+ src/BREPExport/Makefile \
+ src/BREPImport/Makefile \
+ src/BasicGUI/Makefile \
+ src/BlocksGUI/Makefile \
+ src/BooleanGUI/Makefile \
+ src/BuildGUI/Makefile \
+ src/DisplayGUI/Makefile \
+ src/DlgRef/Makefile \
+ src/EntityGUI/Makefile \
+ src/GEOM/Makefile \
+ src/BlockFix/Makefile \
+ src/GEOMAlgo/Makefile \
+ src/GEOMBase/Makefile \
+ src/GEOMClient/Makefile \
+ src/GEOMFiltersSelection/Makefile \
+ src/Material/Makefile \
+ src/GEOMGUI/Makefile \
+ src/GEOMUtils/Makefile \
+ src/GEOMImpl/Makefile \
+ src/GEOMToolsGUI/Makefile \
+ src/GEOM_I/Makefile \
+ src/GEOM_I_Superv/Makefile \
+ src/GEOM_SWIG/Makefile \
+ src/GEOM_SWIG_WITHIHM/Makefile \
+ src/GEOM_PY/Makefile \
+ src/GEOM_PY/structelem/Makefile \
+ src/GenerationGUI/Makefile \
+ src/GroupGUI/Makefile \
+ src/IGESExport/Makefile \
+ src/IGESImport/Makefile \
+ src/MeasureGUI/Makefile \
+ src/NMTDS/Makefile \
+ src/NMTTools/Makefile \
+ src/OBJECT/Makefile \
+ src/OCC2VTK/Makefile \
+ src/OperationGUI/Makefile \
+ src/PrimitiveGUI/Makefile \
+ src/RepairGUI/Makefile \
+ src/SKETCHER/Makefile \
+ src/STEPExport/Makefile \
+ src/STEPImport/Makefile \
+ src/STLExport/Makefile \
+ src/ShHealOper/Makefile \
+ src/ShapeRecognition/Makefile \
+ src/TransformationGUI/Makefile \
+ src/VTKExport/Makefile \
+ resources/Makefile \
+ resources/GEOMCatalog.xml \
+ resources/SalomeApp.xml \
+ resources/Plugin \
+ idl/Makefile \
Makefile \
])