mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-15 10:08:35 +05:00
231 lines
7.1 KiB
Plaintext
231 lines
7.1 KiB
Plaintext
|
dnl Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
|
||
|
dnl
|
||
|
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||
|
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||
|
dnl
|
||
|
dnl This library is free software; you can redistribute it and/or
|
||
|
dnl modify it under the terms of the GNU Lesser General Public
|
||
|
dnl License as published by the Free Software Foundation; either
|
||
|
dnl version 2.1 of the License.
|
||
|
dnl
|
||
|
dnl This library is distributed in the hope that it will be useful,
|
||
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
dnl Lesser General Public License for more details.
|
||
|
dnl
|
||
|
dnl You should have received a copy of the GNU Lesser General Public
|
||
|
dnl License along with this library; if not, write to the Free Software
|
||
|
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||
|
dnl
|
||
|
dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||
|
dnl
|
||
|
AC_DEFUN([CHECK_OPENGL],[
|
||
|
AC_REQUIRE([AC_PROG_CC])dnl
|
||
|
AC_REQUIRE([AC_PROG_CPP])dnl
|
||
|
AC_REQUIRE([AC_LINKER_OPTIONS])dnl
|
||
|
|
||
|
AC_LANG_SAVE
|
||
|
AC_LANG_CPLUSPLUS
|
||
|
|
||
|
AC_ARG_WITH(opengl,
|
||
|
[AC_HELP_STRING([--with-opengl=DIR],[root directory path of OpenGL installation])],
|
||
|
[opengl_dir="$withval"],
|
||
|
[dirs="/usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib /opt/graphics/OpenGL/lib64 /opt/graphics/OpenGL/lib /usr/openwin/lib64 /usr/openwin/lib /usr/X11R6/lib64 /usr/X11R6/lib"])dnl
|
||
|
|
||
|
AC_CHECKING(for OpenGL)
|
||
|
AC_CHECKING(for OpenGL headers)
|
||
|
|
||
|
OGL_INCLUDES=""
|
||
|
OGL_LIBS=""
|
||
|
|
||
|
GL_LIB_PATH=""
|
||
|
GLU_LIB_PATH=""
|
||
|
|
||
|
OpenGL_ok=no
|
||
|
OpenGL_libs_ok=no
|
||
|
OpenGL_headers_ok=no
|
||
|
|
||
|
dnl openGL headers
|
||
|
# by default
|
||
|
if test "x${opengl_dir}" != "x" ; then
|
||
|
AC_MSG_RESULT(for opengl_dir: $opengl_dir)
|
||
|
AC_CHECK_HEADER([${opengl_dir}/include/GL/gl.h],
|
||
|
[OpenGL_headers_ok=yes; OGL_INCLUDES="-I${opengl_dir}/include"],
|
||
|
[OpenGL_headers_ok=no])
|
||
|
if test "x${OpenGL_headers_ok}" = "xyes" ; then
|
||
|
AC_CHECKING(for default OpenGL library)
|
||
|
if test "x${opengl_dir}" = "x/usr" ; then
|
||
|
OGL_LIBS=""
|
||
|
else
|
||
|
OGL_LIBS="-L${opengl_dir}/lib"
|
||
|
fi
|
||
|
LDFLAGS_old="$LDFLAGS"
|
||
|
LDFLAGS="$LDFLAGS $OGL_LIBS"
|
||
|
AC_CHECK_LIB([GL],
|
||
|
[glBegin],
|
||
|
[OpenGL_libs_ok=yes],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
if test "x${OpenGL_libs_ok}" = "xyes" ; then
|
||
|
AC_TRY_LINK([],
|
||
|
[],
|
||
|
[OpenGL_libs_ok=yes ; OpenGL_ok=yes; OGL_LIBS="$OGL_LIBS -lGL"],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
fi
|
||
|
LDFLAGS="$LDFLAGS_old"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if test "x${OpenGL_headers_ok}" = "xno" ; then
|
||
|
AC_CHECK_HEADER(GL/gl.h,
|
||
|
[OpenGL_headers_ok=yes],
|
||
|
[OpenGL_headers_ok=no])
|
||
|
fi
|
||
|
|
||
|
# under SunOS ?
|
||
|
if test "x${OpenGL_headers_ok}" = "xno" ; then
|
||
|
AC_CHECK_HEADERS(/usr/openwin/share/include/GL/glxmd.h,
|
||
|
[OpenGL_headers_ok=yes; OGL_INCLUDES="-I/usr/openwin/share/include/"],
|
||
|
[OpenGL_headers_ok=no])
|
||
|
fi
|
||
|
|
||
|
# under IRIX ?
|
||
|
if test "x${OpenGL_headers_ok}" = "xno" ; then
|
||
|
AC_CHECK_HEADERS(/opt/graphics/OpenGL/include/GL/glxmd.h,
|
||
|
[OpenGL_headers_ok=yes; OGL_INCLUDES="-I/opt/graphics/OpenGL/include"],
|
||
|
[OpenGL_headers_ok=no])
|
||
|
fi
|
||
|
|
||
|
# some linux OpenGL servers hide the includes in /usr/X11R6/include/GL
|
||
|
if test "x${OpenGL_headers_ok}" = "xno" ; then
|
||
|
AC_CHECK_HEADERS(/usr/X11R6/include/GL/gl.h,
|
||
|
[OpenGL_headers_ok=yes; OGL_INCLUDES="-I/usr/X11R6/include"],
|
||
|
[OpenGL_headers_ok=no])
|
||
|
fi
|
||
|
|
||
|
if test "x${OpenGL_headers_ok}" = "xyes" ; then
|
||
|
AC_CHECKING(for OpenGL library)
|
||
|
for idir in $dirs; do
|
||
|
if test -r "${idir}/libGL.so"; then
|
||
|
AC_MSG_RESULT(in ${idir})
|
||
|
if test "x${idir}" = "x/usr/lib64" -o "x${idir}" = "x/usr/lib" ; then
|
||
|
GL_LIB_PATH=""
|
||
|
else
|
||
|
GL_LIB_PATH="-L${idir}"
|
||
|
fi
|
||
|
break
|
||
|
fi
|
||
|
# under IRIX ?
|
||
|
if test -r "${idir}/libGL.sl"; then
|
||
|
AC_MSG_RESULT(in ${idir})
|
||
|
if test "x${idir}" = "x/usr/lib64" -o "x${idir}" = "x/usr/lib" ; then
|
||
|
GL_LIB_PATH=""
|
||
|
else
|
||
|
GL_LIB_PATH="-L${idir}"
|
||
|
fi
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
LDFLAGS_old="${LDFLAGS}"
|
||
|
LDFLAGS="${LDFLAGS} ${GL_LIB_PATH}"
|
||
|
AC_CHECK_LIB([GL],
|
||
|
[glBegin],
|
||
|
[OpenGL_libs_ok=yes],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
if test "x${OpenGL_libs_ok}" = "xyes" ; then
|
||
|
AC_TRY_LINK([],
|
||
|
[],
|
||
|
[OpenGL_libs_ok=yes ; OGL_LIBS="${OGL_LIBS} ${GL_LIB_PATH} -lGL"],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
fi
|
||
|
LDFLAGS="$LDFLAGS_old"
|
||
|
fi
|
||
|
|
||
|
if test "x${OpenGL_libs_ok}" = "xyes" ; then
|
||
|
for idir in $dirs; do
|
||
|
if test -r "${idir}/libGLU.so"; then
|
||
|
AC_MSG_RESULT(in ${idir})
|
||
|
if test "x${idir}" = "x/usr/lib64" -o "x${idir}" = "x/usr/lib" ; then
|
||
|
GLU_LIB_PATH=""
|
||
|
else
|
||
|
GLU_LIB_PATH="-L${idir}"
|
||
|
fi
|
||
|
break
|
||
|
fi
|
||
|
# under IRIX ?
|
||
|
if test -r "${idir}/libGLU.sl"; then
|
||
|
AC_MSG_RESULT(in ${idir})
|
||
|
if test "x${idir}" = "x/usr/lib64" -o "x${idir}" = "x/usr/lib" ; then
|
||
|
GLU_LIB_PATH=""
|
||
|
else
|
||
|
GLU_LIB_PATH="-L${idir}"
|
||
|
fi
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
# workaround a problem with libGL library location
|
||
|
for idir in $dirs; do
|
||
|
if test -r "${idir}/libGLU.la"; then
|
||
|
GLU_LA_PATH="${idir}/libGLU.la"
|
||
|
GL_LA_PATH_TO_CHECK=`cat ${GLU_LA_PATH} | awk '{ for(i=1;i<NF;i++){ if(gsub("libGL.la","&",$i)>0) print $i } }'`
|
||
|
if test -z ${GL_LA_PATH_TO_CHECK} || test -r ${GL_LA_PATH_TO_CHECK}; then
|
||
|
# nothing to do
|
||
|
break
|
||
|
fi
|
||
|
for jdir in $dirs; do
|
||
|
if test -r "${jdir}/libGL.la"; then
|
||
|
GL_LA_PATH="${jdir}/libGL.la"
|
||
|
# copy the libGLU.la file and set correct libGL.la path in it
|
||
|
NEW_GLU_LA_PATH=${ROOT_BUILDDIR}
|
||
|
NEW_GLU_LA_FILE="${NEW_GLU_LA_PATH}/libGLU.la"
|
||
|
sed -e "s%${GL_LA_PATH_TO_CHECK}%${GL_LA_PATH}%" ${GLU_LA_PATH} > "${NEW_GLU_LA_FILE}"
|
||
|
chmod -f --reference=${GLU_LA_PATH} "${NEW_GLU_LA_FILE}"
|
||
|
# set a new libGLU.la path
|
||
|
GLU_LIB_PATH="-L${NEW_GLU_LA_PATH}"
|
||
|
# create a simbolic link to libGLU.so
|
||
|
for kdir in $dirs; do
|
||
|
if test -r "${kdir}/libGLU.so"; then
|
||
|
cp -fs "${kdir}/libGLU.so" "${NEW_GLU_LA_PATH}/libGLU.so"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
LDFLAGS_old="${LDFLAGS}"
|
||
|
LDFLAGS="${LDFLAGS} ${OGL_LIBS} ${GLU_LIB_PATH}"
|
||
|
AC_CHECK_LIB([GLU],
|
||
|
[gluBeginSurface],
|
||
|
[OpenGL_libs_ok=yes],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
if test "x${OpenGL_libs_ok}" = "xyes" ; then
|
||
|
AC_TRY_LINK([],
|
||
|
[],
|
||
|
[OpenGL_libs_ok=yes ; OGL_LIBS="${OGL_LIBS} ${GLU_LIB_PATH} -lGLU"],
|
||
|
[OpenGL_libs_ok=no])
|
||
|
fi
|
||
|
LDFLAGS="$LDFLAGS_old"
|
||
|
fi
|
||
|
|
||
|
if test "x${OpenGL_headers_ok}" = "xyes" ; then
|
||
|
if test "x${OpenGL_libs_ok}" = "xyes" ; then
|
||
|
OpenGL_ok=yes
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
AC_MSG_RESULT(for OpenGL_headers_ok: $OpenGL_headers_ok)
|
||
|
AC_MSG_RESULT(for OpenGL_libs_ok: $OpenGL_libs_ok)
|
||
|
AC_MSG_RESULT(for OpenGL_ok: $OpenGL_ok)
|
||
|
|
||
|
AC_SUBST(OGL_INCLUDES)
|
||
|
AC_SUBST(OGL_LIBS)
|
||
|
|
||
|
AC_LANG_RESTORE
|
||
|
|
||
|
])dnl
|
||
|
|