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"
- local_opengl=yes
- ], [
- dirs="/usr/lib /usr/local/lib /opt/graphics/OpenGL/lib /usr/openwin/lib /usr/X11R6/lib"
- ])dnl
+ [opengl_dir="$withval"],
+ [dirs="/usr/lib${LIB_LOCATION_SUFFIX} /usr/local/lib${LIB_LOCATION_SUFFIX} /opt/graphics/OpenGL/lib${LIB_LOCATION_SUFFIX} /usr/openwin/lib${LIB_LOCATION_SUFFIX} /usr/X11R6/lib${LIB_LOCATION_SUFFIX}"])dnl
AC_CHECKING(for OpenGL)
-
-AC_SUBST(OGL_INCLUDES)
-AC_SUBST(OGL_LIBS)
+AC_CHECKING(for OpenGL headers)
OGL_INCLUDES=""
OGL_LIBS=""
OpenGL_ok=no
+OpenGL_libs_ok=no
+OpenGL_headers_ok=no
dnl openGL headers
-
# by default
-
-if test "x$local_opengl" = "xyes" ; then
- if test -f "${opengl_dir}/include/GL/gl.h" ; then
- OpenGL_ok=yes
- OGL_INCLUDES="-I${opengl_dir}/include"
- if test "x${opengl_dir}" = "x/usr"
- then
- OGL_LIBS=""
- else
- OGL_LIBS="-L${opengl_dir}/lib"
- fi
- AC_MSG_RESULT(select OpenGL distribution in ${opengl_dir})
- else
- AC_MSG_RESULT(no gl.h header file in ${opengl_dir}/include/GL)
- fi
+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_ok" = "xno"
-then
- AC_CHECK_HEADERS(GL/gl.h, [OpenGL_ok=yes])
+if test "x${OpenGL_headers_ok}" = "xno" ; then
+ AC_CHECK_HEADER(GL/gl.h,
+ [OpenGL_headers_ok=yes],
+ [OpenGL_headers_ok=no])
fi
-if test "x$OpenGL_ok" = "xno"
-then
# under SunOS ?
+if test "x${OpenGL_headers_ok}" = "xno" ; then
AC_CHECK_HEADERS(/usr/openwin/share/include/GL/glxmd.h,
- [OpenGL_ok=yes]
- OGL_INCLUDES="-I/usr/openwin/share/include/")
+ [OpenGL_headers_ok=yes; OGL_INCLUDES="-I/usr/openwin/share/include/"],
+ [OpenGL_headers_ok=no])
fi
-if test "x$OpenGL_ok" = "xno"
-then
# under IRIX ?
+if test "x${OpenGL_headers_ok}" = "xno" ; then
AC_CHECK_HEADERS(/opt/graphics/OpenGL/include/GL/glxmd.h,
- [OpenGL_ok=yes]
- OGL_INCLUDES="-I/opt/graphics/OpenGL/include")
+ [OpenGL_headers_ok=yes; OGL_INCLUDES="-I/opt/graphics/OpenGL/include"],
+ [OpenGL_headers_ok=no])
fi
-if test "x$OpenGL_ok" = "xno"
-then
+
# 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_ok=yes]
- OGL_INCLUDES="-I/usr/X11R6/include")
+ [OpenGL_headers_ok=yes; OGL_INCLUDES="-I/usr/X11R6/include"],
+ [OpenGL_headers_ok=no])
fi
-if test "x$OpenGL_ok" = "xyes"
-then
+if test "x${OpenGL_headers_ok}" = "xyes" ; then
AC_CHECKING(for OpenGL library)
- OpenGL_ok=no
- for i in $dirs; do
- if test -r "$i/libGL.so"; then
-dnl AC_MSG_RESULT(in $i)
- if test "x$i" = "x/usr/lib"
- then
+ for idir in $dirs; do
+ if test -r "${idir}/libGL.so"; then
+ AC_MSG_RESULT(in ${idir})
+ if test "x${idir}" = "x/usr/lib${LIB_LOCATION_SUFFIX}" ; then
OGL_LIBS=""
else
- OGL_LIBS="-L$i"
+ OGL_LIBS="-L${idir}"
fi
break
fi
-# under IRIX ?
- if test -r "$i/libGL.sl"; then
-dnl AC_MSG_RESULT(in $i)
- if test "x$i" = "x/usr/lib"
- then
+ # under IRIX ?
+ if test -r "${idir}/libGL.sl"; then
+ AC_MSG_RESULT(in ${idir})
+ if test "x${idir}" = "x/usr/lib${LIB_LOCATION_SUFFIX}" ; then
OGL_LIBS=""
else
- OGL_LIBS="-L$i"
+ OGL_LIBS="-L${idir}"
fi
break
fi
done
LDFLAGS_old="$LDFLAGS"
LDFLAGS="$LDFLAGS $OGL_LIBS"
- AC_CHECK_LIB(GL,glBegin,OpenGL_ok=yes,OpenGL_ok=no)
+ 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 -lGL"],
+ [OpenGL_libs_ok=no])
+ fi
LDFLAGS="$LDFLAGS_old"
fi
-if test "x$OpenGL_ok" = "xyes" ; then
- OGL_LIBS="$OGL_LIBS -lGL"
+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/lib${LIB_LOCATION_SUFFIX}" ; then
+ OGL_LIBS=""
+ else
+ OGL_LIBS="-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/lib${LIB_LOCATION_SUFFIX}" ; then
+ OGL_LIBS=""
+ else
+ OGL_LIBS="-L${idir}"
+ fi
+ break
+ fi
+ done
+ LDFLAGS_old="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $OGL_LIBS"
+ 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 -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
-OpenGLU_ok=no
-LDFLAGS_old="$LDFLAGS"
-LDFLAGS="$LDFLAGS $OGL_LIBS"
-AC_CHECK_LIB(GLU,gluBeginSurface,OpenGLU_ok=yes,OpenGLU_ok=no)
-LDFLAGS="$LDFLAGS_old"
+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)
-if test "x$OpenGLU_ok" = "xyes" ; then
- OGL_LIBS="$OGL_LIBS -lGLU"
-fi
+AC_SUBST(OGL_INCLUDES)
+AC_SUBST(OGL_LIBS)
-# Save cache
-AC_CACHE_SAVE
+AC_LANG_RESTORE
])dnl
])
AC_CHECKING([local Python configuration])
+
+ AC_REQUIRE([AC_LINKER_OPTIONS])dnl
+
PYTHON_PREFIX=`echo $PYTHON | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
PYTHON_PREFIX=`echo $PYTHON_PREFIX | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
PYTHONHOME=$PYTHON_PREFIX
changequote([, ])dnl
AC_SUBST(PYTHON_VERSION)
- PY_MAKEFILE=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/config/Makefile
+ PY_MAKEFILE=${PYTHON_PREFIX}/lib${LIB_LOCATION_SUFFIX}/python$PYTHON_VERSION/config/Makefile
if test ! -f "$PY_MAKEFILE"; then
AC_MSG_ERROR([*** Couldn't find ${PY_MAKEFILE}. Maybe you are
*** missing the development portion of the python installation])
AC_SUBST(PYTHON_LIBS)
PYTHON_INCLUDES=-I$PYTHON_PREFIX/include/python$PYTHON_VERSION
- PYTHON_LIBS="-L${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
+ PYTHON_LIBS="-L${PYTHON_PREFIX}/lib${LIB_LOCATION_SUFFIX}/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
PYTHON_LIB=$PYTHON_LIBS
- PYTHON_LIBA=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/config/libpython$PYTHON_VERSION.a
+ PYTHON_LIBA=${PYTHON_PREFIX}/lib${LIB_LOCATION_SUFFIX}/python$PYTHON_VERSION/config/libpython$PYTHON_VERSION.a
dnl At times (like when building shared libraries) you may want
dnl to know which OS Python thinks this is.
[PYTHON_SITE="$withval"
python_site_given=yes],
- [PYTHON_SITE=$prefix"/lib/python"$PYTHON_VERSION/site-packages
+ [PYTHON_SITE=${prefix}"/lib${LIB_LOCATION_SUFFIX}/python"${PYTHON_VERSION}/site-packages
python_site_given=no])
AC_SUBST(PYTHON_SITE_PACKAGE)
[if test "$python_site_given" = yes; then
PYTHON_SITE_EXEC=$PYTHON_SITE
else
- PYTHON_SITE_EXEC=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
+ PYTHON_SITE_EXEC=${PYTHON_EXEC_PREFIX}"/lib${LIB_LOCATION_SUFFIX}/python"${PYTHON_VERSION}/site-packages
fi])
dnl Set up the install directory
dnl Also lets automake think PYTHON means something.
- pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/
+ pythondir=${PYTHON_PREFIX}"/lib${LIB_LOCATION_SUFFIX}/python"${PYTHON_VERSION}/
AC_SUBST(pythondir)
AC_MSG_CHECKING([if we need libdb])