summaryrefslogtreecommitdiff
path: root/m4/ax_restore_flags_with_prefix.m4
diff options
context:
space:
mode:
authordryman <idryman@gmail.com>2016-01-11 20:32:36 -0800
committerdryman <idryman@gmail.com>2016-03-09 10:26:10 -0800
commit985e769cd7ad0c54d6adb5105b37b4ed724fa94a (patch)
treee90f3a472f491adddc4e158ce8bc953ea29e797b /m4/ax_restore_flags_with_prefix.m4
parentd48ec2210047bbf17702700811c3f16a5369e06c (diff)
downloadautoconf-archive-985e769cd7ad0c54d6adb5105b37b4ed724fa94a.tar.gz
Improved three opengl autoconf macros
Main features added: - Support action-if-found and not-found hook - Export HAVE_GL, HAVE_GLU, and HAVE_GLUT preprocessor symbol - Add necessary flags to CFLAGS/LIBS by default, but can be disabled by overwritting action-if-found hook. - Fail the configure script if lib not found. This feature can be disabled by overwritting action-if-not-found hook - Fix problems on Mac OSX. Been tested on Linux (Ubuntu) and OSX - Use --with-xquartz-gl instead of --with-gl=x for using X11 on OSX Two new macros added: - ax_save_flags_with_prefix.m4: save flags and pushes flag with prefix to the flag. AX_SAVE_FLAGS_WITH_PREFIX([GL],[[CFLAGS],[LIBS]]) would expands to gl_saved_flag_cflags="$CFLAGS" gl_saved_flag_libs="$LIBS" CFLAGS="$GL_CFLAGS $CFLAGS" LIBS="$GL_LIBS $LIBS" - ax_restore_flags_with_prefix.m4: restore the flags.
Diffstat (limited to 'm4/ax_restore_flags_with_prefix.m4')
-rw-r--r--m4/ax_restore_flags_with_prefix.m466
1 files changed, 66 insertions, 0 deletions
diff --git a/m4/ax_restore_flags_with_prefix.m4 b/m4/ax_restore_flags_with_prefix.m4
new file mode 100644
index 0000000..9803210
--- /dev/null
+++ b/m4/ax_restore_flags_with_prefix.m4
@@ -0,0 +1,66 @@
+# ================================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_restore_flags_with_prefix.html
+# ================================================================================
+#
+# SYNOPSIS
+#
+# AX_RESTORE_FLAGS_WITH_PREFIX(PREFIX, LIST-OF-FLAGS)
+#
+# DESCRIPTION
+#
+# Restore the flags saved by AX_SAVE_FLAGS_WITH_PREFIX.
+#
+# Expansion example: AX_RESTORE_FLAGS_WITH_PREFIX([GL], [[CFLAGS],[LIBS]])
+# expands to
+#
+# CFLAGS="$gl_saved_flag_cflags"
+# LIBS="$gl_saved_flag_libs"
+#
+# One common use case is to define a package specific wrapper macro around
+# this one, and also restore other variables if needed. For example:
+#
+# AC_DEFUN([_AX_CHECK_GL_RESTORE_FLAGS], [
+# AX_RESTORE_FLAGS_WITH_PREFIX([GL],[$1])
+# AC_LANG_POP([C])
+# ])
+#
+# # Restores CFLAGS, LIBS and language state
+# _AX_CHECK_GL_RESTORE_FLAGS([[CFLAGS],[LIBS]])
+#
+# LICENSE
+#
+# Copyright (c) 2016 Felix Chern <idryman@gmail.com>
+#
+# 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
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program 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 General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 1
+
+m4_define([AX_RESTORE_FLAGS_WITH_PREFIX],[
+m4_ifval([$2], [
+m4_car($2)="$_ax_[]m4_tolower($1)_saved_flag_[]m4_tolower(m4_car($2))"
+$0($1, m4_cdr($2))])
+])