From 8cee1d8e3ce264940e18a44a4b05e4849d29e43e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bastien=20ROUCARI=C3=88S?=
Date: Sat, 6 Apr 2013 13:28:02 +0200
Subject: [PATCH 2/7] Improve ax_check_glu.m4
- remove obsolete text
- bump serial
- add myself under copyright
- use internal ax_sav_flags/ax_restore_flags
---
m4/ax_check_glu.m4 | 72 +++++++++++++++++++++++++++++++++++++---------------
1 file changed, 51 insertions(+), 21 deletions(-)
diff --git a/m4/ax_check_glu.m4 b/m4/ax_check_glu.m4
index 8c38f59..98c520f 100644
--- a/m4/ax_check_glu.m4
+++ b/m4/ax_check_glu.m4
@@ -2,11 +2,6 @@
# http://www.gnu.org/software/autoconf-archive/ax_check_glu.html
# ===========================================================================
#
-# OBSOLETE MACRO
-#
-# This macro is no longer maintained here; the author prefers to publish
-# it at .
-#
# SYNOPSIS
#
# AX_CHECK_GLU
@@ -21,6 +16,18 @@
# If the header "GL/glu.h" is found, "HAVE_GL_GLU_H" is defined. If the
# header "OpenGL/glu.h" is found, HAVE_OPENGL_GLU_H is defined. These
# preprocessor definitions may not be mutually exclusive.
+#
+# You should use something like this in your headers:
+# # if defined(HAVE_WINDOWS_H) && defined(_WIN32)
+# # include
+# # endif
+# # if defined(HAVE_GL_GLU_H)
+# # include
+# # elif defined(HAVE_OPENGL_GLU_H)
+# # include
+# # else
+# # error no glu.h
+# # endif
#
# Some implementations (in particular, some versions of Mac OS X) are
# known to treat the GLU tesselator callback function type as "GLvoid
@@ -30,6 +37,7 @@
# LICENSE
#
# Copyright (c) 2009 Braden McDaniel
+# Copyright (c) 2013 Bastien Roucaries
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
@@ -57,19 +65,10 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 9
-
-AC_DEFUN([AX_CHECK_GLU],
-[AC_REQUIRE([AX_CHECK_GL])dnl
-AC_REQUIRE([AC_PROG_CXX])dnl
-GLU_CFLAGS="${GL_CFLAGS}"
+#serial 10
-ax_save_CPPFLAGS="${CPPFLAGS}"
-CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}"
-AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h])
-CPPFLAGS="${ax_save_CPPFLAGS}"
-
-m4_define([AX_CHECK_GLU_PROGRAM],
+# exemple program
+m4_define([_AX_CHECK_GLU_PROGRAM],
[AC_LANG_PROGRAM([[
# if defined(HAVE_WINDOWS_H) && defined(_WIN32)
# include
@@ -80,8 +79,39 @@ m4_define([AX_CHECK_GLU_PROGRAM],
# include
# else
# error no glu.h
-# endif]],
- [[gluBeginCurve(0)]])])
+# endif
+]],[[gluBeginCurve(0)]])])
+
+dnl local save flags
+AC_DEFUN([_AX_CHECK_GLU_SAVE_FLAGS],
+[dnl
+ax_check_glu_saved_libs="${LIBS}"
+ax_check_glu_saved_cflags="${CFLAGS}"
+ax_check_glu_saved_cppflags="${CPPFLAGS}"
+ax_check_glu_saved_ldflags="${LDFLAGS}"
+])
+
+dnl local restore flags
+AC_DEFUN([_AX_CHECK_GLU_RESTORE_FLAGS],
+[dnl
+LIBS="${ax_check_glu_saved_libs}"
+CFLAGS="${ax_check_glu_saved_cflags}"
+CPPFLAGS="${ax_check_glu_saved_cppflags}"
+LDFLAGS="${ax_check_glu_saved_ldflags}"
+])
+
+AC_DEFUN([AX_CHECK_GLU],
+[AC_REQUIRE([AX_CHECK_GL])dnl
+AC_REQUIRE([AX_COMPILER_VENDOR])dnl
+AC_REQUIRE([AC_PROG_CXX])dnl
+
+GLU_CFLAGS="${GL_CFLAGS}"
+
+_AX_CHECK_GLU_SAVE_FLAGS
+CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}"
+# TODO use real headers
+AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h])
+_AX_CHECK_GLU_RESTORE_FLAGS
AC_CACHE_CHECK([for OpenGL Utility library], [ax_cv_check_glu_libglu],
[ax_cv_check_glu_libglu="no"
@@ -104,7 +134,7 @@ AC_LANG_PUSH([C++])
AS_IF([test X$ax_compiler_ms = Xyes],
[AC_LANG_PUSH([C])])
AC_LINK_IFELSE(
-[AX_CHECK_GLU_PROGRAM],
+[_AX_CHECK_GLU_PROGRAM],
[ax_cv_check_glu_libglu=yes],
[LIBS=""
ax_check_libs="-lglu32 -lGLU"
@@ -113,7 +143,7 @@ for ax_lib in ${ax_check_libs}; do
[ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`],
[ax_try_lib="${ax_lib}"])
LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
- AC_LINK_IFELSE([AX_CHECK_GLU_PROGRAM],
+ AC_LINK_IFELSE([_AX_CHECK_GLU_PROGRAM],
[ax_cv_check_glu_libglu="${ax_try_lib}"; break])
done
])
--
1.7.10.4