- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_PATH_X])
- AC_REQUIRE([AC_PATH_XTRA])
- AC_REQUIRE([FPTOOLS_CHECK_LIBM])
-
-dnl Check for Mesa first if we were asked to.
- AC_ARG_ENABLE(Mesa,
-[ --enable-mesa
- Prefer Mesa over a vendor's native OpenGL library (default=no)
-],
- use_Mesa=$enableval,
- use_Mesa=no)
-
- if test x"$use_Mesa" = xyes; then
- GL_search_list="MesaGL GL opengl32"
- GLU_search_list="MesaGLU GLU glu32"
- GLX_search_list="MesaGLX GLX"
- else
- GL_search_list="GL opengl32 MesaGL"
- GLU_search_list="GLU glu32 MesaGLU"
- GLX_search_list="GLX MesaGLX"
- fi
-
- AC_LANG_SAVE
- AC_LANG_C
-
-dnl If we are running under X11 then add in the appropriate libraries.
- if test x"$no_x" != xyes; then
-dnl Add everything we need to compile and link X programs to GL_CFLAGS
-dnl and GL_X_LIBS.
- GL_CFLAGS="$CPPFLAGS $X_CFLAGS"
- GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS $LIBM"
- fi
- GL_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$GL_CFLAGS"
-
- GL_save_LIBS="$LIBS"
- LIBS="$GL_X_LIBS"
-
- dnl Including <GL/glut.h> instead of plain <GL/gl.h> avoids problems on
- dnl platforms like WinDoze where special headers like <windows.h> or
- dnl some macro trickery would be needed
- FPTOOLS_SEARCH_LIBS([#include <GL/glut.h>], glEnd, $GL_search_list, have_GL=yes, have_GL=no)
-
- dnl TODO: The tests for GL features should better be cascaded and the
- dnl results should be cached. A new macro would be helpful here.
-
- AC_MSG_CHECKING(glTexSubImage1D)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glTexSubImage1D(GL_TEXTURE_1D,0,0,2,GL_INTENSITY,GL_BYTE,(void*)0)],
- fptools_gl_texsubimage1d=yes,
- fptools_gl_texsubimage1d=no);
- AC_MSG_RESULT($fptools_gl_texsubimage1d)
-
- AC_MSG_CHECKING(glDrawRangeElements)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glDrawRangeElements(GL_QUADS,0,0,0,GL_UNSIGNED_BYTE,(void*)0)],
- fptools_gl_drawrangeelements=yes,
- fptools_gl_drawrangeelements=no);
- AC_MSG_RESULT($fptools_gl_drawrangeelements)
-
- AC_MSG_CHECKING(glActiveTexture)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glActiveTexture(GL_TEXTURE1)],
- fptools_gl_activetexture=yes,
- fptools_gl_activetexture=no);
- AC_MSG_RESULT($fptools_gl_activetexture)
-
- AC_MSG_CHECKING(glMultiDrawArrays)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glMultiDrawArrays(GL_TRIANGLES, (GLint*)0, (GLsizei*)0, 0)],
- fptools_gl_multidrawarrays=yes,
- fptools_gl_multidrawarrays=no);
- AC_MSG_RESULT($fptools_gl_multidrawarrays)
-
- if test x"$fptools_gl_texsubimage1d" != xyes; then
- fptools_gl_version=1.0
- else
- if test x"$fptools_gl_drawrangeelements" != xyes; then
- fptools_gl_version=1.1
- else
- if test x"$fptools_gl_activetexture" != xyes; then
- fptools_gl_version=1.2
- else
- if test x"$fptools_gl_multidrawarrays" != xyes; then
- fptools_gl_version=1.3
- else
- fptools_gl_version=1.4
- fi
- fi
- fi
- fi
- echo "It looks like GL version ${fptools_gl_version}"
-
- dnl TODO: Cache the results of the tests for the imaging subset.
-
- AC_MSG_CHECKING(EXT_blend_color)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glBlendColorEXT((GLclampf)0.0,(GLclampf)0.0,(GLclampf)0.0,(GLclampf)0.0)],
- hopengl_EXT_blend_color=yes,
- hopengl_EXT_blend_color=no);
- AC_MSG_RESULT($hopengl_EXT_blend_color)
-
- AC_MSG_CHECKING(EXT_blend_minmax)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glBlendEquationEXT(GL_FUNC_ADD_EXT)],
- hopengl_EXT_blend_minmax=yes,
- hopengl_EXT_blend_minmax=no);
- AC_MSG_RESULT($hopengl_EXT_blend_minmax)
-
- AC_MSG_CHECKING(EXT_blend_subtract)
- AC_TRY_LINK([#include <GL/glut.h>],
- [glBlendEquationEXT(GL_FUNC_SUBTRACT_EXT)],
- hopengl_EXT_blend_subtract=yes,
- hopengl_EXT_blend_subtract=no);
- AC_MSG_RESULT($hopengl_EXT_blend_subtract)
-
- FPTOOLS_SEARCH_LIBS([#include <GL/glu.h>], gluNewQuadric, $GLU_search_list, have_GLU=yes, have_GLU=no)
-
- dnl TODO: Cascade and cache...
-
- AC_MSG_CHECKING(gluGetString)
- AC_TRY_LINK([#include <GL/glut.h>],
- [gluGetString(GLU_EXTENSIONS)],
- fptools_glu_getstring=yes,
- fptools_glu_getstring=no);
- AC_MSG_RESULT($fptools_glu_getstring)
-
- AC_MSG_CHECKING(gluTessEndPolygon)
- AC_TRY_LINK([#include <GL/glut.h>],
- [gluTessEndPolygon((GLUtesselator*)0)],
- fptools_glu_tessendpolygon=yes,
- fptools_glu_tessendpolygon=no);
- AC_MSG_RESULT($fptools_glu_tessendpolygon)
-
- AC_MSG_CHECKING(gluUnProject4)
- AC_TRY_LINK([#include <GL/glut.h>],
- [gluUnProject4(0.0,0.0,0.0,0.0,(GLdouble*)0,(GLdouble*)0,(GLint*)0,0.0,0.0,(GLdouble*)0,(GLdouble*)0,(GLdouble*)0,(GLdouble*)0)],
- fptools_glu_unproject4=yes,
- fptools_glu_unproject4=no);
- AC_MSG_RESULT($fptools_glu_unproject4)
-
- if test x"$fptools_glu_getstring" != xyes; then
- fptools_glu_version=1.0
+ dnl--------------------------------------------------------------------
+ dnl * Deal with arguments telling us iconv is somewhere odd
+ dnl--------------------------------------------------------------------
+
+ dnl Note: ICONV_LIB_DIRS and ICONV_INCLUDE_DIRS are not predefined
+ dnl to the empty string to allow them to be overridden from the
+ dnl environment.
+
+ AC_ARG_WITH([iconv-includes],
+ [AC_HELP_STRING([--with-iconv-includes],
+ [directory containing iconv.h])],
+ [ICONV_INCLUDE_DIRS=$withval])
+
+ AC_ARG_WITH([iconv-libraries],
+ [AC_HELP_STRING([--with-iconv-libraries],
+ [directory containing iconv library])],
+ [ICONV_LIB_DIRS=$withval])
+
+ AC_SUBST(ICONV_INCLUDE_DIRS)
+ AC_SUBST(ICONV_LIB_DIRS)
+])# FP_ICONV
+
+# FP_GMP
+# -------------
+AC_DEFUN([FP_GMP],
+[
+ dnl--------------------------------------------------------------------
+ dnl * Deal with arguments telling us gmp is somewhere odd
+ dnl--------------------------------------------------------------------
+
+ AC_ARG_WITH([gmp-includes],
+ [AC_HELP_STRING([--with-gmp-includes],
+ [directory containing gmp.h])],
+ [GMP_INCLUDE_DIRS=$withval])
+
+ AC_ARG_WITH([gmp-libraries],
+ [AC_HELP_STRING([--with-gmp-libraries],
+ [directory containing gmp library])],
+ [GMP_LIB_DIRS=$withval])
+
+ AC_SUBST(GMP_INCLUDE_DIRS)
+ AC_SUBST(GMP_LIB_DIRS)
+])# FP_GMP
+
+# FP_CHECK_MACOSX_DEPLOYMENT_TARGET
+# ---------------------------------
+AC_DEFUN([FP_CHECK_MACOSX_DEPLOYMENT_TARGET],
+[
+if test "x$TargetOS_CPP-$TargetVendor_CPP" = "xdarwin-apple"; then
+ AC_MSG_CHECKING([Mac OS X deployment target])
+ case $FP_MACOSX_DEPLOYMENT_TARGET in
+ none) ;;
+ 10.4) MACOSX_DEPLOYMENT_VERSION=10.4
+ MACOSX_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX10.4u.sdk
+ ;;
+ 10.4u) MACOSX_DEPLOYMENT_VERSION=10.4
+ MACOSX_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX10.4u.sdk
+ ;;
+ *) MACOSX_DEPLOYMENT_VERSION=$FP_MACOSX_DEPLOYMENT_TARGET
+ MACOSX_DEPLOYMENT_SDK=/Developer/SDKs/MacOSX${FP_MACOSX_DEPLOYMENT_TARGET}.sdk
+ ;;
+ esac
+ if test "x$FP_MACOSX_DEPLOYMENT_TARGET" = "xnone"; then
+ AC_MSG_RESULT(none)