diff -Nru libepoxy-1.3.1/aclocal.m4 libepoxy-1.4.3/aclocal.m4 --- libepoxy-1.3.1/aclocal.m4 2015-07-15 23:47:03.000000000 +0000 +++ libepoxy-1.4.3/aclocal.m4 2017-11-13 11:34:09.000000000 +0000 @@ -20,8634 +20,63 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 11 (pkg-config-0.29.1) - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- +dnl Copyright © 2004 Scott James Remnant . +dnl Copyright © 2012-2015 Dan Nicholson +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +dnl 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that +dnl program. + +dnl PKG_PREREQ(MIN-VERSION) +dnl ----------------------- +dnl Since: 0.29 +dnl +dnl Verify that the version of the pkg-config macros are at least +dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's +dnl installed version of pkg-config, this checks the developer's version +dnl of pkg.m4 when generating configure. +dnl +dnl To ensure that this macro is defined, also add: +dnl m4_ifndef([PKG_PREREQ], +dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) +dnl +dnl See the "Since" comment for each macro you use to see what version +dnl of the macros you require. +m4_defun([PKG_PREREQ], +[m4_define([PKG_MACROS_VERSION], [0.29.1]) +m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, + [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) +])dnl PKG_PREREQ + +dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) +dnl ---------------------------------- +dnl Since: 0.16 +dnl +dnl Search for the pkg-config tool and set the PKG_CONFIG variable to +dnl first found in the path. Checks that the version of pkg-config found +dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is +dnl used since that's the first version where most current features of +dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) @@ -8669,18 +98,19 @@ PKG_CONFIG="" fi fi[]dnl -])# PKG_PROG_PKG_CONFIG +])dnl PKG_PROG_PKG_CONFIG -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- +dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------------------------------- +dnl Since: 0.18 +dnl +dnl Check to see whether a particular set of modules exists. Similar to +dnl PKG_CHECK_MODULES(), but does not set variables or print errors. +dnl +dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +dnl only at the first occurence in configure.ac, so if the first place +dnl it's called might be skipped (such as if it is within an "if", you +dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ @@ -8690,8 +120,10 @@ $3])dnl fi]) -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- +dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +dnl --------------------------------------------- +dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting +dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" @@ -8703,10 +135,11 @@ else pkg_failed=untried fi[]dnl -])# _PKG_CONFIG +])dnl _PKG_CONFIG -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- +dnl _PKG_SHORT_ERRORS_SUPPORTED +dnl --------------------------- +dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -8714,19 +147,17 @@ else _pkg_short_errors_supported=no fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED +])dnl _PKG_SHORT_ERRORS_SUPPORTED -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- +dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl -------------------------------------------------------------- +dnl Since: 0.4.0 +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES might not happen, you should be sure to include an +dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl @@ -8780,16 +211,40 @@ AC_MSG_RESULT([yes]) $3 fi[]dnl -])# PKG_CHECK_MODULES +])dnl PKG_CHECK_MODULES + + +dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl --------------------------------------------------------------------- +dnl Since: 0.29 +dnl +dnl Checks for existence of MODULES and gathers its build flags with +dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags +dnl and VARIABLE-PREFIX_LIBS from --libs. +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to +dnl include an explicit call to PKG_PROG_PKG_CONFIG in your +dnl configure.ac. +AC_DEFUN([PKG_CHECK_MODULES_STATIC], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +_save_PKG_CONFIG=$PKG_CONFIG +PKG_CONFIG="$PKG_CONFIG --static" +PKG_CHECK_MODULES($@) +PKG_CONFIG=$_save_PKG_CONFIG[]dnl +])dnl PKG_CHECK_MODULES_STATIC -# PKG_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable pkgconfigdir as the location where a module -# should install pkg-config .pc files. By default the directory is -# $libdir/pkgconfig, but the default can be changed by passing -# DIRECTORY. The user can override through the --with-pkgconfigdir -# parameter. +dnl PKG_INSTALLDIR([DIRECTORY]) +dnl ------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable pkgconfigdir as the location where a module +dnl should install pkg-config .pc files. By default the directory is +dnl $libdir/pkgconfig, but the default can be changed by passing +dnl DIRECTORY. The user can override through the --with-pkgconfigdir +dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -8800,16 +255,18 @@ AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_INSTALLDIR +])dnl PKG_INSTALLDIR -# PKG_NOARCH_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable noarch_pkgconfigdir as the location where a -# module should install arch-independent pkg-config .pc files. By -# default the directory is $datadir/pkgconfig, but the default can be -# changed by passing DIRECTORY. The user can override through the -# --with-noarch-pkgconfigdir parameter. +dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) +dnl -------------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable noarch_pkgconfigdir as the location where a +dnl module should install arch-independent pkg-config .pc files. By +dnl default the directory is $datadir/pkgconfig, but the default can be +dnl changed by passing DIRECTORY. The user can override through the +dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -8820,13 +277,15 @@ AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_NOARCH_INSTALLDIR +])dnl PKG_NOARCH_INSTALLDIR -# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# ------------------------------------------- -# Retrieves the value of the pkg-config variable for the given module. +dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------- +dnl Since: 0.28 +dnl +dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl @@ -8835,7 +294,75 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl -])# PKG_CHECK_VAR +])dnl PKG_CHECK_VAR + +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------ +dnl +dnl Prepare a "--with-" configure option using the lowercase +dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and +dnl PKG_CHECK_MODULES in a single macro. +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], + [auto],[PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) $3], + [m4_n([def_action_if_not_found]) $4])]) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +])dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ----------------------------------------------- +dnl +dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES +dnl check._[VARIABLE-PREFIX] is exported as make variable. +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +])dnl PKG_HAVE_WITH_MODULES + +dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------------------ +dnl +dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after +dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make +dnl and preprocessor variable. +AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], +[ +PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) + +AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], + [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) +])dnl PKG_HAVE_DEFINE_WITH_MODULES dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl @@ -11862,3 +3389,8 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) diff -Nru libepoxy-1.3.1/autogen.sh libepoxy-1.4.3/autogen.sh --- libepoxy-1.3.1/autogen.sh 1970-01-01 00:00:00.000000000 +0000 +++ libepoxy-1.4.3/autogen.sh 2017-11-13 11:34:09.000000000 +0000 @@ -0,0 +1,16 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd "$srcdir" + +mkdir m4 || exit 1 + +autoreconf -v --install || exit $? +cd "$ORIGDIR" || exit $? + +if test -z "$NOCONFIGURE"; then + exec "$srcdir/configure" "$@" +fi diff -Nru libepoxy-1.3.1/ChangeLog libepoxy-1.4.3/ChangeLog --- libepoxy-1.3.1/ChangeLog 1970-01-01 00:00:00.000000000 +0000 +++ libepoxy-1.4.3/ChangeLog 2017-11-13 11:34:09.000000000 +0000 @@ -0,0 +1,5448 @@ +commit 8d03a6a8278f7e12a910b5a8288484f8ae431653 +Author: Emmanuele Bassi +Date: Tue Jun 6 10:55:43 2017 +0100 + + Release Epoxy 1.4.3 + + configure.ac | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 898ba5d49799b9dd079c7bf99b76d668a8bcd5f3 +Author: Emmanuele Bassi +Date: Tue Jun 6 10:50:14 2017 +0100 + + meson: Fix the MSVC symbol visibility check + + We kind of cargo-culted from Autotools; MSVC and GCC on Windows can use + the same __declspec() attribute. Only the compiler flag is a GCC thing. + + meson.build | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit eaaafd5b3454cb92fbb108516e841f725e3bc364 +Merge: 64e9428 3103a27 +Author: Emmanuele Bassi +Date: Tue Jun 6 10:42:30 2017 +0100 + + Merge branch 'tpetazzoni-make-egl-optional' + + Allow optionally disabling EGL support, just like we allow disabling GLX + support. + + Closes #123 + +commit 3103a273cb400fe7a94b13e6e8f9d28dc13b3cdc +Author: Emmanuele Bassi +Date: Tue Jun 6 10:40:36 2017 +0100 + + ci: Check build with EGL support disabled + + .travis.yml | 1 + + 1 file changed, 1 insertion(+) + +commit 21feea047e2d0af75a02454a06139afc485ebba7 +Author: Emmanuele Bassi +Date: Tue Jun 6 10:39:07 2017 +0100 + + build: Enable EGL on Android + + It's the only platform specific API it has. + + configure.ac | 1 - + meson.build | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 9c8b65a2338d6fe94293a50cf84caea157215322 +Merge: 64e9428 0511fc5 +Author: Emmanuele Bassi +Date: Tue Jun 6 10:37:09 2017 +0100 + + Merge branch 'make-egl-optional' of https://github.com/tpetazzoni/libepoxy into tpetazzoni-make-egl-optional + +commit 64e9428c88f8f246aa6a340081acb053b61d01cf +Merge: 2fe369e dd7446d +Author: Emmanuele Bassi +Date: Tue Jun 6 10:31:08 2017 +0100 + + Merge branch 'khronos-registry' + + Update EGL registry from Khronos. + + Closes #126 + +commit dd7446def30e4cd6b580bf8e1ffb2251eaab1be4 +Author: Daniel Stone +Date: Tue Jun 6 10:14:28 2017 +0100 + + Import EGL registry from GitHub 2e6e7ff7bf9 + + registry/egl.xml | 158 +++++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 129 insertions(+), 29 deletions(-) + +commit 2fe369e1879c5672b0626d0cd359f9b3accbc883 +Merge: 5ef9c5e 640a735 +Author: Emmanuele Bassi +Date: Mon May 22 16:57:59 2017 +0100 + + Merge pull request #124 from return/haiku-support + + Add support for building on Haiku. + +commit 640a735e932f2697d53fb899d2da93d40239c123 +Author: Joseph C, Hill +Date: Mon May 22 12:46:20 2017 +0100 + + Add support for building on Haiku. + + meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +commit 0511fc56e7017209ad18d16551ccaad05de9486c +Author: Thomas Petazzoni +Date: Mon May 8 23:12:49 2017 +0200 + + Make EGL support optional + + It is perfectly possible to build Mesa3D with just OpenGL support, and + use with GLX in X.org, without having EGL/OpenGLES support. + + However, libepoxy currently unconditionally requires EGL support in its + configure.ac, which causes a build failure when Mesa3D only provides + full OpenGL support: + + checking for EGL... no + configure: error: Package requirements (egl) were not met: + + Package egl was not found in the pkg-config search path. + Perhaps you should add the directory containing `egl.pc' + to the PKG_CONFIG_PATH environment variable + Package 'egl', required by 'world', not found + + This commit fixes that by: + + - Adjusting the configure.ac to add a --{enable,disable}-egl option + handled in the exact same way as --{enable,disable}-glx + + - Adjusting the meson build logic in the same way. + + - Adjusting src/dispatch_common.h to define PLATFORM_HAS_EGL correctly, + which allows to not include any EGL related header file if EGL + support is not enabled. + + Signed-off-by: Thomas Petazzoni + + configure.ac | 33 ++++++++++++++++++++++++++++----- + meson.build | 21 ++++++++++++++++++--- + meson_options.txt | 5 +++++ + src/dispatch_common.h | 8 ++++---- + 4 files changed, 55 insertions(+), 12 deletions(-) + +commit 5ef9c5ea24e5a0761baa2abda46c031eb0f6fd0f +Merge: 5616bbf e1a0196 +Author: Emmanuele Bassi +Date: Sat May 13 18:19:14 2017 +0100 + + Merge pull request #121 from anholt/meson-bump + + Update required version to 0.39.1 + +commit e1a01966966936abc66b119f1b3c40cced88a85e +Author: Emmanuele Bassi +Date: Sat May 13 18:14:50 2017 +0100 + + meson: Update required version to 0.39.1 + + It seems bumping to 0.38.1 was too relaxed, and evidently I didn't thoroughly test the change. + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5616bbf3528a9a6264791fd7c9a6969f136f40f3 +Author: Emmanuele Bassi +Date: Tue May 2 23:11:06 2017 +0100 + + build: Check for linker flags on Linux + + We can build Epoxy with different compilers on Linux, and they may not + support all the linker flags we wish to use, so we should check whether + or not they exist. + + src/meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit abe6a80412891cd9cfdb22a66a2b2a773fc4eb3b +Author: Emmanuele Bassi +Date: Sun Apr 30 16:36:25 2017 +0100 + + Release Epoxy 1.4.2 + + configure.ac | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 10c2cdfdb01405a983dbf3f6492134c898742892 +Merge: 5b6d990 106eae7 +Author: Emmanuele Bassi +Date: Mon Apr 24 16:28:06 2017 +0100 + + Merge pull request #118 from LocutusOfBorg/master + + epoxy_internal_has_gl_extension, epoxy_egl_version: add some missing … + +commit 106eae7aad23dffcefe11ec3bf86e54e35137689 +Author: Gianfranco Costamagna +Date: Mon Apr 24 16:10:28 2017 +0200 + + epoxy_internal_has_gl_extension, epoxy_egl_version: add some missing nullpointer checks from https://bugzilla.redhat.com/show_bug.cgi?id=1395366 + Related commit: b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc + Fix "epoxy_glx_version" to handle the case when GLX is not active on the display. + Patch is tweak from the original version posted by Tom Horsley + + src/dispatch_common.c | 9 ++++++++- + src/dispatch_egl.c | 3 +++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +commit 5b6d99069b3fa0d4e12ee617b144a51312bcea79 +Author: Emmanuele Bassi +Date: Wed Mar 29 18:24:25 2017 +0100 + + Put the no-GLX build under CI + + CI is pointless if we don't test all the possible combinations. + + .travis.yml | 1 + + 1 file changed, 1 insertion(+) + +commit 91b4e75c6540d85efc2dc115b7915bae7bfd8bdf +Author: Emmanuele Bassi +Date: Wed Mar 29 18:22:37 2017 +0100 + + Restructure the TravisCI script + + The script should only run the tests; the base Docker image pull, as + well as the CI image build, should be performed in the preparation + stage. + + .travis.yml | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit e59cc63273f138fa7a2473dfb34dd1984d29e555 +Author: Emmanuele Bassi +Date: Wed Mar 29 18:20:18 2017 +0100 + + Build Epoxy with Clang on TravisCI + + We can test both GCC and Clang, so we can ensure Epoxy builds correctly + with either. + + .travis.yml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3289910b9747c24aedd98f68c3bb2c1ddb27f119 +Merge: 3f932ae 60b3449 +Author: Emmanuele Bassi +Date: Tue Mar 28 18:15:09 2017 +0100 + + Merge pull request #116 from ebassi/no-source-root + + Remove uses of meson.source_root() + +commit 60b34493e947df86761fb8a9420fbd547a8e5e7c +Author: Emmanuele Bassi +Date: Tue Mar 28 10:18:31 2017 +0100 + + Bump up the version of Meson used by AppVeyor + + We need a newer version to build Epoxy under CI. + + .appveyor.yml | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 2dafa2f1d3c86ed36ee727994022f61eb8c697d0 +Author: Emmanuele Bassi +Date: Tue Mar 28 10:08:56 2017 +0100 + + Move epoxy_headers definition into include/epoxy + + In order to properly depend on headers, both generated and provided, in + a separate directory, we need to refer to them using their path. + + Generated headers already have their full path; for provided ones, we + can simply use the `files()` directive. + + This change should allow using libepoxy as a Meson subproject. + + Fixes: #115 + + include/epoxy/meson.build | 2 ++ + src/meson.build | 4 ---- + 2 files changed, 2 insertions(+), 4 deletions(-) + +commit 0dfe8403dd5d84e7fc4a444e6cc471e715bd8544 +Author: Emmanuele Bassi +Date: Tue Mar 28 10:06:29 2017 +0100 + + Remove workarounds for older Meson versions + + Removing the files() statement allows us to not use source_root(), which + breaks using libepoxy as a sub-project. + + Using the python3 module is better for Windows portability. + + meson.build | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +commit 9e7af6e1f568341586f6012a47199c641fb16567 +Author: Emmanuele Bassi +Date: Tue Mar 28 10:05:29 2017 +0100 + + Bump up the required version of Meson + + We are going to need a more recent version of Meson to fix some warts in + the build. + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3f932aeb2f635157788c9cbcda280f2ca808c725 +Merge: ab10a79 c39f161 +Author: Emmanuele Bassi +Date: Sun Mar 19 09:56:48 2017 +0000 + + Merge pull request #112 from accel2k/fix-msvc-build + + Fix build on MSVC + +commit ab10a7996ba593c6527051dca11502dd33a17f4b +Merge: f7d3671 ef1bb66 +Author: Emmanuele Bassi +Date: Sun Mar 19 09:56:06 2017 +0000 + + Merge pull request #114 from Millak/master + + test: Fix dlwrap on aarch64 + +commit ef1bb66402032c90a06beb22b444e93f0e0cf39f +Author: Efraim Flashner +Date: Sun Mar 19 11:01:42 2017 +0200 + + test: Fix dlwrap on aarch64 + + dlsym on aarch64 has version GLIBC_2.17. + + test/dlwrap.c | 1 + + 1 file changed, 1 insertion(+) + +commit c39f16102ed1b22ad796e2416bb60792b9aa5571 +Author: Andrei Fadeev +Date: Wed Mar 15 09:13:34 2017 +0300 + + Fix build on MSVC + + The inline keyword is available only for C++ in MSVC. + So we need to use Microsoft specific __inline. + + meson.build | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit f7d3671a0fcad0f5371ce60916394e0269c5cee3 +Author: Emmanuele Bassi +Date: Thu Mar 9 21:28:52 2017 +0000 + + Prefer using pkg-config files to find GLES + + Just like we do for GL and EGL, we can use pkg-config to find the GLES + v2 and v1 dependencies. + + Fixes: #110 + + meson.build | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +commit 4719e586c0f92fa7546fa954115b92d2ae9aee9f +Author: Emmanuele Bassi +Date: Thu Mar 9 21:21:09 2017 +0000 + + Add missing visibility compiler flags + + We have been building the shared library for Epoxy without the symbol + visibility flags for the compiler, which means we've been leaking + internal symbols all over the floor. + + Fixes: #111 + + meson.build | 10 ++++++---- + src/meson.build | 4 +--- + 2 files changed, 7 insertions(+), 7 deletions(-) + +commit fef61ab6bedc551245582f4286ff326ceb63a264 +Merge: f19f943 bfd99a9 +Author: Emmanuele Bassi +Date: Tue Mar 7 15:37:09 2017 +0000 + + Merge pull request #109 from anholt/macos-version-info + + Add explicit version flags for macOS builds + +commit bfd99a94218275361fc3b207e397e93042a0b1b1 +Author: Emmanuele Bassi +Date: Tue Mar 7 15:32:43 2017 +0000 + + Use some linker flags only on Linux + + Using GCC is not a guarantee of also having access to the Linux linker; + just like we use specific linker flags on macOS, the symbolic and relro + linker flags are pretty much Linux specific. + + src/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit d0a1a4e6767da8a2455b8822446978b35813161d +Author: Emmanuele Bassi +Date: Tue Mar 7 11:52:26 2017 +0000 + + Add explicit version flags for macOS builds + + Autotools automatically adds version related linker flags on macOS that + are not related to the version information. Since we want to maintain + binary compatibility, we should do the same when building on macOS. + + Fixes: #108 + + src/meson.build | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +commit f19f943a6699d771ef85402998a56743d6dfa3d9 +Author: Emmanuele Bassi +Date: Fri Mar 3 16:58:46 2017 +0000 + + Add z,relro and z,now to the GCC linker flags + + These flags are mitigations against memory corruption bugs, and are + typically enabled by Linux distributions hardening rules. + + We only use these flags with GCC, similarly to `-Bsymbolic`. + + More information on relro is available here: + + - http://tk-blog.blogspot.co.uk/2009/02/relro-not-so-well-known-memory.html + - http://mudongliang.github.io/2016/07/11/relro-a-not-so-well-known-memory-corruption-mitigation-technique.html + - https://wiki.debian.org/Hardening#DEB_BUILD_HARDENING_RELRO_.28ld_-z_relro.29 + + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7d58fd3d47d2d69f2b1b9f08325302e4eeff9ebe +Merge: 5564f9d 3fb4fea +Author: Emmanuele Bassi +Date: Fri Mar 3 14:52:59 2017 +0000 + + Merge pull request #107 from anholt/issue-106 + + Add C++ guards around generated headers + +commit 3fb4fea6743c660401b78f1f08afda731d32192e +Author: Emmanuele Bassi +Date: Fri Mar 3 14:41:15 2017 +0000 + + Add C++ guards around generated headers + + Commit 0625a74d69f762df8d411bc0451927424aee1f2c moved the C++ guards + after the inclusion of the generated headers, which was an unintended + behavioural change and now requires header guards around the inclusion + of Epoxy headers. + + Fixes: #106 + + include/epoxy/egl.h | 4 ++-- + include/epoxy/gl.h | 4 ++-- + include/epoxy/glx.h | 4 ++-- + include/epoxy/wgl.h | 4 ++-- + 4 files changed, 8 insertions(+), 8 deletions(-) + +commit 5564f9d28de46b2e1236dd7252549698efe66d8a +Author: Emmanuele Bassi +Date: Thu Mar 2 18:26:58 2017 +0000 + + Release Epoxy 1.4.1 (stable) + + configure.ac | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit bdc2668757aa21744954377067a6d1c2aea4203f +Author: Emmanuele Bassi +Date: Wed Mar 1 20:44:07 2017 +0000 + + Remove /W3 from the MSVC compiler flags + + Meson already uses /W2, like it uses -Wall with GCC. + + meson.build | 1 - + 1 file changed, 1 deletion(-) + +commit 3eaddbef62ae83561417e6216cc72eeba98162f2 +Author: Emmanuele Bassi +Date: Wed Mar 1 12:36:00 2017 +0000 + + Simplify the code generation rules for Meson + + The code generation rules are explicitly built for each supported API + target, but they ought to be refactored since they are pretty much + identical. + + In order to do that, we can store the arguments to the custom_target + rules inside an array and then iterate over each element. + + This cuts down the complexity of the Meson build, and the chances of + getting something wrong due to duplication. + + include/epoxy/meson.build | 98 +++++++++++++------------------------------- + src/meson.build | 102 ++++++++++++++++------------------------------ + 2 files changed, 64 insertions(+), 136 deletions(-) + +commit d6c4784401f613f410198926535b0462aa2dc13e +Merge: b5d921a fa7d140 +Author: Emmanuele Bassi +Date: Wed Feb 15 16:50:25 2017 +0000 + + Merge branch 'python-gen-dispatch' + +commit fa7d140eb524b2f56abc9ced757ef866ff2bb99a +Author: Emmanuele Bassi +Date: Wed Feb 15 16:48:39 2017 +0000 + + Annotate build issues with Meson + + We depend on an older version of Meson; once we can bump up the minimum + version, we'll be able to fix a couple of less than optimal uses of the + Meson API. + + meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 877fe816a75030c5e82b1b1b72398033011afbec +Author: Emmanuele Bassi +Date: Mon Feb 13 09:33:19 2017 +0000 + + Allow using Python3 to run gen_dispatch.py + + This way, we don't have to depend on Python2 on newer OSes. + + configure.ac | 2 +- + meson.build | 5 ++++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +commit 89f9aa044fbca703670cbaa037716112c7f7fefb +Author: Emmanuele Bassi +Date: Mon Feb 13 09:26:57 2017 +0000 + + Remove the shebang from gen_dispatch.py + + Instead of having Meson determine the invocator through the shebang + line we explicitly pass the script file to the Python interpreter. + + This will allow us to either use Python3 or Python2, or whatever + Python.exe is available on Windows. + + include/epoxy/meson.build | 4 ++++ + meson.build | 5 ++++- + src/gen_dispatch.py | 1 - + src/meson.build | 4 ++++ + 4 files changed, 12 insertions(+), 2 deletions(-) + +commit b5d921ae4569d39e10199e25a487bd8a23edd750 +Author: Emmanuele Bassi +Date: Wed Feb 15 14:00:28 2017 +0000 + + doc: Check for 'dot' and add the relevant configuration + + We don't really use it, right now, but it may come in handy later, and + it doesn't cost us anything, since the whole thing is optional anyway. + + doc/Doxyfile.in | 43 +++++++++++++++++++++++++++++++++++++++---- + doc/meson.build | 6 ++++++ + 2 files changed, 45 insertions(+), 4 deletions(-) + +commit 8d9636115887ce6d63ad43ebe5c775335779dc15 +Author: Emmanuele Bassi +Date: Wed Feb 15 13:59:31 2017 +0000 + + doc: Ignore C++ guard macros + + We don't need Doxygen to care about those. + + doc/Doxyfile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3bb77b799601b7b70b34088ac1ae96db8d5e3178 +Author: Emmanuele Bassi +Date: Wed Feb 15 13:58:48 2017 +0000 + + Annotate new Epoxy symbols + + API added in 1.4 should be annotated as such. + + src/dispatch_egl.c | 2 ++ + src/dispatch_glx.c | 2 ++ + 2 files changed, 4 insertions(+) + +commit c03982bce7e4ecf953bd96a5c525eeb455efa161 +Author: Emmanuele Bassi +Date: Wed Feb 15 12:09:06 2017 +0000 + + Hide Appveyor YAML file + + Like we do for the TravisCI YAML file, use the leading dot notation to + hide the Appveyor YAML file from directory listing on Unix-like OSes. + + appveyor.yml => .appveyor.yml | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit f1c038a54d396d554f6e67d3a88de00907076ca7 +Author: Emmanuele Bassi +Date: Fri Feb 10 17:57:01 2017 +0000 + + Update the "why not GLEW" section + + GLEW has grown support for OpenGL 3.2+ core contexts over the years. + Everything else has stayed pretty much the same, though, so you should + still use Epoxy over libGLEW. + + README.md | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 176db4b655efe91996bba52c45ec71775ceb3452 +Author: Emmanuele Bassi +Date: Fri Feb 10 11:43:03 2017 +0000 + + Add the Appveyor build badge + + Gamifying the development experience, once achievement at a time. + + README.md | 1 + + 1 file changed, 1 insertion(+) + +commit 48ee13ed3cafd3e4b0c76eedf1355f512173d4fd +Author: Emmanuele Bassi +Date: Thu Feb 9 17:10:34 2017 +0000 + + Define a macro directory in the autotools build + + As libtool suggest we do; this also allows using ACLOCAL_AMFLAGS inside + build that create a separate environment with their own m4 macros, like + jhbuild and Cerberus. + + In order to avoid a warning from autoreconf, we create the empty macros + directory during the autogen.sh step; aclocal would create the directory + for us anyway, but different versions of autotools may have different + behaviours. + + Closes: #58 + + Makefile.am | 2 ++ + autogen.sh | 2 ++ + configure.ac | 1 + + 3 files changed, 5 insertions(+) + +commit cf81586a6c4e1e7faaff94701486f24b1e3c2a9b +Merge: ef1ef6c f658588 +Author: Emmanuele Bassi +Date: Fri Feb 10 11:12:16 2017 +0000 + + Merge branch 'appveyor' + + Closes #95 + +commit f658588e12088d4e21f0c02032a57990db189209 +Author: Tommy Marrinan +Date: Fri Feb 10 10:51:24 2017 +0000 + + Add Appveyor script + + Appveyor is a CI infrastructure like Travis, but oriented at building on + Windows environment, as opposed to Linux and macOS. + + By using Appveyor we can test changes to Epoxy and make sure that + Windows builds won't break. + + Additionally, Appveyor allows to deploy build artefacts, which means we + can generate builds for Epoxy releases. + + Signed-off-by: Emmanuele Bassi + + appveyor.yml | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 67 insertions(+) + +commit baa76b69c419387d6f4e8825620897f4ba89880a +Author: Emmanuele Bassi +Date: Fri Feb 10 10:47:22 2017 +0000 + + Remove unnecessary bits from the documentation build rules + + We don't need to list the source files as we use a glob rule in the + Doxyfile itself. + + doc/meson.build | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +commit ef1ef6cadbba4cb599177f19af6c1e10fb04fd58 +Author: Emmanuele Bassi +Date: Fri Feb 10 10:47:22 2017 +0000 + + Remove unnecessary bits from the documentation build rules + + We don't need to list the source files as we use a glob rule in the + Doxyfile itself. + + doc/meson.build | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +commit 188d54271b344f151535dd5e11b62db0bb616407 +Author: Emmanuele Bassi +Date: Thu Feb 9 17:09:40 2017 +0000 + + Ignore non-build branches in Travis + + The khronos-registry branch contains only the registry XML files. + + The debian branch contains the Debian packaging files. + + .travis.yml | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 87371e9005771c42dba9b934489e9ce3d94bb5a8 +Author: Emmanuele Bassi +Date: Thu Feb 9 14:30:13 2017 +0000 + + Add TravisCI build badge to the README + + README.md | 2 ++ + 1 file changed, 2 insertions(+) + +commit 4b7b5422dbb705ec0dab00cc18a8e915f8b334c0 +Author: Emmanuele Bassi +Date: Thu Feb 9 13:51:30 2017 +0000 + + Update the TravisCI environment to use Docker + + The Travis environment is terribly outdated, and they are not really + subtly pushing people to use Docker to set up their own containerised CI + environments instead of pulling from Ubuntu 12.04 or 14.04. + + Let's try using this approach: + + - create a Docker image that pulls from Debian Stretch + - set up a build and test environment + - push the image to the Docker Hub + - create a derived Docker image that copies the Epoxy repo + when running under Travis + - run the build and test script inside the derived image + + This is similar to what Meson does for its CI. + + .travis.yml | 34 ++++++++++++++-------------------- + 1 file changed, 14 insertions(+), 20 deletions(-) + +commit 9b56140962ee6358184fb7c4ff2d5e3fac7dd7a9 +Author: Emmanuele Bassi +Date: Thu Feb 9 13:48:59 2017 +0000 + + Add compiler arguments for MSVC builds + + We're using a bunch of compiler arguments when building with GCC and + compilers that expose a GCC compatibility layer, but we should also have + warnings when building with MSVC. + + GLib has a bunch of compiler arguments, taken from the "Win32 + Programming" book, that we can reuse. + + meson.build | 25 ++++++++++++++++++++++++- + 1 file changed, 24 insertions(+), 1 deletion(-) + +commit 8a4f42a7136e9b30402ad22e8e1a34d420966cd8 +Author: Emmanuele Bassi +Date: Wed Feb 8 23:03:04 2017 +0000 + + Add editorconfig file + + The editorconfig[0] format is getting traction in various code editors. + + [0]: http://editorconfig.org/ + + .editorconfig | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +commit 2432daf4cf58b5ff11e008ca34811588285c43b3 +Author: Emmanuele Bassi +Date: Wed Feb 8 17:52:32 2017 +0000 + + Drop unnecessary inclusion of "config.h" + + The WGL tests should not include "config.h", since we're trying to test + the use of Epoxy, not its internals. + + test/headerguards.c | 2 +- + test/wgl_core_and_exts.c | 1 - + test/wgl_per_context_funcptrs.c | 1 - + test/wgl_usefontbitmaps.c | 1 - + 4 files changed, 1 insertion(+), 4 deletions(-) + +commit 37eaaada97e121842df865fa4bdf513a9b16d726 +Author: Emmanuele Bassi +Date: Wed Feb 8 17:51:34 2017 +0000 + + Test compiler arguments for the appropriate compiler + + MSVC does not expose GCC-compatible compiler arguments, so there's no + point in even trying. + + meson.build | 71 +++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 38 insertions(+), 33 deletions(-) + +commit d35870f3b6951faeb6406c3f931e09901b05c82f +Author: Emmanuele Bassi +Date: Wed Feb 8 16:47:39 2017 +0000 + + Update the symbol visibility rules under MSVC + + For the Visual Studio C compiler we need to annotate our public symbols + with `__declspec(dllimport)` to ensure they are visible when dynamically + linking to Epoxy's DLL. + + This is needed because under Windows we use a dispatch table, instead of + wrapper functions, thus the symbol visibility rules change. Compiling + with MingW will automatically add `__declspec(dllimport)` for us. + + Thanks to Nirbheek Chauhan for the help in debugging the issue. + + Fixes #104 + + include/epoxy/common.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 0ab213bf8818446898b4a8680feb774a072f57ba +Author: Emmanuele Bassi +Date: Wed Feb 8 15:55:21 2017 +0000 + + Add Meson build files to the autotools dist + + This way we can take a dist tarball created through autotools, and use + Meson to build it. + + Once Meson gets support for disting, we'll do the same with the + autotools build files, and call the result a "Buildoboros". + + Makefile.am | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 8a5f52eaff1de3ee678400a8be0781f295fc00c4 +Author: Emmanuele Bassi +Date: Wed Feb 8 15:53:43 2017 +0000 + + Document the process for updating the registry + + This avoids each maintainer to transmit the knowledge orally to the next + maintainer. + + registry/README.md | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit d8b10c0a5ab44c19e1ee5ca329df4b0d8ba065cc +Author: Emmanuele Bassi +Date: Wed Feb 8 13:03:41 2017 +0000 + + Do not use Python 3 to run gen_dispatch.py + + It's still a Python 2.x script, even if it's mostly compatible with + Python 3.x. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0727ae5d27a1f742945e337240867933bbc355ac +Author: Emmanuele Bassi +Date: Wed Feb 8 12:58:23 2017 +0000 + + Update gen_dispatch after a pass of pylint + + PyLint raises a bunch of issues on the dispatch generation script with + regards to best practices; most of those issues are real, so let's fix + the code to be more Pythonic. + + src/gen_dispatch.py | 90 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 44 insertions(+), 46 deletions(-) + +commit 5c4a907687991596c9983a69f43365c3c182bfc3 +Merge: 9628670 d82bedc +Author: Emmanuele Bassi +Date: Wed Feb 8 12:57:47 2017 +0000 + + Merge pull request #100 from centricular/fix-find_program + + meson: Don't call find_program objects with python + +commit 96286708a4d7ebb6d5b06042d9f9aa5ed6a61fbf +Author: Emmanuele Bassi +Date: Mon Feb 6 16:00:20 2017 +0000 + + Bump version to 1.4 for release + + configure.ac | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7782509bdbb429cf884d5a1dc28fa9132075ae6a +Merge: ec93dcd 075172f +Author: Emmanuele Bassi +Date: Mon Feb 6 15:59:24 2017 +0000 + + Add API to allow for platform detection + + On Linux and other Unix variants we may not have access to GLX and EGL + at run time. Dependent libraries can only discover this by using dlsym() + on various symbols, because as soon as they attempt to call those + symbols through Epoxy, Epoxy will abort. This means that a bunch of code + needs to be copy-pasted between projects, with the high chance of + somebody getting it wrong. + + Epoxy already has all the internals needed to detect whether GLX and EGL + are available, so exposing a simple API is a better alternative. + + Fixes #73 + +commit ec93dcd5a13de753b853141780ba6021ff371cc6 +Merge: 6a2994d 7b52d33 +Author: Emmanuele Bassi +Date: Mon Feb 6 15:58:53 2017 +0000 + + Allow enabling and disabling GLX support + + Since X11 can be used on multiple platforms, or disabled in special + environments, we should provide a way to control whether or not Epoxy is + built with GLX support. + + Fixes anholt/libepoxy#52 + Fixes anholt/libepoxy#63 + Closes anholt/libepoxy#80 + Closes anholt/libepoxy#81 + +commit 7b52d33d86b23d663adb585a32a411e658d5a4c9 +Author: Emmanuele Bassi +Date: Mon Feb 6 14:49:21 2017 +0000 + + Encode Epoxy capabilities into the pkg-config file + + Since Epoxy can be built with different platform-specific API, having a + way for dependent projects to discover those capabilities without + necessarily crashing the minute they attempt to use them is a good + feature to have. + + We strongly direct library and application developers to use pkg-config + in order to use Epoxy, so it makes sense to add variables to the + epoxy.pc file that can be easily extracted at configuration time. + + configure.ac | 9 +++++++++ + epoxy.pc.in | 4 ++++ + meson.build | 3 +++ + 3 files changed, 16 insertions(+) + +commit 2b6f01b0085e10b4644b672ef03b6120b1927911 +Author: Emmanuele Bassi +Date: Wed Jan 18 16:07:02 2017 +0000 + + Allow enabling and disabling GLX support, part II + + After doing this for Meson in commit fc014fa1, let's do the same dance + for the Autotools build. + + configure.ac | 111 ++++++++++++++++++++++++++++++++++++------------------- + test/Makefile.am | 7 +++- + 2 files changed, 79 insertions(+), 39 deletions(-) + +commit 6a2994d1ed63ebadcdf659f03461194b6e31ce5f +Author: Emmanuele Bassi +Date: Mon Feb 6 15:36:51 2017 +0000 + + doc: Ignore a private symbol + + doc/Doxyfile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2e2b96301d74ac931e3e3bbe883f1453cc40eca1 +Author: Emmanuele Bassi +Date: Mon Feb 6 15:20:28 2017 +0000 + + Generate a ChangeLog for the dist tarball + + It's useful for people that like rummaging inside tarballs. + + Makefile.am | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 43a66ca8d87e04242d81439d9721f09b5ad2e7fb +Author: Emmanuele Bassi +Date: Mon Feb 6 15:00:37 2017 +0000 + + Generate xz tarballs on distcheck + + Both gz and bz2 tarballs are discouraged, in this day and age. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d4104fbbcd67aa3a51a60dae31717275d314cf91 +Author: Emmanuele Bassi +Date: Fri Feb 3 15:35:38 2017 +0000 + + Drop additional stdbool.h include directives + + src/dispatch_common.h | 2 -- + 1 file changed, 2 deletions(-) + +commit 476851ba416c0fa478a8ec0620d482ed5079e38b +Author: Emmanuele Bassi +Date: Wed Jan 18 15:40:00 2017 +0000 + + Allow enabling and disabling GLX support + + Currently, GLX support in libepoxy at build time is hard coded, but + various platforms have expressed their preference for having a + configure-time option for it. + + For instance: + + - various embedded distributors do not ship with X11, but wish to use + libraries that depend on libepoxy now that Wayland is available + - distributors for macOS still wish to retain the ability to ship + their software with X11 enabled + + By default, we want epoxy to build with GLX enabled pretty much + everywhere it makes sense, since it's only a build-time option and it's + not a run-time dependency. + + meson.build | 28 +++++++++++++++++++++++++--- + meson_options.txt | 5 +++++ + src/dispatch_common.h | 8 +++----- + test/meson.build | 2 +- + 4 files changed, 34 insertions(+), 9 deletions(-) + +commit 075172f485fe7d4006f84237eef49a586b92c380 +Author: Emmanuele Bassi +Date: Fri Feb 3 16:19:30 2017 +0000 + + Add epoxy_has_egl() + + Similar to `epoxy_has_glx()`, but for the EGL windowing system API. + + include/epoxy/egl.h | 1 + + src/dispatch_egl.c | 21 +++++++++++++++++++++ + 2 files changed, 22 insertions(+) + +commit d94b9c28b53b1bf99f4a497486af681d8bc95d95 +Author: Emmanuele Bassi +Date: Fri Feb 3 16:16:13 2017 +0000 + + Add epoxy_has_glx() + + Libraries and applications that depend on Epoxy currently have no way to + safely degrade functionality if they are used on a platform without GLX + support; the only way to achieve that is to perform a symbol check + themselves, by essentially copying what Epoxy already does. + + By exposing `epoxy_has_glx()`, those libraries and applications now have + the chance of querying Epoxy itself and gracefully handle failure. + + include/epoxy/glx.h | 1 + + src/dispatch_glx.c | 26 +++++++++++++++++++++++++- + 2 files changed, 26 insertions(+), 1 deletion(-) + +commit 30b8a4cd2d115eab93ca39709c956f48aa8dadbe +Author: Emmanuele Bassi +Date: Fri Feb 3 16:13:45 2017 +0000 + + Add conservative functions for checking platform symbols + + When checking whether GLX or EGL are available on the system, we don't + want to use the internal API that forces an exit() on missing libraries + and symbols — as that would defeat the point. + + Instead, we should have safe functions to call internally that simply + return a NULL pointer, so we can bail out ourselves in a controlled + fashion. + + src/dispatch_common.c | 16 ++++++++++++++-- + src/dispatch_common.h | 2 ++ + 2 files changed, 16 insertions(+), 2 deletions(-) + +commit acdd6d8bf88a5381800affaaf59fd4c5300b6cd6 +Author: Emmanuele Bassi +Date: Fri Feb 3 15:35:38 2017 +0000 + + Drop additional stdbool.h include directives + + src/dispatch_common.h | 2 -- + 1 file changed, 2 deletions(-) + +commit 6af57b07459742b90ef7471733bd090a4580fe61 +Author: Emmanuele Bassi +Date: Fri Jan 27 18:12:05 2017 +0000 + + Write the API reference + + Now that we have Doxygen generating it, we should fill out the API + reference for Epoxy. + + include/epoxy/egl.h | 2 + + include/epoxy/gl.h | 2 + + include/epoxy/glx.h | 2 + + src/dispatch_common.c | 118 +++++++++++++++++++++++++++++++++++++++++++++----- + src/dispatch_egl.c | 30 +++++++++++++ + src/dispatch_glx.c | 33 ++++++++++++++ + 6 files changed, 175 insertions(+), 12 deletions(-) + +commit 59d9c2d83db722599d612f4339d9d8405f0c13e7 +Author: Emmanuele Bassi +Date: Wed Jan 25 16:38:02 2017 +0000 + + Generate the Epoxy API reference using Doxygen + + The build is conditional on: + + * using the Meson build + * passing the `-Denable-docs=true` configuration switch + * having `doxygen` installed + + Currently, the generated HTML is kind of empty, but it works. + + doc/Doxyfile.in | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + doc/meson.build | 32 +++++++++ + meson.build | 9 +++ + meson_options.txt | 3 + + 4 files changed, 250 insertions(+) + +commit 3d1193fd30da12bcf1591bce18ccc615055424c1 +Author: Emmanuele Bassi +Date: Wed Feb 1 12:36:07 2017 +0000 + + Use container based CI on Travis + + We don't really use `sudo` anywhere, except for installing packages; + this means we should be able to use the faster container-based + environment on Travis, instead of the VM-based one. + + .travis.yml | 25 ++++++++++++++++++++----- + 1 file changed, 20 insertions(+), 5 deletions(-) + +commit 6973dd5db30057c66fd8db99c55917f671e5d380 +Author: Emmanuele Bassi +Date: Wed Feb 1 00:02:16 2017 +0000 + + Add a fallback for missing stdbool.h + + Older versions of the Microsoft Visual C compiler do not support C99 and + do not have stdbool.h. + + Additionally, Epoxy is pretty much C89 compliant, and stdbool.h is part + of C99. + + We can add a simple fallback for MSVC, in case we end up getting built + with it. + + include/epoxy/common.h | 8 ++++++++ + include/epoxy/egl.h | 2 -- + include/epoxy/gl.h | 2 -- + include/epoxy/glx.h | 1 - + include/epoxy/wgl.h | 1 - + 5 files changed, 8 insertions(+), 6 deletions(-) + +commit 5bcc550a6c85e7db4a8564aa292113e32d9993f0 +Merge: 39a10ca 7a06803 +Author: Emmanuele Bassi +Date: Tue Jan 31 18:09:34 2017 +0000 + + Merge branch 'symbol-visibility' + +commit 39a10ca79b58dc768ce037f4db9e347ee74e277f +Author: Emmanuele Bassi +Date: Tue Jan 31 17:53:18 2017 +0000 + + Revert "Use Trusty for Travis" + + This reverts commit a11c76e1faa63d6071556b097d7b1b88c05b37d6. + + Return to the default of Precise, and keep Epoxy under CI. + + .travis.yml | 1 - + 1 file changed, 1 deletion(-) + +commit 136d3cde8327e5e67aecf5318450edc995897e84 +Author: Emmanuele Bassi +Date: Tue Jan 31 17:52:53 2017 +0000 + + Revert "build: Tell autoconf to use a macro dir" + + This reverts commit de84448e3a1c07c0b6f749bc59b03c52f99571d7. + + In order to make Epoxy build on Travis with the Precise package set, we + need to revert this commit, as the autotools version shipped on Ubuntu + 12.04 bail out at the missing macro directory — whereas newer versions + just create it if needed. + + Updating the Travis environment to Trusty allows the build to finish, + but have the knock-on effect of making more tests run — and the + EGL-without-GLX tests fail. Since there's nothing newer than Trusty on + Travis, we should back out this change until we have the ability to + build a suitable test/CI environment. + + Makefile.am | 2 -- + configure.ac | 1 - + 2 files changed, 3 deletions(-) + +commit a11c76e1faa63d6071556b097d7b1b88c05b37d6 +Author: Emmanuele Bassi +Date: Tue Jan 31 13:22:40 2017 +0000 + + Use Trusty for Travis + + Trusty (14.04) is outdated, but at least not as terribly outdated as the + Precise (12.04) default. + + .travis.yml | 1 + + 1 file changed, 1 insertion(+) + +commit 061cc48f40efa5fd2f0e85b3e5be7c91fe6ba349 +Author: Emmanuele Bassi +Date: Tue Jan 31 13:00:06 2017 +0000 + + Update README + + The OpenGL registry has been updated with the 4.5 API. + + README.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d1b5f3becb03f9f92d7657c84d25ea52f2fdc8de +Merge: aab6092 09c7657 +Author: Emmanuele Bassi +Date: Tue Jan 31 12:59:50 2017 +0000 + + Merge branch 'khronos-registry' + +commit aab6092f65cd94da4ed1bcfcc97320a825cd8386 +Author: Emmanuele Bassi +Date: Wed Jan 18 16:25:24 2017 +0000 + + gen_dispatch: Ignore 'glsc2' API + + The new GL registry XML contains the 'glsc2' identifier for the OpenGL + SC 2.0 API. We can safely ignore it, since we don't really know what to + do with it, at the moment. + + src/gen_dispatch.py | 2 ++ + 1 file changed, 2 insertions(+) + +commit de84448e3a1c07c0b6f749bc59b03c52f99571d7 +Author: Emmanuele Bassi +Date: Tue Jan 31 12:45:56 2017 +0000 + + build: Tell autoconf to use a macro dir + + This avoids warnings coming from libtoolize and recent versions of + autoconf. + + Makefile.am | 2 ++ + configure.ac | 1 + + 2 files changed, 3 insertions(+) + +commit aef80bc9e112cb3ff607791b697a27c67e827ce8 +Author: Emmanuele Bassi +Date: Tue Jan 31 12:43:58 2017 +0000 + + build: Ensure that autogen exits with the right code + + Since autogen.sh calls other commands that may fail, we should return + the exit code from those commands. + + autogen.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 80f20ce62c45ee76e73deeb5e0bcf52eee534d64 +Author: Emmanuele Bassi +Date: Mon Jan 30 15:17:31 2017 +0000 + + cross: Tweak inclusion path for Fedora/mingw64 + + We should explicitly add the include directory under the mingw64 + toolchain to the C arguments when cross-compiling, just like we add the + libdir to the link flags. + + cross/fedora-mingw64.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2b2055576ebb70336a2ced67f5298c216b3329a5 +Merge: 50272b7 ced192c +Author: Emmanuele Bassi +Date: Mon Jan 30 13:02:55 2017 +0000 + + Merge pull request #90 from nwnk/egl-get-current-context-api + + egl: Fix the query for the current context's API + +commit 09c76573701de4d3ba45e05a93b902c86b0cec5b +Author: Emmanuele Bassi +Date: Mon Jan 30 11:54:47 2017 +0000 + + Import registry from SVN 33390 + + registry/egl.xml | 527 ++++++++++++- + registry/gl.xml | 2294 +++++++++++++++++++++++++++++++++++++++++++++++------- + registry/glx.xml | 16 +- + registry/wgl.xml | 15 +- + 4 files changed, 2573 insertions(+), 279 deletions(-) + +commit 50272b7042517a53abec0a459176d87e8600ce12 +Merge: 7c902e3 61dac91 +Author: Emmanuele Bassi +Date: Sat Jan 28 12:22:35 2017 +0000 + + Merge pull request #99 from TingPing/meson-cleanup + + build: Clean up some Meson usage + +commit d82bedc2273cdd885c7d8d6d4d9b0b0b72278f9c +Author: Nirbheek Chauhan +Date: Sat Jan 28 06:52:15 2017 +0530 + + meson: Don't call find_program objects with python + + On UNIX-like OSes, the OS will read the shebang and use the correct + interpreter, and on Windows, Meson will read the shebang and use the + correct interpreter. + + Adding it manually will cause python to try to interpret python + + include/epoxy/meson.build | 4 ---- + meson.build | 5 ----- + src/meson.build | 4 ---- + 3 files changed, 13 deletions(-) + +commit 61dac912e612aadc9458f890b76ab394b32c6056 +Author: Patrick Griffis +Date: Fri Jan 27 19:13:48 2017 -0500 + + build: Clean up some Meson usage + + include/epoxy/meson.build | 8 ++++---- + meson.build | 8 ++++---- + src/meson.build | 8 ++++---- + 3 files changed, 12 insertions(+), 12 deletions(-) + +commit 7c902e3e2be1835d2b626b6a2dcceb313b12c82f +Author: Emmanuele Bassi +Date: Wed Jan 25 14:51:04 2017 +0000 + + docs: Update the README file + + Use the appropriate Markdown syntax (with GitHub extensions) for code + blocks and preformatted bits, and update the build instructions and + dependencies for Meson and Ninja. + + README.md | 116 ++++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 59 insertions(+), 57 deletions(-) + +commit 7a06803465dd07e152de1b30763d6bea0d3fcc93 +Author: Emmanuele Bassi +Date: Tue Jan 24 17:43:59 2017 +0000 + + Improve consistency of the symbol visibility + + To avoid a symbols file on Windows, Epoxy annotates all the publicly + visible symbols directly in the source, but uses the default symbol + visibility everywhere else. This means that only some symbols are + annotated as `EPOXY_IMPORTEXPORT`, and generally only on Windows. + Additionally, Epoxy has a private 'PUBLIC' pre-processor macro for + internal use, which duplicates the `EPOXY_IMPORTEXPORT` but contains + more logic to detect GCC, in case we're building with GCC on Windows. + + This would be enough, except that EGL is also available on Windows, + which means we'd have to annotate the exported `epoxy_*` API inside + epoxy/egl.h as well. At that point, though, we should probably avoid + any confusion, and adopt a single symbol visibility policy across the + board. + + This requires some surgery of the generated and common dispatch sources, + but cuts down the overall complexity: + + - there is only one annotation, `EPOXY_PUBLIC`, used everywhere + - the annotation detection is done at Epoxy configuration time + - only annotated symbols are public, on every platform + - annotated symbols are immediately visible from the header + + configure.ac | 52 ++++++++++++++++++++++++++++++++------------------ + include/epoxy/common.h | 4 ++++ + include/epoxy/egl.h | 4 ++-- + include/epoxy/gl.h | 11 +++-------- + include/epoxy/glx.h | 4 ++-- + include/epoxy/wgl.h | 4 ++-- + meson.build | 17 +++++++++++++++++ + src/dispatch_common.c | 10 +++++----- + src/dispatch_common.h | 16 ++-------------- + src/dispatch_egl.c | 4 ++-- + src/dispatch_glx.c | 4 ++-- + src/dispatch_wgl.c | 12 ++++++------ + src/gen_dispatch.py | 16 +++++++++------- + src/meson.build | 2 +- + 14 files changed, 90 insertions(+), 70 deletions(-) + +commit 0625a74d69f762df8d411bc0451927424aee1f2c +Author: Emmanuele Bassi +Date: Tue Jan 24 15:31:46 2017 +0000 + + Add common header + + We're going to use this header to provide shared macros. Right now, we + can use it to replace the: + + #ifdef __cplusplus + extern "C" { + #endif + + … + + #ifdef __cplusplus + } + #endif + + Stanzas for every installed header, with easier to read macros in the + same spirit of Cairo and GLib. + + include/epoxy/Makefile.am | 1 + + include/epoxy/common.h | 40 ++++++++++++++++++++++++++++++++++++++++ + include/epoxy/egl.h | 12 +++++------- + include/epoxy/gl.h | 12 +++++------- + include/epoxy/glx.h | 10 +++------- + include/epoxy/meson.build | 4 +++- + include/epoxy/wgl.h | 12 +++++------- + 7 files changed, 62 insertions(+), 29 deletions(-) + +commit 41bea9e0fbea83654b49ea5d0f37650626003b65 +Author: Emmanuele Bassi +Date: Fri Dec 9 21:09:09 2016 +0000 + + build: Drop '-Wall' from the checked compiler arguments + + Meson adds `-Wall` for us with `warning_level=1`. + + meson.build | 1 - + 1 file changed, 1 deletion(-) + +commit ba2e7b151bb0ee97c136a44c62555a1b7be80371 +Author: Emmanuele Bassi +Date: Thu Jan 19 18:41:40 2017 +0000 + + build: Explicitly link against gdi32 + + We need to explicitly link against gdi32 in order to access + SetPixelFormat and ChoosetPixelFormat, and the order of the linking is + relevant when using static libraries. This is a slight workaround to the + order of compiler arguments generated by Meson, and it's supposed to go + away in the near future. + + meson.build | 14 ++++++++++++++ + src/meson.build | 3 +-- + 2 files changed, 15 insertions(+), 2 deletions(-) + +commit bbcc3b4b81203726add2e11d8cb29728a79bca7b +Author: Emmanuele Bassi +Date: Wed Dec 14 11:34:56 2016 +0000 + + build: Add cross-compile definitions for Mingw64 on Fedora + + Meson uses plain text files for describing the cross-compilation + environment, binaries, and properties. + + The values are taken from the mingw wrapper around configure that + Fedora provides for autotools projects. + + cross/fedora-mingw64.txt | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit 59318edf6419afb850b7875ffee4d97522449a5a +Author: Emmanuele Bassi +Date: Wed Dec 14 15:35:44 2016 +0000 + + build: Rework the build rules for generated files in Meson + + Instead of using a generator and having to deal with tweaking the + inclusion paths, we can use a custom target rule, which will do the + right thing and put the generate files where we expect them to be. + + Due to how Meson and Ninja work we need to be a bit more careful as to + how we deal with dependencies and generated files, especially since + Epoxy is built on the assumption that the only inclusion path for the + headers lies under the 'include' sub-directory. + + First of all, we need to split the dispatch table generation into two + separate steps, one for the headers and one for the source files. + + Additionally, we need to munge the paths of the non-generated headers + so that we reference them by their correct path. + + These changes are necessary to ensure that Epoxy can be built on a + system without Epoxy installed already; the previous Meson-based build + system relied on the headers being installed in a system directory. + + include/epoxy/meson.build | 80 ++++++++++++++++++++++++++++++++++ + meson.build | 25 +++++++++-- + src/gen_dispatch.py | 41 ++++++++++++------ + src/meson.build | 107 +++++++++++++++++++++++++++++++--------------- + test/meson.build | 3 ++ + 5 files changed, 205 insertions(+), 51 deletions(-) + +commit 08cc4d021dc523c4243a23b2b4ba432af760716b +Author: Emmanuele Bassi +Date: Fri Dec 9 12:28:42 2016 +0000 + + build: Add Meson build files + + Meson is a Python-based build system that generates build rules of + Ninja, Visual Studio, and XCode. It's designed to be fast, and have a + small, non-Turing complete language to describe the build process, + tests, and dependencies. It's simpler than CMake, and faster than + autotools. + + As a direct comparison in terms of speed, three build and check runs for + libepoxy from a clean Git repository clone yield these results on my + Kabylake Core i7 7500U (nproc=4): + + - Autotools (make) + Run #1 (cold) real: 22.384s, user: 20.011s, sys: 3.689s + Run #2 (warm) real: 22.429s, user: 20.220s, sys: 3.708s + Run #3 (warm) real: 22.068s, user: 19.743s, sys: 3.594s + + - Meson (ninja) + Run #1 (cold) real: 5.932s, user: 9.371s, sys: 1.625s + Run #2 (warm) real: 6.273s, user: 10.066, sys: 1.740s + Run #3 (warm) real: 5.796s, user: 9.233s, sys: 1.607s + + Which means that Meson and ninja are approximately 4x faster than + autotools. + + In terms of simplicity, the autotools build takes six files and a total + of 645 lines; Meson requires 3 files, and 361 lines to achieve the same + result. Additionally, Meson automatically builds in a separate build + directory and does not leave files inside the source directory; and Meson + does not use libtool. + + Since Meson is quite new and still actively developed, we're going to + leave the autotools build in place for a while, with the intention of + switching to Meson in the future. + + meson.build | 125 +++++++++++++++++++++++++++++++++++++++ + src/meson.build | 88 ++++++++++++++++++++++++++++ + test/meson.build | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 387 insertions(+) + +commit e2e2fedbdb6cbf4155919c548545956dd6cacc4c +Author: Emmanuele Bassi +Date: Fri Dec 9 12:43:01 2016 +0000 + + build: Split arguments for dispatch generator + + The gen_dispatch.py script relies on the source and include directories + to exist before dumping the files in there, split by type, in order to + sustain the split of the headers existing in a separate root from the + source files. This causes a spooky-action-at-a-distance scenario where + headers are generated by rules inside the source directory but influence + the contents of a separate directory — and require a separate set of + rules to install those headers. + + Different build systems would require either splitting the generation in + to two separate passes (which is more expensive and time consuming), or + generate the header and source files in the same directory, and just + tweak the inclusion paths accordingly. + + Since we want to maintain this fiction for the autotools build, but + ignore it for different build systems, let's add a separate set of + arguments for gen_dispatch.py that make the rules inside Makefile.am + work appropriately. + + src/Makefile.am | 20 ++++++++++++++++---- + src/gen_dispatch.py | 22 +++++++++++++++++----- + 2 files changed, 33 insertions(+), 9 deletions(-) + +commit 4fe238e023d152e55c7aac210be2e930b06b412c +Author: Emmanuele Bassi +Date: Thu Jan 19 18:00:01 2017 +0000 + + tests/wgl: Use the right array offsets + + And avoid an out of bounds access warning. + + test/wgl_usefontbitmaps.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 3a383713670a8a31c6a9c84e3729d88d27c718ab +Author: Chun-wei Fan +Date: Wed Jul 29 18:34:10 2015 +0800 + + MSVC Builds: Support PACKED + + Define PACKED for Visual Studio builds, so that we can try to reduce + our library size for Visual Studio builds. Add a ENDPACKED macro + that is currently defined only for Visual Studio builds as packing is + done via __pragma(pack(push,n), that should be popped when done. + + Signed-off-by: Emmanuele Bassi + + src/dispatch_common.h | 5 +++++ + src/gen_dispatch.py | 2 ++ + 2 files changed, 7 insertions(+) + +commit 6b68ddeaa04d2eebae79a148738bfe619c58f088 +Author: Emmanuele Bassi +Date: Wed Jan 18 14:24:09 2017 +0000 + + build: Skip GLESv1 tests if there's no GLESv1 + + It's pretty much pointless to build and run tests for a library that we + know is not available. + + The Meson build already skips the GLES 1.0 test, so let's make the + Autotools build do the same. + + configure.ac | 3 +++ + test/Makefile.am | 5 ++++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 2aec628eb015b85ab08650289277de2af2b2efc4 +Author: Adam Jackson +Date: Thu Nov 5 10:26:03 2015 -0500 + + test: Fix dlwrap on ppc64 and s390x + + These have dlsym versions of GLIBC_2.3 and GLIBC_2.2, respectively. + + Signed-off-by: Adam Jackson + + test/dlwrap.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5b9ddf129195bc26d035f7ec619e518e1810a8ac +Author: Emmanuele Bassi +Date: Wed Jan 18 14:13:01 2017 +0000 + + build: Hide mkdir + + We don't really need to mess the log when creating the include directory + in the build directory. + + src/Makefile.am | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 0f7f16b7320fd19480ad1519346354c8b52662a3 +Author: Emmanuele Bassi +Date: Wed Dec 7 16:13:09 2016 +0000 + + build: Protect paths from spaces + + Completes commit 83cfa6a1b5b665ec99f5bbd44650b4816ba8fef5. + + autogen.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a15a92c2cbe0a8f45a1ff6258b22957c17c7118e +Author: Emmanuele Bassi +Date: Mon Dec 12 14:18:15 2016 +0000 + + Ensure we don't assert if GLX is not available + + Certain X server do not have GLX enabled or supported, such as x2go. We + can handle this case gracefully inside libepoxy. + + Signed-off-by: Emmanuele Bassi + + src/dispatch_glx.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 5df022edb53748901490ee78929a089ae839a1da +Author: Emmanuele Bassi +Date: Thu Jan 19 17:58:59 2017 +0000 + + Do not call errx() on platforms without it + + Like, say, Windows. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bac9400bb04ce56c7a71a490e175284106743698 +Author: Emmanuele Bassi +Date: Wed Jan 18 15:36:54 2017 +0000 + + Use EGL to retrieve pointers if available + + EGL is available on different platforms, so we should favor it, if + available. This also allows us to decouple EGL from GLX, and use the + former without the latter being compiled in. + + src/dispatch_common.c | 36 ++++++++++++++++++++---------------- + 1 file changed, 20 insertions(+), 16 deletions(-) + +commit 9e46b8e659bfb61a713f099a339c1c1e8b552a8f +Author: Yaron Cohen-Tal +Date: Tue Dec 13 12:26:41 2016 +0000 + + Use the appropriate GLES library name for Windows + + Shared libraries on Windows use `.dll` for the extension, not `.so`. + + Signed-off-by: Emmanuele Bassi + + src/dispatch_common.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit a937245efc14a99be328627e006ae05004c0dd30 +Author: Simon Parzer +Date: Tue Nov 3 01:32:56 2015 +0100 + + add glBindRenderbufferEXT to half_aliases + + it seems like this was forgotten, + because glBindFramebufferEXT is already there + for the same reason + + Signed-off-by: Emmanuele Bassi + + src/gen_dispatch.py | 2 ++ + 1 file changed, 2 insertions(+) + +commit f5ce42e3fed1dfe2ec7aebb67f748886a1c063e9 +Author: Adam Jackson +Date: Fri Sep 23 03:22:21 2016 -0400 + + egl: Be somewhat aware of EGL client extensions + + Client extensions are always available, and are only listed in + eglQueryString(dpy=NULL). Without this we can't call anything from e.g. + EXT_platform_base. + + Signed-off-by: Adam Jackson + + src/dispatch_egl.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit 7e9e12f41dd740dff8a81e6b7f32b14242b33cdc +Author: Martin Castillo +Date: Fri Feb 26 18:54:23 2016 +0100 + + fixes 'cd error' in autogen.sh + + If a parent directory of the libepoxy source dir contains a space, + 'cd' in line 10 fails. + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 91916269e501e041406b092c7242757d0320b802 +Author: Adam Jackson +Date: Tue Oct 18 11:08:12 2016 -0400 + + egl: Fix the query for the current context's API + + Binding an API does not change the type of the current context. Even if + it did, EGL 1.5 treats EGL_OPENGL_API and EGL_OPENGLES_API as identical + for this purpose. If you want to know properties of the current + context, query it. + + Signed-off-by: Adam Jackson + + src/dispatch_common.c | 28 ++++++---------------------- + 1 file changed, 6 insertions(+), 22 deletions(-) + +commit ad1f9204a2f00c7c703f202e9c692e9620ee1f56 +Author: Emmanuele Bassi +Date: Wed Dec 7 15:12:15 2016 +0000 + + Avoid C99 declaration after statement + + The rest of the library is C89-only, so we should keep it that way. + + src/dispatch_common.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit f62c9d92d0cb721b5b1ba0ea68bd00756c644425 +Author: Olivier Blin +Date: Mon Sep 21 13:04:50 2015 +0200 + + dlwrap: add GLIBC_2.4 version to be able to run tests from ARM + + See sysdeps/unix/sysv/linux/arm/libdl.abilist in glibc + + Signed-off-by: Emmanuele Bassi + + test/dlwrap.c | 1 + + 1 file changed, 1 insertion(+) + +commit c2e09ebde9f6f529a28e59c037fa53abb7f35f96 +Author: Daniel Wolf +Date: Mon Sep 21 23:09:23 2015 -0400 + + support newer/larger gl.xml + + Signed-off-by: Emmanuele Bassi + + src/gen_dispatch.py | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit c45cc5f821b10fe1c0a3c327502d8133365a09ba +Author: Yaron Cohen-Tal +Date: Fri Jul 29 17:55:49 2016 +0300 + + Check for NULL extensions string + + Some X server not supporting any OpenGL feature, glXQueryExtensionsString + will return NULL and causes the function to fail. + + Thanks to Emmanuel Stapf (manus@eiffel.com) for the original patch. + + This was verified running an application on macOS while the X server was + running on Windows Xming 7.5.0.10 + + Signed-off-by: Emmanuele Bassi + + src/dispatch_common.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit f887dcf79b35c47b1c70eb773f6ad9b6a5f81466 +Author: Bryan Kadzban +Date: Tue Sep 6 22:28:39 2016 -0700 + + nVidia glx.h uses __glx_h__; define that too. + + The code used to check this symbol, but commit 689abf4 replaced it with + GLX_H, presumably to work better with either Mesa or Khronos headers. + But nVidia's header use the older include guard. Add it as another + option. + + Should fix the headerguards.c compile test when the system glx.h is from + nVidia's binary drivers. + + Signed-off-by: Emmanuele Bassi + + include/epoxy/glx.h | 1 + + 1 file changed, 1 insertion(+) + +commit 407f579f2d9a915a282becba80c6aa081a524b93 +Author: Chun-wei Fan +Date: Tue Jul 28 18:35:59 2015 +0800 + + src/gen_dispatch.py: Make Generated Code Build Under C89 + + ...so that the generated code are buildable by pre-2013 Visual Studio. + + The main thing that this does is that we avoid named initializers, but + instead initialize the structs in old-school C89 way. + + The generated code may not look that robust, but since this is generated + code, I think this is not that much an issue; when the Khronos registry gets + updated, all that is needed is that the code gets re-generated, and we have the + items in the right order. + + Signed-off-by: Emmanuele Bassi + + src/gen_dispatch.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 8dead45cb366bf5c08539bef2ccaa36b80eb1483 +Author: Emmanuele Bassi +Date: Wed Dec 7 14:45:14 2016 +0000 + + Revert all changes since 8bbc0d40 + + Most of the changes that happened after commit 8bbc0d40 broke epoxy + pretty much irreparably because of the CMake build and the attempt at + making libepoxy a static library that can be copy-pasted into another + project without generating files. + + Since all the commits are entangled, and are full of unrelated changes, + we cannot simply do a localized set of reverts; instead, we need to hit + the reset button. + + From this point forward, we're going to improve libepoxy's build while + attempting to keep the existing build system working. This may mean + reinstating the CMake build system at a later date. + + .gitignore | 14 + + CMakeLists.txt | 98 - + README.md | 156 +- + autogen.sh | 2 +- + cmake/FindEGL.cmake | 12 - + cmake/FindGLESv1.cmake | 12 - + cmake/FindGLESv2.cmake | 12 - + cmake/FindPythonInterp.cmake | 106 - + cmake/epoxy_run_test_wrapper.cmake | 17 - + include/epoxy/Makefile.am | 3 - + include/epoxy/common.h | 74 - + include/epoxy/config.h.guess | 56 - + include/epoxy/config.h.in | 44 - + include/epoxy/egl.h | 19 +- + include/epoxy/egl_pregenerated.h | 985 - + include/epoxy/eglplatform.h | 134 - + include/epoxy/gl.h | 71 +- + include/epoxy/gl_pregenerated.h | 18668 ----- + include/epoxy/glx.h | 22 +- + include/epoxy/glx_pregenerated.h | 966 - + include/epoxy/khrplatform.h | 276 - + include/epoxy/wgl.h | 17 +- + include/epoxy/wgl_pregenerated.h | 895 - + msvc/detectenv-msvc.mak | 103 - + src/CMakeLists.txt | 123 - + src/Makefile.am | 11 - + src/Makefile.sources | 46 - + src/Makefile.vc | 73 - + src/dispatch_common.c | 205 +- + src/dispatch_common.h | 49 +- + src/dispatch_egl.c | 14 +- + src/dispatch_glx.c | 33 +- + src/dispatch_wgl.c | 43 +- + src/egl_pregenerated_dispatch.c | 4201 - + src/gen_dispatch.py | 64 +- + src/gl_pregenerated_dispatch.c | 122270 ------------------------------ + src/glx_pregenerated_dispatch.c | 4807 -- + src/wgl_pregenerated_dispatch.c | 5245 -- + test/CMakeLists.txt | 150 - + test/Makefile.sources | 73 - + test/Makefile.vc | 68 - + test/dlwrap.c | 3 - + test/egl_and_glx_different_pointers.c | 15 +- + test/egl_common.c | 10 +- + test/egl_common.h | 2 +- + test/egl_gl.c | 11 +- + test/egl_has_extension_nocontext.c | 5 +- + test/egl_without_glx.c | 39 +- + test/glx_alias_prefer_same_name.c | 5 +- + test/glx_beginend.c | 3 +- + test/glx_common.c | 4 +- + test/glx_gles2.c | 4 +- + test/glx_glxgetprocaddress_nocontext.c | 3 +- + test/glx_has_extension_nocontext.c | 3 +- + test/glx_public_api.c | 3 +- + test/glx_public_api_core.c | 3 +- + test/glx_static.c | 3 +- + test/headerguards.c | 43 +- + test/khronos_typedefs_nonepoxy.c | 19 +- + test/miscdefines.c | 6 +- + test/wgl_common.c | 4 +- + test/wgl_core_and_exts.c | 4 +- + test/wgl_per_context_funcptrs.c | 6 +- + test/wgl_usefontbitmaps.c | 8 +- + 64 files changed, 492 insertions(+), 159951 deletions(-) + +commit 0aa9d1bc831683bfe93980eb3cffa1f0c2f058fb +Merge: cc5e015 d5dfe2b +Author: Yaron Cohen-Tal +Date: Tue Nov 8 09:52:59 2016 +0200 + + Merge pull request #93 from ebassi/clean-autofoo-build + + build: Drop autogenerated autotools files from Git + +commit cc5e0157ebdd65e5eb07db330424b9a9537ecd80 +Merge: 1589832 04387bc +Author: Yaron Cohen-Tal +Date: Tue Nov 8 09:51:40 2016 +0200 + + Merge pull request #92 from ebassi/force-rebuild + + build: Force replacing autotools generated files + +commit d5dfe2bd96d3b2f35c9ae8b0205a0522e820371f +Author: Emmanuele Bassi +Date: Mon Nov 7 20:20:04 2016 +0000 + + build: Drop autogenerated autotools files from Git + + These files should not be under revision control. + + This commit partially reverts: + + * 06fd4a271ad88476d8c6a37d49b6a8af5a11d988 + * 62e384129b5b9243634ca4a71108c6f8699a24bd + + Makefile.in | 916 -- + aclocal.m4 | 11861 ------------------------ + compile | 347 - + config.guess | 1420 --- + config.h.in | 97 - + config.sub | 1799 ---- + configure | 21469 -------------------------------------------- + depcomp | 791 -- + include/epoxy/Makefile.in | 610 -- + install-sh | 527 -- + ltmain.sh | 9661 -------------------- + missing | 215 - + src/Makefile.in | 882 -- + test-driver | 139 - + test/Makefile.in | 1743 ---- + 15 files changed, 52477 deletions(-) + +commit 04387bc188a6b0c2d7bc4a032bb46fb41ae59079 +Author: Emmanuele Bassi +Date: Mon Nov 7 19:34:01 2016 +0000 + + build: Force replacing autotools generated files + + If the '--force' switch is not passed to autoreconf, the autotools will + try to reuse the generated files committed in the Git repo, which hard + code the names and versions of the tools originally used to generate + them. + + autogen.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ced192c30b8c1bcc9ad2d5dc3362395b7d2fab8b +Author: Adam Jackson +Date: Tue Oct 18 11:08:12 2016 -0400 + + egl: Fix the query for the current context's API + + Binding an API does not change the type of the current context. Even if + it did, EGL 1.5 treats EGL_OPENGL_API and EGL_OPENGLES_API as identical + for this purpose. If you want to know properties of the current + context, query it. + + Signed-off-by: Adam Jackson + + src/dispatch_common.c | 28 ++++++---------------------- + 1 file changed, 6 insertions(+), 22 deletions(-) + +commit 15898325c1b3610dba737c311a33b28d83e343c7 +Merge: 594e2e0 c8fb7dd +Author: Yaron Cohen-Tal +Date: Sat Oct 8 11:17:58 2016 +0300 + + Merge pull request #3 from RobotCaleb/patch-2 + + Update README.md + +commit c8fb7dd27dfc582326d2ce42aa2c676112cc49db +Author: Caleb Anderson +Date: Fri Oct 7 22:14:37 2016 -0600 + + Update README.md + + Typo and code block fixes + + README.md | 80 +++++++++++++++++++++++++++++++-------------------------------- + 1 file changed, 40 insertions(+), 40 deletions(-) + +commit 1814f06490a1d903092c292b965fb2f2f160d516 +Author: Caleb Anderson +Date: Thu Sep 29 01:21:44 2016 -0600 + + Update README.md + + Fix nmake list + + README.md | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 594e2e082add2247afaa9cd331b30eaf05d2c18f +Merge: b8d609e 5861026 +Author: Yaron Cohen-Tal +Date: Wed Sep 7 17:28:47 2016 +0300 + + Merge pull request #2 from BryanKadzban/master + + nVidia glx.h uses __glx_h__; define that too. + +commit 58610268fe41cb92a12700c1094a7cdf57c5b092 +Author: Bryan Kadzban +Date: Tue Sep 6 22:28:39 2016 -0700 + + nVidia glx.h uses __glx_h__; define that too. + + The code used to check this symbol, but commit 689abf4 replaced it with + GLX_H, presumably to work better with either Mesa or Khronos headers. + But nVidia's header use the older include guard. Add it as another + option. + + Should fix the headerguards.c compile test when the system glx.h is from + nVidia's binary drivers. + + include/epoxy/glx.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf +Author: Yaron Cohen-Tal +Date: Fri Jul 29 17:55:49 2016 +0300 + + Fox some X server not supporting any OpenGL feature, glXQueryExtensionsString + will return NULL and causes the function to fail. Thanx to Emmanuel Stapf (manus@eiffel.com) for the original patch. + + This was verified running an application on macOS while the X server was running + on Windows Xming 7.5.0.10 + + src/dispatch_common.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit c342cba2a1b882f30b1864b5819bdb8986f5ee9c +Author: Yaron Cohen-Tal +Date: Thu Nov 5 17:51:01 2015 +0200 + + Add glibc versions 2.2 and 2.3 to "dlwrap_real_dlsym". + + test/dlwrap.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit d81ab07f0b9a09c2a30b6f438cdc3f643c9612a8 +Author: Yaron Cohen-Tal +Date: Tue Nov 3 10:12:50 2015 +0200 + + Update pregenerated files. + + src/egl_pregenerated_dispatch.c | 301 +- + src/gl_pregenerated_dispatch.c | 6905 ++++++++++++++++++++------------------- + src/glx_pregenerated_dispatch.c | 335 +- + src/wgl_pregenerated_dispatch.c | 343 +- + 4 files changed, 3952 insertions(+), 3932 deletions(-) + +commit 6e3fa879cf62a8feaaca4f4c85541896ef5d8c1b +Merge: a4ead97 4509aaf +Author: Yaron Cohen-Tal +Date: Tue Nov 3 10:11:45 2015 +0200 + + Merge branch "oncer/half_aliases_fix". + +commit 4509aafdd247a1310479bbc87ffdf45c877e571d +Author: Simon Parzer +Date: Tue Nov 3 01:32:56 2015 +0100 + + add glBindRenderbufferEXT to half_aliases + + it seems like this was forgotten, + because glBindFramebufferEXT is already there + for the same reason + + src/gen_dispatch.py | 2 ++ + 1 file changed, 2 insertions(+) + +commit a4ead97cfd0493b5416a954b5d4aac304f25fbde +Author: Yaron Cohen-Tal +Date: Sat Oct 31 20:31:42 2015 +0200 + + Make "epoxy_current_context_is_egl" visible. + + include/epoxy/gl.h | 1 + + src/dispatch_common.c | 4 +--- + 2 files changed, 2 insertions(+), 3 deletions(-) + +commit 8d58c890646fc1f43bcab702bb9ed6bae94daefe +Author: Yaron Cohen-Tal +Date: Mon Sep 21 19:58:03 2015 +0300 + + Fix "epoxy_egl_get_current_gl_context_api" to use "eglQueryContext" with "EGL_CONTEXT_CLIENT_TYPE" as "attribute". + + src/dispatch_common.c | 32 +++++++------------------------- + 1 file changed, 7 insertions(+), 25 deletions(-) + +commit b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc +Author: Yaron Cohen-Tal +Date: Tue Sep 29 11:57:55 2015 +0300 + + Fix "epoxy_glx_version" to handle the case when GLX is not active on the display. + + src/dispatch_glx.c | 29 +++++++++++++++-------------- + 1 file changed, 15 insertions(+), 14 deletions(-) + +commit 7d1c96c85ffcfccfc4ddd36a2be96a219134bed8 +Author: Yaron Cohen-Tal +Date: Tue Sep 22 20:14:37 2015 +0300 + + Update pregenerated files. + + src/egl_pregenerated_dispatch.c | 2471 +- + src/gl_pregenerated_dispatch.c | 70593 +++++++++++++++++++++++++++++++++++--- + src/glx_pregenerated_dispatch.c | 3026 +- + src/wgl_pregenerated_dispatch.c | 3395 +- + 4 files changed, 74516 insertions(+), 4969 deletions(-) + +commit 6fe6b8e2d4f038654aec248d688ac955035bdbae +Merge: 2bf2468 262a623 +Author: Yaron Cohen-Tal +Date: Tue Sep 22 10:02:44 2015 +0300 + + Merge branch "nephatrine/registry-support". + +commit 262a62345220c1b2a5e55a04717bcc927538d6c9 +Author: Daniel Wolf +Date: Mon Sep 21 23:09:23 2015 -0400 + + support newer/larger gl.xml + + src/gen_dispatch.py | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 2bf2468502cf96b5db9f21366348f82b51990cce +Merge: 4b6d637 fe7a96e +Author: Yaron Cohen-Tal +Date: Mon Sep 21 14:15:44 2015 +0300 + + Merge branch "blino/master". + +commit fe7a96e0771fe0c3a8f103f3bb2d1f811a5f3641 +Author: Olivier Blin +Date: Mon Sep 21 13:04:50 2015 +0200 + + dlwrap: add GLIBC_2.4 version to be able to run tests from ARM + + See sysdeps/unix/sysv/linux/arm/libdl.abilist in glibc + + test/dlwrap.c | 1 + + 1 file changed, 1 insertion(+) + +commit 4b6d637ae036acbd7ad45d114af7ed498da730ae +Author: Yaron Cohen-Tal +Date: Sat Sep 5 10:37:14 2015 +0300 + + Update "README.md". + + README.md | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit 2af1715fbf5e7a9508bec01e70ec6bba8ec5204b +Author: Yaron Cohen-Tal +Date: Fri Sep 4 12:51:13 2015 +0300 + + Fix "FindGLESv1.cmake" and "FindGLESv2.cmake". + + cmake/FindGLESv1.cmake | 6 +++--- + cmake/FindGLESv2.cmake | 4 ++-- + test/CMakeLists.txt | 6 +++--- + 3 files changed, 8 insertions(+), 8 deletions(-) + +commit 44d51f28445d40451bc600b26f3b4b17fd003c67 +Author: Yaron Cohen-Tal +Date: Thu Sep 3 23:17:39 2015 +0300 + + Fix support for a static build of Epoxy. Add support building and running tests with CMake. Add support for linking with the static run-time library with MSVC. + + CMakeLists.txt | 88 ++++++++++++++----- + README.md | 16 +++- + cmake/FindEGL.cmake | 12 +++ + cmake/FindGLESv1.cmake | 12 +++ + cmake/FindGLESv2.cmake | 12 +++ + cmake/epoxy_run_test_wrapper.cmake | 17 ++++ + include/epoxy/common.h | 29 ++++--- + src/CMakeLists.txt | 85 +++++++++---------- + src/dispatch_common.c | 3 +- + src/dispatch_common.h | 0 + src/dispatch_egl.c | 2 +- + src/dispatch_wgl.c | 75 +++++++++++++++++ + src/dllmain.c | 101 ---------------------- + test/CMakeLists.txt | 150 +++++++++++++++++++++++++++++++++ + test/egl_and_glx_different_pointers.c | 5 +- + test/egl_gl.c | 3 +- + test/egl_has_extension_nocontext.c | 3 +- + test/egl_without_glx.c | 3 +- + test/glx_alias_prefer_same_name.c | 5 +- + test/glx_beginend.c | 3 +- + test/glx_common.c | 4 +- + test/glx_gles2.c | 4 +- + test/glx_glxgetprocaddress_nocontext.c | 3 +- + test/glx_has_extension_nocontext.c | 3 +- + test/glx_public_api.c | 3 +- + test/glx_public_api_core.c | 3 +- + test/glx_static.c | 3 +- + test/headerguards.c | 43 ++++------ + test/khronos_typedefs_nonepoxy.c | 21 +---- + test/miscdefines.c | 6 +- + test/wgl_common.c | 4 +- + test/wgl_core_and_exts.c | 4 +- + test/wgl_per_context_funcptrs.c | 6 +- + test/wgl_usefontbitmaps.c | 8 +- + 34 files changed, 472 insertions(+), 267 deletions(-) + +commit 64e2ee2ca81cf7d772bad2f471073e1066572c17 +Author: Yaron Cohen-Tal +Date: Sun Aug 30 15:32:07 2015 +0300 + + Fix a bug in which "DllMain" isn't called when using the static version of Epoxy in Windows. + + src/CMakeLists.txt | 27 ++++++++++---- + src/dispatch_common.h | 6 ++- + src/dispatch_wgl.c | 58 ++--------------------------- + src/dllmain.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 128 insertions(+), 64 deletions(-) + +commit dd695faee34c9b95fe4f1fd5b7a7247e5612036d +Author: Yaron Cohen-Tal +Date: Sun Aug 30 10:41:48 2015 +0300 + + Remove redundant code in "epoxy_get_bootstrap_proc_address". + + src/dispatch_common.c | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +commit ec2f42f01a95df0c524671ad7bf0ef1c55ecd63e +Author: Yaron Cohen-Tal +Date: Thu Aug 27 18:47:50 2015 +0300 + + Add support for building static libs with CMake. Fix file permissions. Update documentation about building static libs and about using OpenGL ES / EGL. + + CMakeLists.txt | 17 ++++++----- + README.md | 81 +++++++++++++++++++++++++++++++++++++++------------ + compile | 0 + config.guess | 0 + config.sub | 0 + depcomp | 0 + install-sh | 0 + missing | 0 + src/CMakeLists.txt | 55 ++++++++++++++++++++++++---------- + src/dispatch_common.h | 4 +-- + test-driver | 0 + 11 files changed, 113 insertions(+), 44 deletions(-) + +commit 62e384129b5b9243634ca4a71108c6f8699a24bd +Author: Yaron Cohen-Tal +Date: Wed Aug 26 21:40:01 2015 +0300 + + Add some files to the repo so that it's possible to build without running "autogen.sh". + + .gitignore | 13 - + Makefile.in | 916 ++++ + aclocal.m4 | 11861 ++++++++++++++++++++++++++++++++++++++++++++ + compile | 347 ++ + config.guess | 1420 ++++++ + config.h.in | 97 + + config.sub | 1799 +++++++ + depcomp | 791 +++ + include/epoxy/Makefile.in | 610 +++ + include/epoxy/config.h.in | 44 + + install-sh | 527 ++ + ltmain.sh | 9661 ++++++++++++++++++++++++++++++++++++ + missing | 215 + + src/Makefile.in | 882 ++++ + src/dispatch_common.h | 2 - + test-driver | 139 + + test/Makefile.in | 1743 +++++++ + 17 files changed, 31052 insertions(+), 15 deletions(-) + +commit 06fd4a271ad88476d8c6a37d49b6a8af5a11d988 +Author: Yaron Cohen-Tal +Date: Mon Aug 3 21:07:37 2015 +0300 + + Add support for CMake (no support for building/running the tests yet). Fix support for Android. Add built-in support for building with EGL support (using "khrplatform.h" and "eglplatform.h" which are distributed together with Epoxy, and should work with any platform). + + .gitignore | 1 - + CMakeLists.txt | 49 + + README.md | 58 +- + cmake/FindPythonInterp.cmake | 106 + + configure | 21469 +++++++++++++ + include/epoxy/Makefile.am | 2 + + include/epoxy/common.h | 15 +- + include/epoxy/config.h.guess | 56 + + include/epoxy/egl.h | 16 +- + include/epoxy/egl_pregenerated.h | 985 + + include/epoxy/eglplatform.h | 134 + + include/epoxy/gl.h | 64 +- + include/epoxy/gl_pregenerated.h | 18668 ++++++++++++ + include/epoxy/glx.h | 17 +- + include/epoxy/glx_pregenerated.h | 966 + + include/epoxy/khrplatform.h | 276 + + include/epoxy/wgl.h | 16 +- + include/epoxy/wgl_pregenerated.h | 895 + + msvc/detectenv-msvc.mak | 3 + + src/CMakeLists.txt | 90 + + src/Makefile.am | 10 + + src/dispatch_common.c | 42 +- + src/dispatch_common.h | 27 +- + src/dispatch_egl.c | 10 + + src/egl_pregenerated_dispatch.c | 1993 ++ + src/gen_dispatch.py | 37 - + src/gl_pregenerated_dispatch.c | 60774 +++++++++++++++++++++++++++++++++++++ + src/glx_pregenerated_dispatch.c | 2050 ++ + src/wgl_pregenerated_dispatch.c | 2139 ++ + 29 files changed, 110810 insertions(+), 158 deletions(-) + +commit 540952010bc2707bedfbbfe89c77d1a1640e76ae +Author: Yaron Cohen-Tal +Date: Sun Jul 19 20:55:36 2015 +0300 + + Fix tests to work with some OpenGL ES / EGL implementations. + + README.md | 3 ++- + test/egl_and_glx_different_pointers.c | 10 +++++----- + test/egl_common.c | 10 +++++----- + test/egl_common.h | 2 +- + test/egl_gl.c | 8 ++++---- + test/egl_has_extension_nocontext.c | 2 +- + test/egl_without_glx.c | 36 ++++++----------------------------- + 7 files changed, 24 insertions(+), 47 deletions(-) + +commit 4c4a6e49ca6a5d0d4ff103ecbd4e70617805afce +Author: Yaron Cohen-Tal +Date: Sat Jul 18 13:03:01 2015 +0300 + + Fix support of some OpenGL ES and EGL implementations, specifically on Windows. + + src/dispatch_common.c | 126 ++++++++++++++++---------------------------------- + 1 file changed, 40 insertions(+), 86 deletions(-) + +commit c976864bc9edc23f4ae0c4361be107338e9b1d04 +Author: Chun-wei Fan +Date: Tue Jul 28 18:35:59 2015 +0800 + + src/gen_dispatch.py: Make Generated Code Build Under C89 + + ...so that the generated code are buildable by pre-2013 Visual Studio. + + The main thing that this does is that we avoid named initializers, but + instead initialize the structs in old-school C89 way. + + The generated code may not look that robust, but since this is generated + code, I think this is not that much an issue; when the Khronos registry gets + updated, all that is needed is that the code gets re-generated, and we have the + items in the right order. + + src/gen_dispatch.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit b527c5f01f4f5977a6de03295e07c6f370d2ab0d +Author: Yaron Cohen-Tal +Date: Sun Jul 19 20:59:13 2015 +0300 + + Add new header file "common.h" to the installed files. + + include/epoxy/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 90c6158d61a4b27f00997049d67344b425275c5c +Author: Yaron Cohen-Tal +Date: Sun Jul 19 12:59:31 2015 +0300 + + Unite defenitions "PUBLIC" and "EPOXY_IMPORTEXPORT" and add it where appropriate. Fix tests build errors. + + README.md | 5 ++++ + include/epoxy/common.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ + include/epoxy/egl.h | 9 ++++---- + include/epoxy/gl.h | 10 +++----- + include/epoxy/glx.h | 12 +++++----- + include/epoxy/wgl.h | 7 +++--- + src/Makefile.am | 1 + + src/Makefile.vc | 2 +- + src/dispatch_common.c | 10 ++++---- + src/dispatch_common.h | 14 ------------ + src/dispatch_egl.c | 4 ++-- + src/dispatch_glx.c | 4 ++-- + src/dispatch_wgl.c | 12 +++++----- + src/gen_dispatch.py | 2 +- + 14 files changed, 103 insertions(+), 51 deletions(-) + +commit 773dd02f596b3f256bb1c0f65ac091db93a9518b +Author: Yaron Cohen-Tal +Date: Sat Jul 18 12:00:06 2015 +0300 + + Added makefiles to build with MSVC 2013, and fixed errors and warnings. + + README.md | 12 ++++- + include/epoxy/egl.h | 4 +- + msvc/detectenv-msvc.mak | 100 +++++++++++++++++++++++++++++++++++++++ + src/Makefile.sources | 46 ++++++++++++++++++ + src/Makefile.vc | 73 ++++++++++++++++++++++++++++ + src/dispatch_common.h | 24 +++++----- + src/gen_dispatch.py | 2 +- + test/Makefile.sources | 73 ++++++++++++++++++++++++++++ + test/Makefile.vc | 68 ++++++++++++++++++++++++++ + test/khronos_typedefs_nonepoxy.c | 2 + + 10 files changed, 387 insertions(+), 17 deletions(-) + +commit 8bbc0d40c6c4e023e71ac8bfe7f5898005cac920 +Author: Eric Anholt +Date: Thu Jul 16 11:24:34 2015 -0700 + + Make the glx_alias_prefer_same_name test work, and hook it up. + + Apparently I started writing it, and didn't notice I wasn't building + my code when I committed the library support. + + Makefile.am | 1 + + test/Makefile.am | 2 +- + test/glx_alias_prefer_same_name.c | 25 +++++++------------------ + 3 files changed, 9 insertions(+), 19 deletions(-) + +commit c8cd4b7e0cb4a2b7646063766203f781a6f04f6b +Author: Eric Anholt +Date: Thu Jul 16 11:20:11 2015 -0700 + + Add missing files in the make dist. + + Make dist is such a terrible idea. + + Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit e2c33af5bfcfc9d168f9e776156dd47c33f428b3 +Author: Eric Anholt +Date: Wed Jul 15 16:46:36 2015 -0700 + + Bump to version 1.3.1 for release. + + A small bug was noticed during debian packaging. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 35016b75894adbf8eabb6682f80f68dfca14300c +Author: Eric Anholt +Date: Wed Jul 15 16:44:44 2015 -0700 + + Also drop the publishing of epoxy_conservative_egl_version() + + Like epoxy_conservative_gl_version(), it's internal only (and didn't + have a published prototype in the headers). + + src/dispatch_egl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 118565cd8e8a352303d53643558adca9ec1c6406 +Author: Eric Anholt +Date: Wed Jul 15 16:13:12 2015 -0700 + + Bump version to 1.3 for release. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 585c703699a3e21c2aabf4886ff8d9bdf5d7742c +Author: Eric Anholt +Date: Wed Jul 15 15:42:37 2015 -0700 + + Add some missing spacing in generated code. + + src/gen_dispatch.py | 1 + + 1 file changed, 1 insertion(+) + +commit b2c00a18af8e3816b77f57092b0d24843a59a8a5 +Author: Eric Anholt +Date: Wed Jul 15 15:37:26 2015 -0700 + + Use a concatenated string for enum descriptions. + + Saves another 15kb of compiled code. + + src/gen_dispatch.py | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + +commit d4620b7dd30e5cd398e10d8d5fb0e25f4cc65817 +Author: Eric Anholt +Date: Wed Jul 15 14:46:55 2015 -0700 + + Use __attribute__((packed)) to reduce our data size. + + Since our provider enums are small, we can store them as bytes or + shorts if we just let the compiler know that it's OK. Saves 20kb in + the compiled library. + + src/dispatch_common.c | 19 ------------------- + src/dispatch_common.h | 9 ++++++--- + src/gen_dispatch.py | 11 +++++++++-- + 3 files changed, 15 insertions(+), 24 deletions(-) + +commit 62861d12f9d3c1d3c61c7daa939239990b6a6c7f +Author: Eric Anholt +Date: Wed Jul 15 14:26:43 2015 -0700 + + Emit APIENTRY for typedefs that use it. + + The XML uses a node for where the string should be. This should fix + segfaults using GL_ARB_debug_output on windows. + + Fixes #46. + + src/gen_dispatch.py | 2 ++ + 1 file changed, 2 insertions(+) + +commit 8154c0efd3b98e6b602bf2a320360e6f9cf503b1 +Merge: a7c270f 5987e1e +Author: Eric Anholt +Date: Wed Jul 15 14:08:43 2015 -0700 + + Merge branch 'khronos-registry' + + This brings in support for non-error context extensions. + +commit 5987e1ef1ae5ee13e766a6d805277ab0c809a5f3 +Author: Eric Anholt +Date: Wed Jul 15 14:07:59 2015 -0700 + + Import registry from SVN 31705 + + registry/egl.xml | 8 +++++- + registry/gl.xml | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 75 insertions(+), 9 deletions(-) + +commit a7c270f8e2b8dcbf9874632e18a0948255de49d3 +Author: Yaron Cohen-Tal +Date: Thu Jul 9 13:44:52 2015 +0300 + + Fix epoxy_egl_get_current_gl_context_api() on non-conformant ES. + + According to the OpenGL ES standard, "glGetString(GL_VERSION)" should + return a string starting with "OpenGL ES". However, PowerVR's OpenGL + ES implementation (and perhaps others) don't comply with the standard + here. If our context happend to be bound using EGL, then we can just + ask EGL what kind of context it was, avoiding the glGetString() check. + + src/dispatch_common.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit 227d1312e6a7d5ec46d29ad4d13d434736e70f71 +Author: Eric Anholt +Date: Wed Jul 15 13:52:56 2015 -0700 + + Look for GL 1.1 functions in win32's OpenGL32.dll. + + The windows ABI is GL 1.1, not 1.0. You get NULL pointers for 1.1 + functions when calling wglGetProcAddress(). Fixes #47. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8ce3e5f14f13cdfea68c7b8e437d04bae29fbb47 +Author: Eric Anholt +Date: Wed Jul 15 13:42:43 2015 -0700 + + Update README for the dropping of X11 on OSX. + + Fixes #39 + + README.md | 5 ----- + 1 file changed, 5 deletions(-) + +commit d9df59df711d4bf9fa9f309ab3b1c880f07c2883 +Author: Chun-wei Fan +Date: Wed Jun 17 09:38:53 2015 +0800 + + src/dispatch_common.c: Remove Unneeded PUBLIC Annotation + + Don't mark epoxy_conservative_gl_version() for export, as it is meant + to be a private API to be used within libepoxy only. + + Reviewed-by: Eric Anholt + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a2a51904b0811510e90d8e6cf554de237b9205ab +Author: Chun-wei Fan +Date: Fri Jun 5 14:07:35 2015 +0800 + + test/wgl_per_context_funcptrs.c: Fix build on Visual Studio + + Ensure that we do __stdcall only after the return type, as Visual Studio + will not like it otherwise. + + test/wgl_per_context_funcptrs.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit e9f68fe3a34e769ac2f3e5d4b92c1358edd7af5c +Author: Chun-wei Fan +Date: Fri Jun 5 14:06:23 2015 +0800 + + Fix generated code for building on MSVC 2013 + + This updates the script to generate code that is buildable by Visual Studio + 2013 by: + + -Using a macro to define the compiler-specific way to do noinline for a + function, and use it when needed. + + -Avoid using empty arrays and structs as that is a C99 feature that will + likely be never support on Visual Studio as it is now an optional feature + of C11. + + src/gen_dispatch.py | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit 7d5e8e9d5604736601e28f4c8530759fc537fd12 +Author: Chun-wei Fan +Date: Fri Jun 5 17:38:26 2015 -0700 + + Put the callspec after the return type for MSVC. + + Visual Studio does not like __stdcall before the return type, which is + what GLAPIENTRY and EPOXY_CALLSPEC expands to on Windows. + + src/dispatch_common.c | 4 ++-- + src/dispatch_common.h | 14 +++++++------- + src/dispatch_wgl.c | 8 ++++---- + 3 files changed, 13 insertions(+), 13 deletions(-) + +commit e2424977284e7f0f124b2ae84d48addbfbf4b03e +Author: Chun-wei Fan +Date: Fri Jun 5 17:37:01 2015 -0700 + + Avoid empty struct intializer on MSVC. + + It is a C99 feature that is not supported (nor will it probably be at + any point) on Visual Studio. + + src/dispatch_common.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 95ecc2d1a1731c7018cea1d11d1ad85a71629d21 +Author: Chun-wei Fan +Date: Fri Jun 5 14:03:51 2015 +0800 + + Port the library_init() constructor to MSVC. + + src/dispatch_common.c | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +commit d88c639e63099c5143a0b06214aa80161c8d5a95 +Author: Chun-wei Fan +Date: Fri Jun 5 13:56:33 2015 +0800 + + Fix public headers for building in Visual Studio + + Ensure that we also have import/export decorations for the prototypes, as + Visual Studio does not like such decorations on the function definitions + without the prototypes decorated as well, when the function prototypes + exist. + + include/epoxy/gl.h | 6 +++--- + include/epoxy/wgl.h | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 136cf854248118b1f2e3582df868cdecd1d5fb7b +Author: Eric Anholt +Date: Fri Jun 5 17:19:07 2015 -0700 + + Use the provider enum to tie-break sorting by function provider name. + + Without this, we got code generation that was dependent on the + original ordering in the hash table, and thus non-reproducible builds. + + Based on a commit by Stephan Kulow, but retaining the sorting by + function name first (that way all providers with the same name appear + next to each other like before, and also happens to ensure that core + names tend to appear before non-core names) + + src/gen_dispatch.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b9fbcaf0e280b990d984899a2809eaacfc0391e2 +Merge: 6411628 eeda3a5 +Author: Eric Anholt +Date: Fri Jun 5 16:58:26 2015 -0700 + + Merge remote-tracking branch 'airlied/master' + +commit 6411628392fc123eeb3c5397493d41bf451fe5f1 +Merge: 20062c2 b7e921d +Author: Eric Anholt +Date: Fri Jun 5 16:52:45 2015 -0700 + + Merge pull request #42 from cicku/patch-1 + + Update the homepage URL + +commit eeda3a5a6d21695e8c875d4f3974b753a5be16d7 +Merge: 20062c2 85e5100 +Author: Dave Airlie +Date: Tue May 5 16:03:00 2015 +1000 + + Merge branch 'khronos-registry' + +commit 85e5100d673bba0945fa097966160720a1f86a36 +Author: Dave Airlie +Date: Tue May 5 16:02:01 2015 +1000 + + Import registry from SVN 31039 + + registry/egl.xml | 185 ++++++++-- + registry/gl.xml | 1002 +++++++++++++++++++++++++++++++++++++++++++++++++----- + registry/wgl.xml | 6 +- + 3 files changed, 1080 insertions(+), 113 deletions(-) + +commit b7e921da131e98aeeced824d6accea6703ff2b70 +Author: Christopher Meng +Date: Wed Mar 4 10:37:02 2015 +0800 + + Update the homepage URL + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 20062c25e7612cab023cdef44d3277ba1bd0b2de +Merge: 135f7bf e9ce388 +Author: Eric Anholt +Date: Sat Jan 10 11:59:51 2015 +1300 + + Merge branch 'khronos-registry' + +commit e9ce388f746f6c0557b863a38648ae1646658951 +Author: Eric Anholt +Date: Sat Jan 10 11:59:10 2015 +1300 + + Import registry from SVN 29350 + + registry/egl.xml | 302 ++++- + registry/gl.xml | 3305 ++++++++++++++++++++++++++++++++++++++++++++++++------ + registry/glx.xml | 127 ++- + registry/wgl.xml | 408 +++---- + 4 files changed, 3593 insertions(+), 549 deletions(-) + +commit 135f7bf1043ca2a48d88d920fd46f3fe0097f359 +Author: Eric Anholt +Date: Sat Jan 10 11:18:50 2015 +1300 + + wgl: Fix an extra break statement. + + This would have leaked our TLS indices on process exit. + + Fixes #32 + + src/dispatch_wgl.c | 1 - + 1 file changed, 1 deletion(-) + +commit 363d57a9de7d9241264590c35638705f14022daa +Merge: b2ae054 e305148 +Author: Eric Anholt +Date: Sat Jan 10 10:29:17 2015 +1300 + + Merge remote-tracking branch 'sonicadvance/OSX-NoX11Support' + + I've come around to the various contributors' positions: X11 on OSX is + basically dead, and we're not serving our users by trying to support + it. + +commit b2ae054b3aa0d6796b6936c7a89b8cce7cefe7ba +Author: Eric Anholt +Date: Fri Jun 13 15:54:29 2014 -0700 + + Avoid name conflicts between pkgconfig's EGL_LIBS and a temporary var. + + I felt a little uncomfortable knowing I had two things defining + EGL_LIBS, but it worked on my system. It failed on the travis ci + build. + + test/Makefile.am | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 0096b79923f4a2b73b004f679d48ef110936a459 +Author: Eric Anholt +Date: Fri Jun 13 15:00:31 2014 -0700 + + Fix context type detection if we find eglGetCurrentContext(). + + Fixes #29. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d56f21c494b315306215c4730835a9b291360e9b +Author: Eric Anholt +Date: Fri Jun 13 14:59:37 2014 -0700 + + Use the EGL pkgconfig for finding eglplatform.h. + + We don't ever explicity link against libEGL, so no need to make use of + EGL_LIBS. + + Fixes #30. + + configure.ac | 1 + + src/Makefile.am | 1 + + test/Makefile.am | 4 +++- + 3 files changed, 5 insertions(+), 1 deletion(-) + +commit 27298ee31b9979fb058c3908cc631e8dce9ea674 +Author: Eric Anholt +Date: Fri Jun 13 14:41:41 2014 -0700 + + tests: Fix the passing of the "-z now" arg to the linker. + + These LDFLAGS go to the compiler, and getting the arg to the linker + requires -Wl or -Xlinker. gcc apparently was passing this through + anyway, while clang was getting angry. + + test/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4a76cb97f80522261929e312b8a93b76c119a022 +Author: Eric Anholt +Date: Fri Jun 13 13:43:20 2014 -0700 + + Add a control file for Travis CI. + + This isn't quite as good as I'd like -- the XVFB setup doesn't support + a bunch of context creation extensions that we use, and I haven't + looked into the multiplatform stuff for doing OS X testing yet. I + think it's a good start, though. + + .travis.yml | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 28c9c471b2705b4cf8b00729b355b04326960812 +Author: Eric Anholt +Date: Tue Jun 10 14:16:06 2014 -0700 + + Remove a C99ism from dispatch. + + I've decided it's time to accept that building with MSVC 2010 is a way + that people want to use this software. + + src/dispatch_common.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 4d64234e0512ced15f5c87a0ff2ac9755c592549 +Merge: 7422de5 c791612 +Author: Eric Anholt +Date: Fri Jun 13 13:55:01 2014 -0700 + + Merge pull request #27 from Sonicadvance1/Android-Support + + Add support for Android. + +commit e3051481cc9f5b7b36b317aff1454ee16ea9cdb9 +Author: Ryan Houdek +Date: Sun May 4 22:52:12 2014 -0500 + + Adds support for OS X without X11. + + OS X support shouldn't depend on X11 being installed on the host. + Removes the X11 dependency. + + configure.ac | 2 +- + src/dispatch_common.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit c791612b0a468b5c572352e66eeaeb1d8c8947e5 +Author: Ryan Houdek +Date: Sun May 4 19:05:34 2014 -0500 + + Adds support for Android. + + This has been tested with both OpenGL and OpenGL ES on Android. + We can't use dlsym on Android to get all the function pointers since Android's libGLES* libraries are just shim libraries that pass everything through + to the real vendor specific libraries. + + Due to this we must grab function pointers entirely through eglGetProcAddress instead of dlsym. + + src/dispatch_common.c | 32 +++++++++++++++++++++++++------- + src/dispatch_common.h | 5 +++++ + 2 files changed, 30 insertions(+), 7 deletions(-) + +commit 7422de5b4be7b19d789136b3bb5f932de42db27c +Author: Eric Anholt +Date: Tue May 13 17:22:08 2014 -0700 + + Bump version to 1.2 for release. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5f88ca5cd690377277a616670ef6f81039680072 +Merge: c7a9184 3f402f6 +Author: Eric Anholt +Date: Tue May 13 13:41:14 2014 -0700 + + Merge branch 'khronos-registry' + +commit 3f402f60526208f05fb08312588449fc2cc59bfc +Author: Eric Anholt +Date: Tue May 13 13:41:00 2014 -0700 + + Import registry from SVN 26622 + + registry/egl.xml | 32 ++- + registry/gl.xml | 77 ++++- + registry/glx.xml | 846 ++++++++++++++++++++++++++++--------------------------- + 3 files changed, 536 insertions(+), 419 deletions(-) + +commit c7a91844deb0232dd398a87090a556bcc5069eec +Author: Eric Anholt +Date: Tue May 13 12:30:48 2014 -0700 + + Don't forget to install the wgl headers. + + Fixes #26 + + include/epoxy/Makefile.am | 5 +++++ + src/Makefile.am | 1 + + 2 files changed, 6 insertions(+) + +commit 568533441ffe113ac919ce3db16fcde8126a9b70 +Author: Eric Anholt +Date: Thu Apr 10 13:30:05 2014 -0700 + + Move __stdcall into the parens for function pointer definitions. + + MSVC 2010 appears to require that it be located there. + + include/epoxy/gl.h | 11 ++++++++--- + src/dispatch_common.h | 19 +++++++++---------- + src/gen_dispatch.py | 2 +- + 3 files changed, 18 insertions(+), 14 deletions(-) + +commit 6eb075c70e2f91a9c45a90677bd46e8fb0432655 +Author: Eric Anholt +Date: Tue Apr 8 23:47:54 2014 -0700 + + Fix EGL context detection for non-GLES2-core functions. + + Fixes failure of the X Server with glamor using desktop GL on EGL, and + the associated testcase in the tree. This was clearly just + copy-and-paste failure on my part in + b251e3ae337cecda3cbede6fde8cc8f7cef942c9. + + src/dispatch_common.c | 18 ++++++++---------- + test/Makefile.am | 1 - + 2 files changed, 8 insertions(+), 11 deletions(-) + +commit bb94003b78d9bf533d89ead5f630e364261ca5a6 +Author: Eric Anholt +Date: Tue Apr 8 23:47:25 2014 -0700 + + Add a test for a failure I found with the X Server after my last fixes. + + test/.gitignore | 1 + + test/Makefile.am | 4 ++ + test/egl_gl.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 135 insertions(+) + +commit 756dcaf6a5e07ead098457efba15f5be75bf2123 +Author: Eric Anholt +Date: Fri Mar 28 16:38:19 2014 -0700 + + Disable the dlwrap-based tests on apple. + + We'd need a dlvsym() equivalent. + + configure.ac | 6 ++++++ + test/Makefile.am | 12 ++++++++++-- + 2 files changed, 16 insertions(+), 2 deletions(-) + +commit 3e09de7550cd901b8d3ecbf27e0128f0dc0f0b99 +Author: Eric Anholt +Date: Wed Mar 19 14:18:26 2014 -0700 + + win32: Delay using dispatch tables until the second MakeCurrent. + + Fixes #11. + + README.md | 8 +------- + src/dispatch_common.h | 39 ++++++++++++++++++++------------------- + src/dispatch_wgl.c | 29 ++++++++++++++++++++++------- + src/gen_dispatch.py | 24 ++++++++++++------------ + 4 files changed, 55 insertions(+), 45 deletions(-) + +commit 370c49d5cdd8060ea2fee1e777311f86b495aa94 +Author: Eric Anholt +Date: Fri Mar 28 12:49:28 2014 -0700 + + Use #defines to shrink the size of gl_generated_dispatch.c + + I was running into file size limits with win32 debug symbols. + + src/dispatch_common.h | 93 +++++++++++++++++++++++++++++++++++++++++++++++---- + src/gen_dispatch.py | 90 ++++++++++++------------------------------------- + 2 files changed, 108 insertions(+), 75 deletions(-) + +commit 11a946cbf5ebd4ba79915ab06434847ae2581e47 +Author: Eric Anholt +Date: Fri Mar 28 14:27:29 2014 -0700 + + Prefer non-aliased functions when resolving. + + This increases the size of the library, but avoids some of the + concerns that have been brought up with the library silently switching + you from glWhateverEXT() to glWhatever() if there might be slight + behavior differences between the two that hadn't been identified. The + downside is that it means we can't share the resolver functions among aliases. + + src/gen_dispatch.py | 29 ++++++------ + test/.gitignore | 1 + + test/Makefile.am | 7 ++- + test/glx_alias_prefer_same_name.c | 93 +++++++++++++++++++++++++++++++++++++++ + 4 files changed, 115 insertions(+), 15 deletions(-) + +commit ea12f935c14351a26a721fc6ffee6c67b53b0e15 +Author: Eric Anholt +Date: Fri Mar 28 12:06:47 2014 -0700 + + wgl: Add a test for MakeCurrent returning different function pointers. + + Huh, my old rule of "untested code is broken code" didn't hold up, for once. + + test/Makefile.am | 3 + + test/wgl_per_context_funcptrs.c | 166 ++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 169 insertions(+) + +commit b1d875ef0b4558a138e633cdcd275d11b669eb89 +Author: Eric Anholt +Date: Thu Mar 27 19:18:24 2014 -0700 + + Clean up epoxy_current_context_is_glx(). + + Now that it's split out from epoxy_get_core_proc_address(), + the particular symbols we were testing for before calling + GetCurrentContext() didn't make much sense, plus we were leaking + dlerror()s still. + + src/dispatch_common.c | 36 ++++++++++++++++++++---------------- + 1 file changed, 20 insertions(+), 16 deletions(-) + +commit db5b939f986b7c052185a28864fcb7351bc20e8a +Author: Eric Anholt +Date: Thu Mar 27 19:06:21 2014 -0700 + + Ask glXGetProcAddress for ES symbols when we're on a GLX context. + + Fixes #24 + + src/dispatch_common.c | 24 ++++++++++++++++++------ + test/Makefile.am | 1 - + 2 files changed, 18 insertions(+), 7 deletions(-) + +commit b251e3ae337cecda3cbede6fde8cc8f7cef942c9 +Author: Eric Anholt +Date: Thu Mar 27 19:04:27 2014 -0700 + + Factor out the GLX versus EGL current context detection code. + + It turns out I need to reuse this for GLES symbols when using + GLX_EXT_create_context_es2_profile. + + src/dispatch_common.c | 113 +++++++++++++++++++++++++++++++------------------- + 1 file changed, 70 insertions(+), 43 deletions(-) + +commit d48978c0849e48020d5326bcb35ce99b067e4b9d +Author: Eric Anholt +Date: Thu Mar 27 18:54:12 2014 -0700 + + Don't leak dlerror()s while we're trying to probe libraries. + + Again, no known bugs, but it seems like a bad idea. + + src/dispatch_common.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit 72187a29c2d1e4852dfcb9b397418ff21dae1835 +Author: Eric Anholt +Date: Thu Mar 27 18:53:10 2014 -0700 + + Don't dlsym() if we failed to dlopen(). + + No reported bugs I'm fixing here, just cleanup. + + src/dispatch_common.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit e230042ffe3f55c24153d908c8aa0c255e1b3620 +Author: Eric Anholt +Date: Thu Mar 27 18:36:59 2014 -0700 + + test: Add a test using GLX_EXT_create_context_es2_profile. + + This is based on a bug report from Steinar H. Gunderson about using + GLES3 with SDL and epoxy. + + test/.gitignore | 1 + + test/Makefile.am | 6 +++ + test/glx_gles2.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 125 insertions(+) + +commit 46da7790b2f327d49b20597c92a10de20a8efba3 +Author: Eric Anholt +Date: Thu Mar 27 17:32:16 2014 -0700 + + test: Avoid segfaulting when nvidia driver does a dlopen(RTLD_DEFAULT) + + test/dlwrap.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 7f5fc047daa0054c1d71d6206db4fd9b26a4ff7c +Author: Eric Anholt +Date: Thu Mar 27 15:37:32 2014 -0700 + + win32: Fix a C90 compiler warning. + + test/wgl_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e7d3088d714e5d19aa4a1bab1e375d7d4e537907 +Author: Eric Anholt +Date: Thu Mar 27 13:44:26 2014 -0700 + + win32: Add support for wglUseFontBitmaps(). + + Fixes #10. + + include/epoxy/wgl.h | 6 ++++++ + src/gen_dispatch.py | 7 +++++++ + 2 files changed, 13 insertions(+) + +commit 5a37cf88b5a71c450caf9bb94a0d9b379baa0781 +Author: Eric Anholt +Date: Thu Mar 27 13:41:19 2014 -0700 + + win32: Add a test for wglUseFontBitmaps(). + + test/.gitignore | 2 ++ + test/Makefile.am | 7 +++++ + test/wgl_usefontbitmaps.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 84 insertions(+) + +commit e7f69038da3b3e6788f54b19b9c10e4f1df8370a +Author: Eric Anholt +Date: Thu Mar 27 10:53:33 2014 -0700 + + Add EGL_NOK_swap_region definition. + + I couldn't find a spec for this one on the internet, but this matches + the prototype in eglmesaext.h. The note in swap_region2 says: + + 4) How is this extension an improvement over EGL_NOK_swap_region? + + RESOLVED: This extension builds on the previous + EGL_NOK_swap_region extension by requiring that the implementation + considers the update region provided by the application as a + mandate rather than a hint. This allows for region-restricted + rendering without requiring the use of preserved buffer swaps + which may be relatively expensive for the implementation. + + Furthermore, whilst preserved swap behaviour is necessary for + incremental rendering, many applications fully re-render modified + surface regions and so don't require preserved swap + behaviour. This extension provides a lighter weight surface update + mechanism for such applications. + + registry/egl.xml | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit d74355fc96aceb6d0856ccb39476239155f65839 +Author: Eric Anholt +Date: Thu Mar 27 10:47:41 2014 -0700 + + Add EGL_NOK_swap_region2 definition. + + Found at: + + https://www.khronos.org/registry/egl/extensions/NOK/EGL_NOK_swap_region2.txt + + registry/egl.xml | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit d53169404a9a07a3e3d00517dd615ccd02fed4dd +Author: Eric Anholt +Date: Thu Mar 27 10:41:04 2014 -0700 + + Add EGL_NOK_texture_from_pixmap definition. + + Found at: + + https://www.khronos.org/registry/egl/extensions/NOK/EGL_NOK_texture_from_pixmap.txt + + registry/egl.xml | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 91d8e5f8480908ec8abe642f2f67fc74814fefb5 +Merge: 5dcdfe9 f762c7f +Author: Eric Anholt +Date: Thu Mar 27 09:05:12 2014 -0700 + + Merge branch 'khronos-registry' + + This brings in GLES 3.1, EGL 1.5, and GLX_MESA_query_renderer. + +commit f762c7feb7da5cd1d4b43719caf9adb3fcca9ac1 +Author: Eric Anholt +Date: Thu Mar 27 09:02:27 2014 -0700 + + Import registry from SVN 26007 + + registry/egl.xml | 356 +++++++++++++++----- + registry/gl.xml | 991 +++++++++++++++++++++++++++++++++++-------------------- + registry/glx.xml | 60 +++- + registry/wgl.xml | 2 +- + 4 files changed, 973 insertions(+), 436 deletions(-) + +commit 5dcdfe9d794feac044bc826ce2e32d2f81f10a36 +Author: Eric Anholt +Date: Thu Mar 27 08:43:31 2014 -0700 + + Remove a debug printf that slipped in. + + src/dispatch_common.c | 2 -- + 1 file changed, 2 deletions(-) + +commit 847a6d50dbd3947951d3b12dc3c6b4d6a43000a5 +Author: Eric Anholt +Date: Wed Mar 19 18:27:10 2014 -0700 + + Avoid using eglGPA() for core funcs when the current context is GLX. + + If you already had GLX loaded by epoxy, this wouldn't happen, but on + the first call, fallback cases might have taken the EGL path if EGL + was loaded. + + src/dispatch_common.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit b670c840390859d20c478b9494e09b0c99aaab51 +Author: Eric Anholt +Date: Wed Mar 19 18:24:29 2014 -0700 + + Refactor dispatch_common's EGL context detection code. + + I want to reuse this from get_core_proc_address(). + + src/dispatch_common.c | 76 +++++++++++++++++++++++++++++++-------------------- + 1 file changed, 46 insertions(+), 30 deletions(-) + +commit e6d9bb971bfeb9e3990ee54bdc84b701e1eaabd8 +Author: Eric Anholt +Date: Wed Mar 19 17:47:01 2014 -0700 + + Try to use glXGPA() for core funcs if the current context is GLX. + + Fixes the GLX-only subtest of egl_and_glx_different_pointers. Now + what remains is dispatch tables for when you're actively using both. + + Fixes #23 + + src/dispatch_common.c | 30 +++++++++++++----------------- + test/Makefile.am | 1 - + 2 files changed, 13 insertions(+), 18 deletions(-) + +commit 698185e24a35f046d29e440b0edc4f9737f2f76d +Author: Eric Anholt +Date: Wed Mar 19 17:44:21 2014 -0700 + + Try to avoid looking up bootstrap functions in the wrong library. + + Fixes the EGL-only subtest of egl_and_glx_different_pointers. + + src/dispatch_common.c | 8 +++----- + test/Makefile.am | 1 - + 2 files changed, 3 insertions(+), 6 deletions(-) + +commit 037ac7f56646a906326dd35567410045e4a1f314 +Author: Eric Anholt +Date: Tue Mar 18 17:17:15 2014 -0700 + + Add a test for EGL and GLX returning different function pointers. + + This is the case on the nvidia binary driver's GL, or when you've got + a system mixing nvidia binary GL and Mesa EGL. + + src/dispatch_common.c | 2 + + test/.gitignore | 3 + + test/Makefile.am | 31 +++++ + test/dlwrap.c | 209 ++++++++++++++++++----------- + test/dlwrap.h | 10 ++ + test/egl_and_glx_different_pointers.c | 246 ++++++++++++++++++++++++++++++++++ + 6 files changed, 426 insertions(+), 75 deletions(-) + +commit dae231680e2d400560a74518dcfb4dacb2a474a3 +Author: Eric Anholt +Date: Wed Mar 19 12:32:36 2014 -0700 + + Import a copy of dlwrap from libfips. + + This is just cworth's code, reindented for this project. + + test/dlwrap.c | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + test/dlwrap.h | 57 +++++++++++++ + 2 files changed, 310 insertions(+) + +commit 9efad17eb439a9c8fbced62486e826690b289b3b +Author: Eric Anholt +Date: Mon Mar 17 11:21:11 2014 -0700 + + Actually fix #21 (hopefully). + + src/gen_dispatch.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 14f24485e33816139398d1bd170d617703473738 +Author: Eric Anholt +Date: Mon Mar 17 11:17:19 2014 -0700 + + Add support for looking up GLES3 functions using dlsym(). + + ARM and Mesa disagreed on how to look up the functions, so support + both ways. + + Fixes #21 + + src/dispatch_common.c | 23 ++++++++++++++++++++++- + src/dispatch_common.h | 1 + + 2 files changed, 23 insertions(+), 1 deletion(-) + +commit 053ac5f45780ed82eeaffa457353e6c25593bef3 +Author: Eric Anholt +Date: Mon Mar 17 11:18:36 2014 -0700 + + Fix test build. + + I was initially planning on having a separate file of the overrides + when I'd forgotten I couldn't rely on ELF symbol lookup. + + test/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 53b87c33e4f547a147fe8931b2494b84bad82406 +Author: Eric Anholt +Date: Mon Mar 17 09:48:33 2014 -0700 + + Catch eglBindAPI() failures in looking up bootstrap functions. + + This fixes crashes on ARM's Mali drivers, where desktop GL isn't + supported, and epoxy didn't notice the error and tried to dlsym() on + libGL.so.1. + + An alternative would have been to look at the response from + eglQueryAPI() first, but that would have meant that we still need to + BindAPI in the case that eglQueryAPI returns something like VG or CL, + and so we needed to handle these errors regardless. + + Fixes #22 + + src/dispatch_common.c | 43 ++++++++++++++++++++++++------------------- + test/Makefile.am | 2 -- + 2 files changed, 24 insertions(+), 21 deletions(-) + +commit f15c169cad38964892ea1067208bd84e34382005 +Author: Eric Anholt +Date: Mon Mar 17 09:12:18 2014 -0700 + + Extend the egl_without_glx test for another quirk of the platform. + + Epoxy dlsym()s directly into libEGL instead of using dlsym() on a NULL + handle, so we can't relying on ELF resolution like we do for dlopen(). + Instead, just override epoxy's function pointers for the functions + epoxy will call in the process of getting one of these bootstrap + functions. + + test/Makefile.am | 6 ++++-- + test/egl_without_glx.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++---- + 2 files changed, 58 insertions(+), 6 deletions(-) + +commit d4ad80fb8e7c85c4df455ade75f8dd78579c4d7c +Author: Fredrik Höglund +Date: Wed Feb 12 18:11:24 2014 +0100 + + Add aliases for OES_get_program_binary + + registry/gl.xml | 2 ++ + 1 file changed, 2 insertions(+) + +commit 35e3b0a6da2e921e507e907a0f26dac4f47643ff +Author: Fredrik Höglund +Date: Wed Feb 12 18:07:44 2014 +0100 + + Add aliases for APPLE_sync + + registry/gl.xml | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 30de2e86ea49530241dae884d0c83d2c953b54d5 +Author: Fredrik Höglund +Date: Tue Feb 11 22:37:17 2014 +0100 + + Add aliases for EXT_texture_storage + + registry/gl.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit fea4a8feee978b8f847fce3ee381622327998c02 +Author: Fredrik Höglund +Date: Tue Feb 11 22:30:44 2014 +0100 + + Add alias for NV_framebuffer_multisample + + registry/gl.xml | 1 + + 1 file changed, 1 insertion(+) + +commit 64e90baf8782f0d7c8262b6c2a6eacc6fcca88e5 +Author: Fredrik Höglund +Date: Tue Feb 11 22:21:33 2014 +0100 + + Add aliases for OES_texture_3D + + registry/gl.xml | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit e20b3ce6c7895f355fd1bad81b45341d98b5ee76 +Author: Fredrik Höglund +Date: Tue Feb 11 20:49:58 2014 +0100 + + Fix EGLDisplay parameters in epoxy functions + + EGLDisplay is typedefed as a pointer. + + include/epoxy/egl.h | 4 ++-- + src/dispatch_egl.c | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 87a099b141faa188be2a46976ce8657a213ab94b +Author: Fredrik Höglund +Date: Mon Feb 10 18:41:12 2014 +0100 + + Add alias for NV_framebuffer_blit + + registry/gl.xml | 1 + + 1 file changed, 1 insertion(+) + +commit 6c5417db468d67c8fbd2dd60951350e912976500 +Author: Fredrik Höglund +Date: Mon Feb 10 18:29:21 2014 +0100 + + Add aliases for EXT_map_buffer_range + + Note that GLES doesn't allow zero-length mappings, unlike desktop GL. + + registry/gl.xml | 2 ++ + 1 file changed, 2 insertions(+) + +commit 8d942b8639f83788162469bba118287b5a50a381 +Author: Fredrik Höglund +Date: Mon Feb 10 18:24:19 2014 +0100 + + Add aliases for OES_vertex_array_object + + registry/gl.xml | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 93a5b15ae9d815994fb25b9e9f2276bea5964ca4 +Author: Fredrik Höglund +Date: Mon Feb 10 18:18:09 2014 +0100 + + Add aliases for NV_instanced_arrays + + registry/gl.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit f09c4d00dcfa8f1bca3a18ef9dd2fa80216dac9a +Author: Fredrik Höglund +Date: Mon Feb 10 18:17:48 2014 +0100 + + Add aliases for ANGLE_instanced_arrays + + registry/gl.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit e1e13a51b47e0463070e0fb20eee0e572fa3f724 +Author: Eric Anholt +Date: Thu Feb 6 15:08:38 2014 -0800 + + Bump version to 1.1 for release. + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 67a1ad4f6c99b508209973cf3d5382491577a0ff +Author: Eric Anholt +Date: Thu Feb 6 14:45:53 2014 -0800 + + Add limited support for the KHRONOS_* defines from khrplatform.h. + + The only way these get used is when you choose to include epoxy/gl.h + but EGL/egl.h. I'm not sure that's something I want to actually + support, but piglit happened to do so, and this gets things working. + + There's not as much support here as in real khrplatform.h, but then + there's no EGL for windows. And seriously, compilers support 64-bit + and float types, why would you even build this complexity? + + include/epoxy/gl.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 9998c39e8d4e5be0ff8b15f5ea1521c861b2c0e6 +Author: Eric Anholt +Date: Thu Feb 6 13:20:00 2014 -0800 + + Fix a bad error message in an EGL test. + + test/egl_has_extension_nocontext.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit eb7a99d1bd7279584e79314b7d4ae65aa063928c +Author: Eric Anholt +Date: Thu Feb 6 13:19:16 2014 -0800 + + Add missing '\n's to wgl test errors. + + Like some of the other missing '\n's, I'd originally used errx(), then + just done a sed job to fprintf when I found that win32 lacked errx(). + + test/wgl_common.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 81ccc70837811960ad2c6ff0bc5b5f945f60d4a1 +Author: Eric Anholt +Date: Thu Feb 6 13:17:06 2014 -0800 + + Fix some silly line-wrapping in a printf. + + src/dispatch_common.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit c4d19366cc15587a57dfc7e11fdc3e62bf563868 +Author: Eric Anholt +Date: Thu Feb 6 11:29:36 2014 -0800 + + Add a missing \n on an error message. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 766422a82ce1a72bd020574b3df41ddbebd246f4 +Author: Eric Anholt +Date: Thu Feb 6 11:23:43 2014 -0800 + + Use the same typedefs as upstream khrplatform.h in a couple cases. + + This should avoid any differences we might end up with compared to + system khrplatform.h. + + src/gen_dispatch.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit e4f5da9539f606e0043678579de83f66f0b3e9c4 +Author: Eric Anholt +Date: Thu Feb 6 10:51:33 2014 -0800 + + Add a test that khrplatform.h (if present) agrees with us. + + configure.ac | 6 ++++ + test/.gitignore | 1 + + test/Makefile.am | 7 ++++ + test/khronos_typedefs.c | 65 +++++++++++++++++++++++++++++++++++++ + test/khronos_typedefs.h | 47 +++++++++++++++++++++++++++ + test/khronos_typedefs_nonepoxy.c | 69 ++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 195 insertions(+) + +commit c99653408057065d5a3adb443dc9ba5420de0219 +Author: Eric Anholt +Date: Thu Feb 6 11:10:41 2014 -0800 + + Define the rest of the khrplatform.h types, and prevent its inclusion. + + One of the problems with krhplatform.h (besides it being a terrible + idea in the first place) is that it's not present on many systems at + all, including apple, win32, and linux before late 2009. + + So, unless we introduce the first ./configure dependency to the core + library build, we really do need to define these standard types to + their standard values. But if we allow khrplatform.h inclusion as + well, we'll get long-vs-int redefinition warnings on 32-bit. So, we + have to completely replicate the header, which is a thing we've done + for everything else except for eglplatform.h. + + A testcase will be used to make sure that our types don't drift from + the system khrplatform.h types, if it even exists. + + Fixes #17 + + src/gen_dispatch.py | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +commit 79600fa6d28bbf2718840f8396878db8f5569c8c +Merge: 17e5c30 1c2b6da +Author: Eric Anholt +Date: Sat Feb 1 12:33:08 2014 -0800 + + Merge branch 'khronos-registry' + +commit 17e5c307f5e2fd73ab347d9dc35284c935f91d30 +Author: Eric Anholt +Date: Sat Feb 1 12:22:53 2014 -0800 + + Add missing dependency on libdl. + + Everything I'd linked against the library so far already had a libdl + dependency (through libX11, for example), so I hadn't noticed. + + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 5a39b7abe26e6ff42f29861951515b25df837a1d +Author: Matt Turner +Date: Fri Jan 31 17:37:21 2014 -0800 + + List X11_LIBS after lib{egl,glx}_common. + + Fixes linking with --as-needed. + + test/Makefile.am | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 309f2d2020cf2137845b5e3402b0fc7bc9e96c7b +Author: Matt Turner +Date: Fri Jan 31 17:37:20 2014 -0800 + + Use LDADD instead of LDFLAGS/DEPENDENCIES. + + This is a lot shorter to type, and still gets the dependencies to work + (tested with touch src/dispatch_common.c; make check, and touch + src/egl_common.c; make check). + + src/Makefile.am | 5 ++++- + test/Makefile.am | 35 +++++++++++++---------------------- + 2 files changed, 17 insertions(+), 23 deletions(-) + +commit 1c2b6daa9ba42a5935abae9e1dc42ee78e32205c +Author: Eric Anholt +Date: Sat Feb 1 12:13:05 2014 -0800 + + Import registry from SVN 25146 + + registry/egl.xml | 16 +++++++++++++--- + registry/gl.xml | 46 ++++++++++++++++++++++++++++++---------------- + 2 files changed, 43 insertions(+), 19 deletions(-) + +commit a55d28ee1b31bd99559607d71e47071ef4e3ad41 +Author: Eric Anholt +Date: Fri Jan 31 15:22:44 2014 -0800 + + Fix a missing \n on printing out failure to dlsym(). + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c761908c3eda5c2392add7f934fb3c2c5f0a18de +Author: Eric Anholt +Date: Fri Jan 31 15:16:40 2014 -0800 + + Enable compiler warnings in the tests. + + test/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +commit 36847f88a7790d3bb917a82494e04fff708b39dd +Author: Eric Anholt +Date: Fri Jan 31 15:19:09 2014 -0800 + + Fix compiler warnings in the tests. + + I didn't have CWARNFLAGS in the Makefile.am, so lots of things that + would generate warnings had crept in. + + test/egl_common.c | 7 +++++-- + test/glx_common.c | 2 +- + test/glx_common.h | 2 +- + test/glx_glxgetprocaddress_nocontext.c | 3 ++- + test/glx_public_api_core.c | 25 ++++++++++++++----------- + 5 files changed, 23 insertions(+), 16 deletions(-) + +commit 7c660c5c7ae94043a2c4b9d260ccc9367992989e +Author: Eric Anholt +Date: Fri Jan 31 14:58:07 2014 -0800 + + Add a COPYING file describing the two licenses for the project code. + + Fixes #20 + + COPYING | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) + +commit 1064406814190cfa1f95ba01d08f87596065ac7e +Author: Eric Anholt +Date: Fri Jan 31 14:49:00 2014 -0800 + + Fix using epoxy on systems with only EGL and GLES1 or GLES2. + + Fixes #19 + + src/dispatch_common.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++- + src/dispatch_common.h | 1 + + src/gen_dispatch.py | 4 +-- + test/Makefile.am | 2 -- + 4 files changed, 72 insertions(+), 5 deletions(-) + +commit dbf940dabcc34d5c85ab7540a1333e369a04948e +Author: Eric Anholt +Date: Thu Jan 30 17:52:40 2014 -0800 + + Test for using GLES1/2 without GLX installed. + + test/.gitignore | 2 + + test/Makefile.am | 17 ++++++++ + test/egl_without_glx.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 132 insertions(+) + +commit 72e57908c678ed7e6e50fc47a08c21c47f07d3dd +Author: Eric Anholt +Date: Fri Jan 31 15:28:13 2014 -0800 + + Fix typo in gles2 dlsym setup + + If you happened to do both GLES2 and GLES1 in a process, it meant that + you'd try to look up v1 procs in the v2 API, and lose. Caught by + piglit oes_fixed_point-attribute-arrays. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 46953a662c4c73ceca94ea59c00d8b02d43cbc03 +Author: Eric Anholt +Date: Thu Jan 30 12:19:33 2014 -0800 + + Add missing make dist of gen_dispatch.py. + + Fixes distcheck when built out of tree (not that I'm using make dist + for distributing releases, currently). + + src/Makefile.am | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 9e30b7e633c0772a4dff6427bc6c25aff8568950 +Author: Eric Anholt +Date: Thu Jan 30 12:16:15 2014 -0800 + + Fix a typo in the Makefile.am. + + Fixes #15 (and make dist when built out of tree) + + src/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit f6e91a7e86c288be5e91d58e2bdb110f3c1c89ea +Author: Eric Anholt +Date: Thu Jan 30 12:08:57 2014 -0800 + + Declare a private dependency on libdl. + + The new linker requires that the consumers of a library link against + the libraries that that library depends on, which is supported by + Libs.private. + + Fixes #16 + + configure.ac | 3 +++ + epoxy.pc.in | 1 + + 2 files changed, 4 insertions(+) + +commit 12ef9dcf2d3600bcbe926c83597f9a782c5a068c +Author: Eric Anholt +Date: Mon Jan 27 17:30:11 2014 -0800 + + Do a trivial sort on the enums generated. + + Python was apparently randomizing the output of the hash iterator, + preventing ccache after a make clean. + + src/gen_dispatch.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit aa778ef39db0d051d0faa3a67553d7bd6cad08dd +Author: Eric Anholt +Date: Wed Jan 22 00:57:35 2014 -0800 + + Add support for Mesa's GLES1 implementation. + + Mesa reports "OpenGL ES-CM 1.1", so we need to not look for a space + after "ES", and 1.1 is still a 1.0-compatible implementation. + + src/dispatch_common.c | 2 +- + src/gen_dispatch.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7f68641d1b3bc1b3336d846f4ecf7620cde22f82 +Author: Eric Anholt +Date: Wed Jan 22 00:58:23 2014 -0800 + + Make headerguards check for double-inclusion of our own headers. + + Since I was touching these bits, it was easy enough to make sure that + our header guards work on our own headers. + + test/headerguards.c | 4 ++++ + 1 file changed, 4 insertions(+) + +commit f10bff9bc04a82562e8ea5842effe411a8b3f884 +Author: Eric Anholt +Date: Tue Jan 21 21:32:20 2014 -0800 + + Avoid polluting the compiler's namespace with our own stuff. + + We can't completely avoid it, since gl's headers use these defines for + their header guards, and we really do need to stop the system GL + headers from doing anything. + + Fixes #14 + + include/epoxy/egl.h | 6 +++--- + include/epoxy/gl.h | 6 +++--- + include/epoxy/glx.h | 6 +++--- + include/epoxy/wgl.h | 6 +++--- + 4 files changed, 12 insertions(+), 12 deletions(-) + +commit d653a87e4648260713c718a8778b5c5e4088a6de +Author: Eric Anholt +Date: Tue Jan 21 11:25:05 2014 -0800 + + Fix the definition of ALL_ATTRIB_BITS. + + It's been 0x000fffff on Mesa since the initial import in 1999. It's + the same value on my OS X 10.8 system, mingw's Windows-compatible + gl.h, and a copy of the windows SDK gl.h I found laying around on the + internet. + + Fixes piglit ARB_multisample/pushpop. + + registry/gl.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8067f15e97573c053bd28e1a18f70d02a4192513 +Merge: cfdb26c 46ad30c +Author: Eric Anholt +Date: Mon Jan 20 09:28:28 2014 -0800 + + Merge branch 'registry' + + Conflicts: + registry/egl.xml + registry/gl.xml + + The only diff we now have from the source is glUnmapBufferOES()'s + alias to normal glUnmapBuffer(). + +commit 46ad30c54f4c4c3290c5ca1740b4919feec16230 +Author: Eric Anholt +Date: Mon Jan 20 09:25:48 2014 -0800 + + Import registry from SVN 24778. + + registry/egl.xml | 91 +++- + registry/gl.xml | 1214 +++++++++++++++++++++++++++++++++++++----------------- + registry/glx.xml | 13 + + 3 files changed, 924 insertions(+), 394 deletions(-) + +commit cfdb26c2a47dd2659e5a9e76480f43150304ce48 +Author: Eric Anholt +Date: Fri Dec 27 17:50:05 2013 -0800 + + Add missing provider for eglCreateImageKHR. + + EGL_KHR_image_base defines these two functions, and so does + EGL_KHR_image (which is bascically the union of EGL_KHR_image_base and + EGL_KHR_image_pixmap). + + registry/egl.xml | 2 ++ + 1 file changed, 2 insertions(+) + +commit efa64545fb7c833c3ff93cdbc3f09d593233d83c +Author: Eric Anholt +Date: Fri Dec 27 13:36:58 2013 -0800 + + Add missing aliases for OES_mapbuffer to desktop's buffer mapping. + + registry/gl.xml | 3 +++ + 1 file changed, 3 insertions(+) + +commit 0b55e879b133e006445bef3bd9e39d844bf85231 +Author: Eric Anholt +Date: Tue Dec 17 15:21:48 2013 -0800 + + Include the README in the distributed tarball. + + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit e6ec61b73735249d56dfe79a59a2c1e15d18a75a +Author: Eric Anholt +Date: Tue Dec 17 15:12:35 2013 -0800 + + Work around README.md rendering on github. + + It would sure be neat if any of the README previewers out there + actually rendered things the same way github does. + + README.md | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9bc909f5a7024ca3c2b5aa2fc26b19e8de9c7cf0 +Author: Eric Anholt +Date: Tue Dec 17 14:32:18 2013 -0800 + + win32: Convert the API to being based on function pointers, like Linux. + + For performance, I want to be able to make single-context (well, + single-pixel-format-and-device) apps be able to directly call GL + functions through function pointers. Bake that into the ABI now so I + can get a release out the door and fix this up later. + + This also fixes the lack of __stdcall annotation on the + PFNWHATEVERPROC typedefs. + + README.md | 10 ++++++++++ + include/epoxy/gl.h | 2 +- + src/dispatch_common.c | 2 -- + src/dispatch_common.h | 12 +++++------- + src/dispatch_wgl.c | 4 ++++ + src/gen_dispatch.py | 36 ++++++++++++++++++------------------ + 6 files changed, 38 insertions(+), 28 deletions(-) + +commit 3ae4726cdbb0fccdb02bcdba07662fe6f6a15589 +Author: Eric Anholt +Date: Tue Dec 17 14:18:49 2013 -0800 + + win32: Expose the dispatch table reset funtion in the public API. + + Fixes #2. + + README.md | 11 +++++++++++ + include/epoxy/wgl.h | 1 + + src/dispatch_wgl.c | 23 ++++++++++++++++------- + 3 files changed, 28 insertions(+), 7 deletions(-) + +commit c4214a39f4ef941316042d48cabfbd826cc7a07f +Author: Eric Anholt +Date: Tue Dec 17 09:40:17 2013 -0800 + + win32: Reset all dispatch tables to re-resolve on any wglMakeCurrent. + + src/dispatch_common.c | 8 -------- + src/dispatch_common.h | 8 ++++++++ + src/dispatch_wgl.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/gen_dispatch.py | 6 +++++- + 4 files changed, 63 insertions(+), 9 deletions(-) + +commit 8dcd1512db65a66d5693bfa802e9323d26e12b2e +Author: Eric Anholt +Date: Tue Dec 17 10:40:25 2013 -0800 + + Drop the PLATFORM_HAS_EGL check in epoxy_egl_dlsym(). + + If you accidentally call it on a non-egl platform, better to get an + informative error message. + + src/dispatch_common.c | 4 ---- + 1 file changed, 4 deletions(-) + +commit 5112b477c25f8efc65b3892573bc9499de910dbe +Author: Eric Anholt +Date: Tue Dec 17 10:38:29 2013 -0800 + + win32: Move dynamic symbol loading to do_dlsym(). + + This should help get us better error handling when we accidentally + call the wrong loader path. + + src/dispatch_common.c | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit 417927e2ebea79f52f65e63e2524c01a351960ee +Author: Eric Anholt +Date: Tue Dec 17 10:17:17 2013 -0800 + + win32: Start wrapping the 1.0 wgl functions. + + I want to have a chance to intercept wglMakeCurrent for WGL's + context-dependent function pointer handling. + + src/gen_dispatch.py | 25 ++++++++++++------------- + 1 file changed, 12 insertions(+), 13 deletions(-) + +commit 9a7be0784faba0d97a32051a873d7feb47981a37 +Author: Eric Anholt +Date: Tue Dec 17 09:31:39 2013 -0800 + + win32: Use thread local storage to get us a dispatch table per thread. + + src/dispatch_common.h | 7 ++++++ + src/dispatch_wgl.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/gen_dispatch.py | 15 +++++++++++-- + 3 files changed, 79 insertions(+), 2 deletions(-) + +commit 8022cda75d65f537c48d4b43b44879abe558c1b7 +Author: Eric Anholt +Date: Tue Dec 17 10:51:38 2013 -0800 + + Don't forget to tell our users that the epoxy GL functions are __dllimport. + + This lets the compiler generate faster function calls (call through + function pointer, instead of call into a linker-generated stub func + containing jump to function pointer). + + include/epoxy/gl.h | 5 +++++ + src/dispatch_common.h | 1 + + src/gen_dispatch.py | 8 +++----- + 3 files changed, 9 insertions(+), 5 deletions(-) + +commit 920543faa4d789aa2417331a77bb8383574efab0 +Author: Eric Anholt +Date: Mon Dec 16 10:43:29 2013 -0800 + + Add and clean up some more comments in the python. + + Fixes #8 + + src/gen_dispatch.py | 31 ++++++++++++++++++++++--------- + 1 file changed, 22 insertions(+), 9 deletions(-) + +commit 7a8553f7992705be4d5d443787ef3bbf945c5249 +Author: Eric Anholt +Date: Mon Dec 16 09:39:41 2013 -0800 + + Update python comments about aliases. + + src/gen_dispatch.py | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit bf628d9cf36332aff50e09d46a2f0e33a94031b1 +Author: Eric Anholt +Date: Mon Dec 16 09:29:53 2013 -0800 + + Add support for lower-priority aliases of functions. + + For example, on desktop 2.1 GL on Apple, there's no glBindVertexArray, + but there is glBindVertexArrayAPPLE, and as far as a caller is + concerned, the APPLE variant should be able to stand in for the + core/ARB version. Similarly for trying to do FBOs on an old Mesa + implementation that didn't have ARB_fbo yet, but did have EXT_fbo. + + src/gen_dispatch.py | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 972989b4ce364221de64593cd61362ed236f7f06 +Author: Eric Anholt +Date: Mon Dec 16 09:20:25 2013 -0800 + + Fix copyrights on the Makefile.ams. + + When initially writing the Makefiles, I started from a Makefile.am + that had ajax's copyright instead of an Intel one. The only line I + can see that's left from the original Makefile.am is "pkgconfigdir" in + the root Makefile.am. + + Makefile.am | 33 +++++++++++++++++---------------- + include/epoxy/Makefile.am | 33 +++++++++++++++++---------------- + src/Makefile.am | 33 +++++++++++++++++---------------- + test/Makefile.am | 33 +++++++++++++++++---------------- + 4 files changed, 68 insertions(+), 64 deletions(-) + +commit 21f4346af0fb1076d403ec4cfa6910de05eb06b2 +Author: Eric Anholt +Date: Mon Dec 16 09:18:58 2013 -0800 + + Update header comments about how the implementation works. + + include/epoxy/egl.h | 9 ++------- + include/epoxy/gl.h | 11 ++--------- + include/epoxy/glx.h | 9 ++------- + 3 files changed, 6 insertions(+), 23 deletions(-) + +commit fa7aa87bc0efb03c52f57a7951ba7b1c2ff62625 +Author: Eric Anholt +Date: Mon Dec 16 09:14:31 2013 -0800 + + Drop the inconsistent use of #pragma once. + + Apparently it's not totally portable, and the #ifdefs work fine (and + equivalently to the pragma, on some compilers). + + include/epoxy/egl.h | 2 -- + include/epoxy/glx.h | 2 -- + include/epoxy/wgl.h | 2 -- + 3 files changed, 6 deletions(-) + +commit c92fcc852fe123034633eba9cda91c780632b2f8 +Author: Eric Anholt +Date: Mon Dec 16 08:25:12 2013 -0800 + + Fix testsuite build on OS X. + + There's no linker flag of this name in the normal clang, presumably + beause the linker feature doesn't exist. + + configure.ac | 4 ++++ + test/Makefile.am | 6 +++++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +commit c24afd8a9e5621638bc86e9013df49c8caa593d8 +Author: Eric Anholt +Date: Sun Dec 15 22:39:36 2013 -0800 + + Fix printout of missing versions/extensions. + + Not sure how I misplaced the \n in the previous fix. + + src/dispatch_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8f42fd3fe4ec6376234b520a546846600f23352f +Author: Eric Anholt +Date: Sun Dec 15 20:54:41 2013 -0800 + + Fix declaration of glBegin/End_unwrapped. + + On non-win32, it was declaring a new function pointer variable on + every #include, and OS X's linker got angry. + + src/dispatch_common.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 26880549bc5db7cfd99a82b80ca113c5273bf35a +Author: Eric Anholt +Date: Sun Dec 15 20:21:02 2013 -0800 + + Fix loading of extension functions on OS X. + + For a non-GLX application, at least, we need to pull our extensions + using dlsym, not glXGetProcAddress(). The symptom was a segfault in + glXGetProcAddress(). + + src/dispatch_common.c | 2 ++ + 1 file changed, 2 insertions(+) + +commit 28c2dcb99b7b7deb26b4066d850ad4ba3705f7f7 +Author: Eric Anholt +Date: Fri Dec 13 19:42:31 2013 -0800 + + Use a non-inlined helper for the simple case of a single provider. + + This reduces the built size by another 37k. + + src/gen_dispatch.py | 54 +++++++++++++++++++++++++++++++++++++---------------- + 1 file changed, 38 insertions(+), 16 deletions(-) + +commit c4f582b5329f4c6832a2b111b9db107da0d87a32 +Author: Eric Anholt +Date: Fri Dec 13 19:18:11 2013 -0800 + + Reuse the same string table in one more place. + + Saves another 53k on disk, no relocations. + + src/gen_dispatch.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 39ccf7089b0b67d8bec36b571d50d14493ac23c7 +Author: Eric Anholt +Date: Fri Dec 13 19:01:35 2013 -0800 + + Use offsets into a string table to reduce the binary size. + + Saves 54k on disk and 3700 relocations. + + src/gen_dispatch.py | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 982e39f188aa34d3b8d5015d56677113dd665e72 +Author: Eric Anholt +Date: Fri Dec 13 17:51:07 2013 -0800 + + Move the #defines into the main generated header. + + I initially thought I was going to have two sets of defines you chose + from using #include, but that never ended up being necessary. + + .gitignore | 4 ---- + include/epoxy/egl.h | 1 - + include/epoxy/gl.h | 1 - + include/epoxy/glx.h | 1 - + include/epoxy/wgl.h | 1 - + src/Makefile.am | 4 ---- + src/gen_dispatch.py | 6 +----- + 7 files changed, 1 insertion(+), 17 deletions(-) + +commit 3d2a2b3c80235bbcae97c1ba552478c40b317185 +Author: Eric Anholt +Date: Fri Dec 13 14:41:12 2013 -0800 + + Abandon ifuncs and go with the traditional global function pointers. + + In addition to the failing testcase, there were a couple of + regressions in piglit's attribs test: one from glBegin_unwrapped vs + glBegin confusion in the __asm__ directives we were generating, and + one where the function pointers apparently were just getting mixed up + at application runtime. + + README.md | 18 ------------- + src/dispatch_common.c | 21 ++++++++++++--- + src/dispatch_common.h | 16 +++++++++-- + src/gen_dispatch.py | 74 ++++++++++++++++++++++++++------------------------- + test/Makefile.am | 2 -- + 5 files changed, 69 insertions(+), 62 deletions(-) + +commit e58e98feee46d9862fcac985f3e5b91a3f770b61 +Author: Eric Anholt +Date: Fri Dec 13 16:59:49 2013 -0800 + + Fix the behavior of glx_shared_znow if it doesn't die at startup. + + We're sharing the source file with glx_static, but we don't want to + SKIP due to not being statically linked. + + test/Makefile.am | 1 + + test/glx_static.c | 2 ++ + 2 files changed, 3 insertions(+) + +commit 5c4f73fa7f4b680977d5b1fcced28107cccc3a7e +Author: Eric Anholt +Date: Fri Dec 13 13:01:22 2013 -0800 + + Add a test showing a way that our ifuncs are broken. + + test/.gitignore | 1 + + test/Makefile.am | 7 +++++++ + 2 files changed, 8 insertions(+) + +commit acd3b38d6e2314a5070a408dd6f310e91f4958a4 +Author: Eric Anholt +Date: Fri Dec 13 12:27:55 2013 -0800 + + Relink tests when the library changes. + + For the dynamically-linked tests, it wasn't a big deal because the + updated library was always picked up. But for glx_static, we were + actually testing stale code. + + test/Makefile.am | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 10c611a3f1e2cb6c796a3eb1b3aaf77b69b3466b +Author: Eric Anholt +Date: Fri Dec 13 12:22:36 2013 -0800 + + Add a check that we've made it into the C runtime when doing dlopen(). + + This should give us a more informative failure mode than the one + mentioned in the README. + + src/dispatch_common.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +commit 03e9537331269442e0c2c3a59fe0b325cc4770a0 +Author: Eric Anholt +Date: Thu Dec 12 13:44:06 2013 -0800 + + Fix infinite loop in extension detection when the needle is a substring. + + We could keep examining the same ptr value over and over. + + src/dispatch_common.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit cb647a085398e2d6dd063aabde626b758f3ab307 +Author: Eric Anholt +Date: Thu Dec 12 17:16:57 2013 -0800 + + Fix loading of EGL 1.1+ entrypoints. + + src/gen_dispatch.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit dd6feb7b00545611a7a5b1d469244b3936d46cad +Author: Eric Anholt +Date: Thu Dec 12 13:12:19 2013 -0800 + + Include epoxy/gl.h instead of epoxy/gl_generated.h from egl_generated.h + + This gets us the safety check for including GL/gl.h before epoxy/gl.h + + src/gen_dispatch.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 46e036419ca58f8ef268208c6633e7ac805262c5 +Author: Eric Anholt +Date: Thu Dec 12 13:00:01 2013 -0800 + + Include epoxy/gl.h from epoxy/glx.h. + + This gives us consistency with GL/glx.h's include of GL/gl.h. + + include/epoxy/glx.h | 1 + + 1 file changed, 1 insertion(+) + +commit 59edbacf7da0ad57645cbe856de053c7ccb4708a +Author: Eric Anholt +Date: Thu Dec 12 11:44:18 2013 -0800 + + Remove a bad alias of glGetAttachedShaders. + + On OS X, GLhandleARB is void *, which is of different size than GLuint + on 64-bit. Because of this, the implementation of + glGetAttachedObjectsARB must be different from glGetAttachedShaders, + since the pointers/ints are packed the output memory. + + registry/gl.xml | 1 - + 1 file changed, 1 deletion(-) + +commit 0cfb0a044bc43245409c020e2ca34091c96283d4 +Author: Eric Anholt +Date: Thu Dec 12 11:18:28 2013 -0800 + + Fix most GLhandleARB warnings on OS X with a big comment in our code. + + configure.ac | 4 ++++ + src/gen_dispatch.py | 23 +++++++++++++++++++++-- + 2 files changed, 25 insertions(+), 2 deletions(-) + +commit 8d8334c350e8979c23bd9fe7c942693fcf76f958 +Author: Eric Anholt +Date: Thu Dec 12 10:55:32 2013 -0800 + + Use the right library name for GLX on OS X. + + src/dispatch_common.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit d6e4e9ac4c93ac517e8ef98d8dbcb1867b483229 +Author: Eric Anholt +Date: Wed Dec 11 16:53:36 2013 -0800 + + Fix the build of the headerguards test on OS X. + + test/headerguards.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit d82c5c33a6ba5a1714678e0b0f21eb265b0eaab8 +Author: Eric Anholt +Date: Wed Dec 11 16:49:08 2013 -0800 + + Fix the path to the GL library on OS X. + + src/dispatch_common.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +commit 34d7b3d8725cf3ac3e6679dbe1d59e051f5d3b8e +Author: Eric Anholt +Date: Wed Dec 11 16:44:07 2013 -0800 + + Fix signedness warning on OS X build of the testsuite. + + test/glx_glxgetprocaddress_nocontext.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 708c31a4064f67d4ac4ef8877a4b6c313e4dbc5a +Author: Eric Anholt +Date: Wed Dec 11 16:34:05 2013 -0800 + + Disable EGL on OS X. + + It doesn't exist. There's EAGL, but that's not something we're + covering. + + configure.ac | 6 ++++++ + src/dispatch_common.c | 14 +++++++++++++- + src/dispatch_common.h | 4 ++++ + 3 files changed, 23 insertions(+), 1 deletion(-) + +commit 940438fae3715547256d3cf220e886bbe972521a +Author: Eric Anholt +Date: Wed Dec 11 16:32:57 2013 -0800 + + Use X11_CFLAGS during the build so we find the right xlib headers. + + We don't need x11_libs, because we don't directly call any xlib + functions. We're just passing xlib types around. + + src/Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 847ba1acdfc2c80f4e4dc5c3b69b6ff9e02af85f +Author: Eric Anholt +Date: Wed Dec 11 16:25:48 2013 -0800 + + Add an appropriate error message if libX11 is missing. + + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 6c0e0423f697531927568bd7668d0818594baf91 +Author: Eric Anholt +Date: Wed Dec 11 16:21:47 2013 -0800 + + Add build instructions to the readme. + + README.md | 28 ++++++++++++++++++++++++++++ + 1 file changed, 28 insertions(+) + +commit 57280133e60f38f7b5385786dacec94a6faf8cba +Author: Eric Anholt +Date: Wed Dec 11 15:20:10 2013 -0800 + + Update the README for WGL support. + + README.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6e8977a177ef4c361cf78512ae45a4e10a0674db +Author: Eric Anholt +Date: Wed Dec 11 15:15:35 2013 -0800 + + Link the library with -Bsymbolic. + + We don't want anybody to accidentally override the library's internal + usage of epoxy_has_gl_extension() or similar public interfaces. + + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 1e443b2daf3de617b20c2263d57de8a484b49dbc +Author: Eric Anholt +Date: Wed Dec 11 12:55:57 2013 -0800 + + Use ifuncs on Linux to avoid dispatch table overhead. + + These tell the linker to generate GNU_IFUNC relocs that rewrite the + PLT entries in the user's address space to point to our resolved GL + function, so there's no extra function pointer. It also, as a bonus, + cuts 400k out of the library. + + This requires a toolchain from 2010 or so. Unfortunately, it's going + to take a bit more investigation to find out what specific bits are + required. + + Fixes #4 + + README.md | 18 ++++++++++++++++++ + src/gen_dispatch.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 62 insertions(+) + +commit 6553c08752f3f977db232932dfd92019add9c5da +Author: Eric Anholt +Date: Wed Dec 11 14:51:22 2013 -0800 + + Fix compiler warning in glx_static. + + test/glx_static.c | 1 + + 1 file changed, 1 insertion(+) + +commit 22ce76fe0bcb8cf78ce212cdeb1c6ed69553db1e +Author: Eric Anholt +Date: Wed Dec 11 14:29:13 2013 -0800 + + Make glx_static report skip if it was built non-static. + + It won't have that symbol, unless it happens to be linked against the + full library. + + test/glx_static.c | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 2206e6e3021da18231f27698583b994369c9e566 +Author: Eric Anholt +Date: Wed Dec 11 13:42:17 2013 -0800 + + Add a testcase for trying to use libepoxy as a static library. + + Note that it will only actually link statically against epoxy if + you've set --enable-static. + + test/.gitignore | 1 + + test/Makefile.am | 4 ++++ + test/glx_static.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 67 insertions(+) + +commit 85dc3821fe318c41b7b8c27caf0a322b8a7ba88b +Author: Eric Anholt +Date: Wed Dec 11 13:09:07 2013 -0800 + + Move the unwrapped logic to function setup. + + I'm going to want the same stuff for ifuncs. + + src/gen_dispatch.py | 35 +++++++++++++++++------------------ + 1 file changed, 17 insertions(+), 18 deletions(-) + +commit 8a56585dcb5121ae737af64b6c739183c733c36c +Author: Eric Anholt +Date: Wed Dec 11 12:58:43 2013 -0800 + + Make func.alias_name always have the name of our alias. + + The "None" for "we're not an alias of anything else" wasn't actually + simplifying things. + + src/gen_dispatch.py | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +commit f843d63da272a07db5fd767046acf053651fd8ed +Author: Eric Anholt +Date: Tue Dec 10 17:14:46 2013 -0800 + + Reduce the overhead of the dispatch table usage. + + We now initialize our dispatch table with function pointers that go + and do the rewrite, then we never have to check for a NULL table entry + again. On my 64-bit build, epoxy_glClear() drops from 83 bytes to 14, + while the total library size only goes up by 5%. + + This also paves the way for fixing our dispatch table management using + TLS on windows. + + src/gen_dispatch.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 54 insertions(+), 8 deletions(-) + +commit ca14052cfe5dea77a09fcda4efeacf9ac83b1348 +Author: Eric Anholt +Date: Mon Dec 9 08:51:27 2013 -0800 + + Add a test for basic functionality on win32. + + test/.gitignore | 1 + + test/Makefile.am | 19 +++++++ + test/wgl_common.c | 128 +++++++++++++++++++++++++++++++++++++++++++++++ + test/wgl_common.h | 27 ++++++++++ + test/wgl_core_and_exts.c | 81 ++++++++++++++++++++++++++++++ + 5 files changed, 256 insertions(+) + +commit 1d746bfeb234bee77b62af4e75ae90ef8f6c616e +Author: Eric Anholt +Date: Mon Dec 9 14:52:19 2013 -0800 + + Add dispatch generation for wgl. + + This is very poorly tested at this point, but survives a simple testcase. + + .gitignore | 4 ++++ + configure.ac | 8 +++++++ + include/epoxy/wgl.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/Makefile.am | 29 +++++++++++++++++++++++++ + src/dispatch_common.c | 12 ++++++++++- + src/dispatch_common.h | 6 ++++++ + src/dispatch_wgl.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/gen_dispatch.py | 34 +++++++++++++++++++++++++++++ + 8 files changed, 212 insertions(+), 1 deletion(-) + +commit f4992e151856baf9e713dee6bc773a520eacc114 +Author: Eric Anholt +Date: Tue Dec 10 14:03:21 2013 -0800 + + Use get_core_proc_address() on win32. + + This is needed for glGetString() lookup to work, since + wglGetProcAddress() returns NULL for core procs. + + src/gen_dispatch.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4eaf4bfe215572e82b8ffab029e3527ae910f507 +Author: Eric Anholt +Date: Tue Dec 10 14:09:37 2013 -0800 + + Fill in the begin/end counting on win32. + + src/dispatch_common.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit b128dd9b253b1586458ecb78276eb1b1a74ad4e3 +Author: Eric Anholt +Date: Mon Dec 9 22:14:09 2013 -0800 + + Move the check for whether to dlsym or GPA on linux to the common C code. + + This is going to change for macos and win32, and this will be easier + than trying to spread that logic through the python code and into the + generated code. + + src/dispatch_common.c | 10 ++++++++++ + src/dispatch_common.h | 1 + + src/gen_dispatch.py | 10 ++-------- + 3 files changed, 13 insertions(+), 8 deletions(-) + +commit d73f06fb4520705ad89036cdf2142307ccd1646c +Author: Eric Anholt +Date: Mon Dec 9 22:56:03 2013 -0800 + + Use ``` on a bunch of code in the README. + + Some of it is to be prettier, and some of it is to avoid misformatting + when using live preview at http://tmpvar.com/markdown.html + + README.md | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit edf5aedb6fb0a10280cd68dd443df0322d0447b6 +Author: Eric Anholt +Date: Mon Dec 9 22:36:23 2013 -0800 + + Rewrite a lot of the README. + + The story about how we came to needing GetProcAddress functions isn't + that interesting, but the featureset is something that should be + (particularly when comparing to similar tools that exist). + + Fixes #7 + + README.md | 64 ++++++++++++++++++++++++++++++++++++++++----------------------- + 1 file changed, 41 insertions(+), 23 deletions(-) + +commit 880b6b39a5e5074df11923e3ac4467650ca6c472 +Author: Carl Worth +Date: Mon Dec 9 11:18:10 2013 -0800 + + Convert list of items to an actual list + + Otherwise, these were running together in a single line, making them + hard to read. + + README.md | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit eb5f6ac74ea37e44a9139ded8954ef423ad9c56c +Author: Carl Worth +Date: Mon Dec 9 11:18:09 2013 -0800 + + Fix "include" examples to use Github-flavored code block + + Previously, these lines were using '>' which is the Markdown syntax + for a "blockquote", but within this, the '#' in "#include" was still + interpreted as a header, (which was not desired), and throwing away + the rest of the line. + + It seems that a "codeblock" is what is wanted here instead, (which + should result in un-interpreted text wrapped in
). Markdown
+    expects 4-space indent for this.
+    
+    See:
+    
+            https://help.github.com/articles/github-flavored-markdown
+
+ README.md | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+commit bfd687da8924b0866fd85695e1de1eb710460bdd
+Author: Eric Anholt 
+Date:   Fri Dec 6 16:33:46 2013 -0800
+
+    Port tests directory to win32.
+
+ Makefile.am      | 2 --
+ configure.ac     | 6 ++++++
+ test/Makefile.am | 4 ++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 259136845d082d02b359c1dbc993b0d294de7b76
+Author: Eric Anholt 
+Date:   Fri Dec 6 13:40:30 2013 -0800
+
+    Start porting the GL dispatch code to win32.
+    
+    It now builds successfully builds a .dll file.  Not that it's usable
+    or anything yet.
+
+ configure.ac          | 39 +++++++++++++++++++++++++++++----------
+ src/Makefile.am       |  5 +++++
+ src/dispatch_common.c | 40 +++++++++++++++++++++++++++++++---------
+ src/dispatch_common.h |  4 +++-
+ 4 files changed, 68 insertions(+), 20 deletions(-)
+
+commit 0e7b9c09397304e745a3b8a9f71f660209ca8beb
+Author: Eric Anholt 
+Date:   Fri Dec 6 17:31:30 2013 -0800
+
+    Fix generation of redundant typedefs.
+
+ src/gen_dispatch.py | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 60ea7c38a2e68b8567d47d171ac8e2aa2365fa9d
+Author: Eric Anholt 
+Date:   Fri Dec 6 12:53:00 2013 -0800
+
+    Move GLX/EGL dispatch code using those API types to separate files.
+    
+    The dlopen bits are left in place, but the functions required the
+    types, and in the case of EGL, the types require that the platform
+    header actually exists.
+
+ src/Makefile.am       |  14 ++++--
+ src/dispatch_common.c | 120 +-------------------------------------------------
+ src/dispatch_common.h |   2 +
+ src/dispatch_egl.c    |  69 +++++++++++++++++++++++++++++
+ src/dispatch_glx.c    | 105 +++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 187 insertions(+), 123 deletions(-)
+
+commit 906d5b6e3a4f7cbb239a237ca20aa71d5306a340
+Author: Eric Anholt 
+Date:   Fri Dec 6 12:21:54 2013 -0800
+
+    Conditionalize building the EGL and GLX dispatch code.
+
+ configure.ac          |  2 ++
+ src/Makefile.am       | 12 +++++++++++-
+ src/dispatch_common.c |  5 +++++
+ src/dispatch_common.h | 15 ++++++++++++++-
+ 4 files changed, 32 insertions(+), 2 deletions(-)
+
+commit 0d7d26537d8d8309ed462fcc5852c7bae9244fee
+Author: Eric Anholt 
+Date:   Fri Dec 6 12:09:57 2013 -0800
+
+    Conditionalize building GLX and EGL tests and headers.
+    
+    Note that the generated code is still generated, they just aren't
+    built and installed.  The goal with that is that someone could take
+    the built .c and .h files and drop it into their own project, if they
+    want to avoid shared libs.
+
+ configure.ac              | 21 +++++++++++++++++++++
+ include/epoxy/Makefile.am |  5 +++++
+ src/Makefile.am           | 12 ++++++++++--
+ test/Makefile.am          | 27 +++++++++++++++++++++------
+ test/headerguards.c       | 13 +++++++++++++
+ test/miscdefines.c        |  6 ++++++
+ 6 files changed, 76 insertions(+), 8 deletions(-)
+
+commit 19053c4d6ffa391f51657e267e35db9e99b205e4
+Author: Eric Anholt 
+Date:   Fri Dec 6 15:49:38 2013 -0800
+
+    Fix out of tree build
+
+ test/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 43acf7b021410e02b21d1d9ffba111d8ba4c5eac
+Author: Eric Anholt 
+Date:   Fri Dec 6 11:50:00 2013 -0800
+
+    Fix make distcheck.
+    
+    Well, not quite.  One of the regression tests is failing with
+    GLXBadFBConfig in that build.  Not sure why.
+
+ Makefile.am               |  2 +-
+ configure.ac              |  1 +
+ include/epoxy/Makefile.am | 30 ++++++++++++++++++++++++++++++
+ src/Makefile.am           | 17 -----------------
+ 4 files changed, 32 insertions(+), 18 deletions(-)
+
+commit 01ce6940733e649f897a1451f8e42bf96435b37c
+Author: Eric Anholt 
+Date:   Thu Dec 5 16:43:16 2013 -0800
+
+    Add a compile-time test for missing #defines.
+
+ test/.gitignore    |  1 +
+ test/Makefile.am   |  1 +
+ test/miscdefines.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 63 insertions(+)
+
+commit 08101c514539f36c80289f17221e8acab5cf2634
+Author: Eric Anholt 
+Date:   Fri Dec 6 11:38:22 2013 -0800
+
+    Add some more defines that are present in normal gl.h
+
+ include/epoxy/gl.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 26ca6ac8e864ef004194e35b0c9e4e9c4e81a188
+Author: Eric Anholt 
+Date:   Thu Dec 5 17:39:49 2013 -0800
+
+    Add missing #defines for GL versions and extensions.
+    
+    Not having them broke some piglit ES2 compat tests.
+
+ src/gen_dispatch.py | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 1626703ca5b0255dcd4bacd8a0d71a976e3724a9
+Author: Eric Anholt 
+Date:   Wed Dec 4 14:34:27 2013 -0800
+
+    Add a missing ATI enum token to the registry.
+    
+    There's no spec for this, but it's mentioned widely enough on the
+    internet that they'd better not allocate anything else to it.
+
+ registry/gl.xml | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 604d9a085e19c51d6ac216cd5efea60174745d25
+Author: Eric Anholt 
+Date:   Thu Dec 5 17:03:08 2013 -0800
+
+    Remove incorrect alias for BindVertexArray.
+    
+    From Mesa:
+            /* The "Interactions with APPLE_vertex_array_object" section of the
+              * GL_ARB_vertex_array_object spec says:
+              *
+              *     "The first bind call, either BindVertexArray or
+              *     BindVertexArrayAPPLE, determines the semantic of the object."
+              */
+
+ registry/gl.xml | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit f097de94eb6219c63e4933ddc4d759ab2e367103
+Author: Eric Anholt 
+Date:   Thu Dec 5 15:15:37 2013 -0800
+
+    Add support for GLES extensions.
+    
+    I think we don't want to be checking that the context is actually of
+    the declared types -- if the extension is exposed in the extension
+    string, the entrypoints had better be there.
+
+ src/gen_dispatch.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9b8ac7323167567fb56f01a1a8a9c9413aff5991
+Author: Eric Anholt 
+Date:   Thu Dec 5 15:15:12 2013 -0800
+
+    Improve the quality of the missing providers output.
+    
+    In particular, note when it's probably our bug, not the app's bug.
+
+ src/dispatch_common.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 8d208fff512aa177ba4571511be58cf48a234216
+Author: Eric Anholt 
+Date:   Thu Dec 5 15:11:36 2013 -0800
+
+    Print the missing provider information to stderr.
+
+ src/dispatch_common.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0983996e49042264f35e47a9161572b30c13a5f2
+Author: Eric Anholt 
+Date:   Thu Dec 5 13:59:34 2013 -0800
+
+    Fix calling new entrypoints from within glBegin()/glEnd().
+
+ src/dispatch_common.c | 107 ++++++++++++++++++++++++++++++++++++++++++++++----
+ src/dispatch_common.h |   5 +++
+ src/gen_dispatch.py   |  23 +++++++++--
+ test/Makefile.am      |   2 -
+ 4 files changed, 124 insertions(+), 13 deletions(-)
+
+commit 9ffa5d25c4e59acf4808d2f87c1980daa8e7d3cb
+Author: Eric Anholt 
+Date:   Thu Dec 5 13:50:10 2013 -0800
+
+    Add a test for a bug when called during glBegin()/glEnd().
+
+ configure.ac        |   1 +
+ test/.gitignore     |   1 +
+ test/Makefile.am    |   6 +++
+ test/glx_beginend.c | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 115 insertions(+)
+
+commit 4d0d93b1c0a3a7a7f2b146dcc0995007b21d87eb
+Author: Eric Anholt 
+Date:   Thu Dec 5 13:14:16 2013 -0800
+
+    Fix indentation in generated code
+
+ src/gen_dispatch.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1cb041fbaae27eb73f8e5aaa52831e8b74029fd7
+Author: Eric Anholt 
+Date:   Thu Dec 5 13:07:09 2013 -0800
+
+    Fix a compiler warning in the previous commit.
+
+ src/dispatch_common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8bb5a2545ee32a8eaea964a66fc291b517b1fe7e
+Author: Eric Anholt 
+Date:   Thu Dec 5 13:02:51 2013 -0800
+
+    Fix extension detection on core GL contexts.
+    
+    The nasty old strings were deprecated.
+
+ src/dispatch_common.c | 17 +++++++++++++++--
+ test/Makefile.am      |  2 --
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+commit 20f03e65c45d0f906952c3dd4a2f990d02a8870c
+Author: Eric Anholt 
+Date:   Wed Dec 4 16:00:34 2013 -0800
+
+    Add a new test for our public API against a core context.
+    
+    Our extension detection for core is totally broken.
+
+ test/.gitignore            |   1 +
+ test/Makefile.am           |   6 ++
+ test/glx_common.c          |   4 +-
+ test/glx_common.h          |   8 ++-
+ test/glx_public_api_core.c | 167 +++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 183 insertions(+), 3 deletions(-)
+
+commit a258cdcffe9ce30eb7c046aa0ed5fe77e19977b7
+Author: Eric Anholt 
+Date:   Wed Dec 4 15:56:56 2013 -0800
+
+    Pull a helper function from piglit.
+    
+    I need this for doing testing against core contexts.
+
+ test/glx_common.c | 28 +++++++++++++++++++++++++++-
+ test/glx_common.h |  2 ++
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+
+commit f2d5248e3d6e0cac4584d7b1bd69291dee35b23c
+Author: Eric Anholt 
+Date:   Thu Dec 5 12:56:45 2013 -0800
+
+    Add missing .gitignore bits for EGL
+
+ test/.gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c6df72b7d06c61dc95aa2e6558fd96fa2441fa27
+Author: Eric Anholt 
+Date:   Thu Dec 5 12:38:42 2013 -0800
+
+    Drop a bit of commented out python.
+    
+    It was used in debugging before I figured out I needed to resolve
+    aliases late.
+
+ src/gen_dispatch.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 0270c80008e3c6b9f2f5dfba03631f72c7920796
+Author: Eric Anholt 
+Date:   Mon Dec 2 16:25:02 2013 -0800
+
+    Add support for EGL.
+    
+    This totally replaces the getprocaddress and dlsym code, which was
+    basically just stubs up until now.  The is_glx/is_egl() is also
+    dropped -- they weren't doing anything, and the only false answer they
+    could give is if the dlopen were to fail.
+
+ .gitignore                         |   4 +
+ include/epoxy/egl.h                |  63 +++++++++++++
+ src/Makefile.am                    |  24 +++++
+ src/dispatch_common.c              | 185 ++++++++++++++++++++++++++++++-------
+ src/dispatch_common.h              |  27 ++----
+ src/gen_dispatch.py                |  68 ++++++++------
+ test/Makefile.am                   |  14 ++-
+ test/egl_common.c                  |  50 ++++++++++
+ test/egl_common.h                  |  25 +++++
+ test/egl_has_extension_nocontext.c |  70 ++++++++++++++
+ test/headerguards.c                |   3 +
+ 11 files changed, 452 insertions(+), 81 deletions(-)
+
+commit 111c54992b54f090b63278daa541e29b341bb2ad
+Author: Eric Anholt 
+Date:   Thu Dec 5 11:10:51 2013 -0800
+
+    Drop the installed _common.h headers.
+    
+    I was thinking at one point that part of the build was going to
+    require not including the #defines from the generated code, but would
+    want these prototypes.  It turns out that's not the case (and if it
+    is, I'll just wrap the #defines in an ifdef).
+
+ include/epoxy/gl.h         |  7 ++++++-
+ include/epoxy/gl_common.h  | 39 ---------------------------------------
+ include/epoxy/glx.h        |  8 +++++++-
+ include/epoxy/glx_common.h | 41 -----------------------------------------
+ src/Makefile.am            |  2 --
+ src/dispatch_common.h      |  4 ++--
+ src/gen_dispatch.py        |  2 +-
+ 7 files changed, 16 insertions(+), 87 deletions(-)
+
+commit 2be86a9a9c229423a5d87b772093ab58c1ebe7a2
+Author: Eric Anholt 
+Date:   Thu Dec 5 11:06:23 2013 -0800
+
+    Add .gitignore for the built tests.
+
+ test/.gitignore | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 2ba8d853b4bbe50bcd60cfa89f3a0b5cf4e8d147
+Author: Eric Anholt 
+Date:   Wed Dec 4 15:37:39 2013 -0800
+
+    Add some more gl.h definitions that might be used by applications.
+    
+    These in particular get used by software that was doing
+    GetProcAddress, and we want to be able to just drop in our gl.h
+    instead.
+
+ include/epoxy/gl.h | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 725b8cfc818514a455a8f412592f73f0305068d8
+Author: Eric Anholt 
+Date:   Wed Dec 4 15:37:27 2013 -0800
+
+    Add C++ guards.
+
+ include/epoxy/gl.h  | 8 ++++++++
+ include/epoxy/glx.h | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+commit de70a2a0abfade6fa3fb4876f4c90e3715e9b70f
+Author: Eric Anholt 
+Date:   Wed Dec 4 19:07:36 2013 -0800
+
+    Fix a similar bug to HEAD~2, this time in epoxy_has_glx_extension().
+
+ include/epoxy/glx_common.h         |  2 +-
+ src/dispatch_common.c              | 26 +++++++++++++++++++-------
+ src/dispatch_common.h              |  1 +
+ src/gen_dispatch.py                |  2 +-
+ test/Makefile.am                   |  2 --
+ test/glx_has_extension_nocontext.c |  4 ++--
+ test/glx_public_api.c              |  4 ++--
+ 7 files changed, 26 insertions(+), 15 deletions(-)
+
+commit 7603c144db3a5f880f6ce56ccf9eca6c27dc4d70
+Author: Eric Anholt 
+Date:   Wed Dec 4 19:05:10 2013 -0800
+
+    Add a failing testcase for the public API of epoxy_has_glx_extension.
+
+ test/Makefile.am                   |  6 ++++
+ test/glx_has_extension_nocontext.c | 56 ++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 62 insertions(+)
+
+commit 0f67bf3f1192fb0bbd0b868eeb73a18f76951b01
+Author: Eric Anholt 
+Date:   Wed Dec 4 18:45:52 2013 -0800
+
+    Fix bug in public entrypoint for epoxy_glx_version()
+    
+    Unfortunately, for GLX 1.4+ entrypoints (just glxGetProcAddress
+    currently) or extensions, if there isn't a context bound then we don't
+    have a dpy and screen available to provide useful debug messages.  Oh
+    well.
+
+ include/epoxy/glx_common.h             |  5 ++++-
+ src/dispatch_common.c                  | 26 ++++++++++++++++++++------
+ src/dispatch_common.h                  |  1 +
+ src/gen_dispatch.py                    |  2 +-
+ test/Makefile.am                       |  2 --
+ test/glx_glxgetprocaddress_nocontext.c |  2 +-
+ test/glx_public_api.c                  |  2 +-
+ 7 files changed, 28 insertions(+), 12 deletions(-)
+
+commit 14f822ee91adc1531b7689d2f6083cdb1476154d
+Author: Eric Anholt 
+Date:   Wed Dec 4 19:00:13 2013 -0800
+
+    Add a testcase for a bug in the public API.
+
+ test/Makefile.am                       |  6 ++++
+ test/glx_glxgetprocaddress_nocontext.c | 56 ++++++++++++++++++++++++++++++++++
+ 2 files changed, 62 insertions(+)
+
+commit 2f811c543f4995dddb044bc2bee841bca72a9eda
+Author: Eric Anholt 
+Date:   Wed Dec 4 18:43:31 2013 -0800
+
+    Clean up loader setup for GLX.
+
+ src/gen_dispatch.py | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit 5f60534bac26bfea0bbaf08261220b8feadf7812
+Author: Eric Anholt 
+Date:   Wed Dec 4 18:25:50 2013 -0800
+
+    Fix up an unfinished comment
+
+ src/dispatch_common.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 617fd39b5b59f58d362b8f2863d6d392fe7df61d
+Author: Eric Anholt 
+Date:   Wed Dec 4 16:18:28 2013 -0800
+
+    Add a test for including system GL headers after epoxy.
+
+ test/Makefile.am    |  3 ++-
+ test/headerguards.c | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 37 insertions(+), 1 deletion(-)
+
+commit 689abf4d4df1cab924557443fa7886fb5c85f0b0
+Author: Eric Anholt 
+Date:   Wed Dec 4 16:19:04 2013 -0800
+
+    Fix including system glx.h after our glx.h
+
+ include/epoxy/glx.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 106298f2f9ef5cea1714156f1c2068710cea4e6c
+Author: Eric Anholt 
+Date:   Wed Dec 4 16:11:53 2013 -0800
+
+    Add a little more testing of our public GLX API.
+
+ test/glx_public_api.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 42fd4b607ad4a16939abd5d69792080c8092d5e3
+Author: Eric Anholt 
+Date:   Wed Dec 4 14:43:09 2013 -0800
+
+    Fix generation of the function pointer typedefs.
+    
+    We were disagreeing with the GL headers on their names.
+
+ src/gen_dispatch.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4564d314893143c9136ff0efb85c95d31b66943f
+Author: Eric Anholt 
+Date:   Mon Dec 2 16:27:20 2013 -0800
+
+    Use self.target instead of mucking around with the filename.
+    
+    This cleans things up for upcoming EGL support.
+
+ src/gen_dispatch.py | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit 502eaccfd40999b99c8340fbbda67578ae41e69a
+Author: Eric Anholt 
+Date:   Mon Dec 2 16:17:32 2013 -0800
+
+    Add whitespace in generated code after the enum strings.
+
+ src/gen_dispatch.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2203a31ed2226b63d011c66b37b024c5148f2b03
+Author: Eric Anholt 
+Date:   Mon Dec 2 13:52:13 2013 -0800
+
+    Make function resolving be data-driven.
+    
+    This saves another 24k of built code.
+
+ src/gen_dispatch.py | 148 +++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 101 insertions(+), 47 deletions(-)
+
+commit a82e54aafaad51e870e719ba0d03936640d9c22b
+Author: Eric Anholt 
+Date:   Mon Dec 2 12:36:36 2013 -0800
+
+    Make a table full of strings describing our providers.
+    
+    By having shared code to print the names and a shared table of what
+    the names are, this reduces the built stripped size of the library by
+    80k.
+
+ src/dispatch_common.c | 12 ++++++++
+ src/dispatch_common.h |  3 ++
+ src/gen_dispatch.py   | 80 ++++++++++++++++++++++++++++++++++++++++++---------
+ 3 files changed, 81 insertions(+), 14 deletions(-)
+
+commit 6c1e0e38f3ec65f140406f15963290c82ad7c9d9
+Author: Eric Anholt 
+Date:   Mon Dec 2 09:47:36 2013 -0800
+
+    Fix building from a clean source tree.
+    
+    I had things mixed around wtih srcdir vs builddir, and we were getting
+    our deps generated into literally '$(builddir)/.deps/...', and then
+    the Makefile broke trying to include $(builddir)/.deps/... with
+    variable expansion.
+
+ src/Makefile.am | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 8139c7c489e6422e735d6ca464b7a9d1366ef6da
+Author: Eric Anholt 
+Date:   Thu Nov 14 11:07:00 2013 -0800
+
+    Actually implement GLX version detection.
+
+ src/dispatch_common.c | 27 ++++++++++++++++++++++++++-
+ src/gen_dispatch.py   |  2 +-
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+
+commit 75c97229d375a5a000a490b2019ced9f905f6945
+Author: Eric Anholt 
+Date:   Thu Nov 14 11:04:38 2013 -0800
+
+    Assume GLX 1.2 is automatically available on Linux with GLX.
+    
+    This prevents infinite recursion in dispatch when trying to find
+    symbols to determine the GLX version.
+
+ src/gen_dispatch.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 04cf940e1b6406e3bda59b857fe410073332b032
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:59:25 2013 -0800
+
+    Add an initial testsuite for GLX API.
+
+ .gitignore            |   1 +
+ Makefile.am           |   6 +--
+ configure.ac          |   1 +
+ test/Makefile.am      |  42 ++++++++++++++++++++
+ test/glx_common.c     | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ test/glx_common.h     |  31 +++++++++++++++
+ test/glx_public_api.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 285 insertions(+), 3 deletions(-)
+
+commit ed938dc4c592f0e3420a2b0ab6e3b5f9cec0c1f7
+Author: Eric Anholt 
+Date:   Mon Nov 11 10:10:34 2013 -0800
+
+    Make a few more public functions actually public.
+
+ include/epoxy/gl_common.h | 1 +
+ src/dispatch_common.c     | 6 +++---
+ src/dispatch_common.h     | 1 -
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 66d7b9fb0282a48e91224c28a457458132ca19a2
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:27:07 2013 -0800
+
+    Fix the version detection for GL < 3.
+    
+    Those nice enums came late in the GL spec.  This code is copied from
+    piglit, by Matt Turner in 2012.
+
+ src/dispatch_common.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+commit a1d555e4469aa4617ef56dd0e009b1c9f41ef224
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:23:52 2013 -0800
+
+    Fix a copy-and-paste mistake in getting GL version
+
+ src/dispatch_common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e1a183c4eb6c052be2e6830794af361e196b9bff
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:20:17 2013 -0800
+
+    Remove accidentally committed debug printf.
+
+ src/dispatch_common.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 69241485d1659d0cd86e449c1708c7b8ccb1c260
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:19:36 2013 -0800
+
+    Fix test for is_desktop_gl.
+    
+    We're looking for "return true if no ES", and strcmp returns != 0 if
+    not match (the ES string).
+
+ src/dispatch_common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0098d0a6538f44449b2921b689b07632c68212f3
+Author: Eric Anholt 
+Date:   Mon Nov 11 09:18:01 2013 -0800
+
+    Sort the functions in the generated code.
+    
+    This makes looking through the resulting code much nicer.
+
+ src/gen_dispatch.py | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 48297bb543a718e5f488f03c5564248e5a56f9f7
+Author: Eric Anholt 
+Date:   Thu Oct 24 10:35:00 2013 -0700
+
+    Fix parallel build of the generated source code.
+    
+    Make didn't know that our rule generated all 3 things, so it would
+    generate 3 times, and in parallel you'd end up writing over each
+    other.
+
+ src/Makefile.am | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit faad44cc0a51976a5ddcca6b049f91dae6cc666c
+Author: Eric Anholt 
+Date:   Thu Sep 19 09:50:49 2013 -0700
+
+    Fix the aliasing support to actually build.
+    
+    Jordan asked me to show my code, so I pushed the snapshot I had,
+    forgetting that the build was broken at that point in commit
+    --amending.
+
+ src/gen_dispatch.py | 62 ++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 47 insertions(+), 15 deletions(-)
+
+commit 4c9b7e63b19bb45ead0131d28f9ed1d046e468b3
+Author: Eric Anholt 
+Date:   Thu Nov 14 11:10:48 2013 -0800
+
+    Consistently use 4-space indents.
+
+ src/dispatch_common.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit a652f8f6a24c0e1599b1108398780df81d652582
+Author: Eric Anholt 
+Date:   Thu Nov 14 11:01:45 2013 -0800
+
+    Add .dir-locals to tell emacs how to format by default.
+    
+    I'd apparently been typing in two different styles.
+
+ .dir-locals.el | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit a909eb4a229ebbea2d60717e748df3f0a2f69cc4
+Author: Eric Anholt 
+Date:   Thu Sep 19 09:50:49 2013 -0700
+
+    Add the generator and build infrastructure.
+    
+    Not actually working yet, but it's a snapshot to start from.
+
+ .gitignore                 |  90 +++++++++
+ Makefile.am                |  36 ++++
+ README.md                  |  61 ++++++
+ autogen.sh                 |  14 ++
+ configure.ac               |  75 ++++++++
+ epoxy.pc.in                |  10 +
+ include/epoxy/gl.h         |  52 ++++++
+ include/epoxy/gl_common.h  |  38 ++++
+ include/epoxy/glx.h        |  51 +++++
+ include/epoxy/glx_common.h |  38 ++++
+ src/Makefile.am            |  84 +++++++++
+ src/dispatch_common.c      | 217 +++++++++++++++++++++
+ src/dispatch_common.h      |  55 ++++++
+ src/gen_dispatch.py        | 456 +++++++++++++++++++++++++++++++++++++++++++++
+ 14 files changed, 1277 insertions(+)
+
+commit db667aa8b847aa9718bce8f371c65a739ea922ef
+Author: Eric Anholt 
+Date:   Thu Sep 19 09:33:55 2013 -0700
+
+    Import khronos API registry from SVN commit 22908
+
+ registry/egl.xml |  1655 +++
+ registry/gl.xml  | 40959 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ registry/glx.xml |  1977 +++
+ registry/wgl.xml |  1957 +++
+ 4 files changed, 46548 insertions(+)
diff -Nru libepoxy-1.3.1/compile libepoxy-1.4.3/compile
--- libepoxy-1.3.1/compile	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/compile	2017-11-13 11:34:09.000000000 +0000
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey .
 #
 # This program is free software; you can redistribute it and/or modify
diff -Nru libepoxy-1.3.1/config.guess libepoxy-1.4.3/config.guess
--- libepoxy-1.3.1/config.guess	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/config.guess	2017-11-13 11:34:09.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2013-06-10'
+timestamp='2016-10-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to .
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
 	;;
 esac
 
@@ -168,19 +168,29 @@
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || \
+	    echo unknown)`
 	case "${UNAME_MACHINE_ARCH}" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-unknown
+		;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		os=netbsdelf
+		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@
 		os=netbsd
 		;;
 	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
 	# The OS release
 	# Debian GNU/NetBSD machines have a different userland, and
 	# thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
+	echo "${machine}-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -235,6 +256,9 @@
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
+    *:Sortix:*:*)
+	echo ${UNAME_MACHINE}-unknown-sortix
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -251,42 +275,42 @@
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -359,16 +383,16 @@
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +417,7 @@
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -579,8 +603,9 @@
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
@@ -617,13 +642,13 @@
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -662,11 +687,11 @@
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -679,12 +704,12 @@
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -789,14 +814,14 @@
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -826,7 +851,7 @@
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -878,7 +903,7 @@
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -901,7 +926,7 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -932,6 +957,9 @@
     crisv32:Linux:*:*)
 	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     frv:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -944,6 +972,9 @@
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
+    k1om:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     m32r*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -969,10 +1000,13 @@
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
+    mips64el:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
@@ -1001,6 +1035,9 @@
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1020,7 +1057,7 @@
 	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1099,7 +1136,7 @@
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
 	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
+	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
 	exit ;;
@@ -1248,6 +1285,9 @@
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1260,22 +1300,32 @@
 	if test "$UNAME_PROCESSOR" = unknown ; then
 	    UNAME_PROCESSOR=powerpc
 	fi
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		grep IS_64BIT_ARCH >/dev/null
-	    then
-		case $UNAME_PROCESSOR in
-		    i386) UNAME_PROCESSOR=x86_64 ;;
-		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
-		esac
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
 	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
 	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1306,7 +1356,7 @@
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1348,7 +1398,7 @@
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1359,171 +1409,25 @@
     x86_64:VMkernel:*:*)
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
-esac
-
-eval $set_cc_for_build
-cat >$dummy.c <
-# include 
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include 
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-	"4"
-#else
-	""
-#endif
-	); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include 
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
 	exit ;;
-    esac
-fi
+esac
 
 cat >&2 < in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
diff -Nru libepoxy-1.3.1/config.h.in libepoxy-1.4.3/config.h.in
--- libepoxy-1.3.1/config.h.in	2015-07-15 23:47:08.000000000 +0000
+++ libepoxy-1.4.3/config.h.in	2017-11-13 11:34:09.000000000 +0000
@@ -12,6 +12,15 @@
 /* build WGL tests */
 #undef BUILD_WGL
 
+/* Whether EGL support is enabled */
+#undef ENABLE_EGL
+
+/* Whether GLX support is enabled */
+#undef ENABLE_GLX
+
+/* defines how to decorate public symbols while building */
+#undef EPOXY_PUBLIC
+
 /* Define to 1 if you have the  header file. */
 #undef HAVE_DLFCN_H
 
@@ -45,8 +54,7 @@
 /* Define to 1 if you have the  header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
 #undef LT_OBJDIR
 
 /* Name of package */
diff -Nru libepoxy-1.3.1/config.sub libepoxy-1.4.3/config.sub
--- libepoxy-1.3.1/config.sub	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/config.sub	2017-11-13 11:34:09.000000000 +0000
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2013-08-10'
+timestamp='2016-09-05'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to .
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,16 +254,18 @@
 	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
+	| ba \
 	| be32 | be64 \
 	| bfin \
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| k1om \
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +283,10 @@
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -295,14 +298,14 @@
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -310,6 +313,7 @@
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -324,7 +328,10 @@
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -369,18 +376,20 @@
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| ba-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
+	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| k1om-* \
 	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +409,10 @@
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -413,16 +424,18 @@
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
 	| pyramid-* \
+	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
 	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tile*-* \
@@ -430,6 +443,7 @@
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -506,6 +520,9 @@
 		basic_machine=i386-pc
 		os=-aros
 		;;
+	asmjs)
+		basic_machine=asmjs-unknown
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -626,6 +643,14 @@
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -767,6 +792,9 @@
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
@@ -822,6 +850,10 @@
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -998,7 +1030,7 @@
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1006,9 +1038,9 @@
 		;;
 	ppc64)	basic_machine=powerpc64-unknown
 		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1354,27 +1386,28 @@
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
 	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
+	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+	      | -onefs* | -tirtos* | -phoenix*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1506,6 +1539,8 @@
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1592,9 +1627,6 @@
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;
diff -Nru libepoxy-1.3.1/configure libepoxy-1.4.3/configure
--- libepoxy-1.3.1/configure	2015-07-15 23:47:03.000000000 +0000
+++ libepoxy-1.4.3/configure	2017-11-13 11:34:09.000000000 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libepoxy 1.3.1.
+# Generated by GNU Autoconf 2.69 for libepoxy 1.4.3.
 #
 # Report bugs to .
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='libepoxy'
 PACKAGE_TARNAME='libepoxy'
-PACKAGE_VERSION='1.3.1'
-PACKAGE_STRING='libepoxy 1.3.1'
+PACKAGE_VERSION='1.4.3'
+PACKAGE_STRING='libepoxy 1.4.3'
 PACKAGE_BUGREPORT='https://github.com/anholt/libepoxy'
 PACKAGE_URL=''
 
@@ -636,6 +636,9 @@
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+epoxy_has_wgl
+epoxy_has_egl
+epoxy_has_glx
 GL_LIBS
 GL_CFLAGS
 HAVE_X11_FALSE
@@ -644,6 +647,8 @@
 X11_CFLAGS
 VISIBILITY_CFLAGS
 DLOPEN_LIBS
+HAS_GLES1_FALSE
+HAS_GLES1_TRUE
 HAS_ZNOW_FALSE
 HAS_ZNOW_TRUE
 BUILD_APPLE_FALSE
@@ -658,6 +663,7 @@
 BUILD_EGL_TRUE
 EPOXY_LINK_LIBS
 LOG_COMPILER
+LT_SYS_LIBRARY_PATH
 OTOOL64
 OTOOL
 LIPO
@@ -805,10 +811,13 @@
 enable_shared
 with_pic
 enable_fast_install
+with_aix_soname
 with_gnu_ld
 with_sysroot
 enable_libtool_lock
 enable_largefile
+enable_glx
+enable_egl
 '
       ac_precious_vars='build_alias
 host_alias
@@ -822,6 +831,7 @@
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
+LT_SYS_LIBRARY_PATH
 EGL_CFLAGS
 EGL_LIBS
 X11_CFLAGS
@@ -1368,7 +1378,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libepoxy 1.3.1 to adapt to many kinds of systems.
+\`configure' configures libepoxy 1.4.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1438,7 +1448,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libepoxy 1.3.1:";;
+     short | recursive ) echo "Configuration of libepoxy 1.4.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1464,15 +1474,22 @@
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --disable-largefile     omit support for large files
+  --enable-glx=[auto,yes,no]
+                          Enable GLX support [default=auto]
+  --enable-egl=[auto,yes,no]
+                          Enable EGL support [default=auto]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
+  --with-aix-soname=aix|svr4|both
+                          shared library versioning (aka "SONAME") variant to
+                          provide on AIX, [default=aix].
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
+  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
 
 Some influential environment variables:
   CC          C compiler command
@@ -1488,6 +1505,8 @@
               directories to add to pkg-config's search path
   PKG_CONFIG_LIBDIR
               path overriding pkg-config's built-in search path
+  LT_SYS_LIBRARY_PATH
+              User-defined run-time library search path.
   EGL_CFLAGS  C compiler flags for EGL, overriding pkg-config
   EGL_LIBS    linker flags for EGL, overriding pkg-config
   X11_CFLAGS  C compiler flags for X11, overriding pkg-config
@@ -1561,7 +1580,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libepoxy configure 1.3.1
+libepoxy configure 1.4.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1976,7 +1995,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libepoxy $as_me 1.3.1, which was
+It was created by libepoxy $as_me 1.4.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2328,6 +2347,7 @@
 ac_config_headers="$ac_config_headers config.h"
 
 
+
 # Initialize Automake
 am__api_version='1.15'
 
@@ -2844,7 +2864,7 @@
 
 # Define the identity of the package.
  PACKAGE='libepoxy'
- VERSION='1.3.1'
+ VERSION='1.4.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2886,9 +2906,125 @@
 
 
 # We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
+_am_tools='gnutar plaintar pax cpio none'
+
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
+$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
+      if test $am_uid -le $am_max_uid; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+         _am_tools=none
+      fi
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
+$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
+      if test $am_gid -le $am_max_gid; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        _am_tools=none
+      fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+      done
+      am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x ustar -w "$$tardir"'
+      am__tar_='pax -L -x ustar -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+      am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+      am__untar='cpio -i -H ustar -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_ustar}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      { echo "$as_me:$LINENO: $am__untar &5
+   ($am__untar &5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+   (cat conftest.dir/file) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  if ${am_cv_prog_tar_ustar+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  am_cv_prog_tar_ustar=$_am_tool
+fi
 
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
 
 
 
@@ -10888,14 +11024,14 @@
     *)
      enable_static=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-	IFS="$lt_save_ifs"
+	IFS=$lt_save_ifs
 	if test "X$pkg" = "X$p"; then
 	  enable_static=yes
 	fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
 else
@@ -11221,8 +11357,8 @@
 
 
 
-macro_version='2.4.2'
-macro_revision='1.3337'
+macro_version='2.4.6'
+macro_revision='2.4.6'
 
 
 
@@ -11236,7 +11372,7 @@
 
 
 
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
 
 # Backslashify metacharacters that are still active within
 # double-quoted strings.
@@ -11285,7 +11421,7 @@
     $ECHO ""
 }
 
-case "$ECHO" in
+case $ECHO in
   printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
 $as_echo "printf" >&6; } ;;
   print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
@@ -11478,19 +11614,19 @@
 
 # Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
 else
   with_gnu_ld=no
 fi
 
 ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   # Check if gcc -print-prog-name=ld gives a path.
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
 $as_echo_n "checking for ld used by $CC... " >&6; }
   case $host in
   *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
+    # gcc leaves a trailing carriage return, which upsets mingw
     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
   *)
     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -11504,7 +11640,7 @@
       while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
 	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done
-      test -z "$LD" && LD="$ac_prog"
+      test -z "$LD" && LD=$ac_prog
       ;;
   "")
     # If it fails, then pretend we aren't using GCC.
@@ -11515,7 +11651,7 @@
     with_gnu_ld=unknown
     ;;
   esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
 $as_echo_n "checking for GNU ld... " >&6; }
 else
@@ -11526,32 +11662,32 @@
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
+      lt_cv_path_LD=$ac_dir/$ac_prog
       # Check to see if the program is GNU ld.  I'd rather use --version,
       # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2>&1 &5
 $as_echo "$LD" >&6; }
@@ -11594,33 +11730,38 @@
 else
   if test -n "$NM"; then
   # Let the user override the test.
-  lt_cv_path_NM="$NM"
+  lt_cv_path_NM=$NM
 else
-  lt_nm_to_check="${ac_tool_prefix}nm"
+  lt_nm_to_check=${ac_tool_prefix}nm
   if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
 	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
 	#   nm: unknown option "B" ignored
 	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
 	  lt_cv_path_NM="$tmp_nm -B"
-	  break
+	  break 2
 	  ;;
 	*)
 	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
 	  */dev/null*)
 	    lt_cv_path_NM="$tmp_nm -p"
-	    break
+	    break 2
 	    ;;
 	  *)
 	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -11631,15 +11772,15 @@
 	esac
       fi
     done
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
   done
   : ${lt_cv_path_NM=no}
 fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
 $as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
   if test -n "$DUMPBIN"; then :
@@ -11745,9 +11886,9 @@
   fi
 fi
 
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
     *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
+      DUMPBIN="$DUMPBIN -symbols -headers"
       ;;
     *)
       DUMPBIN=:
@@ -11755,8 +11896,8 @@
     esac
   fi
 
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
   fi
 fi
 test -z "$NM" && NM=nm
@@ -11807,7 +11948,7 @@
   $as_echo_n "(cached) " >&6
 else
     i=0
-  teststring="ABCD"
+  teststring=ABCD
 
   case $build_os in
   msdosdjgpp*)
@@ -11847,7 +11988,7 @@
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
     # This has been around since 386BSD, at least.  Likely further.
     if test -x /sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -11898,22 +12039,22 @@
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
     if test -n "$lt_cv_sys_max_cmd_len" && \
-	test undefined != "$lt_cv_sys_max_cmd_len"; then
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
       # Make teststring a little bigger before we do anything with it.
       # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
+      for i in 1 2 3 4 5 6 7 8; do
         teststring=$teststring$teststring
       done
       SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
+	      test 17 != "$i" # 1/2 MB should be enough
       do
         i=`expr $i + 1`
         teststring=$teststring$teststring
@@ -11931,7 +12072,7 @@
 
 fi
 
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
 else
@@ -11949,30 +12090,6 @@
 : ${MV="mv -f"}
 : ${RM="rm -f"}
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   lt_unset=unset
 else
@@ -12095,13 +12212,13 @@
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
   cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       reload_cmds=false
     fi
     ;;
   darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    if test yes = "$GCC"; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
     else
       reload_cmds='$LD$reload_flag -o $output$reload_objs'
     fi
@@ -12226,13 +12343,13 @@
 # Need to set the preceding variable on all platforms that support
 # interlibrary dependencies.
 # 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
 # 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
 
 case $host_os in
 aix[4-9]*)
@@ -12259,8 +12376,7 @@
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+  if ( file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
@@ -12338,7 +12454,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -12356,8 +12472,8 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
   else
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -12410,6 +12526,9 @@
 tpf*)
   lt_cv_deplibs_check_method=pass_all
   ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 
 fi
@@ -12564,8 +12683,8 @@
 
 case $host_os in
 cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
   case `$DLLTOOL --help 2>&1` in
   *--identify-strict*)
     lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -12577,7 +12696,7 @@
   ;;
 *)
   # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
   ;;
 esac
 
@@ -12731,7 +12850,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
+      if test 0 -eq "$ac_status"; then
 	# Ensure the archiver fails upon bogus file names.
 	rm -f conftest.$ac_objext libconftest.a
 	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
@@ -12739,7 +12858,7 @@
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
-	if test "$ac_status" -ne 0; then
+	if test 0 -ne "$ac_status"; then
           lt_cv_ar_at_file=@
         fi
       fi
@@ -12752,7 +12871,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
 $as_echo "$lt_cv_ar_at_file" >&6; }
 
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
   archiver_list_spec=
 else
   archiver_list_spec=$lt_cv_ar_at_file
@@ -12969,7 +13088,7 @@
 
 if test -n "$RANLIB"; then
   case $host_os in
-  openbsd*)
+  bitrig* | openbsd*)
     old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
@@ -13059,7 +13178,7 @@
   symcode='[ABCDGISTW]'
   ;;
 hpux*)
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     symcode='[ABCDEGRST]'
   fi
   ;;
@@ -13092,14 +13211,44 @@
   symcode='[ABCDGIRSTW]' ;;
 esac
 
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
 # Transform an extracted symbol line into a proper C declaration.
 # Some systems (esp. on ia64) link data and code symbols differently,
 # so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -13117,21 +13266,24 @@
 
   # Write the raw and C identifiers.
   if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
     # Also find C++ and __fastcall symbols from MSVC++,
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
 "     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
 "     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
 "     ' prfx=^$ac_symprfx"
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -13179,11 +13331,11 @@
 	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
 	  cat <<_LT_EOF > conftest.$ac_ext
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT_DLSYM_CONST
 #else
@@ -13209,7 +13361,7 @@
 {
   { "@PROGRAM@", (void *) 0 },
 _LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
 	  cat <<\_LT_EOF >> conftest.$ac_ext
   {0, (void *) 0}
 };
@@ -13229,13 +13381,13 @@
 	  mv conftest.$ac_objext conftstm.$ac_objext
 	  lt_globsym_save_LIBS=$LIBS
 	  lt_globsym_save_CFLAGS=$CFLAGS
-	  LIBS="conftstm.$ac_objext"
+	  LIBS=conftstm.$ac_objext
 	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
 	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
   (eval $ac_link) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+  test $ac_status = 0; } && test -s conftest$ac_exeext; then
 	    pipe_works=yes
 	  fi
 	  LIBS=$lt_globsym_save_LIBS
@@ -13256,7 +13408,7 @@
   rm -rf conftest* conftst*
 
   # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
+  if test yes = "$pipe_works"; then
     break
   else
     lt_cv_sys_global_symbol_pipe=
@@ -13309,6 +13461,16 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 $as_echo_n "checking for sysroot... " >&6; }
 
@@ -13321,9 +13483,9 @@
 
 
 lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
  yes)
-   if test "$GCC" = yes; then
+   if test yes = "$GCC"; then
      lt_sysroot=`$CC --print-sysroot 2>/dev/null`
    fi
    ;; #(
@@ -13333,8 +13495,8 @@
  no|'')
    ;; #(
  *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
    as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
    ;;
 esac
@@ -13346,18 +13508,99 @@
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+  ac_path_lt_DD_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in dd; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+      $ac_path_lt_DD_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_lt_DD"; then
+    :
+  fi
+else
+  ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then :
   enableval=$enable_libtool_lock;
 fi
 
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
 # libtool support.
 case $host in
 ia64-*-hpux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
@@ -13366,24 +13609,25 @@
   test $ac_status = 0; }; then
     case `/usr/bin/file conftest.$ac_objext` in
       *ELF-32*)
-	HPUX_IA64_MODE="32"
+	HPUX_IA64_MODE=32
 	;;
       *ELF-64*)
-	HPUX_IA64_MODE="64"
+	HPUX_IA64_MODE=64
 	;;
     esac
   fi
   rm -rf conftest*
   ;;
 *-*-irix6*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo '#line '$LINENO' "configure"' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
       case `/usr/bin/file conftest.$ac_objext` in
 	*32-bit*)
 	  LD="${LD-ld} -melf32bsmip"
@@ -13412,9 +13656,50 @@
   rm -rf conftest*
   ;;
 
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
@@ -13437,10 +13722,10 @@
 		;;
 	    esac
 	    ;;
-	  powerpc64le-*)
+	  powerpc64le-*linux*)
 	    LD="${LD-ld} -m elf32lppclinux"
 	    ;;
-	  powerpc64-*)
+	  powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
 	    ;;
 	  s390x-*linux*)
@@ -13459,10 +13744,10 @@
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_x86_64"
 	    ;;
-	  powerpcle-*)
+	  powerpcle-*linux*)
 	    LD="${LD-ld} -m elf64lppc"
 	    ;;
-	  powerpc-*)
+	  powerpc-*linux*)
 	    LD="${LD-ld} -m elf64ppc"
 	    ;;
 	  s390*-*linux*|s390*-*tpf*)
@@ -13480,7 +13765,7 @@
 
 *-*-sco3.2v5*)
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
+  SAVE_CFLAGS=$CFLAGS
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -13520,13 +13805,14 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
 $as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+  if test yes != "$lt_cv_cc_needs_belf"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
+    CFLAGS=$SAVE_CFLAGS
   fi
   ;;
 *-*solaris*)
-  # Find out which ABI we are using.
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
@@ -13538,7 +13824,7 @@
       case $lt_cv_prog_gnu_ld in
       yes*)
         case $host in
-        i?86-*-solaris*)
+        i?86-*-solaris*|x86_64-*-solaris*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
         sparc*-*-solaris*)
@@ -13547,7 +13833,7 @@
         esac
         # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
         if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
+          LD=${LD-ld}_sol2
         fi
         ;;
       *)
@@ -13563,7 +13849,7 @@
   ;;
 esac
 
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
@@ -13674,7 +13960,7 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
 $as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
   MANIFEST_TOOL=:
 fi
 
@@ -14177,7 +14463,7 @@
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
+      if test -z "$LT_MULTI_MODULE"; then
 	# By default we will add the -single_module flag. You can override
 	# by either setting the environment variable LT_MULTI_MODULE
 	# non-empty at configure time, or by adding -multi_module to the
@@ -14195,7 +14481,7 @@
 	  cat conftest.err >&5
 	# Otherwise, if the output was created with a 0 exit code from
 	# the compiler, it worked.
-	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&5
@@ -14234,7 +14520,7 @@
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS="$save_LDFLAGS"
+	LDFLAGS=$save_LDFLAGS
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
@@ -14263,7 +14549,7 @@
       _lt_result=$?
       if test -s conftest.err && $GREP force_load conftest.err; then
 	cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&5
@@ -14276,32 +14562,32 @@
 $as_echo "$lt_cv_ld_force_load" >&6; }
     case $host_os in
     rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
     darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
     darwin*) # darwin 5.x on
       # if running on 10.5 or later, the deployment target defaults
       # to the OS version, if on x86, and 10.4, the deployment
       # target defaults to 10.4. Don't you love it?
       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
 	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[012][,.]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
 	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
       esac
     ;;
   esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
       _lt_dar_single_mod='$single_module'
     fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
     else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
     fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -14309,6 +14595,41 @@
     ;;
   esac
 
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
 for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
@@ -14343,14 +14664,14 @@
     *)
       enable_shared=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-	IFS="$lt_save_ifs"
+	IFS=$lt_save_ifs
 	if test "X$pkg" = "X$p"; then
 	  enable_shared=yes
 	fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
 else
@@ -14375,14 +14696,14 @@
     *)
       pic_mode=default
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for lt_pkg in $withval; do
-	IFS="$lt_save_ifs"
+	IFS=$lt_save_ifs
 	if test "X$lt_pkg" = "X$lt_p"; then
 	  pic_mode=yes
 	fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
 else
@@ -14390,8 +14711,6 @@
 fi
 
 
-test -z "$pic_mode" && pic_mode=default
-
 
 
 
@@ -14407,14 +14726,14 @@
     *)
       enable_fast_install=no
       # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
       for pkg in $enableval; do
-	IFS="$lt_save_ifs"
+	IFS=$lt_save_ifs
 	if test "X$pkg" = "X$p"; then
 	  enable_fast_install=yes
 	fi
       done
-      IFS="$lt_save_ifs"
+      IFS=$lt_save_ifs
       ;;
     esac
 else
@@ -14428,11 +14747,63 @@
 
 
 
+  shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+  withval=$with_aix_soname; case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname
+else
+  if ${lt_cv_with_aix_soname+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_with_aix_soname=aix
+fi
+
+    with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+
+
+
+
+
+
 
 
 
 # This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
 
 # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -14481,7 +14852,7 @@
 
 
 
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
@@ -14520,7 +14891,7 @@
   # AIX sometimes has problems with the GCC collect2 program.  For some
   # reason, if we set the COLLECT_NAMES environment variable, the problems
   # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
+  if test set != "${COLLECT_NAMES+set}"; then
     COLLECT_NAMES=
     export COLLECT_NAMES
   fi
@@ -14531,14 +14902,14 @@
 ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
 
 # Set sane defaults for various variables
 test -z "$CC" && CC=cc
@@ -14547,15 +14918,8 @@
 test -z "$LD" && LD=ld
 test -z "$ac_objext" && ac_objext=o
 
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
 
 
 # Only perform the check for file, if the check method requires it
@@ -14570,22 +14934,22 @@
 else
   case $MAGIC_CMD in
 [\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+    if test -f "$ac_dir/${ac_tool_prefix}file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
       if test -n "$file_magic_test_file"; then
 	case $deplibs_check_method in
 	"file_magic "*)
 	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
 	    $EGREP "$file_magic_regex" > /dev/null; then
 	    :
@@ -14608,13 +14972,13 @@
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac
 fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
 $as_echo "$MAGIC_CMD" >&6; }
@@ -14636,22 +15000,22 @@
 else
   case $MAGIC_CMD in
 [\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
   ;;
 *)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
   ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
   for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
+    IFS=$lt_save_ifs
     test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+    if test -f "$ac_dir/file"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"file"
       if test -n "$file_magic_test_file"; then
 	case $deplibs_check_method in
 	"file_magic "*)
 	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
 	    $EGREP "$file_magic_regex" > /dev/null; then
 	    :
@@ -14674,13 +15038,13 @@
       break
     fi
   done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
   ;;
 esac
 fi
 
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
 if test -n "$MAGIC_CMD"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
 $as_echo "$MAGIC_CMD" >&6; }
@@ -14701,7 +15065,7 @@
 
 # Use C for the default configuration in the libtool script
 
-lt_save_CC="$CC"
+lt_save_CC=$CC
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -14755,11 +15119,15 @@
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $cc_basename in
   nvcc*)
     lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
@@ -14775,7 +15143,7 @@
   lt_cv_prog_compiler_rtti_exceptions=no
    ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   lt_compiler_flag="-fno-rtti -fno-exceptions"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -14805,7 +15173,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
     lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
 else
     :
@@ -14823,17 +15191,18 @@
 lt_prog_compiler_static=
 
 
-  if test "$GCC" = yes; then
+  if test yes = "$GCC"; then
     lt_prog_compiler_wl='-Wl,'
     lt_prog_compiler_static='-static'
 
     case $host_os in
       aix*)
       # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
 	# AIX 5 now supports IA64 processor
 	lt_prog_compiler_static='-Bstatic'
       fi
+      lt_prog_compiler_pic='-fPIC'
       ;;
 
     amigaos*)
@@ -14844,8 +15213,8 @@
         ;;
       m68k)
             # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
             lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
         ;;
       esac
@@ -14861,6 +15230,11 @@
       # Although the cygwin gcc ignores -fPIC, still need this for old-style
       # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -14931,7 +15305,7 @@
     case $host_os in
     aix*)
       lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
 	# AIX 5 now supports IA64 processor
 	lt_prog_compiler_static='-Bstatic'
       else
@@ -14939,10 +15313,29 @@
       fi
       ;;
 
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        lt_prog_compiler_wl='-Wl,-Wl,,'
+        lt_prog_compiler_pic='-PIC'
+        lt_prog_compiler_static='-Bstatic'
+        ;;
+      esac
+      ;;
+
     mingw* | cygwin* | pw32* | os2* | cegcc*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic='-DDLL_EXPORT'
+      case $host_os in
+      os2*)
+	lt_prog_compiler_static='$wl-static'
+	;;
+      esac
       ;;
 
     hpux9* | hpux10* | hpux11*)
@@ -14958,7 +15351,7 @@
 	;;
       esac
       # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      lt_prog_compiler_static='$wl-a ${wl}archive'
       ;;
 
     irix5* | irix6* | nonstopux*)
@@ -14969,7 +15362,7 @@
 
     linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
+      # old Intel for x86_64, which still supported -KPIC.
       ecc*)
 	lt_prog_compiler_wl='-Wl,'
 	lt_prog_compiler_pic='-KPIC'
@@ -14994,6 +15387,12 @@
 	lt_prog_compiler_pic='-PIC'
 	lt_prog_compiler_static='-Bstatic'
 	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+	;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
@@ -15091,7 +15490,7 @@
       ;;
 
     sysv4*MP*)
-      if test -d /usr/nec ;then
+      if test -d /usr/nec; then
 	lt_prog_compiler_pic='-Kconform_pic'
 	lt_prog_compiler_static='-Bstatic'
       fi
@@ -15120,7 +15519,7 @@
   fi
 
 case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
+  # For platforms that do not support PIC, -DPIC is meaningless:
   *djgpp*)
     lt_prog_compiler_pic=
     ;;
@@ -15152,7 +15551,7 @@
   lt_cv_prog_compiler_pic_works=no
    ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"  ## exclude from sc_useless_quotes_in_assignment
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
    # Note that $ac_compile itself does not contain backslashes and begins
@@ -15182,7 +15581,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
     case $lt_prog_compiler_pic in
      "" | " "*) ;;
      *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -15214,7 +15613,7 @@
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -15233,13 +15632,13 @@
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works"; then
     :
 else
     lt_prog_compiler_static=
@@ -15359,8 +15758,8 @@
 
 
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
   # do not overwrite the value of need_locks provided by the user
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
 $as_echo_n "checking if we can lock with hard links... " >&6; }
@@ -15372,9 +15771,9 @@
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
 $as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+  if test no = "$hard_links"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
     need_locks=warn
   fi
 else
@@ -15417,9 +15816,9 @@
   # included in the symbol list
   include_expsyms=
   # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
   exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
   # platforms (ab)use it in PIC code, but their linkers get confused if
@@ -15434,7 +15833,7 @@
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
-    if test "$GCC" != yes; then
+    if test yes != "$GCC"; then
       with_gnu_ld=no
     fi
     ;;
@@ -15442,12 +15841,9 @@
     # we just hope/assume this is gcc and not c89 (= MSVC++)
     with_gnu_ld=yes
     ;;
-  openbsd*)
+  openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
   esac
 
   ld_shlibs=yes
@@ -15455,7 +15851,7 @@
   # On some targets, GNU ld is compatible enough with the native linker
   # that we're better off using the native interface for both.
   lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     case $host_os in
       aix*)
 	# The AIX port of GNU ld has always aspired to compatibility
@@ -15477,24 +15873,24 @@
     esac
   fi
 
-  if test "$lt_use_gnu_ld_interface" = yes; then
+  if test yes = "$lt_use_gnu_ld_interface"; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
+    wlarc='$wl'
 
     # Set some defaults for GNU ld with shared library support. These
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
     runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
+    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+    export_dynamic_flag_spec='$wl--export-dynamic'
     # ancient GNU ld didn't support --whole-archive et. al.
     if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
     else
       whole_archive_flag_spec=
     fi
     supports_anon_versioning=no
-    case `$LD -v 2>&1` in
+    case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
       *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -15507,7 +15903,7 @@
     case $host_os in
     aix[3-9]*)
       # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
+      if test ia64 != "$host_cpu"; then
 	ld_shlibs=no
 	cat <<_LT_EOF 1>&2
 
@@ -15526,7 +15922,7 @@
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             archive_expsym_cmds=''
         ;;
       m68k)
@@ -15542,7 +15938,7 @@
 	allow_undefined_flag=unsupported
 	# Joseph Beckenbach  says some releases of gcc
 	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -15552,7 +15948,7 @@
       # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
       # as there is no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
+      export_dynamic_flag_spec='$wl--export-all-symbols'
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
@@ -15560,61 +15956,89 @@
       exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       else
 	ld_shlibs=no
       fi
       ;;
 
     haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
       link_all_deplibs=yes
       ;;
 
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
+      hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+      export_dynamic_flag_spec='$wl-E'
       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
       # Instead, shared libraries are loaded at an image base (0x10000000 by
       # default) and relocated if they conflict, which is a slow very memory
       # consuming and fragmenting process.  To avoid this, we pick a random,
       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
+      if test linux-dietlibc = "$host_os"; then
 	case $cc_basename in
 	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
 	esac
       fi
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test "$tmp_diet" = no
+	 && test no = "$tmp_diet"
       then
 	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* | pgf95* | pgfortran*)
 					# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -15625,42 +16049,47 @@
 	lf95*)				# Lahey Fortran 8.1
 	  whole_archive_flag_spec=
 	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
 	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
 	nvcc*)	# Cuda Compiler Driver 2.2
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
 	  compiler_needs_object=yes
 	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
 	  compiler_needs_object=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
 	  tmp_sharedflag='-G' ;;
 	esac
-	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
 
-        if test "x$supports_anon_versioning" = xyes; then
+        if test yes = "$supports_anon_versioning"; then
           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	    echo "local: *; };" >> $output_objdir/$libname.ver~
-	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
         fi
 
 	case $cc_basename in
+	tcc*)
+	  export_dynamic_flag_spec='-rdynamic'
+	  ;;
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
 	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
+	  if test yes = "$supports_anon_versioning"; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -15669,13 +16098,13 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -15693,8 +16122,8 @@
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -15706,7 +16135,7 @@
 	ld_shlibs=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
 *** reliably create shared libraries on SCO systems.  Therefore, libtool
 *** is disabling shared libraries support.  We urge you to upgrade GNU
 *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
@@ -15721,9 +16150,9 @@
 	  # DT_RUNPATH tag from executables and libraries.  But doing so
 	  # requires that you compile everything twice, which is a pain.
 	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
 	  else
 	    ld_shlibs=no
 	  fi
@@ -15740,15 +16169,15 @@
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
       ;;
     esac
 
-    if test "$ld_shlibs" = no; then
+    if test no = "$ld_shlibs"; then
       runpath_var=
       hardcode_libdir_flag_spec=
       export_dynamic_flag_spec=
@@ -15764,7 +16193,7 @@
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
 	# Neither direct hardcoding nor static linking is supported with a
 	# broken collect2.
 	hardcode_direct=unsupported
@@ -15772,34 +16201,57 @@
       ;;
 
     aix[4-9]*)
-      if test "$host_cpu" = ia64; then
+      if test ia64 = "$host_cpu"; then
 	# On IA64, the linker does run time linking by default, so we don't
 	# have to do anything special.
 	aix_use_runtimelinking=no
 	exp_sym_flag='-Bexport'
-	no_entry_flag=""
+	no_entry_flag=
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	# Also, AIX nm treats weak defined symbols like other global
-	# defined symbols, whereas GNU nm marks them as "W".
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
 	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
 	fi
 	aix_use_runtimelinking=no
 
 	# Test if we are trying to use run time linking or normal
 	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
 	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
-	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
 	    aix_use_runtimelinking=yes
 	    break
 	  fi
 	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
 	  ;;
 	esac
 
@@ -15818,13 +16270,21 @@
       hardcode_direct_absolute=yes
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
+      file_list_spec='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	hardcode_direct=no
+	hardcode_direct_absolute=no
+	;;
+      esac
 
-      if test "$GCC" = yes; then
+      if test yes = "$GCC"; then
 	case $host_os in aix4.[012]|aix4.[012].*)
 	# We only want to do this on AIX 4.2 and lower, the check
 	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
+	  collect2name=`$CC -print-prog-name=collect2`
 	  if test -f "$collect2name" &&
 	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
 	  then
@@ -15843,36 +16303,42 @@
 	  ;;
 	esac
 	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
 	fi
-	link_all_deplibs=no
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
       else
 	# not using gcc
-	if test "$host_cpu" = ia64; then
+	if test ia64 = "$host_cpu"; then
 	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
 	# chokes on -Wl,-G. The following line is correct:
 	  shared_flag='-G'
 	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
 	  else
-	    shared_flag='${wl}-bM:SRE'
+	    shared_flag='$wl-bM:SRE'
 	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
 	fi
       fi
 
-      export_dynamic_flag_spec='${wl}-bexpall'
+      export_dynamic_flag_spec='$wl-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
 	# Warning - without using the other runtime loading flags (-brtl),
 	# -berok will link without error, but may produce a broken library.
 	allow_undefined_flag='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
+        if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
   if ${lt_cv_aix_libpath_+:} false; then :
@@ -15907,7 +16373,7 @@
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
   if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
+    lt_cv_aix_libpath_=/usr/lib:/lib
   fi
 
 fi
@@ -15915,17 +16381,17 @@
   aix_libpath=$lt_cv_aix_libpath_
 fi
 
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
       else
-	if test "$host_cpu" = ia64; then
-	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	if test ia64 = "$host_cpu"; then
+	  hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
 	  allow_undefined_flag="-z nodefs"
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 if test "${lt_cv_aix_libpath+set}" = set; then
+	 if test set = "${lt_cv_aix_libpath+set}"; then
   aix_libpath=$lt_cv_aix_libpath
 else
   if ${lt_cv_aix_libpath_+:} false; then :
@@ -15960,7 +16426,7 @@
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
   if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
+    lt_cv_aix_libpath_=/usr/lib:/lib
   fi
 
 fi
@@ -15968,21 +16434,33 @@
   aix_libpath=$lt_cv_aix_libpath_
 fi
 
-	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
 	  # Warning - without using the other run time loading flags,
 	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag=' ${wl}-bernotok'
-	  allow_undefined_flag=' ${wl}-berok'
-	  if test "$with_gnu_ld" = yes; then
+	  no_undefined_flag=' $wl-bernotok'
+	  allow_undefined_flag=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
 	    # We only use this code for GNU lds that support --whole-archive.
-	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
 	  else
 	    # Exported symbols can be pulled into shared objects from archives
 	    whole_archive_flag_spec='$convenience'
 	  fi
 	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
 	fi
       fi
       ;;
@@ -15991,7 +16469,7 @@
       case $host_cpu in
       powerpc)
             # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
             archive_expsym_cmds=''
         ;;
       m68k)
@@ -16021,16 +16499,17 @@
 	# Tell ltmain to make .lib files, not .a files.
 	libext=lib
 	# Tell ltmain to make .dll files, not .so files.
-	shrext_cmds=".dll"
+	shrext_cmds=.dll
 	# FIXME: Setting linknames here is a bad hack.
-	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-	  else
-	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-	  fi~
-	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-	  linknames='
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
 	# The linker will not automatically build a static lib if we build a DLL.
 	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
 	enable_shared_with_static_runtimes=yes
@@ -16039,18 +16518,18 @@
 	# Don't use ranlib
 	old_postinstall_cmds='chmod 644 $oldlib'
 	postlink_cmds='lt_outputfile="@OUTPUT@"~
-	  lt_tool_outputfile="@TOOL_OUTPUT@"~
-	  case $lt_outputfile in
-	    *.exe|*.EXE) ;;
-	    *)
-	      lt_outputfile="$lt_outputfile.exe"
-	      lt_tool_outputfile="$lt_tool_outputfile.exe"
-	      ;;
-	  esac~
-	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-	    $RM "$lt_outputfile.manifest";
-	  fi'
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
 	;;
       *)
 	# Assume MSVC wrapper
@@ -16059,7 +16538,7 @@
 	# Tell ltmain to make .lib files, not .a files.
 	libext=lib
 	# Tell ltmain to make .dll files, not .so files.
-	shrext_cmds=".dll"
+	shrext_cmds=.dll
 	# FIXME: Setting linknames here is a bad hack.
 	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
 	# The linker will automatically build a .lib file if we build a DLL.
@@ -16078,24 +16557,24 @@
   hardcode_direct=no
   hardcode_automatic=yes
   hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+  if test yes = "$lt_cv_ld_force_load"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
 
   else
     whole_archive_flag_spec=''
   fi
   link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
+  allow_undefined_flag=$_lt_dar_allow_undefined
   case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
      *) _lt_dar_can_shared=$GCC ;;
   esac
-  if test "$_lt_dar_can_shared" = "yes"; then
+  if test yes = "$_lt_dar_can_shared"; then
     output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
 
   else
   ld_shlibs=no
@@ -16137,33 +16616,33 @@
       ;;
 
     hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      if test yes = "$GCC"; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       else
-	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
       fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl+b $wl$libdir'
       hardcode_libdir_separator=:
       hardcode_direct=yes
 
       # hardcode_minus_L: Not really in the search PATH,
       # but as the default location of the library.
       hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
+      export_dynamic_flag_spec='$wl-E'
       ;;
 
     hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
 	hardcode_libdir_separator=:
 	hardcode_direct=yes
 	hardcode_direct_absolute=yes
-	export_dynamic_flag_spec='${wl}-E'
+	export_dynamic_flag_spec='$wl-E'
 	# hardcode_minus_L: Not really in the search PATH,
 	# but as the default location of the library.
 	hardcode_minus_L=yes
@@ -16171,25 +16650,25 @@
       ;;
 
     hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+      if test yes,no = "$GCC,$with_gnu_ld"; then
 	case $host_cpu in
 	hppa*64*)
-	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	esac
       else
 	case $host_cpu in
 	hppa*64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
 
@@ -16201,7 +16680,7 @@
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
+   save_LDFLAGS=$LDFLAGS
    LDFLAGS="$LDFLAGS -b"
    echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -16220,14 +16699,14 @@
      fi
    fi
    $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
+   LDFLAGS=$save_LDFLAGS
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
 $as_echo "$lt_cv_prog_compiler__b" >&6; }
 
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+if test yes = "$lt_cv_prog_compiler__b"; then
+    archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 else
     archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
 fi
@@ -16235,8 +16714,8 @@
 	  ;;
 	esac
       fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      if test no = "$with_gnu_ld"; then
+	hardcode_libdir_flag_spec='$wl+b $wl$libdir'
 	hardcode_libdir_separator=:
 
 	case $host_cpu in
@@ -16247,7 +16726,7 @@
 	*)
 	  hardcode_direct=yes
 	  hardcode_direct_absolute=yes
-	  export_dynamic_flag_spec='${wl}-E'
+	  export_dynamic_flag_spec='$wl-E'
 
 	  # hardcode_minus_L: Not really in the search PATH,
 	  # but as the default location of the library.
@@ -16258,8 +16737,8 @@
       ;;
 
     irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
@@ -16269,8 +16748,8 @@
 if ${lt_cv_irix_exported_symbol+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  save_LDFLAGS="$LDFLAGS"
-	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+  save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
 	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 int foo (void) { return 0; }
@@ -16282,25 +16761,35 @@
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
+           LDFLAGS=$save_LDFLAGS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
 $as_echo "$lt_cv_irix_exported_symbol" >&6; }
-	if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
 	fi
       else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
       fi
       archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       inherit_rpath=yes
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	ld_shlibs=yes
+	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -16314,7 +16803,7 @@
     newsos6)
       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       hardcode_shlibpath_var=no
       ;;
@@ -16322,27 +16811,19 @@
     *nto* | *qnx*)
       ;;
 
-    openbsd*)
+    openbsd* | bitrig*)
       if test -f /usr/libexec/ld.so; then
 	hardcode_direct=yes
 	hardcode_shlibpath_var=no
 	hardcode_direct_absolute=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
 	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	  export_dynamic_flag_spec='${wl}-E'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+	  export_dynamic_flag_spec='$wl-E'
 	else
-	  case $host_os in
-	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     hardcode_libdir_flag_spec='-R$libdir'
-	     ;;
-	   *)
-	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	     ;;
-	  esac
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
 	fi
       else
 	ld_shlibs=no
@@ -16353,33 +16834,53 @@
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      shrext_cmds=.dll
+      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      enable_shared_with_static_runtimes=yes
       ;;
 
     osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
       fi
       archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       hardcode_libdir_separator=:
       ;;
 
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      if test yes = "$GCC"; then
+	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	hardcode_libdir_flag_spec='-rpath $libdir'
@@ -16390,24 +16891,24 @@
 
     solaris*)
       no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
 	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
 	case `$CC -V 2>&1` in
 	*"Compilers 5.0"*)
 	  wlarc=''
-	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
 	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
 	  ;;
 	*)
-	  wlarc='${wl}'
-	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  wlarc='$wl'
+	  archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
 	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
 	  ;;
 	esac
       fi
@@ -16417,11 +16918,11 @@
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
 	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
 	# but is careful enough not to reorder.
 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	if test yes = "$GCC"; then
+	  whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
 	else
 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
 	fi
@@ -16431,10 +16932,10 @@
       ;;
 
     sunos4*)
-      if test "x$host_vendor" = xsequent; then
+      if test sequent = "$host_vendor"; then
 	# Use $CC to link under sequent, because it throws in some extra .o
 	# files that make .init and .fini sections work.
-	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
       else
 	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
       fi
@@ -16483,43 +16984,43 @@
       ;;
 
     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
+      no_undefined_flag='$wl-z,text'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
     sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
+      # Note: We CANNOT use -z defs as we might desire, because we do not
       # link with -lc, and that would cause any symbols used from libc to
       # always be unresolved, which means just about no library would
       # ever link correctly.  If we're not using GNU ld we use -z text
       # though, which does catch some bad symbols but isn't as heavy-handed
       # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
+      no_undefined_flag='$wl-z,text'
+      allow_undefined_flag='$wl-z,nodefs'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_flag_spec='$wl-R,$libdir'
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
+      export_dynamic_flag_spec='$wl-Bexport'
       runpath_var='LD_RUN_PATH'
 
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      if test yes = "$GCC"; then
+	archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
@@ -16534,10 +17035,10 @@
       ;;
     esac
 
-    if test x$host_vendor = xsni; then
+    if test sni = "$host_vendor"; then
       case $host in
       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	export_dynamic_flag_spec='${wl}-Blargedynsym'
+	export_dynamic_flag_spec='$wl-Blargedynsym'
 	;;
       esac
     fi
@@ -16545,7 +17046,7 @@
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
 $as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
+test no = "$ld_shlibs" && can_build_shared=no
 
 with_gnu_ld=$with_gnu_ld
 
@@ -16571,7 +17072,7 @@
   # Assume -lc should be added
   archive_cmds_need_lc=yes
 
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
+  if test yes,yes = "$GCC,$enable_shared"; then
     case $archive_cmds in
     *'~'*)
       # FIXME: we may have to deal with multi-command sequences.
@@ -16786,14 +17287,14 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
   esac
   case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
   case $lt_search_path_spec in
@@ -16809,28 +17310,35 @@
     ;;
   esac
   # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
+  # and add multilib dir if necessary...
   lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
   for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
       test -d "$lt_sys_path" && \
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
   lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
   for (lt_i = NF; lt_i > 0; lt_i--) {
     if ($lt_i != "" && $lt_i != ".") {
       if ($lt_i == "..") {
         lt_count++;
       } else {
         if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
+          lt_foo = "/" $lt_i lt_foo;
         } else {
           lt_count--;
         }
@@ -16844,7 +17352,7 @@
   # for these hosts.
   case $host_os in
     mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
   esac
   sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
@@ -16853,7 +17361,7 @@
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
 postinstall_cmds=
 postuninstall_cmds=
 finish_cmds=
@@ -16870,14 +17378,16 @@
 # flags to be left without arguments
 need_version=unknown
 
+
+
 case $host_os in
 aix3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
   # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
+  soname_spec='$libname$release$shared_ext$major'
   ;;
 
 aix[4-9]*)
@@ -16885,41 +17395,91 @@
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
+  if test ia64 = "$host_cpu"; then
     # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
     shlibpath_var=LD_LIBRARY_PATH
   else
     # With GCC up to 2.95.x, collect2 would create an import file
     # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
       aix4 | aix4.[01] | aix4.[01].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
 	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
 	:
       else
 	can_build_shared=no
       fi
       ;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
     # soname into executable. Probably we can add versioning support to
     # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
       # If using run time linking (on AIX 4.2 or later) use lib.so
       # instead of lib.a to let people know that these are not
       # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a(lib.so.V)'
       # We preserve .a as extension for shared libraries through AIX4.2
       # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
     shlibpath_var=LIBPATH
   fi
   ;;
@@ -16929,18 +17489,18 @@
   powerpc)
     # Since July 2007 AmigaOS4 officially supports .so libraries.
     # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
     ;;
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
 
 beos*)
-  library_names_spec='${libname}${shared_ext}'
+  library_names_spec='$libname$shared_ext'
   dynamic_linker="$host_os ld.so"
   shlibpath_var=LIBRARY_PATH
   ;;
@@ -16948,8 +17508,8 @@
 bsdi[45]*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -16961,7 +17521,7 @@
 
 cygwin* | mingw* | pw32* | cegcc*)
   version_type=windows
-  shrext_cmds=".dll"
+  shrext_cmds=.dll
   need_version=no
   need_lib_prefix=no
 
@@ -16970,8 +17530,8 @@
     # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
@@ -16987,17 +17547,17 @@
     case $host_os in
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
 
       sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
       ;;
     esac
     dynamic_linker='Win32 ld.exe'
@@ -17006,8 +17566,8 @@
   *,cl*)
     # Native MSVC
     libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
+    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
 
     case $build_os in
     mingw*)
@@ -17034,7 +17594,7 @@
       sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
       ;;
     *)
-      sys_lib_search_path_spec="$LIB"
+      sys_lib_search_path_spec=$LIB
       if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
         # It is most probably a Windows format PATH.
         sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -17047,8 +17607,8 @@
     esac
 
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname'
@@ -17061,7 +17621,7 @@
 
   *)
     # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
     dynamic_linker='Win32 ld.exe'
     ;;
   esac
@@ -17074,8 +17634,8 @@
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -17088,8 +17648,8 @@
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -17107,12 +17667,13 @@
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
     freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
   esac
@@ -17142,10 +17703,10 @@
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
+  shlibpath_overrides_runpath=no
   sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
@@ -17163,14 +17724,15 @@
     dynamic_linker="$host_os dld.so"
     shlibpath_var=LD_LIBRARY_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
       sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
     else
       sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
     fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
   hppa*64*)
     shrext_cmds='.sl'
@@ -17178,8 +17740,8 @@
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
@@ -17188,8 +17750,8 @@
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
     shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     ;;
   esac
   # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -17202,8 +17764,8 @@
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -17214,7 +17776,7 @@
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
     *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
+	if test yes = "$lt_cv_prog_gnu_ld"; then
 		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
@@ -17222,8 +17784,8 @@
   esac
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
   case $host_os in
   irix5* | nonstopux*)
     libsuff= shlibsuff=
@@ -17242,8 +17804,8 @@
   esac
   shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
   shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
   hardcode_into_libs=yes
   ;;
 
@@ -17252,13 +17814,33 @@
   dynamic_linker=no
   ;;
 
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  hardcode_libdir_flag_spec='-L$libdir'
+  ;;
+
 # This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
@@ -17302,10 +17884,18 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
-  # Append ld.so.conf contents to the search path
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -17317,29 +17907,17 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
   if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
   else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
     dynamic_linker='NetBSD ld.elf_so'
   fi
   shlibpath_var=LD_LIBRARY_PATH
@@ -17349,7 +17927,7 @@
 
 newsos6)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   ;;
@@ -17358,58 +17936,68 @@
   version_type=qnx
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   dynamic_linker='ldqnx.so'
   ;;
 
-openbsd*)
+openbsd* | bitrig*)
   version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
+  sys_lib_dlsearch_path_spec=/usr/lib
   need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
   else
-    shlibpath_overrides_runpath=yes
+    need_version=yes
   fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   ;;
 
 os2*)
   libname_spec='$name'
-  shrext_cmds=".dll"
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
   need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
   dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
   ;;
 
 osf3* | osf4* | osf5*)
   version_type=osf
   need_lib_prefix=no
   need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
   ;;
 
 rdos*)
@@ -17420,8 +18008,8 @@
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
@@ -17431,11 +18019,11 @@
 
 sunos4*)
   version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
   finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     need_lib_prefix=no
   fi
   need_version=yes
@@ -17443,8 +18031,8 @@
 
 sysv4 | sysv4.3*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   case $host_vendor in
     sni)
@@ -17465,24 +18053,24 @@
   ;;
 
 sysv4*MP*)
-  if test -d /usr/nec ;then
+  if test -d /usr/nec; then
     version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
     shlibpath_var=LD_LIBRARY_PATH
   fi
   ;;
 
 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
+  version_type=sco
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
+  if test yes = "$with_gnu_ld"; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -17500,7 +18088,7 @@
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
@@ -17508,8 +18096,8 @@
 
 uts4*)
   version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
@@ -17519,20 +18107,35 @@
 esac
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
 $as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
 fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
 fi
 
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
 
 
 
@@ -17629,15 +18232,15 @@
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" ||
    test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
+   test yes = "$hardcode_automatic"; then
 
   # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
+  if test no != "$hardcode_direct" &&
      # If the only mechanism to avoid hardcoding is shlibpath_var, we
      # have to relink, otherwise we might link with an installed library
      # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+     test no != "$hardcode_minus_L"; then
     # Linking always hardcodes the temporary library directory.
     hardcode_action=relink
   else
@@ -17652,12 +18255,12 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
 $as_echo "$hardcode_action" >&6; }
 
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
+if test relink = "$hardcode_action" ||
+   test yes = "$inherit_rpath"; then
   # Fast installation is not supported
   enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
   # Fast installation is not necessary
   enable_fast_install=needless
 fi
@@ -17667,7 +18270,7 @@
 
 
 
-  if test "x$enable_dlopen" != xyes; then
+  if test yes != "$enable_dlopen"; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
   enable_dlopen_self_static=unknown
@@ -17677,23 +18280,23 @@
 
   case $host_os in
   beos*)
-    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen=load_add_on
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
     ;;
 
   mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen=LoadLibrary
     lt_cv_dlopen_libs=
     ;;
 
   cygwin*)
-    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen=dlopen
     lt_cv_dlopen_libs=
     ;;
 
   darwin*)
-  # if libdl is installed we need to link against it
+    # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
 if ${ac_cv_lib_dl_dlopen+:} false; then :
@@ -17731,10 +18334,10 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
 else
 
-    lt_cv_dlopen="dyld"
+    lt_cv_dlopen=dyld
     lt_cv_dlopen_libs=
     lt_cv_dlopen_self=yes
 
@@ -17742,10 +18345,18 @@
 
     ;;
 
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
 if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
+  lt_cv_dlopen=shl_load
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
@@ -17784,11 +18395,11 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
 if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
 if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
+  lt_cv_dlopen=dlopen
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -17827,7 +18438,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
@@ -17866,7 +18477,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
 if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
@@ -17905,7 +18516,7 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
 if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
 fi
 
 
@@ -17926,21 +18537,21 @@
     ;;
   esac
 
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
+  if test no = "$lt_cv_dlopen"; then
     enable_dlopen=no
+  else
+    enable_dlopen=yes
   fi
 
   case $lt_cv_dlopen in
   dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
-    save_LDFLAGS="$LDFLAGS"
+    save_LDFLAGS=$LDFLAGS
     wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
-    save_LIBS="$LIBS"
+    save_LIBS=$LIBS
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
@@ -17948,7 +18559,7 @@
 if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  	  if test "$cross_compiling" = yes; then :
+  	  if test yes = "$cross_compiling"; then :
   lt_cv_dlopen_self=cross
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -17995,9 +18606,9 @@
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -18027,7 +18638,7 @@
   (eval $ac_link) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -18047,14 +18658,14 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
 $as_echo "$lt_cv_dlopen_self" >&6; }
 
-    if test "x$lt_cv_dlopen_self" = xyes; then
+    if test yes = "$lt_cv_dlopen_self"; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
 if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  	  if test "$cross_compiling" = yes; then :
+  	  if test yes = "$cross_compiling"; then :
   lt_cv_dlopen_self_static=cross
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -18101,9 +18712,9 @@
 #  endif
 #endif
 
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
 int fnord () __attribute__((visibility("default")));
 #endif
 
@@ -18133,7 +18744,7 @@
   (eval $ac_link) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
     (./conftest; exit; ) >&5 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -18154,9 +18765,9 @@
 $as_echo "$lt_cv_dlopen_self_static" >&6; }
     fi
 
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
     ;;
   esac
 
@@ -18200,7 +18811,7 @@
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
   darwin*)
-    if test -n "$STRIP" ; then
+    if test -n "$STRIP"; then
       striplib="$STRIP -x"
       old_striplib="$STRIP -S"
       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -18228,7 +18839,7 @@
 
 
 
-  # Report which library types will actually be built
+  # Report what library types will actually be built
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
@@ -18236,13 +18847,13 @@
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
 $as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
+  test no = "$can_build_shared" && enable_shared=no
 
   # On AIX, shared libraries and static libraries use the same namespace, and
   # are all built from PIC.
   case $host_os in
   aix3*)
-    test "$enable_shared" = yes && enable_static=no
+    test yes = "$enable_shared" && enable_static=no
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
@@ -18250,8 +18861,12 @@
     ;;
 
   aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
     fi
     ;;
   esac
@@ -18261,7 +18876,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
 $as_echo_n "checking whether to build static libraries... " >&6; }
   # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
+  test yes = "$enable_shared" || enable_static=yes
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
 $as_echo "$enable_static" >&6; }
 
@@ -18275,7 +18890,7 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-CC="$lt_save_CC"
+CC=$lt_save_CC
 
 
 
@@ -18324,7 +18939,7 @@
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -18370,7 +18985,7 @@
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -18394,7 +19009,7 @@
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -18439,7 +19054,7 @@
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -18463,7 +19078,7 @@
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -18631,41 +19246,113 @@
 
 
 
-has_znow=yes
+# Check whether --enable-glx was given.
+if test "${enable_glx+set}" = set; then :
+  enableval=$enable_glx; enable_glx=$enableval
+else
+  enable_glx=auto
+fi
 
-case $host_os in
-    mingw*)
-        build_egl=no
-        build_glx=no
-        build_wgl=yes
-        # On windows, the DLL has to have all of its functions
-        # resolved at link time, so we have to link directly aginst
-        # opengl32.dll.  But that's the only GL provider, anyway.
-        EPOXY_LINK_LIBS="-lopengl32"
-
-        # Testing our built windows binaries requires that they be run
-        # under wine.  Yeah, we should be nice and autodetect, but
-        # there's lots of missing autodetection for the testsuite
-        # (like checking for EGL and GLX libs in non-windows.).
-        LOG_COMPILER=wine
 
-        ;;
-    darwin*)
-        build_egl=no
-        build_glx=no
-        build_wgl=no
-        build_apple=yes
-        has_znow=no
-        EPOXY_LINK_LIBS=""
-        ;;
-    *)
-        build_egl=yes
-        build_glx=yes
-        build_wgl=no
-        # On platforms with dlopen, we load everything dynamically and
-        # don't link against a specific window system or GL implementation.
-        EPOXY_LINK_LIBS=""
-        ;;
+# GLX can be used on different platforms, so we expose a
+# configure time switch to enable or disable it; in case
+# the "auto" default value is set, we only enable GLX
+# support on Linux and Unix
+case $enable_glx in #(
+  auto) :
+
+    case $host_os in #(
+  mingw*) :
+    build_glx=no ;; #(
+  darwin*) :
+    build_glx=no ;; #(
+  android*) :
+    build_glx=no ;; #(
+  *) :
+    build_glx=yes ;;
+esac
+   ;; #(
+  yes) :
+
+    build_glx=yes
+   ;; #(
+  no) :
+
+    build_glx=no
+   ;; #(
+  *) :
+    as_fn_error $? "Invalid value \"$enable_glx\" for option \"--enable-glx\"" "$LINENO" 5
+] ;;
+esac
+
+# Check whether --enable-egl was given.
+if test "${enable_egl+set}" = set; then :
+  enableval=$enable_egl; enable_egl=$enableval
+else
+  enable_egl=auto
+fi
+
+
+case $enable_egl in #(
+  auto) :
+
+    case $host_os in #(
+  mingw*) :
+    build_egl=no ;; #(
+  darwin*) :
+    build_egl=no ;; #(
+  *) :
+    build_egl=yes ;;
+esac
+   ;; #(
+  yes) :
+
+    build_egl=yes
+   ;; #(
+  no) :
+
+    build_egl=no
+   ;; #(
+  *) :
+    as_fn_error $? "Invalid value \"$enable_egl\" for option \"--enable-egl\"" "$LINENO" 5
+] ;;
+esac
+
+# The remaining platform specific API are enabled depending on the
+# platform we're building for
+case $host_os in #(
+  mingw*) :
+
+    build_wgl=yes
+    has_znow=yes
+    # On windows, the DLL has to have all of its functions
+    # resolved at link time, so we have to link directly aginst
+    # opengl32.dll.  But that's the only GL provider, anyway.
+    EPOXY_LINK_LIBS="-lopengl32"
+
+    # Testing our built windows binaries requires that they be run
+    # under wine.  Yeah, we should be nice and autodetect, but
+    # there's lots of missing autodetection for the testsuite
+    # (like checking for EGL and GLX libs in non-windows.).
+    LOG_COMPILER=wine
+
+   ;; #(
+  darwin*) :
+
+    build_wgl=no
+    build_apple=yes
+    has_znow=no
+    EPOXY_LINK_LIBS=""
+   ;; #(
+  *) :
+
+    build_wgl=no
+    has_znow=yes
+    # On platforms with dlopen, we load everything dynamically and
+    # don't link against a specific window system or GL implementation.
+    EPOXY_LINK_LIBS=""
+
+ ;;
 esac
 
 
@@ -18773,6 +19460,9 @@
 
 $as_echo "#define BUILD_EGL 1" >>confdefs.h
 
+
+$as_echo "#define ENABLE_EGL 1" >>confdefs.h
+
 fi
 
  if test x$build_glx = xyes; then
@@ -18826,6 +19516,57 @@
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glFlush in -lGLESv1_CM" >&5
+$as_echo_n "checking for glFlush in -lGLESv1_CM... " >&6; }
+if ${ac_cv_lib_GLESv1_CM_glFlush+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGLESv1_CM  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glFlush ();
+int
+main ()
+{
+return glFlush ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_GLESv1_CM_glFlush=yes
+else
+  ac_cv_lib_GLESv1_CM_glFlush=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv1_CM_glFlush" >&5
+$as_echo "$ac_cv_lib_GLESv1_CM_glFlush" >&6; }
+if test "x$ac_cv_lib_GLESv1_CM_glFlush" = xyes; then :
+  has_gles1=yes
+else
+  has_gles1=no
+fi
+
+ if test x$has_gles1 = xyes; then
+  HAS_GLES1_TRUE=
+  HAS_GLES1_FALSE='#'
+else
+  HAS_GLES1_TRUE='#'
+  HAS_GLES1_FALSE=
+fi
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
 if ${ac_cv_lib_dl_dlopen+:} false; then :
@@ -18868,47 +19609,63 @@
 
 
 
-case $host_os in
-    mingw*)
-        # visibility flags aren't supported for windows DLLs, and the
-        # compiler whines to tell you so, so don't set them up.
-        ;;
-    *)
-        if test "x$GCC" = xyes; then
-            save_CFLAGS="$CFLAGS"
-            { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fvisibility=hidden" >&5
-$as_echo_n "checking whether $CC supports -fvisibility=hidden... " >&6; }
-            VISIBILITY_CFLAGS="-fvisibility=hidden"
-            CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
-            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+VISIBILITY_CFLAGS=""
+case "$host" in #(
+  *-*-mingw*) :
+
+
+$as_echo "#define EPOXY_PUBLIC __attribute__((visibility(\"default\"))) __declspec(dllexport) extern" >>confdefs.h
+
+    VISIBILITY_CFLAGS="-fvisibility=hidden"
+   ;; #(
+  *) :
+
+        SAVED_CFLAGS="${CFLAGS}"
+    CFLAGS="-fvisibility=hidden"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fvisibility=hidden compiler flag" >&5
+$as_echo_n "checking for -fvisibility=hidden compiler flag... " >&6; }
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 main ()
 {
-
+int main (void) { return 0; }
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+if ac_fn_c_try_compile "$LINENO"; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+      enable_fvisibility_hidden=yes
+
 else
-  VISIBILITY_CFLAGS=""; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
+      enable_fvisibility_hidden=no
+
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext;
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    CFLAGS="${SAVED_CFLAGS}"
 
-            # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
-            CFLAGS=$save_CFLAGS
-        fi
-        ;;
+    if test "${enable_fvisibility_hidden}" = "yes"; then :
+
+
+$as_echo "#define EPOXY_PUBLIC __attribute__((visibility(\"default\"))) extern" >>confdefs.h
+
+      VISIBILITY_CFLAGS="-fvisibility=hidden"
+
+fi
+
+ ;;
 esac
 
 
 
+if test x$build_glx = xyes; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
@@ -18980,8 +19737,14 @@
 $as_echo "yes" >&6; }
 	x11=yes
 fi
-if test x$x11 = xno -a x$build_glx = xyes; then
-    as_fn_error $? "libX11 headers (libx11-dev) required to build with GLX support" "$LINENO" 5
+  if test x$x11 = xno -a x$build_glx = xyes; then
+      as_fn_error $? "libX11 headers (libx11-dev) required to build with GLX support" "$LINENO" 5
+  fi
+
+$as_echo "#define ENABLE_GLX 1" >>confdefs.h
+
+else
+  x11=no
 fi
 
  if test x$x11 = xyes; then
@@ -19065,6 +19828,27 @@
 	gl=yes
 fi
 
+# Variables for the pkg-config file; AC_SUBST does not do `test` substitutions,
+# so we need to specify the boolean values here
+if test x$build_glx = xyes; then :
+  epoxy_has_glx=1
+else
+  epoxy_has_glx=0
+fi
+if test x$build_egl = xyes; then :
+  epoxy_has_egl=1
+else
+  epoxy_has_egl=0
+fi
+if test x$build_wgl = xyes; then :
+  epoxy_has_wgl=1
+else
+  epoxy_has_wgl=0
+fi
+
+
+
+
 ac_config_files="$ac_config_files epoxy.pc Makefile include/epoxy/Makefile src/Makefile test/Makefile"
 
 cat >confcache <<\_ACEOF
@@ -19220,6 +20004,10 @@
   as_fn_error $? "conditional \"HAS_ZNOW\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAS_GLES1_TRUE}" && test -z "${HAS_GLES1_FALSE}"; then
+  as_fn_error $? "conditional \"HAS_GLES1\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${HAVE_X11_TRUE}" && test -z "${HAVE_X11_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -19621,7 +20409,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libepoxy $as_me 1.3.1, which was
+This file was extended by libepoxy $as_me 1.4.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19687,7 +20475,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libepoxy config.status 1.3.1
+libepoxy config.status 1.4.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -19825,6 +20613,7 @@
 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -19872,10 +20661,13 @@
 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -19940,7 +20732,8 @@
 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -19992,9 +20785,12 @@
 compiler \
 lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
 nm_file_list_spec \
+lt_cv_truncate_bin \
 lt_prog_compiler_no_builtin_flag \
 lt_prog_compiler_pic \
 lt_prog_compiler_wl \
@@ -20029,7 +20825,7 @@
 striplib; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -20056,10 +20852,11 @@
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -20068,19 +20865,16 @@
 done
 
 ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
 
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
 # commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
    setopt NO_GLOB_SUBST
 fi
 
 
     PACKAGE='$PACKAGE'
     VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
     RM='$RM'
     ofile='$ofile'
 
@@ -20793,55 +21587,53 @@
  ;;
     "libtool":C)
 
-    # See if we are running on zsh, and set the options which allow our
+    # See if we are running on zsh, and set the options that allow our
     # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
+    if test -n "${ZSH_VERSION+set}"; then
       setopt NO_GLOB_SUBST
     fi
 
-    cfgfile="${ofile}T"
+    cfgfile=${ofile}T
     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
     $RM "$cfgfile"
 
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 of the License, or
+# (at your option) any later version.
 #
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
 #
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see .
 
 
 # The names of the tagged configurations supported by this script.
-available_tags=""
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
 
 # ### BEGIN LIBTOOL CONFIG
 
@@ -20870,6 +21662,9 @@
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
 # Shell to use when invoking shell scripts.
 SHELL=$lt_SHELL
 
@@ -20981,18 +21776,27 @@
 # Transform the output of nm in a proper C declaration.
 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
 
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
 # Transform the output of nm in a C name address pair.
 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
 
 # Transform the output of nm in a C name address pair when lib prefix is needed.
 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
 
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
 # Specify filename containing input files for \$NM.
 nm_file_list_spec=$lt_nm_file_list_spec
 
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
 lt_sysroot=$lt_sysroot
 
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
@@ -21083,8 +21887,11 @@
 # Compile-time system search path for libraries.
 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
 
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
 
 # Whether dlopen is supported.
 dlopen_support=$enable_dlopen
@@ -21177,13 +21984,13 @@
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary.
 hardcode_direct=$hardcode_direct
 
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
 # DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
 # library is relocated.
 hardcode_direct_absolute=$hardcode_direct_absolute
 
@@ -21235,13 +22042,72 @@
 
 _LT_EOF
 
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x$2 in
+    x)
+        ;;
+    *:)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+        ;;
+    x:*)
+        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+        ;;
+    *)
+        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+
+
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in $*""; do
+      case $cc_temp in
+        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
   case $host_os in
   aix3*)
     cat <<\_LT_EOF >> "$cfgfile"
 # AIX sometimes has problems with the GCC collect2 program.  For some
 # reason, if we set the COLLECT_NAMES environment variable, the problems
 # vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
   COLLECT_NAMES=
   export COLLECT_NAMES
 fi
@@ -21250,7 +22116,7 @@
   esac
 
 
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
 
 
   # We use sed instead of cat because bash on DJGPP gets confused if
@@ -21260,165 +22126,6 @@
   sed '$q' "$ltmain" >> "$cfgfile" \
      || (rm -f "$cfgfile"; exit 1)
 
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
    mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
diff -Nru libepoxy-1.3.1/configure.ac libepoxy-1.4.3/configure.ac
--- libepoxy-1.3.1/configure.ac	2015-07-15 23:46:34.000000000 +0000
+++ libepoxy-1.4.3/configure.ac	2017-11-13 11:34:09.000000000 +0000
@@ -22,14 +22,15 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([libepoxy],
-        [1.3.1],
+        [1.4.3],
         [https://github.com/anholt/libepoxy],
         [libepoxy])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
 
 # Initialize Automake
-AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
+AM_INIT_AUTOMAKE([foreign -Wno-portability dist-xz no-dist-gzip tar-ustar subdir-objects])
 
 # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
 m4_ifndef([XORG_MACROS_VERSION],
@@ -58,41 +59,92 @@
 # uintptr_t to a void *") by default.  Kill that.
 XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion])
 
-has_znow=yes
-
-case $host_os in
-    mingw*)
-        build_egl=no
-        build_glx=no
-        build_wgl=yes
-        # On windows, the DLL has to have all of its functions
-        # resolved at link time, so we have to link directly aginst
-        # opengl32.dll.  But that's the only GL provider, anyway.
-        EPOXY_LINK_LIBS="-lopengl32"
-
-        # Testing our built windows binaries requires that they be run
-        # under wine.  Yeah, we should be nice and autodetect, but
-        # there's lots of missing autodetection for the testsuite
-        # (like checking for EGL and GLX libs in non-windows.).
-        AC_SUBST([LOG_COMPILER], [wine])
-        ;;
-    darwin*)
-        build_egl=no
-        build_glx=no
-        build_wgl=no
-        build_apple=yes
-        has_znow=no
-        EPOXY_LINK_LIBS=""
-        ;;
-    *)
-        build_egl=yes
-        build_glx=yes
-        build_wgl=no
-        # On platforms with dlopen, we load everything dynamically and
-        # don't link against a specific window system or GL implementation.
-        EPOXY_LINK_LIBS=""
-        ;;
-esac
+AC_ARG_ENABLE([glx],
+              [AC_HELP_STRING([--enable-glx=@<:@auto,yes,no@:>@], [Enable GLX support @<:@default=auto@:>@])],
+              [enable_glx=$enableval],
+              [enable_glx=auto])
+
+# GLX can be used on different platforms, so we expose a
+# configure time switch to enable or disable it; in case
+# the "auto" default value is set, we only enable GLX
+# support on Linux and Unix
+AS_CASE([$enable_glx],
+  [auto], [
+    AS_CASE([$host_os],
+            [mingw*], [build_glx=no],
+            [darwin*], [build_glx=no],
+            [android*], [build_glx=no],
+            [build_glx=yes])
+  ],
+
+  [yes], [
+    build_glx=yes
+  ],
+
+  [no], [
+    build_glx=no
+  ],
+
+  [AC_MSG_ERROR([Invalid value "$enable_glx" for option "--enable-glx"])]
+])
+
+AC_ARG_ENABLE([egl],
+              [AC_HELP_STRING([--enable-egl=@<:@auto,yes,no@:>@], [Enable EGL support @<:@default=auto@:>@])],
+              [enable_egl=$enableval],
+              [enable_egl=auto])
+
+AS_CASE([$enable_egl],
+  [auto], [
+    AS_CASE([$host_os],
+            [mingw*], [build_egl=no],
+            [darwin*], [build_egl=no],
+            [build_egl=yes])
+  ],
+
+  [yes], [
+    build_egl=yes
+  ],
+
+  [no], [
+    build_egl=no
+  ],
+
+  [AC_MSG_ERROR([Invalid value "$enable_egl" for option "--enable-egl"])]
+])
+
+# The remaining platform specific API are enabled depending on the
+# platform we're building for
+AS_CASE([$host_os],
+  [mingw*], [
+    build_wgl=yes
+    has_znow=yes
+    # On windows, the DLL has to have all of its functions
+    # resolved at link time, so we have to link directly aginst
+    # opengl32.dll.  But that's the only GL provider, anyway.
+    EPOXY_LINK_LIBS="-lopengl32"
+
+    # Testing our built windows binaries requires that they be run
+    # under wine.  Yeah, we should be nice and autodetect, but
+    # there's lots of missing autodetection for the testsuite
+    # (like checking for EGL and GLX libs in non-windows.).
+    AC_SUBST([LOG_COMPILER], [wine])
+  ],
+
+  [darwin*], [
+    build_wgl=no
+    build_apple=yes
+    has_znow=no
+    EPOXY_LINK_LIBS=""
+  ],
+
+  [
+    build_wgl=no
+    has_znow=yes
+    # On platforms with dlopen, we load everything dynamically and
+    # don't link against a specific window system or GL implementation.
+    EPOXY_LINK_LIBS=""
+   ]
+)
 
 AC_SUBST(EPOXY_LINK_LIBS)
 
@@ -100,6 +152,7 @@
 if test x$build_egl = xyes; then
     PKG_CHECK_MODULES(EGL, [egl])
     AC_DEFINE([BUILD_EGL], [1], [build EGL tests])
+    AC_DEFINE(ENABLE_EGL, [1], [Whether EGL support is enabled])
 fi
 
 AM_CONDITIONAL(BUILD_GLX, test x$build_glx = xyes)
@@ -119,40 +172,71 @@
 
 AM_CONDITIONAL(HAS_ZNOW, test x$has_znow = xyes)
 
+AC_CHECK_LIB([GLESv1_CM], [glFlush], [has_gles1=yes], [has_gles1=no])
+AM_CONDITIONAL(HAS_GLES1, test x$has_gles1 = xyes)
+
 AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])
 AC_SUBST([DLOPEN_LIBS])
 
-case $host_os in
-    mingw*)
-        # visibility flags aren't supported for windows DLLs, and the
-        # compiler whines to tell you so, so don't set them up.
-        ;;
-    *)
-        if test "x$GCC" = xyes; then
-            save_CFLAGS="$CFLAGS"
-            AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
-            VISIBILITY_CFLAGS="-fvisibility=hidden"
-            CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
-            AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
-                           [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]);
-
-            # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
-            CFLAGS=$save_CFLAGS
-        fi
-        ;;
-esac
+VISIBILITY_CFLAGS=""
+AS_CASE(["$host"],
+
+  [*-*-mingw*], [
+    dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+    AC_DEFINE([EPOXY_PUBLIC],
+              [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+              [defines how to decorate public symbols while building])
+    VISIBILITY_CFLAGS="-fvisibility=hidden"
+  ],
+
+  [
+    dnl on other compilers, check if we can do -fvisibility=hidden
+    SAVED_CFLAGS="${CFLAGS}"
+    CFLAGS="-fvisibility=hidden"
+    AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+    AC_TRY_COMPILE([], [int main (void) { return 0; }], [
+      AC_MSG_RESULT(yes)
+      enable_fvisibility_hidden=yes
+    ], [
+      AC_MSG_RESULT(no)
+      enable_fvisibility_hidden=no
+    ])
+    CFLAGS="${SAVED_CFLAGS}"
+
+    AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+      AC_DEFINE([EPOXY_PUBLIC],
+                [__attribute__((visibility("default"))) extern],
+                [defines how to decorate public symbols while building])
+      VISIBILITY_CFLAGS="-fvisibility=hidden"
+    ])
+  ]
+)
 
 AC_SUBST([VISIBILITY_CFLAGS])
 
-PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
-if test x$x11 = xno -a x$build_glx = xyes; then
-    AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support])
+if test x$build_glx = xyes; then
+  PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
+  if test x$x11 = xno -a x$build_glx = xyes; then
+      AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support])
+  fi
+  AC_DEFINE(ENABLE_GLX, [1], [Whether GLX support is enabled])
+else
+  x11=no
 fi
 
 AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes)
 
 PKG_CHECK_MODULES(GL, [gl], [gl=yes], [gl=no])
 
+# Variables for the pkg-config file; AC_SUBST does not do `test` substitutions,
+# so we need to specify the boolean values here
+AS_IF([test x$build_glx = xyes], [epoxy_has_glx=1], [epoxy_has_glx=0])
+AS_IF([test x$build_egl = xyes], [epoxy_has_egl=1], [epoxy_has_egl=0])
+AS_IF([test x$build_wgl = xyes], [epoxy_has_wgl=1], [epoxy_has_wgl=0])
+AC_SUBST(epoxy_has_glx)
+AC_SUBST(epoxy_has_egl)
+AC_SUBST(epoxy_has_wgl)
+
 AC_CONFIG_FILES([
                 epoxy.pc
                 Makefile
diff -Nru libepoxy-1.3.1/cross/fedora-mingw64.txt libepoxy-1.4.3/cross/fedora-mingw64.txt
--- libepoxy-1.3.1/cross/fedora-mingw64.txt	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/cross/fedora-mingw64.txt	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,18 @@
+[binaries]
+c = '/usr/bin/x86_64-w64-mingw32-gcc'
+cpp = '/usr/bin/x86_64-w64-mingw32-cpp'
+ar = '/usr/bin/x86_64-w64-mingw32-ar'
+strip = '/usr/bin/x86_64-w64-mingw32-strip'
+pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
+exe_wrapper = 'wine'
+
+[properties]
+root = '/usr/x86_64-w64-mingw32/sys-root/mingw'
+c_args = [ '-pipe', '-Wp,-D_FORTIFY_SOURCE=2', '-fexceptions', '--param=ssp-buffer-size=4', '-I/usr/x86_64-w64-mingw32/sys-root/mingw/include' ]
+c_link_args = [ '-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib' ]
+
+[host_machine]
+system = 'windows'
+cpu_family = 'x86_64'
+cpu = 'x86_64'
+endian = 'little'
diff -Nru libepoxy-1.3.1/debian/changelog libepoxy-1.4.3/debian/changelog
--- libepoxy-1.3.1/debian/changelog	2017-06-24 08:07:39.000000000 +0000
+++ libepoxy-1.4.3/debian/changelog	2017-11-13 11:44:13.000000000 +0000
@@ -1,3 +1,12 @@
+libepoxy (1.4.3-1) unstable; urgency=medium
+
+  * New upstream version 1.4.3 (Closes: #881540).
+  * Section: debian-installer for udeb
+  * Copyright: factor Expat license
+  * Move maintenance to collab-maint, use gbp layout
+
+ -- Jérémy Lal   Mon, 13 Nov 2017 12:44:13 +0100
+
 libepoxy (1.3.1-3) unstable; urgency=medium
 
   * Drop patch causing amdgpu-pro lock (Closes: #850033)
diff -Nru libepoxy-1.3.1/debian/control libepoxy-1.4.3/debian/control
--- libepoxy-1.3.1/debian/control	2017-01-30 14:00:16.000000000 +0000
+++ libepoxy-1.4.3/debian/control	2017-11-13 11:44:13.000000000 +0000
@@ -12,8 +12,8 @@
 Standards-Version: 3.9.8
 Section: libs
 Homepage: https://github.com/anholt/libepoxy
-Vcs-Git: https://github.com/anholt/libepoxy.git
-Vcs-Browser: https://github.com/anholt/libepoxy
+Vcs-Browser: https://anonscm.debian.org/gitweb/?p=collab-maint/libepoxy.git
+Vcs-Git: https://anonscm.debian.org/git/collab-maint/libepoxy.git
 
 Package: libepoxy-dev
 Section: libdevel
diff -Nru libepoxy-1.3.1/debian/gbp.conf libepoxy-1.4.3/debian/gbp.conf
--- libepoxy-1.3.1/debian/gbp.conf	2017-01-30 13:58:39.000000000 +0000
+++ libepoxy-1.4.3/debian/gbp.conf	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-[DEFAULT]
-pristine-tar = True
-debian-branch = debian
-upstream-branch = debian-tarball-imports
-upstream-vcs-tag = v1.3.1
diff -Nru libepoxy-1.3.1/debian/libepoxy0.lintian-overrides libepoxy-1.4.3/debian/libepoxy0.lintian-overrides
--- libepoxy-1.3.1/debian/libepoxy0.lintian-overrides	2017-01-30 13:58:39.000000000 +0000
+++ libepoxy-1.4.3/debian/libepoxy0.lintian-overrides	2017-11-13 11:44:13.000000000 +0000
@@ -14,6 +14,3 @@
 # expects GL calls to error out, even with GL_OUT_OF_MEMORY.
 libepoxy0 binary: shlib-calls-exit
 
-# The only changelog is the git history, and it doesn't appear to be
-# standard practiice to extract that.
-libepoxy0 binary: no-upstream-changelog
diff -Nru libepoxy-1.3.1/debian/libepoxy0.symbols libepoxy-1.4.3/debian/libepoxy0.symbols
--- libepoxy-1.3.1/debian/libepoxy0.symbols	2017-01-30 13:58:39.000000000 +0000
+++ libepoxy-1.4.3/debian/libepoxy0.symbols	2017-11-13 11:44:13.000000000 +0000
@@ -5,12 +5,20 @@
  epoxy_eglClientWaitSync@Base 1.2
  epoxy_eglClientWaitSyncKHR@Base 1.0
  epoxy_eglClientWaitSyncNV@Base 1.0
+ epoxy_eglCompositorBindTexWindowEXT@Base 1.4.3
+ epoxy_eglCompositorSetContextAttributesEXT@Base 1.4.3
+ epoxy_eglCompositorSetContextListEXT@Base 1.4.3
+ epoxy_eglCompositorSetSizeEXT@Base 1.4.3
+ epoxy_eglCompositorSetWindowAttributesEXT@Base 1.4.3
+ epoxy_eglCompositorSetWindowListEXT@Base 1.4.3
+ epoxy_eglCompositorSwapPolicyEXT@Base 1.4.3
  epoxy_eglCopyBuffers@Base 1.0
  epoxy_eglCreateContext@Base 1.0
  epoxy_eglCreateDRMImageMESA@Base 1.0
  epoxy_eglCreateFenceSyncNV@Base 1.0
  epoxy_eglCreateImage@Base 1.3
  epoxy_eglCreateImageKHR@Base 1.0
+ epoxy_eglCreateNativeClientBufferANDROID@Base 1.4.3
  epoxy_eglCreatePbufferFromClientBuffer@Base 1.0
  epoxy_eglCreatePbufferSurface@Base 1.0
  epoxy_eglCreatePixmapSurface@Base 1.0
@@ -19,6 +27,7 @@
  epoxy_eglCreatePlatformPixmapSurfaceEXT@Base 1.0
  epoxy_eglCreatePlatformWindowSurface@Base 1.2
  epoxy_eglCreatePlatformWindowSurfaceEXT@Base 1.0
+ epoxy_eglCreateStreamAttribKHR@Base 1.4.3
  epoxy_eglCreateStreamFromFileDescriptorKHR@Base 1.0
  epoxy_eglCreateStreamKHR@Base 1.0
  epoxy_eglCreateStreamProducerSurfaceKHR@Base 1.0
@@ -27,6 +36,7 @@
  epoxy_eglCreateSync@Base 1.2
  epoxy_eglCreateSyncKHR@Base 1.0
  epoxy_eglCreateWindowSurface@Base 1.0
+ epoxy_eglDebugMessageControlKHR@Base 1.4.3
  epoxy_eglDestroyContext@Base 1.0
  epoxy_eglDestroyImage@Base 1.3
  epoxy_eglDestroyImageKHR@Base 1.0
@@ -59,17 +69,24 @@
  epoxy_eglGetSystemTimeFrequencyNV@Base 1.0
  epoxy_eglGetSystemTimeNV@Base 1.0
  epoxy_eglInitialize@Base 1.0
+ epoxy_eglLabelObjectKHR@Base 1.4.3
  epoxy_eglLockSurfaceKHR@Base 1.0
  epoxy_eglMakeCurrent@Base 1.0
  epoxy_eglOutputLayerAttribEXT@Base 1.3
  epoxy_eglOutputPortAttribEXT@Base 1.3
  epoxy_eglPostSubBufferNV@Base 1.0
+ epoxy_eglPresentationTimeANDROID@Base 1.4.3
  epoxy_eglQueryAPI@Base 1.0
  epoxy_eglQueryContext@Base 1.0
+ epoxy_eglQueryDebugKHR@Base 1.4.3
  epoxy_eglQueryDeviceAttribEXT@Base 1.3
  epoxy_eglQueryDeviceStringEXT@Base 1.3
  epoxy_eglQueryDevicesEXT@Base 1.3
  epoxy_eglQueryDisplayAttribEXT@Base 1.3
+ epoxy_eglQueryDisplayAttribKHR@Base 1.4.3
+ epoxy_eglQueryDisplayAttribNV@Base 1.4.3
+ epoxy_eglQueryDmaBufFormatsEXT@Base 1.4.3
+ epoxy_eglQueryDmaBufModifiersEXT@Base 1.4.3
  epoxy_eglQueryNativeDisplayNV@Base 1.0
  epoxy_eglQueryNativePixmapNV@Base 1.0
  epoxy_eglQueryNativeWindowNV@Base 1.0
@@ -77,7 +94,9 @@
  epoxy_eglQueryOutputLayerStringEXT@Base 1.3
  epoxy_eglQueryOutputPortAttribEXT@Base 1.3
  epoxy_eglQueryOutputPortStringEXT@Base 1.3
+ epoxy_eglQueryStreamAttribKHR@Base 1.4.3
  epoxy_eglQueryStreamKHR@Base 1.0
+ epoxy_eglQueryStreamMetadataNV@Base 1.4.3
  epoxy_eglQueryStreamTimeKHR@Base 1.0
  epoxy_eglQueryStreamu64KHR@Base 1.0
  epoxy_eglQueryString@Base 1.0
@@ -86,14 +105,20 @@
  epoxy_eglQuerySurfacePointerANGLE@Base 1.0
  epoxy_eglReleaseTexImage@Base 1.0
  epoxy_eglReleaseThread@Base 1.0
+ epoxy_eglResetStreamNV@Base 1.4.3
  epoxy_eglSetBlobCacheFuncsANDROID@Base 1.0
  epoxy_eglSetDamageRegionKHR@Base 1.3
+ epoxy_eglSetStreamAttribKHR@Base 1.4.3
+ epoxy_eglSetStreamMetadataNV@Base 1.4.3
  epoxy_eglSignalSyncKHR@Base 1.0
  epoxy_eglSignalSyncNV@Base 1.0
  epoxy_eglStreamAttribKHR@Base 1.0
+ epoxy_eglStreamConsumerAcquireAttribKHR@Base 1.4.3
  epoxy_eglStreamConsumerAcquireKHR@Base 1.0
+ epoxy_eglStreamConsumerGLTextureExternalAttribsNV@Base 1.4.3
  epoxy_eglStreamConsumerGLTextureExternalKHR@Base 1.0
  epoxy_eglStreamConsumerOutputEXT@Base 1.3
+ epoxy_eglStreamConsumerReleaseAttribKHR@Base 1.4.3
  epoxy_eglStreamConsumerReleaseKHR@Base 1.0
  epoxy_eglSurfaceAttrib@Base 1.0
  epoxy_eglSwapBuffers@Base 1.0
@@ -126,6 +151,7 @@
  epoxy_glAlphaFuncQCOM@Base 1.0
  epoxy_glAlphaFuncx@Base 1.0
  epoxy_glAlphaFuncxOES@Base 1.0
+ epoxy_glApplyFramebufferAttachmentCMAAINTEL@Base 1.4.3
  epoxy_glApplyTextureEXT@Base 1.0
  epoxy_glAreProgramsResidentNV@Base 1.0
  epoxy_glAreTexturesResident@Base 1.0
@@ -170,6 +196,7 @@
  epoxy_glBindFragDataLocation@Base 1.0
  epoxy_glBindFragDataLocationEXT@Base 1.0
  epoxy_glBindFragDataLocationIndexed@Base 1.0
+ epoxy_glBindFragDataLocationIndexedEXT@Base 1.4.3
  epoxy_glBindFragmentShaderATI@Base 1.0
  epoxy_glBindFramebuffer@Base 1.0
  epoxy_glBindFramebufferEXT@Base 1.0
@@ -219,6 +246,7 @@
  epoxy_glBinormalPointerEXT@Base 1.0
  epoxy_glBitmap@Base 1.0
  epoxy_glBitmapxOES@Base 1.0
+ epoxy_glBlendBarrier@Base 1.4.3
  epoxy_glBlendBarrierKHR@Base 1.2
  epoxy_glBlendBarrierNV@Base 1.0
  epoxy_glBlendColor@Base 1.0
@@ -309,9 +337,12 @@
  epoxy_glClearNamedFramebufferfv@Base 1.3
  epoxy_glClearNamedFramebufferiv@Base 1.3
  epoxy_glClearNamedFramebufferuiv@Base 1.3
+ epoxy_glClearPixelLocalStorageuiEXT@Base 1.4.3
  epoxy_glClearStencil@Base 1.0
  epoxy_glClearTexImage@Base 1.0
+ epoxy_glClearTexImageEXT@Base 1.4.3
  epoxy_glClearTexSubImage@Base 1.0
+ epoxy_glClearTexSubImageEXT@Base 1.4.3
  epoxy_glClientActiveTexture@Base 1.0
  epoxy_glClientActiveTextureARB@Base 1.0
  epoxy_glClientActiveVertexStreamATI@Base 1.0
@@ -443,6 +474,8 @@
  epoxy_glCompressedTextureSubImage2DEXT@Base 1.0
  epoxy_glCompressedTextureSubImage3D@Base 1.3
  epoxy_glCompressedTextureSubImage3DEXT@Base 1.0
+ epoxy_glConservativeRasterParameterfNV@Base 1.4.3
+ epoxy_glConservativeRasterParameteriNV@Base 1.4.3
  epoxy_glConvolutionFilter1D@Base 1.0
  epoxy_glConvolutionFilter1DEXT@Base 1.0
  epoxy_glConvolutionFilter2D@Base 1.0
@@ -595,9 +628,11 @@
  epoxy_glDepthMask@Base 1.0
  epoxy_glDepthRange@Base 1.0
  epoxy_glDepthRangeArrayfvNV@Base 1.3
+ epoxy_glDepthRangeArrayfvOES@Base 1.4.3
  epoxy_glDepthRangeArrayv@Base 1.0
  epoxy_glDepthRangeIndexed@Base 1.0
  epoxy_glDepthRangeIndexedfNV@Base 1.3
+ epoxy_glDepthRangeIndexedfOES@Base 1.4.3
  epoxy_glDepthRangedNV@Base 1.0
  epoxy_glDepthRangef@Base 1.0
  epoxy_glDepthRangefOES@Base 1.0
@@ -686,7 +721,9 @@
  epoxy_glDrawTexxOES@Base 1.0
  epoxy_glDrawTexxvOES@Base 1.0
  epoxy_glDrawTransformFeedback@Base 1.0
+ epoxy_glDrawTransformFeedbackEXT@Base 1.4.3
  epoxy_glDrawTransformFeedbackInstanced@Base 1.0
+ epoxy_glDrawTransformFeedbackInstancedEXT@Base 1.4.3
  epoxy_glDrawTransformFeedbackNV@Base 1.0
  epoxy_glDrawTransformFeedbackStream@Base 1.0
  epoxy_glDrawTransformFeedbackStreamInstanced@Base 1.0
@@ -753,6 +790,7 @@
  epoxy_glEvalMesh2@Base 1.0
  epoxy_glEvalPoint1@Base 1.0
  epoxy_glEvalPoint2@Base 1.0
+ epoxy_glEvaluateDepthValuesARB@Base 1.4.3
  epoxy_glExecuteProgramNV@Base 1.0
  epoxy_glExtGetBufferPointervQCOM@Base 1.0
  epoxy_glExtGetBuffersQCOM@Base 1.0
@@ -831,14 +869,18 @@
  epoxy_glFramebufferDrawBufferEXT@Base 1.0
  epoxy_glFramebufferDrawBuffersEXT@Base 1.0
  epoxy_glFramebufferParameteri@Base 1.0
+ epoxy_glFramebufferPixelLocalStorageSizeEXT@Base 1.4.3
  epoxy_glFramebufferReadBufferEXT@Base 1.0
  epoxy_glFramebufferRenderbuffer@Base 1.0
  epoxy_glFramebufferRenderbufferEXT@Base 1.0
  epoxy_glFramebufferRenderbufferOES@Base 1.0
+ epoxy_glFramebufferSampleLocationsfvARB@Base 1.4.3
  epoxy_glFramebufferSampleLocationsfvNV@Base 1.3
+ epoxy_glFramebufferSamplePositionsfvAMD@Base 1.4.3
  epoxy_glFramebufferTexture1D@Base 1.0
  epoxy_glFramebufferTexture1DEXT@Base 1.0
  epoxy_glFramebufferTexture2D@Base 1.0
+ epoxy_glFramebufferTexture2DDownsampleIMG@Base 1.4.3
  epoxy_glFramebufferTexture2DEXT@Base 1.0
  epoxy_glFramebufferTexture2DMultisampleEXT@Base 1.0
  epoxy_glFramebufferTexture2DMultisampleIMG@Base 1.0
@@ -853,7 +895,9 @@
  epoxy_glFramebufferTextureFaceEXT@Base 1.0
  epoxy_glFramebufferTextureLayer@Base 1.0
  epoxy_glFramebufferTextureLayerARB@Base 1.0
+ epoxy_glFramebufferTextureLayerDownsampleIMG@Base 1.4.3
  epoxy_glFramebufferTextureLayerEXT@Base 1.0
+ epoxy_glFramebufferTextureMultisampleMultiviewOVR@Base 1.4.3
  epoxy_glFramebufferTextureMultiviewOVR@Base 1.3
  epoxy_glFramebufferTextureOES@Base 1.3
  epoxy_glFreeObjectBufferATI@Base 1.0
@@ -990,9 +1034,11 @@
  epoxy_glGetFloati_v@Base 1.0
  epoxy_glGetFloati_vEXT@Base 1.0
  epoxy_glGetFloati_vNV@Base 1.3
+ epoxy_glGetFloati_vOES@Base 1.4.3
  epoxy_glGetFloatv@Base 1.0
  epoxy_glGetFogFuncSGIS@Base 1.0
  epoxy_glGetFragDataIndex@Base 1.0
+ epoxy_glGetFragDataIndexEXT@Base 1.4.3
  epoxy_glGetFragDataLocation@Base 1.0
  epoxy_glGetFragDataLocationEXT@Base 1.0
  epoxy_glGetFragmentLightfvSGIX@Base 1.0
@@ -1002,8 +1048,10 @@
  epoxy_glGetFramebufferAttachmentParameteriv@Base 1.0
  epoxy_glGetFramebufferAttachmentParameterivEXT@Base 1.0
  epoxy_glGetFramebufferAttachmentParameterivOES@Base 1.0
+ epoxy_glGetFramebufferParameterfvAMD@Base 1.4.3
  epoxy_glGetFramebufferParameteriv@Base 1.0
  epoxy_glGetFramebufferParameterivEXT@Base 1.0
+ epoxy_glGetFramebufferPixelLocalStorageSizeEXT@Base 1.4.3
  epoxy_glGetGraphicsResetStatus@Base 1.3
  epoxy_glGetGraphicsResetStatusARB@Base 1.0
  epoxy_glGetGraphicsResetStatusEXT@Base 1.0
@@ -1091,6 +1139,7 @@
  epoxy_glGetNamedBufferSubDataEXT@Base 1.0
  epoxy_glGetNamedFramebufferAttachmentParameteriv@Base 1.3
  epoxy_glGetNamedFramebufferAttachmentParameterivEXT@Base 1.0
+ epoxy_glGetNamedFramebufferParameterfvAMD@Base 1.4.3
  epoxy_glGetNamedFramebufferParameteriv@Base 1.3
  epoxy_glGetNamedFramebufferParameterivEXT@Base 1.0
  epoxy_glGetNamedProgramLocalParameterIivEXT@Base 1.0
@@ -1176,6 +1225,7 @@
  epoxy_glGetProgramResourceIndex@Base 1.0
  epoxy_glGetProgramResourceLocation@Base 1.0
  epoxy_glGetProgramResourceLocationIndex@Base 1.0
+ epoxy_glGetProgramResourceLocationIndexEXT@Base 1.4.3
  epoxy_glGetProgramResourceName@Base 1.0
  epoxy_glGetProgramResourcefvNV@Base 1.3
  epoxy_glGetProgramResourceiv@Base 1.0
@@ -1259,6 +1309,7 @@
  epoxy_glGetTexParameterxv@Base 1.0
  epoxy_glGetTexParameterxvOES@Base 1.0
  epoxy_glGetTextureHandleARB@Base 1.0
+ epoxy_glGetTextureHandleIMG@Base 1.4.3
  epoxy_glGetTextureHandleNV@Base 1.0
  epoxy_glGetTextureImage@Base 1.3
  epoxy_glGetTextureImageEXT@Base 1.0
@@ -1275,6 +1326,7 @@
  epoxy_glGetTextureParameteriv@Base 1.3
  epoxy_glGetTextureParameterivEXT@Base 1.0
  epoxy_glGetTextureSamplerHandleARB@Base 1.0
+ epoxy_glGetTextureSamplerHandleIMG@Base 1.4.3
  epoxy_glGetTextureSamplerHandleNV@Base 1.0
  epoxy_glGetTextureSubImage@Base 1.3
  epoxy_glGetTrackMatrixivNV@Base 1.0
@@ -1295,9 +1347,11 @@
  epoxy_glGetUniformdv@Base 1.0
  epoxy_glGetUniformfv@Base 1.0
  epoxy_glGetUniformfvARB@Base 1.0
+ epoxy_glGetUniformi64vARB@Base 1.4.3
  epoxy_glGetUniformi64vNV@Base 1.0
  epoxy_glGetUniformiv@Base 1.0
  epoxy_glGetUniformivARB@Base 1.0
+ epoxy_glGetUniformui64vARB@Base 1.4.3
  epoxy_glGetUniformui64vNV@Base 1.0
  epoxy_glGetUniformuiv@Base 1.0
  epoxy_glGetUniformuivEXT@Base 1.0
@@ -1380,10 +1434,12 @@
  epoxy_glGetnUniformfvARB@Base 1.0
  epoxy_glGetnUniformfvEXT@Base 1.0
  epoxy_glGetnUniformfvKHR@Base 1.3
+ epoxy_glGetnUniformi64vARB@Base 1.4.3
  epoxy_glGetnUniformiv@Base 1.3
  epoxy_glGetnUniformivARB@Base 1.0
  epoxy_glGetnUniformivEXT@Base 1.0
  epoxy_glGetnUniformivKHR@Base 1.3
+ epoxy_glGetnUniformui64vARB@Base 1.4.3
  epoxy_glGetnUniformuiv@Base 1.3
  epoxy_glGetnUniformuivARB@Base 1.0
  epoxy_glGetnUniformuivKHR@Base 1.3
@@ -1619,6 +1675,7 @@
  epoxy_glMatrixScalefEXT@Base 1.0
  epoxy_glMatrixTranslatedEXT@Base 1.0
  epoxy_glMatrixTranslatefEXT@Base 1.0
+ epoxy_glMaxShaderCompilerThreadsARB@Base 1.4.3
  epoxy_glMemoryBarrier@Base 1.0
  epoxy_glMemoryBarrierEXT@Base 1.0
  epoxy_glMemoryBarrierByRegion@Base 1.2
@@ -1797,7 +1854,9 @@
  epoxy_glNamedFramebufferReadBuffer@Base 1.3
  epoxy_glNamedFramebufferRenderbuffer@Base 1.3
  epoxy_glNamedFramebufferRenderbufferEXT@Base 1.0
+ epoxy_glNamedFramebufferSampleLocationsfvARB@Base 1.4.3
  epoxy_glNamedFramebufferSampleLocationsfvNV@Base 1.3
+ epoxy_glNamedFramebufferSamplePositionsfvAMD@Base 1.4.3
  epoxy_glNamedFramebufferTexture1DEXT@Base 1.0
  epoxy_glNamedFramebufferTexture2DEXT@Base 1.0
  epoxy_glNamedFramebufferTexture3DEXT@Base 1.0
@@ -1965,6 +2024,8 @@
  epoxy_glPopName@Base 1.0
  epoxy_glPresentFrameDualFillNV@Base 1.0
  epoxy_glPresentFrameKeyedNV@Base 1.0
+ epoxy_glPrimitiveBoundingBox@Base 1.4.3
+ epoxy_glPrimitiveBoundingBoxARB@Base 1.4.3
  epoxy_glPrimitiveBoundingBoxEXT@Base 1.3
  epoxy_glPrimitiveBoundingBoxOES@Base 1.3
  epoxy_glPrimitiveRestartIndex@Base 1.0
@@ -2024,13 +2085,17 @@
  epoxy_glProgramUniform1fEXT@Base 1.0
  epoxy_glProgramUniform1fv@Base 1.0
  epoxy_glProgramUniform1fvEXT@Base 1.0
+ epoxy_glProgramUniform1i64ARB@Base 1.4.3
  epoxy_glProgramUniform1i64NV@Base 1.0
+ epoxy_glProgramUniform1i64vARB@Base 1.4.3
  epoxy_glProgramUniform1i64vNV@Base 1.0
  epoxy_glProgramUniform1i@Base 1.0
  epoxy_glProgramUniform1iEXT@Base 1.0
  epoxy_glProgramUniform1iv@Base 1.0
  epoxy_glProgramUniform1ivEXT@Base 1.0
+ epoxy_glProgramUniform1ui64ARB@Base 1.4.3
  epoxy_glProgramUniform1ui64NV@Base 1.0
+ epoxy_glProgramUniform1ui64vARB@Base 1.4.3
  epoxy_glProgramUniform1ui64vNV@Base 1.0
  epoxy_glProgramUniform1ui@Base 1.0
  epoxy_glProgramUniform1uiEXT@Base 1.0
@@ -2044,13 +2109,17 @@
  epoxy_glProgramUniform2fEXT@Base 1.0
  epoxy_glProgramUniform2fv@Base 1.0
  epoxy_glProgramUniform2fvEXT@Base 1.0
+ epoxy_glProgramUniform2i64ARB@Base 1.4.3
  epoxy_glProgramUniform2i64NV@Base 1.0
+ epoxy_glProgramUniform2i64vARB@Base 1.4.3
  epoxy_glProgramUniform2i64vNV@Base 1.0
  epoxy_glProgramUniform2i@Base 1.0
  epoxy_glProgramUniform2iEXT@Base 1.0
  epoxy_glProgramUniform2iv@Base 1.0
  epoxy_glProgramUniform2ivEXT@Base 1.0
+ epoxy_glProgramUniform2ui64ARB@Base 1.4.3
  epoxy_glProgramUniform2ui64NV@Base 1.0
+ epoxy_glProgramUniform2ui64vARB@Base 1.4.3
  epoxy_glProgramUniform2ui64vNV@Base 1.0
  epoxy_glProgramUniform2ui@Base 1.0
  epoxy_glProgramUniform2uiEXT@Base 1.0
@@ -2064,13 +2133,17 @@
  epoxy_glProgramUniform3fEXT@Base 1.0
  epoxy_glProgramUniform3fv@Base 1.0
  epoxy_glProgramUniform3fvEXT@Base 1.0
+ epoxy_glProgramUniform3i64ARB@Base 1.4.3
  epoxy_glProgramUniform3i64NV@Base 1.0
+ epoxy_glProgramUniform3i64vARB@Base 1.4.3
  epoxy_glProgramUniform3i64vNV@Base 1.0
  epoxy_glProgramUniform3i@Base 1.0
  epoxy_glProgramUniform3iEXT@Base 1.0
  epoxy_glProgramUniform3iv@Base 1.0
  epoxy_glProgramUniform3ivEXT@Base 1.0
+ epoxy_glProgramUniform3ui64ARB@Base 1.4.3
  epoxy_glProgramUniform3ui64NV@Base 1.0
+ epoxy_glProgramUniform3ui64vARB@Base 1.4.3
  epoxy_glProgramUniform3ui64vNV@Base 1.0
  epoxy_glProgramUniform3ui@Base 1.0
  epoxy_glProgramUniform3uiEXT@Base 1.0
@@ -2084,21 +2157,27 @@
  epoxy_glProgramUniform4fEXT@Base 1.0
  epoxy_glProgramUniform4fv@Base 1.0
  epoxy_glProgramUniform4fvEXT@Base 1.0
+ epoxy_glProgramUniform4i64ARB@Base 1.4.3
  epoxy_glProgramUniform4i64NV@Base 1.0
+ epoxy_glProgramUniform4i64vARB@Base 1.4.3
  epoxy_glProgramUniform4i64vNV@Base 1.0
  epoxy_glProgramUniform4i@Base 1.0
  epoxy_glProgramUniform4iEXT@Base 1.0
  epoxy_glProgramUniform4iv@Base 1.0
  epoxy_glProgramUniform4ivEXT@Base 1.0
+ epoxy_glProgramUniform4ui64ARB@Base 1.4.3
  epoxy_glProgramUniform4ui64NV@Base 1.0
+ epoxy_glProgramUniform4ui64vARB@Base 1.4.3
  epoxy_glProgramUniform4ui64vNV@Base 1.0
  epoxy_glProgramUniform4ui@Base 1.0
  epoxy_glProgramUniform4uiEXT@Base 1.0
  epoxy_glProgramUniform4uiv@Base 1.0
  epoxy_glProgramUniform4uivEXT@Base 1.0
  epoxy_glProgramUniformHandleui64ARB@Base 1.0
+ epoxy_glProgramUniformHandleui64IMG@Base 1.4.3
  epoxy_glProgramUniformHandleui64NV@Base 1.0
  epoxy_glProgramUniformHandleui64vARB@Base 1.0
+ epoxy_glProgramUniformHandleui64vIMG@Base 1.4.3
  epoxy_glProgramUniformHandleui64vNV@Base 1.0
  epoxy_glProgramUniformMatrix2dv@Base 1.0
  epoxy_glProgramUniformMatrix2dvEXT@Base 1.0
@@ -2282,10 +2361,13 @@
  epoxy_glScissor@Base 1.0
  epoxy_glScissorArrayv@Base 1.0
  epoxy_glScissorArrayvNV@Base 1.3
+ epoxy_glScissorArrayvOES@Base 1.4.3
  epoxy_glScissorIndexed@Base 1.0
  epoxy_glScissorIndexedNV@Base 1.3
+ epoxy_glScissorIndexedOES@Base 1.4.3
  epoxy_glScissorIndexedv@Base 1.0
  epoxy_glScissorIndexedvNV@Base 1.3
+ epoxy_glScissorIndexedvOES@Base 1.4.3
  epoxy_glSecondaryColor3b@Base 1.0
  epoxy_glSecondaryColor3bEXT@Base 1.0
  epoxy_glSecondaryColor3bv@Base 1.0
@@ -2622,13 +2704,17 @@
  epoxy_glUniform1fARB@Base 1.0
  epoxy_glUniform1fv@Base 1.0
  epoxy_glUniform1fvARB@Base 1.0
+ epoxy_glUniform1i64ARB@Base 1.4.3
  epoxy_glUniform1i64NV@Base 1.0
+ epoxy_glUniform1i64vARB@Base 1.4.3
  epoxy_glUniform1i64vNV@Base 1.0
  epoxy_glUniform1i@Base 1.0
  epoxy_glUniform1iARB@Base 1.0
  epoxy_glUniform1iv@Base 1.0
  epoxy_glUniform1ivARB@Base 1.0
+ epoxy_glUniform1ui64ARB@Base 1.4.3
  epoxy_glUniform1ui64NV@Base 1.0
+ epoxy_glUniform1ui64vARB@Base 1.4.3
  epoxy_glUniform1ui64vNV@Base 1.0
  epoxy_glUniform1ui@Base 1.0
  epoxy_glUniform1uiEXT@Base 1.0
@@ -2640,13 +2726,17 @@
  epoxy_glUniform2fARB@Base 1.0
  epoxy_glUniform2fv@Base 1.0
  epoxy_glUniform2fvARB@Base 1.0
+ epoxy_glUniform2i64ARB@Base 1.4.3
  epoxy_glUniform2i64NV@Base 1.0
+ epoxy_glUniform2i64vARB@Base 1.4.3
  epoxy_glUniform2i64vNV@Base 1.0
  epoxy_glUniform2i@Base 1.0
  epoxy_glUniform2iARB@Base 1.0
  epoxy_glUniform2iv@Base 1.0
  epoxy_glUniform2ivARB@Base 1.0
+ epoxy_glUniform2ui64ARB@Base 1.4.3
  epoxy_glUniform2ui64NV@Base 1.0
+ epoxy_glUniform2ui64vARB@Base 1.4.3
  epoxy_glUniform2ui64vNV@Base 1.0
  epoxy_glUniform2ui@Base 1.0
  epoxy_glUniform2uiEXT@Base 1.0
@@ -2658,13 +2748,17 @@
  epoxy_glUniform3fARB@Base 1.0
  epoxy_glUniform3fv@Base 1.0
  epoxy_glUniform3fvARB@Base 1.0
+ epoxy_glUniform3i64ARB@Base 1.4.3
  epoxy_glUniform3i64NV@Base 1.0
+ epoxy_glUniform3i64vARB@Base 1.4.3
  epoxy_glUniform3i64vNV@Base 1.0
  epoxy_glUniform3i@Base 1.0
  epoxy_glUniform3iARB@Base 1.0
  epoxy_glUniform3iv@Base 1.0
  epoxy_glUniform3ivARB@Base 1.0
+ epoxy_glUniform3ui64ARB@Base 1.4.3
  epoxy_glUniform3ui64NV@Base 1.0
+ epoxy_glUniform3ui64vARB@Base 1.4.3
  epoxy_glUniform3ui64vNV@Base 1.0
  epoxy_glUniform3ui@Base 1.0
  epoxy_glUniform3uiEXT@Base 1.0
@@ -2676,13 +2770,17 @@
  epoxy_glUniform4fARB@Base 1.0
  epoxy_glUniform4fv@Base 1.0
  epoxy_glUniform4fvARB@Base 1.0
+ epoxy_glUniform4i64ARB@Base 1.4.3
  epoxy_glUniform4i64NV@Base 1.0
+ epoxy_glUniform4i64vARB@Base 1.4.3
  epoxy_glUniform4i64vNV@Base 1.0
  epoxy_glUniform4i@Base 1.0
  epoxy_glUniform4iARB@Base 1.0
  epoxy_glUniform4iv@Base 1.0
  epoxy_glUniform4ivARB@Base 1.0
+ epoxy_glUniform4ui64ARB@Base 1.4.3
  epoxy_glUniform4ui64NV@Base 1.0
+ epoxy_glUniform4ui64vARB@Base 1.4.3
  epoxy_glUniform4ui64vNV@Base 1.0
  epoxy_glUniform4ui@Base 1.0
  epoxy_glUniform4uiEXT@Base 1.0
@@ -2691,8 +2789,10 @@
  epoxy_glUniformBlockBinding@Base 1.0
  epoxy_glUniformBufferEXT@Base 1.0
  epoxy_glUniformHandleui64ARB@Base 1.0
+ epoxy_glUniformHandleui64IMG@Base 1.4.3
  epoxy_glUniformHandleui64NV@Base 1.0
  epoxy_glUniformHandleui64vARB@Base 1.0
+ epoxy_glUniformHandleui64vIMG@Base 1.4.3
  epoxy_glUniformHandleui64vNV@Base 1.0
  epoxy_glUniformMatrix2dv@Base 1.0
  epoxy_glUniformMatrix2fv@Base 1.0
@@ -3119,10 +3219,15 @@
  epoxy_glViewport@Base 1.0
  epoxy_glViewportArrayv@Base 1.0
  epoxy_glViewportArrayvNV@Base 1.3
+ epoxy_glViewportArrayvOES@Base 1.4.3
  epoxy_glViewportIndexedf@Base 1.0
  epoxy_glViewportIndexedfNV@Base 1.3
+ epoxy_glViewportIndexedfOES@Base 1.4.3
  epoxy_glViewportIndexedfv@Base 1.0
  epoxy_glViewportIndexedfvNV@Base 1.3
+ epoxy_glViewportIndexedfvOES@Base 1.4.3
+ epoxy_glViewportPositionWScaleNV@Base 1.4.3
+ epoxy_glViewportSwizzleNV@Base 1.4.3
  epoxy_glWaitSync@Base 1.0
  epoxy_glWaitSyncAPPLE@Base 1.0
  epoxy_glWeightPathsNV@Base 1.0
@@ -3192,6 +3297,7 @@
  epoxy_glWindowPos4ivMESA@Base 1.0
  epoxy_glWindowPos4sMESA@Base 1.0
  epoxy_glWindowPos4svMESA@Base 1.0
+ epoxy_glWindowRectanglesEXT@Base 1.4.3
  epoxy_glWriteMaskEXT@Base 1.0
  epoxy_glXBindChannelToWindowSGIX@Base 1.0
  epoxy_glXBindHyperpipeSGIX@Base 1.0
@@ -3325,7 +3431,9 @@
  epoxy_glXWaitX@Base 1.0
  epoxy_gl_version@Base 1.0
  epoxy_glx_version@Base 1.0
+ epoxy_has_egl@Base 1.4.3
  epoxy_has_egl_extension@Base 1.0
  epoxy_has_gl_extension@Base 1.0
+ epoxy_has_glx@Base 1.4.3
  epoxy_has_glx_extension@Base 1.0
  epoxy_is_desktop_gl@Base 1.0
diff -Nru libepoxy-1.3.1/debian/libepoxy-dev.lintian-overrides libepoxy-1.4.3/debian/libepoxy-dev.lintian-overrides
--- libepoxy-1.3.1/debian/libepoxy-dev.lintian-overrides	2017-01-30 13:58:39.000000000 +0000
+++ libepoxy-1.4.3/debian/libepoxy-dev.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-# The only changelog is the git history, and it doesn't appear to be
-# standard practiice to extract that.
-libepoxy-dev binary: no-upstream-changelog
diff -Nru libepoxy-1.3.1/debian/patches/add-null-checks.diff libepoxy-1.4.3/debian/patches/add-null-checks.diff
--- libepoxy-1.3.1/debian/patches/add-null-checks.diff	2017-06-24 08:05:34.000000000 +0000
+++ libepoxy-1.4.3/debian/patches/add-null-checks.diff	1970-01-01 00:00:00.000000000 +0000
@@ -1,47 +0,0 @@
-Description: couple of null checks, avoids rare failure conditions
-Forwarded: not-needed, applied upstream
-Author: Gianfranco Costamagna 
-Last-Update: 2017-06-24
---- libepoxy-1.3.1.orig/src/dispatch_common.c
-+++ libepoxy-1.3.1/src/dispatch_common.c
-@@ -347,7 +347,7 @@ epoxy_conservative_gl_version(void)
- bool
- epoxy_extension_in_string(const char *extension_list, const char *ext)
- {
--    if (!extension_list)
-+    if (!extension_list || !ext)
-         return false;
-     const char *ptr = extension_list;
-     int len = strlen(ext);
-@@ -382,6 +382,7 @@ epoxy_internal_has_gl_extension(const ch
- 
-         for (i = 0; i < num_extensions; i++) {
-             const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);
-+            if(! gl_ext) return false;
-             if (strcmp(ext, gl_ext) == 0)
-                 return true;
-         }
---- libepoxy-1.3.1.orig/src/dispatch_egl.c
-+++ libepoxy-1.3.1/src/dispatch_egl.c
-@@ -43,12 +43,16 @@ epoxy_egl_version(EGLDisplay dpy)
- {
-     int major, minor;
-     const char *version_string;
--    int ret;
-+    int ret=0, sscanf_ret;
- 
--    version_string = eglQueryString(dpy, EGL_VERSION);
--    ret = sscanf(version_string, "%d.%d", &major, &minor);
--    assert(ret == 2);
--    return major * 10 + minor;
-+    if ((version_string = eglQueryString(dpy, EGL_VERSION)))
-+    {
-+        sscanf_ret = sscanf(version_string, "%d.%d", &major, &minor);
-+        assert(sscanf_ret == 2);
-+        ret = major * 10 + minor;
-+    }
-+
-+    return ret;
- }
- 
- bool
diff -Nru libepoxy-1.3.1/debian/patches/series libepoxy-1.4.3/debian/patches/series
--- libepoxy-1.3.1/debian/patches/series	2017-06-24 08:04:08.000000000 +0000
+++ libepoxy-1.4.3/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-upstream/b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc.patch
-upstream/b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf.patch
-add-null-checks.diff
diff -Nru libepoxy-1.3.1/debian/patches/upstream/b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc.patch libepoxy-1.4.3/debian/patches/upstream/b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc.patch
--- libepoxy-1.3.1/debian/patches/upstream/b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc.patch	2017-06-23 22:24:01.000000000 +0000
+++ libepoxy-1.4.3/debian/patches/upstream/b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,51 +0,0 @@
-From: Yaron Cohen-Tal 
-Date: Tue, 29 Sep 2015 11:57:55 +0300
-Subject: [PATCH] Fix "epoxy_glx_version" to handle the case when GLX is not
- active on the display.
-
----
- src/dispatch_glx.c | 29 +++++++++++++++--------------
- 1 file changed, 15 insertions(+), 14 deletions(-)
-
-diff --git a/src/dispatch_glx.c b/src/dispatch_glx.c
-index f1ff447..36d513a 100644
---- a/src/dispatch_glx.c
-+++ b/src/dispatch_glx.c
-@@ -54,22 +54,23 @@ epoxy_glx_version(Display *dpy, int screen)
-     int client_major, client_minor;
-     int server, client;
-     const char *version_string;
--    int ret;
-+    int ret=0, sscanf_ret;
- 
--    version_string = glXQueryServerString(dpy, screen, GLX_VERSION);
--    ret = sscanf(version_string, "%d.%d", &server_major, &server_minor);
--    assert(ret == 2);
--    server = server_major * 10 + server_minor;
-+    if ((version_string = glXQueryServerString(dpy, screen, GLX_VERSION)))
-+    {
-+        sscanf_ret = sscanf(version_string, "%d.%d", &server_major, &server_minor);
-+        assert(sscanf_ret == 2);
-+        server = server_major * 10 + server_minor;
-+        if ((version_string = glXGetClientString(dpy, GLX_VERSION)))
-+        {
-+            sscanf_ret = sscanf(version_string, "%d.%d", &client_major, &client_minor);
-+            assert(sscanf_ret == 2);
-+            client = client_major * 10 + client_minor;
-+            ret = client <= server  ?  client  :  server;
-+        }
-+    }
- 
--    version_string = glXGetClientString(dpy, GLX_VERSION);
--    ret = sscanf(version_string, "%d.%d", &client_major, &client_minor);
--    assert(ret == 2);
--    client = client_major * 10 + client_minor;
--
--    if (client < server)
--        return client;
--    else
--        return server;
-+    return ret;
- }
- 
- /**
diff -Nru libepoxy-1.3.1/debian/patches/upstream/b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf.patch libepoxy-1.4.3/debian/patches/upstream/b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf.patch
--- libepoxy-1.3.1/debian/patches/upstream/b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf.patch	2017-06-23 22:24:01.000000000 +0000
+++ libepoxy-1.4.3/debian/patches/upstream/b8d609e8f9fc1f9c4ff359adb2c1c44619a9e7cf.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,23 +0,0 @@
-From: Yaron Cohen-Tal 
-Date: Fri, 29 Jul 2016 17:55:49 +0300
-Subject: [PATCH] Fox some X server not supporting any OpenGL feature,
- glXQueryExtensionsString will return NULL and causes the function to fail.
- Thanx to Emmanuel Stapf (manus@eiffel.com) for the original patch.
-
-This was verified running an application on macOS while the X server was running
-on Windows Xming 7.5.0.10
----
- src/dispatch_common.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/src/dispatch_common.c
-+++ b/src/dispatch_common.c
-@@ -347,6 +347,8 @@
- bool
- epoxy_extension_in_string(const char *extension_list, const char *ext)
- {
-+    if (!extension_list)
-+        return false;
-     const char *ptr = extension_list;
-     int len = strlen(ext);
- 
diff -Nru libepoxy-1.3.1/depcomp libepoxy-1.4.3/depcomp
--- libepoxy-1.3.1/depcomp	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/depcomp	2017-11-13 11:34:09.000000000 +0000
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 
 # 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
diff -Nru libepoxy-1.3.1/.dir-locals.el libepoxy-1.4.3/.dir-locals.el
--- libepoxy-1.3.1/.dir-locals.el	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/.dir-locals.el	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,6 @@
+((nil
+  (indent-tabs-mode . nil)
+  (tab-width . 8)
+  (c-basic-offset . 4)
+  )
+ )
diff -Nru libepoxy-1.3.1/doc/Doxyfile.in libepoxy-1.4.3/doc/Doxyfile.in
--- libepoxy-1.3.1/doc/Doxyfile.in	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/doc/Doxyfile.in	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,241 @@
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = @PACKAGE_NAME@
+PROJECT_NUMBER         = @PACKAGE_VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
+OUTPUT_DIRECTORY       = doc 
+CREATE_SUBDIRS         = NO
+ALLOW_UNICODE_NAMES    = YES
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       =
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = "@top_srcdir@/include" "@top_builddir@/include"
+
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in @PACKAGE_NAME@ \1.\2\""
+TCL_SUBST              =
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = YES
+AUTOLINK_SUPPORT       = YES
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = NO
+DISTRIBUTE_GROUP_DOC   = NO
+GROUP_NESTED_COMPOUNDS = NO
+SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
+TYPEDEF_HIDES_STRUCT   = NO
+LOOKUP_CACHE_SIZE      = 0
+
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_PACKAGE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = YES
+HIDE_UNDOC_CLASSES     = YES
+HIDE_FRIEND_COMPOUNDS  = YES
+HIDE_IN_BODY_DOCS      = YES
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+HIDE_COMPOUND_REFERENCE= NO
+SHOW_INCLUDE_FILES     = YES
+SHOW_GROUPED_MEMB_INC  = NO
+FORCE_LOCAL_INCLUDES   = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = YES
+SORT_GROUP_NAMES       = YES
+SORT_BY_SCOPE_NAME     = YES
+STRICT_PROTO_MATCHING  = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 2
+SHOW_USED_FILES        = YES
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = NO
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
+CITE_BIB_FILES         =
+
+QUIET                  = YES 
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = YES
+WARN_AS_ERROR          = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           = doc/doxygen.log
+
+INPUT                  = "@top_srcdir@/include/epoxy" "@top_srcdir@/src"
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = "*.h" "*.c"
+RECURSIVE              = NO
+EXCLUDE                = "@top_srcdir@/src/gen_dispatch.py"
+EXCLUDE_SYMLINKS       = YES
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        = _* GLAPI* KHRONOS_* APIENTRY* GLX* wgl* EPOXY_CALLSPEC EPOXY_BEGIN_DECLS EPOXY_END_DECLS
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
+
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS        = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = NO
+
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 3
+IGNORE_PREFIX          = "epoxy"
+
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_EXTRA_STYLESHEET  =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
+HTML_TIMESTAMP         = YES
+HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          =
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
+DISABLE_INDEX          = NO
+GENERATE_TREEVIEW      = NO
+ENUM_VALUES_PER_LINE   = 1
+TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
+FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_FORMAT         = HTML-CSS
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS     =
+MATHJAX_CODEFILE       =
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
+EXTERNAL_SEARCH        = NO
+SEARCHENGINE_URL       =
+SEARCHDATA_FILE        =
+EXTERNAL_SEARCH_ID     =
+EXTRA_SEARCH_MAPPINGS  =
+
+GENERATE_LATEX         = NO
+GENERATE_RTF           = NO
+GENERATE_MAN           = NO
+GENERATE_XML           = NO
+GENERATE_DOCBOOK       = NO
+GENERATE_AUTOGEN_DEF   = NO
+GENERATE_PERLMOD       = NO
+
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = "@top_srcdir@/include" \
+                         "@top_builddir@/include"
+INCLUDE_FILE_PATTERNS  = *.h
+PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
+                         "EPOXY_BEGIN_DECLS=" \
+                         "EPOXY_END_DECLS=" \
+                         "EPOXY_PUBLIC="
+EXPAND_AS_DEFINED      =
+SKIP_FUNCTION_MACROS   = YES
+
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = NO
+EXTERNAL_PAGES         = NO
+
+HAVE_DOT               = @HAVE_DOT@
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            =
+DIA_PATH               =
+HIDE_UNDOC_RELATIONS   = NO
+DOT_NUM_THREADS        = 0
+DOT_FONTNAME           = Sans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = NO
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
+DOT_PATH               =
+DOTFILE_DIRS           =
+MSCFILE_DIRS           =
+DIAFILE_DIRS           =
+PLANTUML_JAR_PATH      =
+PLANTUML_INCLUDE_PATH  =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = YES
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
diff -Nru libepoxy-1.3.1/doc/meson.build libepoxy-1.4.3/doc/meson.build
--- libepoxy-1.3.1/doc/meson.build	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/doc/meson.build	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,25 @@
+doxyfile_conf = configuration_data()
+doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
+doxyfile_conf.set('PACKAGE_VERSION', meson.project_version())
+doxyfile_conf.set('top_srcdir', meson.source_root())
+doxyfile_conf.set('top_builddir', meson.build_root())
+
+if find_program('dot', required: false).found()
+  doxyfile_conf.set('HAVE_DOT', 'YES')
+else
+  doxyfile_conf.set('HAVE_DOT', 'NO')
+endif
+
+doxyfile = configure_file(input: 'Doxyfile.in',
+                          output: 'Doxyfile',
+                          configuration: doxyfile_conf,
+                          install: false)
+
+docdir = join_paths(epoxy_datadir, 'doc')
+
+html_target = custom_target('epoxy-docs',
+                            input: [ doxyfile ],
+                            output: [ 'html' ],
+                            command: [ doxygen, doxyfile ],
+                            install: true,
+                            install_dir: join_paths(docdir, 'epoxy'))
diff -Nru libepoxy-1.3.1/epoxy.pc.in libepoxy-1.4.3/epoxy.pc.in
--- libepoxy-1.3.1/epoxy.pc.in	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/epoxy.pc.in	2017-11-13 11:34:09.000000000 +0000
@@ -3,6 +3,10 @@
 libdir=@libdir@
 includedir=@includedir@
 
+epoxy_has_glx=@epoxy_has_glx@
+epoxy_has_egl=@epoxy_has_egl@
+epoxy_has_wgl=@epoxy_has_wgl@
+
 Name: epoxy
 Description: epoxy GL dispatch Library
 Version: @PACKAGE_VERSION@
diff -Nru libepoxy-1.3.1/include/epoxy/common.h libepoxy-1.4.3/include/epoxy/common.h
--- libepoxy-1.3.1/include/epoxy/common.h	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/common.h	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2017  Emmanuele Bassi 
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+/** @file common.h
+ *
+ * A common header file, used to define macros and shared symbols.
+ */
+
+#ifndef EPOXY_COMMON_H
+#define EPOXY_COMMON_H
+
+#ifdef __cplusplus
+# define EPOXY_BEGIN_DECLS      extern "C" {
+# define EPOXY_END_DECLS        }
+#else
+# define EPOXY_BEGIN_DECLS
+# define EPOXY_END_DECLS
+#endif
+
+#ifndef EPOXY_PUBLIC
+# if defined(_MSC_VER)
+#  define EPOXY_PUBLIC __declspec(dllimport) extern
+# else
+#  define EPOXY_PUBLIC extern
+# endif
+#endif
+
+#if defined(_MSC_VER) && !defined(__bool_true_false_are_defined) && (_MSC_VER < 1800)
+typedef unsigned char bool;
+# define false 0
+# define true 1
+#else
+# include 
+#endif
+
+#endif /* EPOXY_COMMON_H */
diff -Nru libepoxy-1.3.1/include/epoxy/egl_generated.h libepoxy-1.4.3/include/epoxy/egl_generated.h
--- libepoxy-1.3.1/include/epoxy/egl_generated.h	2015-07-15 23:09:08.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/egl_generated.h	2017-11-13 11:34:09.000000000 +0000
@@ -6,6 +6,7 @@
 #include 
 #include 
 
+#include "epoxy/common.h"
 #include "epoxy/gl.h"
 #include "EGL/eglplatform.h"
 typedef unsigned int EGLBoolean;
@@ -19,6 +20,8 @@
 typedef void *EGLDisplay;
 typedef void *EGLImage;
 typedef void *EGLImageKHR;
+typedef void *EGLLabelKHR;
+typedef void *EGLObjectKHR;
 typedef void *EGLOutputLayerEXT;
 typedef void *EGLOutputPortEXT;
 typedef void *EGLStreamKHR;
@@ -32,6 +35,7 @@
 typedef khronos_utime_nanoseconds_t EGLTimeNV;
 typedef khronos_utime_nanoseconds_t EGLuint64NV;
 typedef khronos_uint64_t EGLuint64KHR;
+typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
 typedef int EGLNativeFileDescriptorKHR;
 typedef khronos_ssize_t EGLsizeiANDROID;
 typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
@@ -42,6 +46,7 @@
     EGLint iHeight;
     EGLint iStride;
 };
+typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
 
 #define EGL_VERSION_1_0 1
 #define EGL_VERSION_1_1 1
@@ -51,46 +56,65 @@
 #define EGL_VERSION_1_5 1
 
 #define EGL_ANDROID_blob_cache 1
+#define EGL_ANDROID_create_native_client_buffer 1
 #define EGL_ANDROID_framebuffer_target 1
+#define EGL_ANDROID_front_buffer_auto_refresh 1
 #define EGL_ANDROID_image_native_buffer 1
 #define EGL_ANDROID_native_fence_sync 1
+#define EGL_ANDROID_presentation_time 1
 #define EGL_ANDROID_recordable 1
 #define EGL_ANGLE_d3d_share_handle_client_buffer 1
 #define EGL_ANGLE_device_d3d 1
 #define EGL_ANGLE_query_surface_pointer 1
 #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
 #define EGL_ANGLE_window_fixed_size 1
+#define EGL_ARM_implicit_external_sync 1
 #define EGL_ARM_pixmap_multisample_discard 1
 #define EGL_EXT_buffer_age 1
 #define EGL_EXT_client_extensions 1
+#define EGL_EXT_compositor 1
 #define EGL_EXT_create_context_robustness 1
 #define EGL_EXT_device_base 1
 #define EGL_EXT_device_drm 1
 #define EGL_EXT_device_enumeration 1
 #define EGL_EXT_device_openwf 1
 #define EGL_EXT_device_query 1
+#define EGL_EXT_gl_colorspace_bt2020_linear 1
+#define EGL_EXT_gl_colorspace_bt2020_pq 1
+#define EGL_EXT_gl_colorspace_display_p3 1
+#define EGL_EXT_gl_colorspace_display_p3_linear 1
+#define EGL_EXT_gl_colorspace_scrgb_linear 1
 #define EGL_EXT_image_dma_buf_import 1
+#define EGL_EXT_image_dma_buf_import_modifiers 1
 #define EGL_EXT_multiview_window 1
 #define EGL_EXT_output_base 1
 #define EGL_EXT_output_drm 1
 #define EGL_EXT_output_openwf 1
+#define EGL_EXT_pixel_format_float 1
 #define EGL_EXT_platform_base 1
 #define EGL_EXT_platform_device 1
 #define EGL_EXT_platform_wayland 1
 #define EGL_EXT_platform_x11 1
+#define EGL_EXT_protected_content 1
 #define EGL_EXT_protected_surface 1
 #define EGL_EXT_stream_consumer_egloutput 1
+#define EGL_EXT_surface_CTA861_3_metadata 1
+#define EGL_EXT_surface_SMPTE2086_metadata 1
 #define EGL_EXT_swap_buffers_with_damage 1
 #define EGL_EXT_yuv_surface 1
 #define EGL_HI_clientpixmap 1
 #define EGL_HI_colorformats 1
 #define EGL_IMG_context_priority 1
+#define EGL_IMG_image_plane_attribs 1
 #define EGL_KHR_cl_event 1
 #define EGL_KHR_cl_event2 1
 #define EGL_KHR_client_get_all_proc_addresses 1
 #define EGL_KHR_config_attribs 1
+#define EGL_KHR_context_flush_control 1
 #define EGL_KHR_create_context 1
 #define EGL_KHR_create_context_no_error 1
+#define EGL_KHR_debug 1
+#define EGL_KHR_display_reference 1
 #define EGL_KHR_fence_sync 1
 #define EGL_KHR_get_all_proc_addresses 1
 #define EGL_KHR_gl_colorspace 1
@@ -104,6 +128,8 @@
 #define EGL_KHR_lock_surface 1
 #define EGL_KHR_lock_surface2 1
 #define EGL_KHR_lock_surface3 1
+#define EGL_KHR_mutable_render_buffer 1
+#define EGL_KHR_no_config_context 1
 #define EGL_KHR_partial_update 1
 #define EGL_KHR_platform_android 1
 #define EGL_KHR_platform_gbm 1
@@ -111,6 +137,7 @@
 #define EGL_KHR_platform_x11 1
 #define EGL_KHR_reusable_sync 1
 #define EGL_KHR_stream 1
+#define EGL_KHR_stream_attrib 1
 #define EGL_KHR_stream_consumer_gltexture 1
 #define EGL_KHR_stream_cross_process_fd 1
 #define EGL_KHR_stream_fifo 1
@@ -123,6 +150,7 @@
 #define EGL_MESA_drm_image 1
 #define EGL_MESA_image_dma_buf_export 1
 #define EGL_MESA_platform_gbm 1
+#define EGL_MESA_platform_surfaceless 1
 #define EGL_NOK_swap_region 1
 #define EGL_NOK_swap_region2 1
 #define EGL_NOK_texture_from_pixmap 1
@@ -135,40 +163,44 @@
 #define EGL_NV_native_query 1
 #define EGL_NV_post_convert_rounding 1
 #define EGL_NV_post_sub_buffer 1
+#define EGL_NV_robustness_video_memory_purge 1
+#define EGL_NV_stream_consumer_gltexture_yuv 1
+#define EGL_NV_stream_cross_display 1
+#define EGL_NV_stream_cross_object 1
+#define EGL_NV_stream_cross_partition 1
+#define EGL_NV_stream_cross_process 1
+#define EGL_NV_stream_cross_system 1
+#define EGL_NV_stream_fifo_next 1
+#define EGL_NV_stream_fifo_synchronous 1
+#define EGL_NV_stream_frame_limits 1
+#define EGL_NV_stream_metadata 1
+#define EGL_NV_stream_remote 1
+#define EGL_NV_stream_reset 1
+#define EGL_NV_stream_socket 1
+#define EGL_NV_stream_socket_inet 1
+#define EGL_NV_stream_socket_unix 1
 #define EGL_NV_stream_sync 1
 #define EGL_NV_sync 1
 #define EGL_NV_system_time 1
 #define EGL_TIZEN_image_native_buffer 1
 #define EGL_TIZEN_image_native_surface 1
 
-#define EGL_NO_CONTEXT                                       ((EGLContext)0)
-#define EGL_NO_DEVICE_EXT                                    ((EGLDeviceEXT)(0))
-#define EGL_NO_DISPLAY                                       ((EGLDisplay)0)
-#define EGL_NO_IMAGE                                         ((EGLImage)0)
-#define EGL_NO_IMAGE_KHR                                     ((EGLImageKHR)0)
-#define EGL_DEFAULT_DISPLAY                                  ((EGLNativeDisplayType)0)
-#define EGL_NO_FILE_DESCRIPTOR_KHR                           ((EGLNativeFileDescriptorKHR)(-1))
-#define EGL_NO_OUTPUT_LAYER_EXT                              ((EGLOutputLayerEXT)0)
-#define EGL_NO_OUTPUT_PORT_EXT                               ((EGLOutputPortEXT)0)
-#define EGL_NO_STREAM_KHR                                    ((EGLStreamKHR)0)
-#define EGL_NO_SURFACE                                       ((EGLSurface)0)
-#define EGL_NO_SYNC                                          ((EGLSync)0)
-#define EGL_NO_SYNC_KHR                                      ((EGLSyncKHR)0)
-#define EGL_NO_SYNC_NV                                       ((EGLSyncNV)0)
-#define EGL_DONT_CARE                                        ((EGLint)-1)
-#define EGL_UNKNOWN                                          ((EGLint)-1)
 #define EGL_NO_NATIVE_FENCE_FD_ANDROID                       -1
+#define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR                0
 #define EGL_DEPTH_ENCODING_NONE_NV                           0
 #define EGL_FALSE                                            0
 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT                  0x00000001
 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR              0x00000001
 #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR                     0x00000001
 #define EGL_DRM_BUFFER_USE_SCANOUT_MESA                      0x00000001
+#define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID        0x00000001
 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT         0x00000002
 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR     0x00000002
 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR        0x00000002
 #define EGL_DRM_BUFFER_USE_SHARE_MESA                        0x00000002
+#define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID     0x00000002
 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR             0x00000004
+#define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID          0x00000004
 #define EGL_OPENGL_ES3_BIT                                   0x00000040
 #define EGL_OPENGL_ES3_BIT_KHR                               0x00000040
 #define EGL_OPENGL_ES_BIT                                    0x0001
@@ -196,6 +228,9 @@
 #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT                      0x0200
 #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT                      0x0400
 #define EGL_STREAM_BIT_KHR                                   0x0800
+#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR                    0x1000
+#define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR                     0x2097
+#define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR               0x2098
 #define EGL_SUCCESS                                          0x3000
 #define EGL_NOT_INITIALIZED                                  0x3001
 #define EGL_BAD_ACCESS                                       0x3002
@@ -402,6 +437,8 @@
 #define EGL_CONTEXT_PRIORITY_HIGH_IMG                        0x3101
 #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG                      0x3102
 #define EGL_CONTEXT_PRIORITY_LOW_IMG                         0x3103
+#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG            0x3105
+#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG                   0x3106
 #define EGL_BITMAP_PIXEL_SIZE_KHR                            0x3110
 #define EGL_COVERAGE_SAMPLE_RESOLVE_NV                       0x3131
 #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV               0x3132
@@ -415,10 +452,12 @@
 #define EGL_NATIVE_BUFFER_ANDROID                            0x3140
 #define EGL_PLATFORM_ANDROID_KHR                             0x3141
 #define EGL_RECORDABLE_ANDROID                               0x3142
+#define EGL_NATIVE_BUFFER_USAGE_ANDROID                      0x3143
 #define EGL_SYNC_NATIVE_FENCE_ANDROID                        0x3144
 #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID                     0x3145
 #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID               0x3146
 #define EGL_FRAMEBUFFER_TARGET_ANDROID                       0x3147
+#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID                0x314C
 #define EGL_CONTEXT_OPENGL_DEBUG                             0x31B0
 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE                0x31B1
 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS                     0x31B2
@@ -444,6 +483,7 @@
 #define EGL_PLATFORM_GBM_MESA                                0x31D7
 #define EGL_PLATFORM_WAYLAND_EXT                             0x31D8
 #define EGL_PLATFORM_WAYLAND_KHR                             0x31D8
+#define EGL_PLATFORM_SURFACELESS_MESA                        0x31DD
 #define EGL_STREAM_FIFO_LENGTH_KHR                           0x31FC
 #define EGL_STREAM_TIME_NOW_KHR                              0x31FD
 #define EGL_STREAM_TIME_CONSUMER_KHR                         0x31FE
@@ -481,6 +521,34 @@
 #define EGL_CUDA_EVENT_HANDLE_NV                             0x323B
 #define EGL_SYNC_CUDA_EVENT_NV                               0x323C
 #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV                      0x323D
+#define EGL_STREAM_CROSS_PARTITION_NV                        0x323F
+#define EGL_STREAM_STATE_INITIALIZING_NV                     0x3240
+#define EGL_STREAM_TYPE_NV                                   0x3241
+#define EGL_STREAM_PROTOCOL_NV                               0x3242
+#define EGL_STREAM_ENDPOINT_NV                               0x3243
+#define EGL_STREAM_LOCAL_NV                                  0x3244
+#define EGL_STREAM_CROSS_PROCESS_NV                          0x3245
+#define EGL_STREAM_PROTOCOL_FD_NV                            0x3246
+#define EGL_STREAM_PRODUCER_NV                               0x3247
+#define EGL_STREAM_CONSUMER_NV                               0x3248
+#define EGL_STREAM_PROTOCOL_SOCKET_NV                        0x324B
+#define EGL_SOCKET_HANDLE_NV                                 0x324C
+#define EGL_SOCKET_TYPE_NV                                   0x324D
+#define EGL_SOCKET_TYPE_UNIX_NV                              0x324E
+#define EGL_SOCKET_TYPE_INET_NV                              0x324F
+#define EGL_MAX_STREAM_METADATA_BLOCKS_NV                    0x3250
+#define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV                0x3251
+#define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV                0x3252
+#define EGL_PRODUCER_METADATA_NV                             0x3253
+#define EGL_CONSUMER_METADATA_NV                             0x3254
+#define EGL_METADATA0_SIZE_NV                                0x3255
+#define EGL_METADATA1_SIZE_NV                                0x3256
+#define EGL_METADATA2_SIZE_NV                                0x3257
+#define EGL_METADATA3_SIZE_NV                                0x3258
+#define EGL_METADATA0_TYPE_NV                                0x3259
+#define EGL_METADATA1_TYPE_NV                                0x325A
+#define EGL_METADATA2_TYPE_NV                                0x325B
+#define EGL_METADATA3_TYPE_NV                                0x325C
 #define EGL_LINUX_DMA_BUF_EXT                                0x3270
 #define EGL_LINUX_DRM_FOURCC_EXT                             0x3271
 #define EGL_DMA_BUF_PLANE0_FD_EXT                            0x3272
@@ -504,6 +572,7 @@
 #define EGL_YUV_CHROMA_SITING_0_EXT                          0x3284
 #define EGL_YUV_CHROMA_SITING_0_5_EXT                        0x3285
 #define EGL_DISCARD_SAMPLES_ARM                              0x3286
+#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM        0x328A
 #define EGL_NATIVE_BUFFER_TIZEN                              0x32A0
 #define EGL_NATIVE_SURFACE_TIZEN                             0x32A1
 #define EGL_PROTECTED_CONTENT_EXT                            0x32C0
@@ -532,8 +601,71 @@
 #define EGL_YUV_PLANE_BPP_0_EXT                              0x331B
 #define EGL_YUV_PLANE_BPP_8_EXT                              0x331C
 #define EGL_YUV_PLANE_BPP_10_EXT                             0x331D
+#define EGL_PENDING_METADATA_NV                              0x3328
+#define EGL_PENDING_FRAME_NV                                 0x3329
+#define EGL_STREAM_TIME_PENDING_NV                           0x332A
+#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV                       0x332C
+#define EGL_YUV_PLANE1_TEXTURE_UNIT_NV                       0x332D
+#define EGL_YUV_PLANE2_TEXTURE_UNIT_NV                       0x332E
+#define EGL_SUPPORT_RESET_NV                                 0x3334
+#define EGL_SUPPORT_REUSE_NV                                 0x3335
+#define EGL_STREAM_FIFO_SYNCHRONOUS_NV                       0x3336
+#define EGL_PRODUCER_MAX_FRAME_HINT_NV                       0x3337
+#define EGL_CONSUMER_MAX_FRAME_HINT_NV                       0x3338
+#define EGL_COLOR_COMPONENT_TYPE_EXT                         0x3339
+#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT                   0x333A
+#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT                   0x333B
+#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT                  0x333F
+#define EGL_GL_COLORSPACE_BT2020_PQ_EXT                      0x3340
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT                 0x3341
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT                 0x3342
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT                 0x3343
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT                 0x3344
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT                 0x3345
+#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT                 0x3346
+#define EGL_SMPTE2086_WHITE_POINT_X_EXT                      0x3347
+#define EGL_SMPTE2086_WHITE_POINT_Y_EXT                      0x3348
+#define EGL_SMPTE2086_MAX_LUMINANCE_EXT                      0x3349
+#define EGL_SMPTE2086_MIN_LUMINANCE_EXT                      0x334A
+#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV          0x334C
+#define EGL_STREAM_CROSS_OBJECT_NV                           0x334D
+#define EGL_STREAM_CROSS_DISPLAY_NV                          0x334E
+#define EGL_STREAM_CROSS_SYSTEM_NV                           0x334F
+#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT                   0x3350
+#define EGL_TRACK_REFERENCES_KHR                             0x3352
+#define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT             0x3360
+#define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT             0x3361
+#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT              0x3362
+#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT                     0x3363
 #define EGL_D3D9_DEVICE_ANGLE                                0x33A0
 #define EGL_D3D11_DEVICE_ANGLE                               0x33A1
+#define EGL_OBJECT_THREAD_KHR                                0x33B0
+#define EGL_OBJECT_DISPLAY_KHR                               0x33B1
+#define EGL_OBJECT_CONTEXT_KHR                               0x33B2
+#define EGL_OBJECT_SURFACE_KHR                               0x33B3
+#define EGL_OBJECT_IMAGE_KHR                                 0x33B4
+#define EGL_OBJECT_SYNC_KHR                                  0x33B5
+#define EGL_OBJECT_STREAM_KHR                                0x33B6
+#define EGL_DEBUG_CALLBACK_KHR                               0x33B8
+#define EGL_DEBUG_MSG_CRITICAL_KHR                           0x33B9
+#define EGL_DEBUG_MSG_ERROR_KHR                              0x33BA
+#define EGL_DEBUG_MSG_WARN_KHR                               0x33BB
+#define EGL_DEBUG_MSG_INFO_KHR                               0x33BC
+#define EGL_DMA_BUF_PLANE3_FD_EXT                            0x3440
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT                        0x3441
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT                         0x3442
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT                   0x3443
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT                   0x3444
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT                   0x3445
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT                   0x3446
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT                   0x3447
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT                   0x3448
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT                   0x3449
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT                   0x344A
+#define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT                   0x3460
+#define EGL_EXTERNAL_REF_ID_EXT                              0x3461
+#define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT                 0x3462
+#define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT                 0x3463
 #define EGL_COLOR_FORMAT_HI                                  0x8F70
 #define EGL_COLOR_RGB_HI                                     0x8F71
 #define EGL_COLOR_RGBA_HI                                    0x8F72
@@ -544,6 +676,24 @@
 #define EGL_FOREVER_NV                                       0xFFFFFFFFFFFFFFFF
 #define EGL_TRUE                                             1
 #define EGL_DISPLAY_SCALING                                  10000
+#define EGL_METADATA_SCALING_EXT                             50000
+#define EGL_NO_CONFIG_KHR                                    EGL_CAST(EGLConfig,0)
+#define EGL_NO_CONTEXT                                       EGL_CAST(EGLContext,0)
+#define EGL_NO_DEVICE_EXT                                    EGL_CAST(EGLDeviceEXT,0)
+#define EGL_NO_DISPLAY                                       EGL_CAST(EGLDisplay,0)
+#define EGL_NO_IMAGE                                         EGL_CAST(EGLImage,0)
+#define EGL_NO_IMAGE_KHR                                     EGL_CAST(EGLImageKHR,0)
+#define EGL_DEFAULT_DISPLAY                                  EGL_CAST(EGLNativeDisplayType,0)
+#define EGL_NO_FILE_DESCRIPTOR_KHR                           EGL_CAST(EGLNativeFileDescriptorKHR,-1)
+#define EGL_NO_OUTPUT_LAYER_EXT                              EGL_CAST(EGLOutputLayerEXT,0)
+#define EGL_NO_OUTPUT_PORT_EXT                               EGL_CAST(EGLOutputPortEXT,0)
+#define EGL_NO_STREAM_KHR                                    EGL_CAST(EGLStreamKHR,0)
+#define EGL_NO_SURFACE                                       EGL_CAST(EGLSurface,0)
+#define EGL_NO_SYNC                                          EGL_CAST(EGLSync,0)
+#define EGL_NO_SYNC_KHR                                      EGL_CAST(EGLSyncKHR,0)
+#define EGL_NO_SYNC_NV                                       EGL_CAST(EGLSyncNV,0)
+#define EGL_DONT_CARE                                        EGL_CAST(EGLint,-1)
+#define EGL_UNKNOWN                                          EGL_CAST(EGLint,-1)
 
 typedef EGLBoolean (GLAPIENTRY *PFNEGLBINDAPIPROC)(EGLenum api);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
@@ -551,12 +701,20 @@
 typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCPROC)(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
 typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
 typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCNVPROC)(EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC)(EGLint external_win_id);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC)(EGLint external_ref_id, const EGLint * context_attributes, EGLint num_entries);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC)(const EGLint * external_ref_ids, EGLint num_entries);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSETSIZEEXTPROC)(EGLint external_win_id, EGLint width, EGLint height);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC)(EGLint external_win_id, const EGLint * window_attributes, EGLint num_entries);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC)(EGLint external_ref_id, const EGLint * external_win_ids, EGLint num_entries);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLCOMPOSITORSWAPPOLICYEXTPROC)(EGLint external_win_id, EGLint policy);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLCOPYBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
 typedef EGLContext (GLAPIENTRY *PFNEGLCREATECONTEXTPROC)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list);
 typedef EGLImageKHR (GLAPIENTRY *PFNEGLCREATEDRMIMAGEMESAPROC)(EGLDisplay dpy, const EGLint * attrib_list);
 typedef EGLSyncNV (GLAPIENTRY *PFNEGLCREATEFENCESYNCNVPROC)(EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list);
 typedef EGLImage (GLAPIENTRY *PFNEGLCREATEIMAGEPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list);
 typedef EGLImageKHR (GLAPIENTRY *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list);
+typedef EGLClientBuffer (GLAPIENTRY *PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC)(const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list);
@@ -565,6 +723,7 @@
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC)(EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPLATFORMWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list);
+typedef EGLStreamKHR (GLAPIENTRY *PFNEGLCREATESTREAMATTRIBKHRPROC)(EGLDisplay dpy, const EGLAttrib * attrib_list);
 typedef EGLStreamKHR (GLAPIENTRY *PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
 typedef EGLStreamKHR (GLAPIENTRY *PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list);
@@ -573,6 +732,7 @@
 typedef EGLSyncKHR (GLAPIENTRY *PFNEGLCREATESYNC64KHRPROC)(EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list);
 typedef EGLSyncKHR (GLAPIENTRY *PFNEGLCREATESYNCKHRPROC)(EGLDisplay dpy, EGLenum type, const EGLint * attrib_list);
 typedef EGLSurface (GLAPIENTRY *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list);
+typedef EGLint (GLAPIENTRY *PFNEGLDEBUGMESSAGECONTROLKHRPROC)(EGLDEBUGPROCKHR callback, const EGLAttrib * attrib_list);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLDESTROYIMAGEPROC)(EGLDisplay dpy, EGLImage image);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay dpy, EGLImageKHR image);
@@ -605,17 +765,24 @@
 typedef EGLuint64NV (GLAPIENTRY *PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void);
 typedef EGLuint64NV (GLAPIENTRY *PFNEGLGETSYSTEMTIMENVPROC)(void);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLINITIALIZEPROC)(EGLDisplay dpy, EGLint * major, EGLint * minor);
+typedef EGLint (GLAPIENTRY *PFNEGLLABELOBJECTKHRPROC)(EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLLOCKSURFACEKHRPROC)(EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLMAKECURRENTPROC)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLOUTPUTLAYERATTRIBEXTPROC)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLOUTPUTPORTATTRIBEXTPROC)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLPOSTSUBBUFFERNVPROC)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLPRESENTATIONTIMEANDROIDPROC)(EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
 typedef EGLenum (GLAPIENTRY *PFNEGLQUERYAPIPROC)(void);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDEBUGKHRPROC)(EGLint attribute, EGLAttrib * value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDEVICEATTRIBEXTPROC)(EGLDeviceEXT device, EGLint attribute, EGLAttrib * value);
 typedef const char * (GLAPIENTRY *PFNEGLQUERYDEVICESTRINGEXTPROC)(EGLDeviceEXT device, EGLint name);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDEVICESEXTPROC)(EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDISPLAYATTRIBEXTPROC)(EGLDisplay dpy, EGLint attribute, EGLAttrib * value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDISPLAYATTRIBKHRPROC)(EGLDisplay dpy, EGLint name, EGLAttrib * value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDISPLAYATTRIBNVPROC)(EGLDisplay dpy, EGLint attribute, EGLAttrib * value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDMABUFFORMATSEXTPROC)(EGLDisplay dpy, EGLint max_formats, EGLint * formats, EGLint * num_formats);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYDMABUFMODIFIERSEXTPROC)(EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR * modifiers, EGLBoolean * external_only, EGLint * num_modifiers);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYNATIVEDISPLAYNVPROC)(EGLDisplay dpy, EGLNativeDisplayType * display_id);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYNATIVEPIXMAPNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYNATIVEWINDOWNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window);
@@ -623,7 +790,9 @@
 typedef const char * (GLAPIENTRY *PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value);
 typedef const char * (GLAPIENTRY *PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib * value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSTREAMMETADATANVPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void * data);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value);
 typedef const char * (GLAPIENTRY *PFNEGLQUERYSTRINGPROC)(EGLDisplay dpy, EGLint name);
@@ -632,14 +801,20 @@
 typedef EGLBoolean (GLAPIENTRY *PFNEGLQUERYSURFACEPOINTERANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLRELEASETHREADPROC)(void);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLRESETSTREAMNVPROC)(EGLDisplay dpy, EGLStreamKHR stream);
 typedef void (GLAPIENTRY *PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSETDAMAGEREGIONKHRPROC)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLSETSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLSETSTREAMMETADATANVPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void * data);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSIGNALSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSIGNALSYNCNVPROC)(EGLSyncNV sync, EGLenum mode);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib * attrib_list);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMEROUTPUTEXTPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
+typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface);
@@ -655,225 +830,275 @@
 typedef EGLBoolean (GLAPIENTRY *PFNEGLWAITNATIVEPROC)(EGLint engine);
 typedef EGLBoolean (GLAPIENTRY *PFNEGLWAITSYNCPROC)(EGLDisplay dpy, EGLSync sync, EGLint flags);
 typedef EGLint (GLAPIENTRY *PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglBindAPI)(EGLenum api);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglBindAPI)(EGLenum api);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglBindTexImage)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglBindTexImage)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglChooseConfig)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglChooseConfig)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSync)(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSync)(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSyncNV)(EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSyncNV)(EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCopyBuffers)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorBindTexWindowEXT)(EGLint external_win_id);
 
-extern EPOXY_IMPORTEXPORT EGLContext (EPOXY_CALLSPEC *epoxy_eglCreateContext)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSetContextAttributesEXT)(EGLint external_ref_id, const EGLint * context_attributes, EGLint num_entries);
 
-extern EPOXY_IMPORTEXPORT EGLImageKHR (EPOXY_CALLSPEC *epoxy_eglCreateDRMImageMESA)(EGLDisplay dpy, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSetContextListEXT)(const EGLint * external_ref_ids, EGLint num_entries);
 
-extern EPOXY_IMPORTEXPORT EGLSyncNV (EPOXY_CALLSPEC *epoxy_eglCreateFenceSyncNV)(EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSetSizeEXT)(EGLint external_win_id, EGLint width, EGLint height);
 
-extern EPOXY_IMPORTEXPORT EGLImage (EPOXY_CALLSPEC *epoxy_eglCreateImage)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSetWindowAttributesEXT)(EGLint external_win_id, const EGLint * window_attributes, EGLint num_entries);
 
-extern EPOXY_IMPORTEXPORT EGLImageKHR (EPOXY_CALLSPEC *epoxy_eglCreateImageKHR)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSetWindowListEXT)(EGLint external_ref_id, const EGLint * external_win_ids, EGLint num_entries);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePbufferFromClientBuffer)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCompositorSwapPolicyEXT)(EGLint external_win_id, EGLint policy);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePbufferSurface)(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglCopyBuffers)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePixmapSurface)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLContext (EPOXY_CALLSPEC *epoxy_eglCreateContext)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePixmapSurfaceHI)(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI * pixmap);
+EPOXY_PUBLIC EGLImageKHR (EPOXY_CALLSPEC *epoxy_eglCreateDRMImageMESA)(EGLDisplay dpy, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformPixmapSurface)(EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list);
+EPOXY_PUBLIC EGLSyncNV (EPOXY_CALLSPEC *epoxy_eglCreateFenceSyncNV)(EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformPixmapSurfaceEXT)(EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLImage (EPOXY_CALLSPEC *epoxy_eglCreateImage)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformWindowSurface)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list);
+EPOXY_PUBLIC EGLImageKHR (EPOXY_CALLSPEC *epoxy_eglCreateImageKHR)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformWindowSurfaceEXT)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLClientBuffer (EPOXY_CALLSPEC *epoxy_eglCreateNativeClientBufferANDROID)(const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLStreamKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamFromFileDescriptorKHR)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePbufferFromClientBuffer)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLStreamKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamKHR)(EGLDisplay dpy, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePbufferSurface)(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreateStreamProducerSurfaceKHR)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePixmapSurface)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamSyncNV)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePixmapSurfaceHI)(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI * pixmap);
 
-extern EPOXY_IMPORTEXPORT EGLSync (EPOXY_CALLSPEC *epoxy_eglCreateSync)(EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformPixmapSurface)(EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateSync64KHR)(EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformPixmapSurfaceEXT)(EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateSyncKHR)(EGLDisplay dpy, EGLenum type, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformWindowSurface)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreateWindowSurface)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreatePlatformWindowSurfaceEXT)(EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyContext)(EGLDisplay dpy, EGLContext ctx);
+EPOXY_PUBLIC EGLStreamKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamAttribKHR)(EGLDisplay dpy, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyImage)(EGLDisplay dpy, EGLImage image);
+EPOXY_PUBLIC EGLStreamKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamFromFileDescriptorKHR)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyImageKHR)(EGLDisplay dpy, EGLImageKHR image);
+EPOXY_PUBLIC EGLStreamKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamKHR)(EGLDisplay dpy, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyStreamKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreateStreamProducerSurfaceKHR)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySurface)(EGLDisplay dpy, EGLSurface surface);
+EPOXY_PUBLIC EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateStreamSyncNV)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySync)(EGLDisplay dpy, EGLSync sync);
+EPOXY_PUBLIC EGLSync (EPOXY_CALLSPEC *epoxy_eglCreateSync)(EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySyncKHR)(EGLDisplay dpy, EGLSyncKHR sync);
+EPOXY_PUBLIC EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateSync64KHR)(EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySyncNV)(EGLSyncNV sync);
+EPOXY_PUBLIC EGLSyncKHR (EPOXY_CALLSPEC *epoxy_eglCreateSyncKHR)(EGLDisplay dpy, EGLenum type, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglDupNativeFenceFDANDROID)(EGLDisplay dpy, EGLSyncKHR sync);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglCreateWindowSurface)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDMABUFImageMESA)(EGLDisplay dpy, EGLImageKHR image, int * fds, EGLint * strides, EGLint * offsets);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglDebugMessageControlKHR)(EGLDEBUGPROCKHR callback, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDMABUFImageQueryMESA)(EGLDisplay dpy, EGLImageKHR image, int * fourcc, int * num_planes, EGLuint64KHR * modifiers);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyContext)(EGLDisplay dpy, EGLContext ctx);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDRMImageMESA)(EGLDisplay dpy, EGLImageKHR image, EGLint * name, EGLint * handle, EGLint * stride);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyImage)(EGLDisplay dpy, EGLImage image);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglFenceNV)(EGLSyncNV sync);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyImageKHR)(EGLDisplay dpy, EGLImageKHR image);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetConfigAttrib)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroyStreamKHR)(EGLDisplay dpy, EGLStreamKHR stream);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetConfigs)(EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySurface)(EGLDisplay dpy, EGLSurface surface);
 
-extern EPOXY_IMPORTEXPORT EGLContext (EPOXY_CALLSPEC *epoxy_eglGetCurrentContext)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySync)(EGLDisplay dpy, EGLSync sync);
 
-extern EPOXY_IMPORTEXPORT EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetCurrentDisplay)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySyncKHR)(EGLDisplay dpy, EGLSyncKHR sync);
 
-extern EPOXY_IMPORTEXPORT EGLSurface (EPOXY_CALLSPEC *epoxy_eglGetCurrentSurface)(EGLint readdraw);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglDestroySyncNV)(EGLSyncNV sync);
 
-extern EPOXY_IMPORTEXPORT EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetDisplay)(EGLNativeDisplayType display_id);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglDupNativeFenceFDANDROID)(EGLDisplay dpy, EGLSyncKHR sync);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglGetError)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDMABUFImageMESA)(EGLDisplay dpy, EGLImageKHR image, int * fds, EGLint * strides, EGLint * offsets);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetOutputLayersEXT)(EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputLayerEXT * layers, EGLint max_layers, EGLint * num_layers);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDMABUFImageQueryMESA)(EGLDisplay dpy, EGLImageKHR image, int * fourcc, int * num_planes, EGLuint64KHR * modifiers);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetOutputPortsEXT)(EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputPortEXT * ports, EGLint max_ports, EGLint * num_ports);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglExportDRMImageMESA)(EGLDisplay dpy, EGLImageKHR image, EGLint * name, EGLint * handle, EGLint * stride);
 
-extern EPOXY_IMPORTEXPORT EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetPlatformDisplay)(EGLenum platform, void * native_display, const EGLAttrib * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglFenceNV)(EGLSyncNV sync);
 
-extern EPOXY_IMPORTEXPORT EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetPlatformDisplayEXT)(EGLenum platform, void * native_display, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetConfigAttrib)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT __eglMustCastToProperFunctionPointerType (EPOXY_CALLSPEC *epoxy_eglGetProcAddress)(const char * procname);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetConfigs)(EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config);
 
-extern EPOXY_IMPORTEXPORT EGLNativeFileDescriptorKHR (EPOXY_CALLSPEC *epoxy_eglGetStreamFileDescriptorKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+EPOXY_PUBLIC EGLContext (EPOXY_CALLSPEC *epoxy_eglGetCurrentContext)(void);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttrib)(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value);
+EPOXY_PUBLIC EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetCurrentDisplay)(void);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttribKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value);
+EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglGetCurrentSurface)(EGLint readdraw);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttribNV)(EGLSyncNV sync, EGLint attribute, EGLint * value);
+EPOXY_PUBLIC EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetDisplay)(EGLNativeDisplayType display_id);
 
-extern EPOXY_IMPORTEXPORT EGLuint64NV (EPOXY_CALLSPEC *epoxy_eglGetSystemTimeFrequencyNV)(void);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglGetError)(void);
 
-extern EPOXY_IMPORTEXPORT EGLuint64NV (EPOXY_CALLSPEC *epoxy_eglGetSystemTimeNV)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetOutputLayersEXT)(EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputLayerEXT * layers, EGLint max_layers, EGLint * num_layers);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglInitialize)(EGLDisplay dpy, EGLint * major, EGLint * minor);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetOutputPortsEXT)(EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputPortEXT * ports, EGLint max_ports, EGLint * num_ports);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglLockSurfaceKHR)(EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list);
+EPOXY_PUBLIC EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetPlatformDisplay)(EGLenum platform, void * native_display, const EGLAttrib * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglMakeCurrent)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
+EPOXY_PUBLIC EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetPlatformDisplayEXT)(EGLenum platform, void * native_display, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglOutputLayerAttribEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
+EPOXY_PUBLIC __eglMustCastToProperFunctionPointerType (EPOXY_CALLSPEC *epoxy_eglGetProcAddress)(const char * procname);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglOutputPortAttribEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
+EPOXY_PUBLIC EGLNativeFileDescriptorKHR (EPOXY_CALLSPEC *epoxy_eglGetStreamFileDescriptorKHR)(EGLDisplay dpy, EGLStreamKHR stream);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglPostSubBufferNV)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttrib)(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLenum (EPOXY_CALLSPEC *epoxy_eglQueryAPI)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttribKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryContext)(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetSyncAttribNV)(EGLSyncNV sync, EGLint attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDeviceAttribEXT)(EGLDeviceEXT device, EGLint attribute, EGLAttrib * value);
+EPOXY_PUBLIC EGLuint64NV (EPOXY_CALLSPEC *epoxy_eglGetSystemTimeFrequencyNV)(void);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_eglQueryDeviceStringEXT)(EGLDeviceEXT device, EGLint name);
+EPOXY_PUBLIC EGLuint64NV (EPOXY_CALLSPEC *epoxy_eglGetSystemTimeNV)(void);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDevicesEXT)(EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglInitialize)(EGLDisplay dpy, EGLint * major, EGLint * minor);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDisplayAttribEXT)(EGLDisplay dpy, EGLint attribute, EGLAttrib * value);
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglLabelObjectKHR)(EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativeDisplayNV)(EGLDisplay dpy, EGLNativeDisplayType * display_id);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglLockSurfaceKHR)(EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativePixmapNV)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglMakeCurrent)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativeWindowNV)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglOutputLayerAttribEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryOutputLayerAttribEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglOutputPortAttribEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_eglQueryOutputLayerStringEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglPostSubBufferNV)(EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryOutputPortAttribEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglPresentationTimeANDROID)(EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_eglQueryOutputPortStringEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
+EPOXY_PUBLIC EGLenum (EPOXY_CALLSPEC *epoxy_eglQueryAPI)(void);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryContext)(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamTimeKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDebugKHR)(EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamu64KHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDeviceAttribEXT)(EGLDeviceEXT device, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_eglQueryString)(EGLDisplay dpy, EGLint name);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_eglQueryDeviceStringEXT)(EGLDeviceEXT device, EGLint name);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurface)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDevicesEXT)(EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurface64KHR)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDisplayAttribEXT)(EGLDisplay dpy, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurfacePointerANGLE)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDisplayAttribKHR)(EGLDisplay dpy, EGLint name, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglReleaseTexImage)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDisplayAttribNV)(EGLDisplay dpy, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglReleaseThread)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDmaBufFormatsEXT)(EGLDisplay dpy, EGLint max_formats, EGLint * formats, EGLint * num_formats);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_eglSetBlobCacheFuncsANDROID)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryDmaBufModifiersEXT)(EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR * modifiers, EGLBoolean * external_only, EGLint * num_modifiers);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSetDamageRegionKHR)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativeDisplayNV)(EGLDisplay dpy, EGLNativeDisplayType * display_id);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSignalSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativePixmapNV)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSignalSyncNV)(EGLSyncNV sync, EGLenum mode);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryNativeWindowNV)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryOutputLayerAttribEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerAcquireKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_eglQueryOutputLayerStringEXT)(EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerGLTextureExternalKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryOutputPortAttribEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerOutputEXT)(EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_eglQueryOutputPortStringEXT)(EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerReleaseKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSurfaceAttrib)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffers)(EGLDisplay dpy, EGLSurface surface);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamMetadataNV)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void * data);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersRegion2NOK)(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamTimeKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersRegionNOK)(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQueryStreamu64KHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersWithDamageEXT)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_eglQueryString)(EGLDisplay dpy, EGLint name);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersWithDamageKHR)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurface)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapInterval)(EGLDisplay dpy, EGLint interval);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurface64KHR)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglTerminate)(EGLDisplay dpy);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglQuerySurfacePointerANGLE)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglUnlockSurfaceKHR)(EGLDisplay dpy, EGLSurface surface);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglReleaseTexImage)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitClient)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglReleaseThread)(void);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitGL)(void);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglResetStreamNV)(EGLDisplay dpy, EGLStreamKHR stream);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitNative)(EGLint engine);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_eglSetBlobCacheFuncsANDROID)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
 
-extern EPOXY_IMPORTEXPORT EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitSync)(EGLDisplay dpy, EGLSync sync, EGLint flags);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSetDamageRegionKHR)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
 
-extern EPOXY_IMPORTEXPORT EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSetStreamAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSetStreamMetadataNV)(EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void * data);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSignalSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSignalSyncNV)(EGLSyncNV sync, EGLenum mode);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerAcquireAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerAcquireKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerGLTextureExternalAttribsNV)(EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib * attrib_list);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerGLTextureExternalKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerOutputEXT)(EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerReleaseAttribKHR)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerReleaseKHR)(EGLDisplay dpy, EGLStreamKHR stream);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSurfaceAttrib)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffers)(EGLDisplay dpy, EGLSurface surface);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersRegion2NOK)(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersRegionNOK)(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersWithDamageEXT)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffersWithDamageKHR)(EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapInterval)(EGLDisplay dpy, EGLint interval);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglTerminate)(EGLDisplay dpy);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglUnlockSurfaceKHR)(EGLDisplay dpy, EGLSurface surface);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitClient)(void);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitGL)(void);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitNative)(EGLint engine);
+
+EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitSync)(EGLDisplay dpy, EGLSync sync, EGLint flags);
+
+EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
 
 #define eglBindAPI epoxy_eglBindAPI
 #define eglBindTexImage epoxy_eglBindTexImage
@@ -881,12 +1106,20 @@
 #define eglClientWaitSync epoxy_eglClientWaitSync
 #define eglClientWaitSyncKHR epoxy_eglClientWaitSyncKHR
 #define eglClientWaitSyncNV epoxy_eglClientWaitSyncNV
+#define eglCompositorBindTexWindowEXT epoxy_eglCompositorBindTexWindowEXT
+#define eglCompositorSetContextAttributesEXT epoxy_eglCompositorSetContextAttributesEXT
+#define eglCompositorSetContextListEXT epoxy_eglCompositorSetContextListEXT
+#define eglCompositorSetSizeEXT epoxy_eglCompositorSetSizeEXT
+#define eglCompositorSetWindowAttributesEXT epoxy_eglCompositorSetWindowAttributesEXT
+#define eglCompositorSetWindowListEXT epoxy_eglCompositorSetWindowListEXT
+#define eglCompositorSwapPolicyEXT epoxy_eglCompositorSwapPolicyEXT
 #define eglCopyBuffers epoxy_eglCopyBuffers
 #define eglCreateContext epoxy_eglCreateContext
 #define eglCreateDRMImageMESA epoxy_eglCreateDRMImageMESA
 #define eglCreateFenceSyncNV epoxy_eglCreateFenceSyncNV
 #define eglCreateImage epoxy_eglCreateImage
 #define eglCreateImageKHR epoxy_eglCreateImageKHR
+#define eglCreateNativeClientBufferANDROID epoxy_eglCreateNativeClientBufferANDROID
 #define eglCreatePbufferFromClientBuffer epoxy_eglCreatePbufferFromClientBuffer
 #define eglCreatePbufferSurface epoxy_eglCreatePbufferSurface
 #define eglCreatePixmapSurface epoxy_eglCreatePixmapSurface
@@ -895,6 +1128,7 @@
 #define eglCreatePlatformPixmapSurfaceEXT epoxy_eglCreatePlatformPixmapSurfaceEXT
 #define eglCreatePlatformWindowSurface epoxy_eglCreatePlatformWindowSurface
 #define eglCreatePlatformWindowSurfaceEXT epoxy_eglCreatePlatformWindowSurfaceEXT
+#define eglCreateStreamAttribKHR epoxy_eglCreateStreamAttribKHR
 #define eglCreateStreamFromFileDescriptorKHR epoxy_eglCreateStreamFromFileDescriptorKHR
 #define eglCreateStreamKHR epoxy_eglCreateStreamKHR
 #define eglCreateStreamProducerSurfaceKHR epoxy_eglCreateStreamProducerSurfaceKHR
@@ -903,6 +1137,7 @@
 #define eglCreateSync64KHR epoxy_eglCreateSync64KHR
 #define eglCreateSyncKHR epoxy_eglCreateSyncKHR
 #define eglCreateWindowSurface epoxy_eglCreateWindowSurface
+#define eglDebugMessageControlKHR epoxy_eglDebugMessageControlKHR
 #define eglDestroyContext epoxy_eglDestroyContext
 #define eglDestroyImage epoxy_eglDestroyImage
 #define eglDestroyImageKHR epoxy_eglDestroyImageKHR
@@ -935,17 +1170,24 @@
 #define eglGetSystemTimeFrequencyNV epoxy_eglGetSystemTimeFrequencyNV
 #define eglGetSystemTimeNV epoxy_eglGetSystemTimeNV
 #define eglInitialize epoxy_eglInitialize
+#define eglLabelObjectKHR epoxy_eglLabelObjectKHR
 #define eglLockSurfaceKHR epoxy_eglLockSurfaceKHR
 #define eglMakeCurrent epoxy_eglMakeCurrent
 #define eglOutputLayerAttribEXT epoxy_eglOutputLayerAttribEXT
 #define eglOutputPortAttribEXT epoxy_eglOutputPortAttribEXT
 #define eglPostSubBufferNV epoxy_eglPostSubBufferNV
+#define eglPresentationTimeANDROID epoxy_eglPresentationTimeANDROID
 #define eglQueryAPI epoxy_eglQueryAPI
 #define eglQueryContext epoxy_eglQueryContext
+#define eglQueryDebugKHR epoxy_eglQueryDebugKHR
 #define eglQueryDeviceAttribEXT epoxy_eglQueryDeviceAttribEXT
 #define eglQueryDeviceStringEXT epoxy_eglQueryDeviceStringEXT
 #define eglQueryDevicesEXT epoxy_eglQueryDevicesEXT
 #define eglQueryDisplayAttribEXT epoxy_eglQueryDisplayAttribEXT
+#define eglQueryDisplayAttribKHR epoxy_eglQueryDisplayAttribKHR
+#define eglQueryDisplayAttribNV epoxy_eglQueryDisplayAttribNV
+#define eglQueryDmaBufFormatsEXT epoxy_eglQueryDmaBufFormatsEXT
+#define eglQueryDmaBufModifiersEXT epoxy_eglQueryDmaBufModifiersEXT
 #define eglQueryNativeDisplayNV epoxy_eglQueryNativeDisplayNV
 #define eglQueryNativePixmapNV epoxy_eglQueryNativePixmapNV
 #define eglQueryNativeWindowNV epoxy_eglQueryNativeWindowNV
@@ -953,7 +1195,9 @@
 #define eglQueryOutputLayerStringEXT epoxy_eglQueryOutputLayerStringEXT
 #define eglQueryOutputPortAttribEXT epoxy_eglQueryOutputPortAttribEXT
 #define eglQueryOutputPortStringEXT epoxy_eglQueryOutputPortStringEXT
+#define eglQueryStreamAttribKHR epoxy_eglQueryStreamAttribKHR
 #define eglQueryStreamKHR epoxy_eglQueryStreamKHR
+#define eglQueryStreamMetadataNV epoxy_eglQueryStreamMetadataNV
 #define eglQueryStreamTimeKHR epoxy_eglQueryStreamTimeKHR
 #define eglQueryStreamu64KHR epoxy_eglQueryStreamu64KHR
 #define eglQueryString epoxy_eglQueryString
@@ -962,14 +1206,20 @@
 #define eglQuerySurfacePointerANGLE epoxy_eglQuerySurfacePointerANGLE
 #define eglReleaseTexImage epoxy_eglReleaseTexImage
 #define eglReleaseThread epoxy_eglReleaseThread
+#define eglResetStreamNV epoxy_eglResetStreamNV
 #define eglSetBlobCacheFuncsANDROID epoxy_eglSetBlobCacheFuncsANDROID
 #define eglSetDamageRegionKHR epoxy_eglSetDamageRegionKHR
+#define eglSetStreamAttribKHR epoxy_eglSetStreamAttribKHR
+#define eglSetStreamMetadataNV epoxy_eglSetStreamMetadataNV
 #define eglSignalSyncKHR epoxy_eglSignalSyncKHR
 #define eglSignalSyncNV epoxy_eglSignalSyncNV
 #define eglStreamAttribKHR epoxy_eglStreamAttribKHR
+#define eglStreamConsumerAcquireAttribKHR epoxy_eglStreamConsumerAcquireAttribKHR
 #define eglStreamConsumerAcquireKHR epoxy_eglStreamConsumerAcquireKHR
+#define eglStreamConsumerGLTextureExternalAttribsNV epoxy_eglStreamConsumerGLTextureExternalAttribsNV
 #define eglStreamConsumerGLTextureExternalKHR epoxy_eglStreamConsumerGLTextureExternalKHR
 #define eglStreamConsumerOutputEXT epoxy_eglStreamConsumerOutputEXT
+#define eglStreamConsumerReleaseAttribKHR epoxy_eglStreamConsumerReleaseAttribKHR
 #define eglStreamConsumerReleaseKHR epoxy_eglStreamConsumerReleaseKHR
 #define eglSurfaceAttrib epoxy_eglSurfaceAttrib
 #define eglSwapBuffers epoxy_eglSwapBuffers
diff -Nru libepoxy-1.3.1/include/epoxy/egl.h libepoxy-1.4.3/include/epoxy/egl.h
--- libepoxy-1.3.1/include/epoxy/egl.h	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/egl.h	2017-11-13 11:34:09.000000000 +0000
@@ -25,16 +25,14 @@
  *
  * Provides an implementation of an EGL dispatch layer using global
  * function pointers
+ *
+ * You should include `` instead of ``.
  */
 
 #ifndef EPOXY_EGL_H
 #define EPOXY_EGL_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include 
+#include "epoxy/common.h"
 
 #if defined(__egl_h_) || defined(__eglext_h_)
 #error epoxy/egl.h must be included before (or in place of) GL/egl.h
@@ -43,13 +41,14 @@
 #define __eglext_h_
 #endif
 
+EPOXY_BEGIN_DECLS
+
 #include "epoxy/egl_generated.h"
 
-bool epoxy_has_egl_extension(EGLDisplay dpy, const char *extension);
-int epoxy_egl_version(EGLDisplay dpy);
+EPOXY_PUBLIC bool epoxy_has_egl_extension(EGLDisplay dpy, const char *extension);
+EPOXY_PUBLIC int epoxy_egl_version(EGLDisplay dpy);
+EPOXY_PUBLIC bool epoxy_has_egl(void);
 
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
+EPOXY_END_DECLS
 
 #endif /* EPOXY_EGL_H */
diff -Nru libepoxy-1.3.1/include/epoxy/gl_generated.h libepoxy-1.4.3/include/epoxy/gl_generated.h
--- libepoxy-1.3.1/include/epoxy/gl_generated.h	2015-07-15 23:09:08.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/gl_generated.h	2017-11-13 11:34:09.000000000 +0000
@@ -1,7 +1,7 @@
 /* GL dispatch header.
  * This is code-generated from the GL API XML files from Khronos.
  * 
- * Copyright (c) 2013-2014 The Khronos Group Inc.
+ * Copyright (c) 2013-2016 The Khronos Group Inc.
  * 
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and/or associated documentation files (the
@@ -28,6 +28,7 @@
 #include 
 #include 
 
+#include "epoxy/common.h"
 #define __khrplatform_h_ 1
 typedef int8_t khronos_int8_t;
 typedef int16_t khronos_int16_t;
@@ -98,6 +99,8 @@
 #define GL_ES_VERSION_2_0 1
 #define GL_ES_VERSION_3_0 1
 #define GL_ES_VERSION_3_1 1
+#define GL_ES_VERSION_3_2 1
+#define GL_SC_VERSION_2_0 1
 #define GL_VERSION_1_0 1
 #define GL_VERSION_1_1 1
 #define GL_VERSION_1_2 1
@@ -128,7 +131,9 @@
 #define GL_AMD_debug_output 1
 #define GL_AMD_depth_clamp_separate 1
 #define GL_AMD_draw_buffers_blend 1
+#define GL_AMD_framebuffer_sample_positions 1
 #define GL_AMD_gcn_shader 1
+#define GL_AMD_gpu_shader_half_float 1
 #define GL_AMD_gpu_shader_int64 1
 #define GL_AMD_interleaved_elements 1
 #define GL_AMD_multi_draw_indirect 1
@@ -141,6 +146,8 @@
 #define GL_AMD_sample_positions 1
 #define GL_AMD_seamless_cubemap_per_texture 1
 #define GL_AMD_shader_atomic_counter_ops 1
+#define GL_AMD_shader_ballot 1
+#define GL_AMD_shader_explicit_vertex_parameter 1
 #define GL_AMD_shader_stencil_export 1
 #define GL_AMD_shader_trinary_minmax 1
 #define GL_AMD_sparse_texture 1
@@ -189,6 +196,7 @@
 #define GL_APPLE_ycbcr_422 1
 #define GL_ARB_ES2_compatibility 1
 #define GL_ARB_ES3_1_compatibility 1
+#define GL_ARB_ES3_2_compatibility 1
 #define GL_ARB_ES3_compatibility 1
 #define GL_ARB_arrays_of_arrays 1
 #define GL_ARB_base_instance 1
@@ -228,6 +236,7 @@
 #define GL_ARB_fragment_program 1
 #define GL_ARB_fragment_program_shadow 1
 #define GL_ARB_fragment_shader 1
+#define GL_ARB_fragment_shader_interlock 1
 #define GL_ARB_framebuffer_no_attachments 1
 #define GL_ARB_framebuffer_object 1
 #define GL_ARB_framebuffer_sRGB 1
@@ -236,6 +245,7 @@
 #define GL_ARB_get_texture_sub_image 1
 #define GL_ARB_gpu_shader5 1
 #define GL_ARB_gpu_shader_fp64 1
+#define GL_ARB_gpu_shader_int64 1
 #define GL_ARB_half_float_pixel 1
 #define GL_ARB_half_float_vertex 1
 #define GL_ARB_imaging 1
@@ -253,23 +263,29 @@
 #define GL_ARB_multitexture 1
 #define GL_ARB_occlusion_query 1
 #define GL_ARB_occlusion_query2 1
+#define GL_ARB_parallel_shader_compile 1
 #define GL_ARB_pipeline_statistics_query 1
 #define GL_ARB_pixel_buffer_object 1
 #define GL_ARB_point_parameters 1
 #define GL_ARB_point_sprite 1
+#define GL_ARB_post_depth_coverage 1
 #define GL_ARB_program_interface_query 1
 #define GL_ARB_provoking_vertex 1
 #define GL_ARB_query_buffer_object 1
 #define GL_ARB_robust_buffer_access_behavior 1
 #define GL_ARB_robustness 1
 #define GL_ARB_robustness_isolation 1
+#define GL_ARB_sample_locations 1
 #define GL_ARB_sample_shading 1
 #define GL_ARB_sampler_objects 1
 #define GL_ARB_seamless_cube_map 1
 #define GL_ARB_seamless_cubemap_per_texture 1
 #define GL_ARB_separate_shader_objects 1
+#define GL_ARB_shader_atomic_counter_ops 1
 #define GL_ARB_shader_atomic_counters 1
+#define GL_ARB_shader_ballot 1
 #define GL_ARB_shader_bit_encoding 1
+#define GL_ARB_shader_clock 1
 #define GL_ARB_shader_draw_parameters 1
 #define GL_ARB_shader_group_vote 1
 #define GL_ARB_shader_image_load_store 1
@@ -281,6 +297,7 @@
 #define GL_ARB_shader_subroutine 1
 #define GL_ARB_shader_texture_image_samples 1
 #define GL_ARB_shader_texture_lod 1
+#define GL_ARB_shader_viewport_layer_array 1
 #define GL_ARB_shading_language_100 1
 #define GL_ARB_shading_language_420pack 1
 #define GL_ARB_shading_language_include 1
@@ -289,6 +306,8 @@
 #define GL_ARB_shadow_ambient 1
 #define GL_ARB_sparse_buffer 1
 #define GL_ARB_sparse_texture 1
+#define GL_ARB_sparse_texture2 1
+#define GL_ARB_sparse_texture_clamp 1
 #define GL_ARB_stencil_texturing 1
 #define GL_ARB_sync 1
 #define GL_ARB_tessellation_shader 1
@@ -306,6 +325,7 @@
 #define GL_ARB_texture_env_combine 1
 #define GL_ARB_texture_env_crossbar 1
 #define GL_ARB_texture_env_dot3 1
+#define GL_ARB_texture_filter_minmax 1
 #define GL_ARB_texture_float 1
 #define GL_ARB_texture_gather 1
 #define GL_ARB_texture_mirror_clamp_to_edge 1
@@ -372,16 +392,21 @@
 #define GL_EXT_bindable_uniform 1
 #define GL_EXT_blend_color 1
 #define GL_EXT_blend_equation_separate 1
+#define GL_EXT_blend_func_extended 1
 #define GL_EXT_blend_func_separate 1
 #define GL_EXT_blend_logic_op 1
 #define GL_EXT_blend_minmax 1
 #define GL_EXT_blend_subtract 1
 #define GL_EXT_buffer_storage 1
+#define GL_EXT_clear_texture 1
+#define GL_EXT_clip_cull_distance 1
 #define GL_EXT_clip_volume_hint 1
 #define GL_EXT_cmyka 1
+#define GL_EXT_color_buffer_float 1
 #define GL_EXT_color_buffer_half_float 1
 #define GL_EXT_color_subtable 1
 #define GL_EXT_compiled_vertex_array 1
+#define GL_EXT_conservative_depth 1
 #define GL_EXT_convolution 1
 #define GL_EXT_coordinate_frame 1
 #define GL_EXT_copy_image 1
@@ -399,6 +424,7 @@
 #define GL_EXT_draw_elements_base_vertex 1
 #define GL_EXT_draw_instanced 1
 #define GL_EXT_draw_range_elements 1
+#define GL_EXT_draw_transform_feedback 1
 #define GL_EXT_float_blend 1
 #define GL_EXT_fog_coord 1
 #define GL_EXT_framebuffer_blit 1
@@ -424,6 +450,7 @@
 #define GL_EXT_multi_draw_arrays 1
 #define GL_EXT_multi_draw_indirect 1
 #define GL_EXT_multisample 1
+#define GL_EXT_multisampled_compatibility 1
 #define GL_EXT_multisampled_render_to_texture 1
 #define GL_EXT_multiview_draw_buffers 1
 #define GL_EXT_occlusion_query_boolean 1
@@ -439,6 +466,7 @@
 #define GL_EXT_polygon_offset_clamp 1
 #define GL_EXT_post_depth_coverage 1
 #define GL_EXT_primitive_bounding_box 1
+#define GL_EXT_protected_textures 1
 #define GL_EXT_provoking_vertex 1
 #define GL_EXT_pvrtc_sRGB 1
 #define GL_EXT_raster_multisample 1
@@ -452,12 +480,15 @@
 #define GL_EXT_separate_shader_objects 1
 #define GL_EXT_separate_specular_color 1
 #define GL_EXT_shader_framebuffer_fetch 1
+#define GL_EXT_shader_group_vote 1
 #define GL_EXT_shader_image_load_formatted 1
 #define GL_EXT_shader_image_load_store 1
 #define GL_EXT_shader_implicit_conversions 1
 #define GL_EXT_shader_integer_mix 1
 #define GL_EXT_shader_io_blocks 1
+#define GL_EXT_shader_non_constant_global_initializers 1
 #define GL_EXT_shader_pixel_local_storage 1
+#define GL_EXT_shader_pixel_local_storage2 1
 #define GL_EXT_shader_texture_lod 1
 #define GL_EXT_shadow_funcs 1
 #define GL_EXT_shadow_samplers 1
@@ -513,6 +544,7 @@
 #define GL_EXT_vertex_attrib_64bit 1
 #define GL_EXT_vertex_shader 1
 #define GL_EXT_vertex_weighting 1
+#define GL_EXT_window_rectangles 1
 #define GL_EXT_x11_sync_object 1
 #define GL_FJ_shader_binary_GCCSO 1
 #define GL_GREMEDY_frame_terminator 1
@@ -527,6 +559,8 @@
 #define GL_IBM_static_data 1
 #define GL_IBM_texture_mirrored_repeat 1
 #define GL_IBM_vertex_array_lists 1
+#define GL_IMG_bindless_texture 1
+#define GL_IMG_framebuffer_downsample 1
 #define GL_IMG_multisampled_render_to_texture 1
 #define GL_IMG_program_binary 1
 #define GL_IMG_read_format 1
@@ -534,11 +568,14 @@
 #define GL_IMG_texture_compression_pvrtc 1
 #define GL_IMG_texture_compression_pvrtc2 1
 #define GL_IMG_texture_env_enhanced_fixed_function 1
+#define GL_IMG_texture_filter_cubic 1
 #define GL_IMG_user_clip_plane 1
 #define GL_INGR_blend_func_separate 1
 #define GL_INGR_color_clamp 1
 #define GL_INGR_interlace_read 1
+#define GL_INTEL_conservative_rasterization 1
 #define GL_INTEL_fragment_shader_ordering 1
+#define GL_INTEL_framebuffer_CMAA 1
 #define GL_INTEL_map_texture 1
 #define GL_INTEL_parallel_arrays 1
 #define GL_INTEL_performance_query 1
@@ -551,6 +588,7 @@
 #define GL_KHR_robustness 1
 #define GL_KHR_texture_compression_astc_hdr 1
 #define GL_KHR_texture_compression_astc_ldr 1
+#define GL_KHR_texture_compression_astc_sliced_3d 1
 #define GL_MESAX_texture_stack 1
 #define GL_MESA_pack_invert 1
 #define GL_MESA_resize_buffers 1
@@ -564,10 +602,13 @@
 #define GL_NV_blend_equation_advanced 1
 #define GL_NV_blend_equation_advanced_coherent 1
 #define GL_NV_blend_square 1
+#define GL_NV_clip_space_w_scaling 1
 #define GL_NV_command_list 1
 #define GL_NV_compute_program5 1
 #define GL_NV_conditional_render 1
 #define GL_NV_conservative_raster 1
+#define GL_NV_conservative_raster_dilate 1
+#define GL_NV_conservative_raster_pre_snap_triangles 1
 #define GL_NV_copy_buffer 1
 #define GL_NV_copy_depth_to_color 1
 #define GL_NV_copy_image 1
@@ -631,11 +672,13 @@
 #define GL_NV_read_stencil 1
 #define GL_NV_register_combiners 1
 #define GL_NV_register_combiners2 1
+#define GL_NV_robustness_video_memory_purge 1
 #define GL_NV_sRGB_formats 1
 #define GL_NV_sample_locations 1
 #define GL_NV_sample_mask_override_coverage 1
 #define GL_NV_shader_atomic_counters 1
 #define GL_NV_shader_atomic_float 1
+#define GL_NV_shader_atomic_float64 1
 #define GL_NV_shader_atomic_fp16_vector 1
 #define GL_NV_shader_atomic_int64 1
 #define GL_NV_shader_buffer_load 1
@@ -646,6 +689,7 @@
 #define GL_NV_shader_thread_shuffle 1
 #define GL_NV_shadow_samplers_array 1
 #define GL_NV_shadow_samplers_cube 1
+#define GL_NV_stereo_view_rendering 1
 #define GL_NV_tessellation_program5 1
 #define GL_NV_texgen_emboss 1
 #define GL_NV_texgen_reflection 1
@@ -678,6 +722,7 @@
 #define GL_NV_video_capture 1
 #define GL_NV_viewport_array 1
 #define GL_NV_viewport_array2 1
+#define GL_NV_viewport_swizzle 1
 #define GL_OES_EGL_image 1
 #define GL_OES_EGL_image_external 1
 #define GL_OES_EGL_image_external_essl3 1
@@ -749,11 +794,13 @@
 #define GL_OES_vertex_array_object 1
 #define GL_OES_vertex_half_float 1
 #define GL_OES_vertex_type_10_10_10_2 1
+#define GL_OES_viewport_array 1
 #define GL_OML_interlace 1
 #define GL_OML_resample 1
 #define GL_OML_subsample 1
 #define GL_OVR_multiview 1
 #define GL_OVR_multiview2 1
+#define GL_OVR_multiview_multisampled_render_to_texture 1
 #define GL_PGI_misc_hints 1
 #define GL_PGI_vertex_hints 1
 #define GL_QCOM_alpha_test 1
@@ -833,5532 +880,5676 @@
 #define GL_WIN_phong_shading 1
 #define GL_WIN_specular_fog 1
 
-#define GL_NEXT_BUFFER_NV                                               -2
-#define GL_SKIP_COMPONENTS4_NV                                          -3
-#define GL_SKIP_COMPONENTS3_NV                                          -4
-#define GL_SKIP_COMPONENTS2_NV                                          -5
-#define GL_SKIP_COMPONENTS1_NV                                          -6
-#define GL_FALSE                                                        0
-#define GL_LAYOUT_DEFAULT_INTEL                                         0
-#define GL_NONE                                                         0
-#define GL_NONE_OES                                                     0
-#define GL_NO_ERROR                                                     0
-#define GL_ZERO                                                         0
-#define GL_CLOSE_PATH_NV                                                0x00
-#define GL_POINTS                                                       0x0000
-#define GL_TERMINATE_SEQUENCE_COMMAND_NV                                0x0000
-#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL                               0x00000000
-#define GL_2X_BIT_ATI                                                   0x00000001
-#define GL_CLIENT_PIXEL_STORE_BIT                                       0x00000001
-#define GL_COLOR_BUFFER_BIT0_QCOM                                       0x00000001
-#define GL_CONTEXT_CORE_PROFILE_BIT                                     0x00000001
-#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT                          0x00000001
-#define GL_CURRENT_BIT                                                  0x00000001
-#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL                               0x00000001
-#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD                               0x00000001
-#define GL_RED_BIT_ATI                                                  0x00000001
-#define GL_SYNC_FLUSH_COMMANDS_BIT                                      0x00000001
-#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                                0x00000001
-#define GL_TEXTURE_DEFORMATION_BIT_SGIX                                 0x00000001
-#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD                               0x00000001
-#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT                              0x00000001
-#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT                          0x00000001
-#define GL_VERTEX_SHADER_BIT                                            0x00000001
-#define GL_VERTEX_SHADER_BIT_EXT                                        0x00000001
-#define GL_4X_BIT_ATI                                                   0x00000002
-#define GL_CLIENT_VERTEX_ARRAY_BIT                                      0x00000002
-#define GL_COLOR_BUFFER_BIT1_QCOM                                       0x00000002
-#define GL_COMP_BIT_ATI                                                 0x00000002
-#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT                            0x00000002
-#define GL_CONTEXT_FLAG_DEBUG_BIT                                       0x00000002
-#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                                   0x00000002
-#define GL_ELEMENT_ARRAY_BARRIER_BIT                                    0x00000002
-#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT                                0x00000002
-#define GL_FRAGMENT_SHADER_BIT                                          0x00000002
-#define GL_FRAGMENT_SHADER_BIT_EXT                                      0x00000002
-#define GL_GEOMETRY_DEFORMATION_BIT_SGIX                                0x00000002
-#define GL_GREEN_BIT_ATI                                                0x00000002
-#define GL_POINT_BIT                                                    0x00000002
-#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD                               0x00000002
-#define GL_8X_BIT_ATI                                                   0x00000004
-#define GL_BLUE_BIT_ATI                                                 0x00000004
-#define GL_COLOR_BUFFER_BIT2_QCOM                                       0x00000004
-#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT                               0x00000004
-#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB                           0x00000004
-#define GL_GEOMETRY_SHADER_BIT                                          0x00000004
-#define GL_GEOMETRY_SHADER_BIT_EXT                                      0x00000004
-#define GL_GEOMETRY_SHADER_BIT_OES                                      0x00000004
-#define GL_LINE_BIT                                                     0x00000004
-#define GL_NEGATE_BIT_ATI                                               0x00000004
-#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD                             0x00000004
-#define GL_UNIFORM_BARRIER_BIT                                          0x00000004
-#define GL_UNIFORM_BARRIER_BIT_EXT                                      0x00000004
-#define GL_VERTEX23_BIT_PGI                                             0x00000004
-#define GL_BIAS_BIT_ATI                                                 0x00000008
-#define GL_COLOR_BUFFER_BIT3_QCOM                                       0x00000008
-#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR                                0x00000008
-#define GL_HALF_BIT_ATI                                                 0x00000008
-#define GL_POLYGON_BIT                                                  0x00000008
-#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD                        0x00000008
-#define GL_TESS_CONTROL_SHADER_BIT                                      0x00000008
-#define GL_TESS_CONTROL_SHADER_BIT_EXT                                  0x00000008
-#define GL_TESS_CONTROL_SHADER_BIT_OES                                  0x00000008
-#define GL_TEXTURE_FETCH_BARRIER_BIT                                    0x00000008
-#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT                                0x00000008
-#define GL_VERTEX4_BIT_PGI                                              0x00000008
-#define GL_COLOR_BUFFER_BIT4_QCOM                                       0x00000010
-#define GL_POLYGON_STIPPLE_BIT                                          0x00000010
-#define GL_QUARTER_BIT_ATI                                              0x00000010
-#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV                          0x00000010
-#define GL_TESS_EVALUATION_SHADER_BIT                                   0x00000010
-#define GL_TESS_EVALUATION_SHADER_BIT_EXT                               0x00000010
-#define GL_TESS_EVALUATION_SHADER_BIT_OES                               0x00000010
-#define GL_COLOR_BUFFER_BIT5_QCOM                                       0x00000020
-#define GL_COMPUTE_SHADER_BIT                                           0x00000020
-#define GL_EIGHTH_BIT_ATI                                               0x00000020
-#define GL_PIXEL_MODE_BIT                                               0x00000020
-#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT                              0x00000020
-#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT                          0x00000020
-#define GL_COLOR_BUFFER_BIT6_QCOM                                       0x00000040
-#define GL_COMMAND_BARRIER_BIT                                          0x00000040
-#define GL_COMMAND_BARRIER_BIT_EXT                                      0x00000040
-#define GL_LIGHTING_BIT                                                 0x00000040
-#define GL_SATURATE_BIT_ATI                                             0x00000040
-#define GL_COLOR_BUFFER_BIT7_QCOM                                       0x00000080
-#define GL_FOG_BIT                                                      0x00000080
-#define GL_PIXEL_BUFFER_BARRIER_BIT                                     0x00000080
-#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT                                 0x00000080
-#define GL_DEPTH_BUFFER_BIT                                             0x00000100
-#define GL_DEPTH_BUFFER_BIT0_QCOM                                       0x00000100
-#define GL_TEXTURE_UPDATE_BARRIER_BIT                                   0x00000100
-#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT                               0x00000100
-#define GL_ACCUM_BUFFER_BIT                                             0x00000200
-#define GL_BUFFER_UPDATE_BARRIER_BIT                                    0x00000200
-#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT                                0x00000200
-#define GL_DEPTH_BUFFER_BIT1_QCOM                                       0x00000200
-#define GL_DEPTH_BUFFER_BIT2_QCOM                                       0x00000400
-#define GL_FRAMEBUFFER_BARRIER_BIT                                      0x00000400
-#define GL_FRAMEBUFFER_BARRIER_BIT_EXT                                  0x00000400
-#define GL_STENCIL_BUFFER_BIT                                           0x00000400
-#define GL_DEPTH_BUFFER_BIT3_QCOM                                       0x00000800
-#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT                               0x00000800
-#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT                           0x00000800
-#define GL_VIEWPORT_BIT                                                 0x00000800
-#define GL_ATOMIC_COUNTER_BARRIER_BIT                                   0x00001000
-#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT                               0x00001000
-#define GL_DEPTH_BUFFER_BIT4_QCOM                                       0x00001000
-#define GL_TRANSFORM_BIT                                                0x00001000
-#define GL_DEPTH_BUFFER_BIT5_QCOM                                       0x00002000
-#define GL_ENABLE_BIT                                                   0x00002000
-#define GL_SHADER_STORAGE_BARRIER_BIT                                   0x00002000
-#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT                             0x00004000
-#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT                         0x00004000
-#define GL_COLOR_BUFFER_BIT                                             0x00004000
-#define GL_DEPTH_BUFFER_BIT6_QCOM                                       0x00004000
-#define GL_COVERAGE_BUFFER_BIT_NV                                       0x00008000
-#define GL_DEPTH_BUFFER_BIT7_QCOM                                       0x00008000
-#define GL_HINT_BIT                                                     0x00008000
-#define GL_QUERY_BUFFER_BARRIER_BIT                                     0x00008000
-#define GL_LINES                                                        0x0001
-#define GL_MAP_READ_BIT                                                 0x0001
-#define GL_MAP_READ_BIT_EXT                                             0x0001
-#define GL_NOP_COMMAND_NV                                               0x0001
-#define GL_RESTART_SUN                                                  0x0001
-#define GL_TRACE_OPERATIONS_BIT_MESA                                    0x0001
-#define GL_COLOR3_BIT_PGI                                               0x00010000
-#define GL_EVAL_BIT                                                     0x00010000
-#define GL_FONT_X_MIN_BOUNDS_BIT_NV                                     0x00010000
-#define GL_STENCIL_BUFFER_BIT0_QCOM                                     0x00010000
-#define GL_DRAW_ELEMENTS_COMMAND_NV                                     0x0002
-#define GL_LINE_LOOP                                                    0x0002
-#define GL_MAP_WRITE_BIT                                                0x0002
-#define GL_MAP_WRITE_BIT_EXT                                            0x0002
-#define GL_REPLACE_MIDDLE_SUN                                           0x0002
-#define GL_TRACE_PRIMITIVES_BIT_MESA                                    0x0002
-#define GL_COLOR4_BIT_PGI                                               0x00020000
-#define GL_FONT_Y_MIN_BOUNDS_BIT_NV                                     0x00020000
-#define GL_LIST_BIT                                                     0x00020000
-#define GL_STENCIL_BUFFER_BIT1_QCOM                                     0x00020000
-#define GL_DRAW_ARRAYS_COMMAND_NV                                       0x0003
-#define GL_LINE_STRIP                                                   0x0003
-#define GL_REPLACE_OLDEST_SUN                                           0x0003
-#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV                               0x0004
-#define GL_MAP_INVALIDATE_RANGE_BIT                                     0x0004
-#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                                 0x0004
-#define GL_TRACE_ARRAYS_BIT_MESA                                        0x0004
-#define GL_TRIANGLES                                                    0x0004
-#define GL_EDGEFLAG_BIT_PGI                                             0x00040000
-#define GL_FONT_X_MAX_BOUNDS_BIT_NV                                     0x00040000
-#define GL_STENCIL_BUFFER_BIT2_QCOM                                     0x00040000
-#define GL_TEXTURE_BIT                                                  0x00040000
-#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV                                 0x0005
-#define GL_TRIANGLE_STRIP                                               0x0005
-#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV                           0x0006
-#define GL_TRIANGLE_FAN                                                 0x0006
-#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV                             0x0007
-#define GL_QUADS                                                        0x0007
-#define GL_QUADS_EXT                                                    0x0007
-#define GL_QUADS_OES                                                    0x0007
-#define GL_ELEMENT_ADDRESS_COMMAND_NV                                   0x0008
-#define GL_MAP_INVALIDATE_BUFFER_BIT                                    0x0008
-#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                                0x0008
-#define GL_QUAD_STRIP                                                   0x0008
-#define GL_TRACE_TEXTURES_BIT_MESA                                      0x0008
-#define GL_FONT_Y_MAX_BOUNDS_BIT_NV                                     0x00080000
-#define GL_INDEX_BIT_PGI                                                0x00080000
-#define GL_SCISSOR_BIT                                                  0x00080000
-#define GL_STENCIL_BUFFER_BIT3_QCOM                                     0x00080000
-#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV                                 0x0009
-#define GL_POLYGON                                                      0x0009
-#define GL_LINES_ADJACENCY                                              0x000A
-#define GL_LINES_ADJACENCY_ARB                                          0x000A
-#define GL_LINES_ADJACENCY_EXT                                          0x000A
-#define GL_LINES_ADJACENCY_OES                                          0x000A
-#define GL_UNIFORM_ADDRESS_COMMAND_NV                                   0x000A
-#define GL_BLEND_COLOR_COMMAND_NV                                       0x000B
-#define GL_LINE_STRIP_ADJACENCY                                         0x000B
-#define GL_LINE_STRIP_ADJACENCY_ARB                                     0x000B
-#define GL_LINE_STRIP_ADJACENCY_EXT                                     0x000B
-#define GL_LINE_STRIP_ADJACENCY_OES                                     0x000B
-#define GL_STENCIL_REF_COMMAND_NV                                       0x000C
-#define GL_TRIANGLES_ADJACENCY                                          0x000C
-#define GL_TRIANGLES_ADJACENCY_ARB                                      0x000C
-#define GL_TRIANGLES_ADJACENCY_EXT                                      0x000C
-#define GL_TRIANGLES_ADJACENCY_OES                                      0x000C
-#define GL_LINE_WIDTH_COMMAND_NV                                        0x000D
-#define GL_TRIANGLE_STRIP_ADJACENCY                                     0x000D
-#define GL_TRIANGLE_STRIP_ADJACENCY_ARB                                 0x000D
-#define GL_TRIANGLE_STRIP_ADJACENCY_EXT                                 0x000D
-#define GL_TRIANGLE_STRIP_ADJACENCY_OES                                 0x000D
-#define GL_PATCHES                                                      0x000E
-#define GL_PATCHES_EXT                                                  0x000E
-#define GL_PATCHES_OES                                                  0x000E
-#define GL_POLYGON_OFFSET_COMMAND_NV                                    0x000E
-#define GL_ALPHA_REF_COMMAND_NV                                         0x000F
-#define GL_ALL_ATTRIB_BITS                                              0x000FFFFF
-#define GL_MAP_FLUSH_EXPLICIT_BIT                                       0x0010
-#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                                   0x0010
-#define GL_TRACE_PIXELS_BIT_MESA                                        0x0010
-#define GL_VIEWPORT_COMMAND_NV                                          0x0010
-#define GL_FONT_UNITS_PER_EM_BIT_NV                                     0x00100000
-#define GL_MAT_AMBIENT_BIT_PGI                                          0x00100000
-#define GL_STENCIL_BUFFER_BIT4_QCOM                                     0x00100000
-#define GL_SCISSOR_COMMAND_NV                                           0x0011
-#define GL_FRONT_FACE_COMMAND_NV                                        0x0012
-#define GL_MAP_UNSYNCHRONIZED_BIT                                       0x0020
-#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                                   0x0020
-#define GL_TRACE_ERRORS_BIT_MESA                                        0x0020
-#define GL_FONT_ASCENDER_BIT_NV                                         0x00200000
-#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI                              0x00200000
-#define GL_STENCIL_BUFFER_BIT5_QCOM                                     0x00200000
-#define GL_MAP_PERSISTENT_BIT                                           0x0040
-#define GL_MAP_PERSISTENT_BIT_EXT                                       0x0040
-#define GL_FONT_DESCENDER_BIT_NV                                        0x00400000
-#define GL_MAT_DIFFUSE_BIT_PGI                                          0x00400000
-#define GL_STENCIL_BUFFER_BIT6_QCOM                                     0x00400000
-#define GL_MAP_COHERENT_BIT                                             0x0080
-#define GL_MAP_COHERENT_BIT_EXT                                         0x0080
-#define GL_FONT_HEIGHT_BIT_NV                                           0x00800000
-#define GL_MAT_EMISSION_BIT_PGI                                         0x00800000
-#define GL_STENCIL_BUFFER_BIT7_QCOM                                     0x00800000
-#define GL_BOLD_BIT_NV                                                  0x01
-#define GL_GLYPH_WIDTH_BIT_NV                                           0x01
-#define GL_ACCUM                                                        0x0100
-#define GL_DYNAMIC_STORAGE_BIT                                          0x0100
-#define GL_DYNAMIC_STORAGE_BIT_EXT                                      0x0100
-#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV                                0x01000000
-#define GL_MAT_COLOR_INDEXES_BIT_PGI                                    0x01000000
-#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                                 0x01000000
-#define GL_LOAD                                                         0x0101
-#define GL_RETURN                                                       0x0102
-#define GL_MULT                                                         0x0103
-#define GL_ADD                                                          0x0104
-#define GL_GLYPH_HEIGHT_BIT_NV                                          0x02
-#define GL_ITALIC_BIT_NV                                                0x02
-#define GL_MOVE_TO_NV                                                   0x02
-#define GL_CLIENT_STORAGE_BIT                                           0x0200
-#define GL_CLIENT_STORAGE_BIT_EXT                                       0x0200
-#define GL_NEVER                                                        0x0200
-#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV                               0x02000000
-#define GL_MAT_SHININESS_BIT_PGI                                        0x02000000
-#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                                 0x02000000
-#define GL_LESS                                                         0x0201
-#define GL_EQUAL                                                        0x0202
-#define GL_LEQUAL                                                       0x0203
-#define GL_GREATER                                                      0x0204
-#define GL_NOTEQUAL                                                     0x0205
-#define GL_GEQUAL                                                       0x0206
-#define GL_ALWAYS                                                       0x0207
-#define GL_RELATIVE_MOVE_TO_NV                                          0x03
-#define GL_SRC_COLOR                                                    0x0300
-#define GL_ONE_MINUS_SRC_COLOR                                          0x0301
-#define GL_SRC_ALPHA                                                    0x0302
-#define GL_ONE_MINUS_SRC_ALPHA                                          0x0303
-#define GL_DST_ALPHA                                                    0x0304
-#define GL_ONE_MINUS_DST_ALPHA                                          0x0305
-#define GL_DST_COLOR                                                    0x0306
-#define GL_ONE_MINUS_DST_COLOR                                          0x0307
-#define GL_SRC_ALPHA_SATURATE                                           0x0308
-#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV                            0x04
-#define GL_LINE_TO_NV                                                   0x04
-#define GL_FRONT_LEFT                                                   0x0400
-#define GL_SPARSE_STORAGE_BIT_ARB                                       0x0400
-#define GL_FONT_UNDERLINE_POSITION_BIT_NV                               0x04000000
-#define GL_MAT_SPECULAR_BIT_PGI                                         0x04000000
-#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                                 0x04000000
-#define GL_FRONT_RIGHT                                                  0x0401
-#define GL_BACK_LEFT                                                    0x0402
-#define GL_BACK_RIGHT                                                   0x0403
-#define GL_FRONT                                                        0x0404
-#define GL_BACK                                                         0x0405
-#define GL_LEFT                                                         0x0406
-#define GL_RIGHT                                                        0x0407
-#define GL_FRONT_AND_BACK                                               0x0408
-#define GL_AUX0                                                         0x0409
-#define GL_AUX1                                                         0x040A
-#define GL_AUX2                                                         0x040B
-#define GL_AUX3                                                         0x040C
-#define GL_RELATIVE_LINE_TO_NV                                          0x05
-#define GL_INVALID_ENUM                                                 0x0500
-#define GL_INVALID_VALUE                                                0x0501
-#define GL_INVALID_OPERATION                                            0x0502
-#define GL_STACK_OVERFLOW                                               0x0503
-#define GL_STACK_OVERFLOW_KHR                                           0x0503
-#define GL_STACK_UNDERFLOW                                              0x0504
-#define GL_STACK_UNDERFLOW_KHR                                          0x0504
-#define GL_OUT_OF_MEMORY                                                0x0505
-#define GL_INVALID_FRAMEBUFFER_OPERATION                                0x0506
-#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT                            0x0506
-#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                            0x0506
-#define GL_CONTEXT_LOST                                                 0x0507
-#define GL_CONTEXT_LOST_KHR                                             0x0507
-#define GL_HORIZONTAL_LINE_TO_NV                                        0x06
-#define GL_2D                                                           0x0600
-#define GL_3D                                                           0x0601
-#define GL_3D_COLOR                                                     0x0602
-#define GL_3D_COLOR_TEXTURE                                             0x0603
-#define GL_4D_COLOR_TEXTURE                                             0x0604
-#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV                               0x07
-#define GL_PASS_THROUGH_TOKEN                                           0x0700
-#define GL_POINT_TOKEN                                                  0x0701
-#define GL_LINE_TOKEN                                                   0x0702
-#define GL_POLYGON_TOKEN                                                0x0703
-#define GL_BITMAP_TOKEN                                                 0x0704
-#define GL_DRAW_PIXEL_TOKEN                                             0x0705
-#define GL_COPY_PIXEL_TOKEN                                             0x0706
-#define GL_LINE_RESET_TOKEN                                             0x0707
-#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV                            0x08
-#define GL_VERTICAL_LINE_TO_NV                                          0x08
-#define GL_EXP                                                          0x0800
-#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV                              0x08000000
-#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                                 0x08000000
-#define GL_NORMAL_BIT_PGI                                               0x08000000
-#define GL_EXP2                                                         0x0801
-#define GL_RELATIVE_VERTICAL_LINE_TO_NV                                 0x09
-#define GL_CW                                                           0x0900
-#define GL_CCW                                                          0x0901
-#define GL_QUADRATIC_CURVE_TO_NV                                        0x0A
-#define GL_COEFF                                                        0x0A00
-#define GL_ORDER                                                        0x0A01
-#define GL_DOMAIN                                                       0x0A02
-#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV                               0x0B
-#define GL_CURRENT_COLOR                                                0x0B00
-#define GL_CURRENT_INDEX                                                0x0B01
-#define GL_CURRENT_NORMAL                                               0x0B02
-#define GL_CURRENT_TEXTURE_COORDS                                       0x0B03
-#define GL_CURRENT_RASTER_COLOR                                         0x0B04
-#define GL_CURRENT_RASTER_INDEX                                         0x0B05
-#define GL_CURRENT_RASTER_TEXTURE_COORDS                                0x0B06
-#define GL_CURRENT_RASTER_POSITION                                      0x0B07
-#define GL_CURRENT_RASTER_POSITION_VALID                                0x0B08
-#define GL_CURRENT_RASTER_DISTANCE                                      0x0B09
-#define GL_POINT_SMOOTH                                                 0x0B10
-#define GL_POINT_SIZE                                                   0x0B11
-#define GL_POINT_SIZE_RANGE                                             0x0B12
-#define GL_SMOOTH_POINT_SIZE_RANGE                                      0x0B12
-#define GL_POINT_SIZE_GRANULARITY                                       0x0B13
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY                                0x0B13
-#define GL_LINE_SMOOTH                                                  0x0B20
-#define GL_LINE_WIDTH                                                   0x0B21
-#define GL_LINE_WIDTH_RANGE                                             0x0B22
-#define GL_SMOOTH_LINE_WIDTH_RANGE                                      0x0B22
-#define GL_LINE_WIDTH_GRANULARITY                                       0x0B23
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY                                0x0B23
-#define GL_LINE_STIPPLE                                                 0x0B24
-#define GL_LINE_STIPPLE_PATTERN                                         0x0B25
-#define GL_LINE_STIPPLE_REPEAT                                          0x0B26
-#define GL_LIST_MODE                                                    0x0B30
-#define GL_MAX_LIST_NESTING                                             0x0B31
-#define GL_LIST_BASE                                                    0x0B32
-#define GL_LIST_INDEX                                                   0x0B33
-#define GL_POLYGON_MODE                                                 0x0B40
-#define GL_POLYGON_MODE_NV                                              0x0B40
-#define GL_POLYGON_SMOOTH                                               0x0B41
-#define GL_POLYGON_STIPPLE                                              0x0B42
-#define GL_EDGE_FLAG                                                    0x0B43
-#define GL_CULL_FACE                                                    0x0B44
-#define GL_CULL_FACE_MODE                                               0x0B45
-#define GL_FRONT_FACE                                                   0x0B46
-#define GL_LIGHTING                                                     0x0B50
-#define GL_LIGHT_MODEL_LOCAL_VIEWER                                     0x0B51
-#define GL_LIGHT_MODEL_TWO_SIDE                                         0x0B52
-#define GL_LIGHT_MODEL_AMBIENT                                          0x0B53
-#define GL_SHADE_MODEL                                                  0x0B54
-#define GL_COLOR_MATERIAL_FACE                                          0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER                                     0x0B56
-#define GL_COLOR_MATERIAL                                               0x0B57
-#define GL_FOG                                                          0x0B60
-#define GL_FOG_INDEX                                                    0x0B61
-#define GL_FOG_DENSITY                                                  0x0B62
-#define GL_FOG_START                                                    0x0B63
-#define GL_FOG_END                                                      0x0B64
-#define GL_FOG_MODE                                                     0x0B65
-#define GL_FOG_COLOR                                                    0x0B66
-#define GL_DEPTH_RANGE                                                  0x0B70
-#define GL_DEPTH_TEST                                                   0x0B71
-#define GL_DEPTH_WRITEMASK                                              0x0B72
-#define GL_DEPTH_CLEAR_VALUE                                            0x0B73
-#define GL_DEPTH_FUNC                                                   0x0B74
-#define GL_ACCUM_CLEAR_VALUE                                            0x0B80
-#define GL_STENCIL_TEST                                                 0x0B90
-#define GL_STENCIL_CLEAR_VALUE                                          0x0B91
-#define GL_STENCIL_FUNC                                                 0x0B92
-#define GL_STENCIL_VALUE_MASK                                           0x0B93
-#define GL_STENCIL_FAIL                                                 0x0B94
-#define GL_STENCIL_PASS_DEPTH_FAIL                                      0x0B95
-#define GL_STENCIL_PASS_DEPTH_PASS                                      0x0B96
-#define GL_STENCIL_REF                                                  0x0B97
-#define GL_STENCIL_WRITEMASK                                            0x0B98
-#define GL_MATRIX_MODE                                                  0x0BA0
-#define GL_NORMALIZE                                                    0x0BA1
-#define GL_VIEWPORT                                                     0x0BA2
-#define GL_MODELVIEW0_STACK_DEPTH_EXT                                   0x0BA3
-#define GL_MODELVIEW_STACK_DEPTH                                        0x0BA3
-#define GL_PATH_MODELVIEW_STACK_DEPTH_NV                                0x0BA3
-#define GL_PATH_PROJECTION_STACK_DEPTH_NV                               0x0BA4
-#define GL_PROJECTION_STACK_DEPTH                                       0x0BA4
-#define GL_TEXTURE_STACK_DEPTH                                          0x0BA5
-#define GL_MODELVIEW0_MATRIX_EXT                                        0x0BA6
-#define GL_MODELVIEW_MATRIX                                             0x0BA6
-#define GL_PATH_MODELVIEW_MATRIX_NV                                     0x0BA6
-#define GL_PATH_PROJECTION_MATRIX_NV                                    0x0BA7
-#define GL_PROJECTION_MATRIX                                            0x0BA7
-#define GL_TEXTURE_MATRIX                                               0x0BA8
-#define GL_ATTRIB_STACK_DEPTH                                           0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH                                    0x0BB1
-#define GL_ALPHA_TEST                                                   0x0BC0
-#define GL_ALPHA_TEST_QCOM                                              0x0BC0
-#define GL_ALPHA_TEST_FUNC                                              0x0BC1
-#define GL_ALPHA_TEST_FUNC_QCOM                                         0x0BC1
-#define GL_ALPHA_TEST_REF                                               0x0BC2
-#define GL_ALPHA_TEST_REF_QCOM                                          0x0BC2
-#define GL_DITHER                                                       0x0BD0
-#define GL_BLEND_DST                                                    0x0BE0
-#define GL_BLEND_SRC                                                    0x0BE1
-#define GL_BLEND                                                        0x0BE2
-#define GL_LOGIC_OP_MODE                                                0x0BF0
-#define GL_INDEX_LOGIC_OP                                               0x0BF1
-#define GL_LOGIC_OP                                                     0x0BF1
-#define GL_COLOR_LOGIC_OP                                               0x0BF2
-#define GL_CUBIC_CURVE_TO_NV                                            0x0C
-#define GL_AUX_BUFFERS                                                  0x0C00
-#define GL_DRAW_BUFFER                                                  0x0C01
-#define GL_DRAW_BUFFER_EXT                                              0x0C01
-#define GL_READ_BUFFER                                                  0x0C02
-#define GL_READ_BUFFER_EXT                                              0x0C02
-#define GL_READ_BUFFER_NV                                               0x0C02
-#define GL_SCISSOR_BOX                                                  0x0C10
-#define GL_SCISSOR_TEST                                                 0x0C11
-#define GL_INDEX_CLEAR_VALUE                                            0x0C20
-#define GL_INDEX_WRITEMASK                                              0x0C21
-#define GL_COLOR_CLEAR_VALUE                                            0x0C22
-#define GL_COLOR_WRITEMASK                                              0x0C23
-#define GL_INDEX_MODE                                                   0x0C30
-#define GL_RGBA_MODE                                                    0x0C31
-#define GL_DOUBLEBUFFER                                                 0x0C32
-#define GL_STEREO                                                       0x0C33
-#define GL_RENDER_MODE                                                  0x0C40
-#define GL_PERSPECTIVE_CORRECTION_HINT                                  0x0C50
-#define GL_POINT_SMOOTH_HINT                                            0x0C51
-#define GL_LINE_SMOOTH_HINT                                             0x0C52
-#define GL_POLYGON_SMOOTH_HINT                                          0x0C53
-#define GL_FOG_HINT                                                     0x0C54
-#define GL_TEXTURE_GEN_S                                                0x0C60
-#define GL_TEXTURE_GEN_T                                                0x0C61
-#define GL_TEXTURE_GEN_R                                                0x0C62
-#define GL_TEXTURE_GEN_Q                                                0x0C63
-#define GL_PIXEL_MAP_I_TO_I                                             0x0C70
-#define GL_PIXEL_MAP_S_TO_S                                             0x0C71
-#define GL_PIXEL_MAP_I_TO_R                                             0x0C72
-#define GL_PIXEL_MAP_I_TO_G                                             0x0C73
-#define GL_PIXEL_MAP_I_TO_B                                             0x0C74
-#define GL_PIXEL_MAP_I_TO_A                                             0x0C75
-#define GL_PIXEL_MAP_R_TO_R                                             0x0C76
-#define GL_PIXEL_MAP_G_TO_G                                             0x0C77
-#define GL_PIXEL_MAP_B_TO_B                                             0x0C78
-#define GL_PIXEL_MAP_A_TO_A                                             0x0C79
-#define GL_PIXEL_MAP_I_TO_I_SIZE                                        0x0CB0
-#define GL_PIXEL_MAP_S_TO_S_SIZE                                        0x0CB1
-#define GL_PIXEL_MAP_I_TO_R_SIZE                                        0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE                                        0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE                                        0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE                                        0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE                                        0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE                                        0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE                                        0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE                                        0x0CB9
-#define GL_UNPACK_SWAP_BYTES                                            0x0CF0
-#define GL_UNPACK_LSB_FIRST                                             0x0CF1
-#define GL_UNPACK_ROW_LENGTH                                            0x0CF2
-#define GL_UNPACK_ROW_LENGTH_EXT                                        0x0CF2
-#define GL_UNPACK_SKIP_ROWS                                             0x0CF3
-#define GL_UNPACK_SKIP_ROWS_EXT                                         0x0CF3
-#define GL_UNPACK_SKIP_PIXELS                                           0x0CF4
-#define GL_UNPACK_SKIP_PIXELS_EXT                                       0x0CF4
-#define GL_UNPACK_ALIGNMENT                                             0x0CF5
-#define GL_RELATIVE_CUBIC_CURVE_TO_NV                                   0x0D
-#define GL_PACK_SWAP_BYTES                                              0x0D00
-#define GL_PACK_LSB_FIRST                                               0x0D01
-#define GL_PACK_ROW_LENGTH                                              0x0D02
-#define GL_PACK_SKIP_ROWS                                               0x0D03
-#define GL_PACK_SKIP_PIXELS                                             0x0D04
-#define GL_PACK_ALIGNMENT                                               0x0D05
-#define GL_MAP_COLOR                                                    0x0D10
-#define GL_MAP_STENCIL                                                  0x0D11
-#define GL_INDEX_SHIFT                                                  0x0D12
-#define GL_INDEX_OFFSET                                                 0x0D13
-#define GL_RED_SCALE                                                    0x0D14
-#define GL_RED_BIAS                                                     0x0D15
-#define GL_ZOOM_X                                                       0x0D16
-#define GL_ZOOM_Y                                                       0x0D17
-#define GL_GREEN_SCALE                                                  0x0D18
-#define GL_GREEN_BIAS                                                   0x0D19
-#define GL_BLUE_SCALE                                                   0x0D1A
-#define GL_BLUE_BIAS                                                    0x0D1B
-#define GL_ALPHA_SCALE                                                  0x0D1C
-#define GL_ALPHA_BIAS                                                   0x0D1D
-#define GL_DEPTH_SCALE                                                  0x0D1E
-#define GL_DEPTH_BIAS                                                   0x0D1F
-#define GL_MAX_EVAL_ORDER                                               0x0D30
-#define GL_MAX_LIGHTS                                                   0x0D31
-#define GL_MAX_CLIP_DISTANCES                                           0x0D32
-#define GL_MAX_CLIP_DISTANCES_APPLE                                     0x0D32
-#define GL_MAX_CLIP_PLANES                                              0x0D32
-#define GL_MAX_CLIP_PLANES_IMG                                          0x0D32
-#define GL_MAX_TEXTURE_SIZE                                             0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE                                          0x0D34
-#define GL_MAX_ATTRIB_STACK_DEPTH                                       0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH                                    0x0D36
-#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV                            0x0D36
-#define GL_MAX_NAME_STACK_DEPTH                                         0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH                                   0x0D38
-#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV                           0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH                                      0x0D39
-#define GL_MAX_VIEWPORT_DIMS                                            0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH                                0x0D3B
-#define GL_SUBPIXEL_BITS                                                0x0D50
-#define GL_INDEX_BITS                                                   0x0D51
-#define GL_RED_BITS                                                     0x0D52
-#define GL_GREEN_BITS                                                   0x0D53
-#define GL_BLUE_BITS                                                    0x0D54
-#define GL_ALPHA_BITS                                                   0x0D55
-#define GL_DEPTH_BITS                                                   0x0D56
-#define GL_STENCIL_BITS                                                 0x0D57
-#define GL_ACCUM_RED_BITS                                               0x0D58
-#define GL_ACCUM_GREEN_BITS                                             0x0D59
-#define GL_ACCUM_BLUE_BITS                                              0x0D5A
-#define GL_ACCUM_ALPHA_BITS                                             0x0D5B
-#define GL_NAME_STACK_DEPTH                                             0x0D70
-#define GL_AUTO_NORMAL                                                  0x0D80
-#define GL_MAP1_COLOR_4                                                 0x0D90
-#define GL_MAP1_INDEX                                                   0x0D91
-#define GL_MAP1_NORMAL                                                  0x0D92
-#define GL_MAP1_TEXTURE_COORD_1                                         0x0D93
-#define GL_MAP1_TEXTURE_COORD_2                                         0x0D94
-#define GL_MAP1_TEXTURE_COORD_3                                         0x0D95
-#define GL_MAP1_TEXTURE_COORD_4                                         0x0D96
-#define GL_MAP1_VERTEX_3                                                0x0D97
-#define GL_MAP1_VERTEX_4                                                0x0D98
-#define GL_MAP2_COLOR_4                                                 0x0DB0
-#define GL_MAP2_INDEX                                                   0x0DB1
-#define GL_MAP2_NORMAL                                                  0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1                                         0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2                                         0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3                                         0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4                                         0x0DB6
-#define GL_MAP2_VERTEX_3                                                0x0DB7
-#define GL_MAP2_VERTEX_4                                                0x0DB8
-#define GL_MAP1_GRID_DOMAIN                                             0x0DD0
-#define GL_MAP1_GRID_SEGMENTS                                           0x0DD1
-#define GL_MAP2_GRID_DOMAIN                                             0x0DD2
-#define GL_MAP2_GRID_SEGMENTS                                           0x0DD3
-#define GL_TEXTURE_1D                                                   0x0DE0
-#define GL_TEXTURE_2D                                                   0x0DE1
-#define GL_FEEDBACK_BUFFER_POINTER                                      0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE                                         0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE                                         0x0DF2
-#define GL_SELECTION_BUFFER_POINTER                                     0x0DF3
-#define GL_SELECTION_BUFFER_SIZE                                        0x0DF4
-#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV                                 0x0E
-#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV                        0x0F
-#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV                      0x10
-#define GL_SMOOTH_CUBIC_CURVE_TO_NV                                     0x10
-#define GL_GLYPH_HAS_KERNING_BIT_NV                                     0x100
-#define GL_TEXTURE_WIDTH                                                0x1000
-#define GL_FONT_HAS_KERNING_BIT_NV                                      0x10000000
-#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                                 0x10000000
-#define GL_TEXCOORD1_BIT_PGI                                            0x10000000
-#define GL_TEXTURE_HEIGHT                                               0x1001
-#define GL_TEXTURE_COMPONENTS                                           0x1003
-#define GL_TEXTURE_INTERNAL_FORMAT                                      0x1003
-#define GL_TEXTURE_BORDER_COLOR                                         0x1004
-#define GL_TEXTURE_BORDER_COLOR_EXT                                     0x1004
-#define GL_TEXTURE_BORDER_COLOR_NV                                      0x1004
-#define GL_TEXTURE_BORDER_COLOR_OES                                     0x1004
-#define GL_TEXTURE_BORDER                                               0x1005
-#define GL_TEXTURE_TARGET                                               0x1006
-#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV                            0x11
-#define GL_DONT_CARE                                                    0x1100
-#define GL_FASTEST                                                      0x1101
-#define GL_NICEST                                                       0x1102
-#define GL_SMALL_CCW_ARC_TO_NV                                          0x12
-#define GL_AMBIENT                                                      0x1200
-#define GL_DIFFUSE                                                      0x1201
-#define GL_SPECULAR                                                     0x1202
-#define GL_POSITION                                                     0x1203
-#define GL_SPOT_DIRECTION                                               0x1204
-#define GL_SPOT_EXPONENT                                                0x1205
-#define GL_SPOT_CUTOFF                                                  0x1206
-#define GL_CONSTANT_ATTENUATION                                         0x1207
-#define GL_LINEAR_ATTENUATION                                           0x1208
-#define GL_QUADRATIC_ATTENUATION                                        0x1209
-#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV                                 0x13
-#define GL_COMPILE                                                      0x1300
-#define GL_COMPILE_AND_EXECUTE                                          0x1301
-#define GL_SMALL_CW_ARC_TO_NV                                           0x14
-#define GL_BYTE                                                         0x1400
-#define GL_UNSIGNED_BYTE                                                0x1401
-#define GL_SHORT                                                        0x1402
-#define GL_UNSIGNED_SHORT                                               0x1403
-#define GL_INT                                                          0x1404
-#define GL_UNSIGNED_INT                                                 0x1405
-#define GL_FLOAT                                                        0x1406
-#define GL_2_BYTES                                                      0x1407
-#define GL_2_BYTES_NV                                                   0x1407
-#define GL_3_BYTES                                                      0x1408
-#define GL_3_BYTES_NV                                                   0x1408
-#define GL_4_BYTES                                                      0x1409
-#define GL_4_BYTES_NV                                                   0x1409
-#define GL_DOUBLE                                                       0x140A
-#define GL_DOUBLE_EXT                                                   0x140A
-#define GL_HALF_APPLE                                                   0x140B
-#define GL_HALF_FLOAT                                                   0x140B
-#define GL_HALF_FLOAT_ARB                                               0x140B
-#define GL_HALF_FLOAT_NV                                                0x140B
-#define GL_FIXED                                                        0x140C
-#define GL_FIXED_OES                                                    0x140C
-#define GL_INT64_NV                                                     0x140E
-#define GL_UNSIGNED_INT64_ARB                                           0x140F
-#define GL_UNSIGNED_INT64_NV                                            0x140F
-#define GL_RELATIVE_SMALL_CW_ARC_TO_NV                                  0x15
-#define GL_CLEAR                                                        0x1500
-#define GL_AND                                                          0x1501
-#define GL_AND_REVERSE                                                  0x1502
-#define GL_COPY                                                         0x1503
-#define GL_AND_INVERTED                                                 0x1504
-#define GL_NOOP                                                         0x1505
-#define GL_XOR                                                          0x1506
-#define GL_XOR_NV                                                       0x1506
-#define GL_OR                                                           0x1507
-#define GL_NOR                                                          0x1508
-#define GL_EQUIV                                                        0x1509
-#define GL_INVERT                                                       0x150A
-#define GL_OR_REVERSE                                                   0x150B
-#define GL_COPY_INVERTED                                                0x150C
-#define GL_OR_INVERTED                                                  0x150D
-#define GL_NAND                                                         0x150E
-#define GL_SET                                                          0x150F
-#define GL_LARGE_CCW_ARC_TO_NV                                          0x16
-#define GL_EMISSION                                                     0x1600
-#define GL_SHININESS                                                    0x1601
-#define GL_AMBIENT_AND_DIFFUSE                                          0x1602
-#define GL_COLOR_INDEXES                                                0x1603
-#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV                                 0x17
-#define GL_MODELVIEW                                                    0x1700
-#define GL_MODELVIEW0_ARB                                               0x1700
-#define GL_MODELVIEW0_EXT                                               0x1700
-#define GL_PATH_MODELVIEW_NV                                            0x1700
-#define GL_PATH_PROJECTION_NV                                           0x1701
-#define GL_PROJECTION                                                   0x1701
-#define GL_TEXTURE                                                      0x1702
-#define GL_LARGE_CW_ARC_TO_NV                                           0x18
-#define GL_COLOR                                                        0x1800
-#define GL_COLOR_EXT                                                    0x1800
-#define GL_DEPTH                                                        0x1801
-#define GL_DEPTH_EXT                                                    0x1801
-#define GL_STENCIL                                                      0x1802
-#define GL_STENCIL_EXT                                                  0x1802
-#define GL_RELATIVE_LARGE_CW_ARC_TO_NV                                  0x19
-#define GL_COLOR_INDEX                                                  0x1900
-#define GL_STENCIL_INDEX                                                0x1901
-#define GL_STENCIL_INDEX_OES                                            0x1901
-#define GL_DEPTH_COMPONENT                                              0x1902
-#define GL_RED                                                          0x1903
-#define GL_RED_EXT                                                      0x1903
-#define GL_RED_NV                                                       0x1903
-#define GL_GREEN                                                        0x1904
-#define GL_GREEN_NV                                                     0x1904
-#define GL_BLUE                                                         0x1905
-#define GL_BLUE_NV                                                      0x1905
-#define GL_ALPHA                                                        0x1906
-#define GL_RGB                                                          0x1907
-#define GL_RGBA                                                         0x1908
-#define GL_LUMINANCE                                                    0x1909
-#define GL_LUMINANCE_ALPHA                                              0x190A
-#define GL_RASTER_POSITION_UNCLIPPED_IBM                                0x19262
-#define GL_CONIC_CURVE_TO_NV                                            0x1A
-#define GL_BITMAP                                                       0x1A00
-#define GL_PREFER_DOUBLEBUFFER_HINT_PGI                                 0x1A1F8
-#define GL_CONSERVE_MEMORY_HINT_PGI                                     0x1A1FD
-#define GL_RECLAIM_MEMORY_HINT_PGI                                      0x1A1FE
-#define GL_NATIVE_GRAPHICS_HANDLE_PGI                                   0x1A202
-#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI                               0x1A203
-#define GL_NATIVE_GRAPHICS_END_HINT_PGI                                 0x1A204
-#define GL_ALWAYS_FAST_HINT_PGI                                         0x1A20C
-#define GL_ALWAYS_SOFT_HINT_PGI                                         0x1A20D
-#define GL_ALLOW_DRAW_OBJ_HINT_PGI                                      0x1A20E
-#define GL_ALLOW_DRAW_WIN_HINT_PGI                                      0x1A20F
-#define GL_ALLOW_DRAW_FRG_HINT_PGI                                      0x1A210
-#define GL_ALLOW_DRAW_MEM_HINT_PGI                                      0x1A211
-#define GL_STRICT_DEPTHFUNC_HINT_PGI                                    0x1A216
-#define GL_STRICT_LIGHTING_HINT_PGI                                     0x1A217
-#define GL_STRICT_SCISSOR_HINT_PGI                                      0x1A218
-#define GL_FULL_STIPPLE_HINT_PGI                                        0x1A219
-#define GL_CLIP_NEAR_HINT_PGI                                           0x1A220
-#define GL_CLIP_FAR_HINT_PGI                                            0x1A221
-#define GL_WIDE_LINE_HINT_PGI                                           0x1A222
-#define GL_BACK_NORMALS_HINT_PGI                                        0x1A223
-#define GL_VERTEX_DATA_HINT_PGI                                         0x1A22A
-#define GL_VERTEX_CONSISTENT_HINT_PGI                                   0x1A22B
-#define GL_MATERIAL_SIDE_HINT_PGI                                       0x1A22C
-#define GL_MAX_VERTEX_HINT_PGI                                          0x1A22D
-#define GL_RELATIVE_CONIC_CURVE_TO_NV                                   0x1B
-#define GL_POINT                                                        0x1B00
-#define GL_POINT_NV                                                     0x1B00
-#define GL_LINE                                                         0x1B01
-#define GL_LINE_NV                                                      0x1B01
-#define GL_FILL                                                         0x1B02
-#define GL_FILL_NV                                                      0x1B02
-#define GL_RENDER                                                       0x1C00
-#define GL_FEEDBACK                                                     0x1C01
-#define GL_SELECT                                                       0x1C02
-#define GL_FLAT                                                         0x1D00
-#define GL_SMOOTH                                                       0x1D01
-#define GL_KEEP                                                         0x1E00
-#define GL_REPLACE                                                      0x1E01
-#define GL_INCR                                                         0x1E02
-#define GL_DECR                                                         0x1E03
-#define GL_VENDOR                                                       0x1F00
-#define GL_RENDERER                                                     0x1F01
-#define GL_VERSION                                                      0x1F02
-#define GL_EXTENSIONS                                                   0x1F03
-#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV                              0x20
-#define GL_S                                                            0x2000
-#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV                                0x20000000
-#define GL_MULTISAMPLE_BIT                                              0x20000000
-#define GL_MULTISAMPLE_BIT_3DFX                                         0x20000000
-#define GL_MULTISAMPLE_BIT_ARB                                          0x20000000
-#define GL_MULTISAMPLE_BIT_EXT                                          0x20000000
-#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                                 0x20000000
-#define GL_TEXCOORD2_BIT_PGI                                            0x20000000
-#define GL_T                                                            0x2001
-#define GL_R                                                            0x2002
-#define GL_Q                                                            0x2003
-#define GL_MODULATE                                                     0x2100
-#define GL_DECAL                                                        0x2101
-#define GL_TEXTURE_ENV_MODE                                             0x2200
-#define GL_TEXTURE_ENV_COLOR                                            0x2201
-#define GL_TEXTURE_ENV                                                  0x2300
-#define GL_EYE_LINEAR                                                   0x2400
-#define GL_EYE_LINEAR_NV                                                0x2400
-#define GL_OBJECT_LINEAR                                                0x2401
-#define GL_OBJECT_LINEAR_NV                                             0x2401
-#define GL_SPHERE_MAP                                                   0x2402
-#define GL_TEXTURE_GEN_MODE                                             0x2500
-#define GL_TEXTURE_GEN_MODE_OES                                         0x2500
-#define GL_OBJECT_PLANE                                                 0x2501
-#define GL_EYE_PLANE                                                    0x2502
-#define GL_NEAREST                                                      0x2600
-#define GL_LINEAR                                                       0x2601
-#define GL_NEAREST_MIPMAP_NEAREST                                       0x2700
-#define GL_LINEAR_MIPMAP_NEAREST                                        0x2701
-#define GL_NEAREST_MIPMAP_LINEAR                                        0x2702
-#define GL_LINEAR_MIPMAP_LINEAR                                         0x2703
-#define GL_TEXTURE_MAG_FILTER                                           0x2800
-#define GL_TEXTURE_MIN_FILTER                                           0x2801
-#define GL_TEXTURE_WRAP_S                                               0x2802
-#define GL_TEXTURE_WRAP_T                                               0x2803
-#define GL_CLAMP                                                        0x2900
-#define GL_REPEAT                                                       0x2901
-#define GL_POLYGON_OFFSET_UNITS                                         0x2A00
-#define GL_POLYGON_OFFSET_POINT                                         0x2A01
-#define GL_POLYGON_OFFSET_POINT_NV                                      0x2A01
-#define GL_POLYGON_OFFSET_LINE                                          0x2A02
-#define GL_POLYGON_OFFSET_LINE_NV                                       0x2A02
-#define GL_R3_G3_B2                                                     0x2A10
-#define GL_V2F                                                          0x2A20
-#define GL_V3F                                                          0x2A21
-#define GL_C4UB_V2F                                                     0x2A22
-#define GL_C4UB_V3F                                                     0x2A23
-#define GL_C3F_V3F                                                      0x2A24
-#define GL_N3F_V3F                                                      0x2A25
-#define GL_C4F_N3F_V3F                                                  0x2A26
-#define GL_T2F_V3F                                                      0x2A27
-#define GL_T4F_V4F                                                      0x2A28
-#define GL_T2F_C4UB_V3F                                                 0x2A29
-#define GL_T2F_C3F_V3F                                                  0x2A2A
-#define GL_T2F_N3F_V3F                                                  0x2A2B
-#define GL_T2F_C4F_N3F_V3F                                              0x2A2C
-#define GL_T4F_C4F_N3F_V4F                                              0x2A2D
-#define GL_CLIP_DISTANCE0                                               0x3000
-#define GL_CLIP_DISTANCE0_APPLE                                         0x3000
-#define GL_CLIP_PLANE0                                                  0x3000
-#define GL_CLIP_PLANE0_IMG                                              0x3000
-#define GL_CLIP_DISTANCE1                                               0x3001
-#define GL_CLIP_DISTANCE1_APPLE                                         0x3001
-#define GL_CLIP_PLANE1                                                  0x3001
-#define GL_CLIP_PLANE1_IMG                                              0x3001
-#define GL_CLIP_DISTANCE2                                               0x3002
-#define GL_CLIP_DISTANCE2_APPLE                                         0x3002
-#define GL_CLIP_PLANE2                                                  0x3002
-#define GL_CLIP_PLANE2_IMG                                              0x3002
-#define GL_CLIP_DISTANCE3                                               0x3003
-#define GL_CLIP_DISTANCE3_APPLE                                         0x3003
-#define GL_CLIP_PLANE3                                                  0x3003
-#define GL_CLIP_PLANE3_IMG                                              0x3003
-#define GL_CLIP_DISTANCE4                                               0x3004
-#define GL_CLIP_DISTANCE4_APPLE                                         0x3004
-#define GL_CLIP_PLANE4                                                  0x3004
-#define GL_CLIP_PLANE4_IMG                                              0x3004
-#define GL_CLIP_DISTANCE5                                               0x3005
-#define GL_CLIP_DISTANCE5_APPLE                                         0x3005
-#define GL_CLIP_PLANE5                                                  0x3005
-#define GL_CLIP_PLANE5_IMG                                              0x3005
-#define GL_CLIP_DISTANCE6                                               0x3006
-#define GL_CLIP_DISTANCE6_APPLE                                         0x3006
-#define GL_CLIP_DISTANCE7                                               0x3007
-#define GL_CLIP_DISTANCE7_APPLE                                         0x3007
-#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV                              0x40
-#define GL_LIGHT0                                                       0x4000
-#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                                 0x40000000
-#define GL_TEXCOORD3_BIT_PGI                                            0x40000000
-#define GL_LIGHT1                                                       0x4001
-#define GL_LIGHT2                                                       0x4002
-#define GL_LIGHT3                                                       0x4003
-#define GL_LIGHT4                                                       0x4004
-#define GL_LIGHT5                                                       0x4005
-#define GL_LIGHT6                                                       0x4006
-#define GL_LIGHT7                                                       0x4007
-#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV                        0x80
-#define GL_ABGR_EXT                                                     0x8000
-#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                                 0x80000000
-#define GL_TEXCOORD4_BIT_PGI                                            0x80000000
-#define GL_CONSTANT_COLOR                                               0x8001
-#define GL_CONSTANT_COLOR_EXT                                           0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR                                     0x8002
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT                                 0x8002
-#define GL_CONSTANT_ALPHA                                               0x8003
-#define GL_CONSTANT_ALPHA_EXT                                           0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA                                     0x8004
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT                                 0x8004
-#define GL_BLEND_COLOR                                                  0x8005
-#define GL_BLEND_COLOR_EXT                                              0x8005
-#define GL_FUNC_ADD                                                     0x8006
-#define GL_FUNC_ADD_EXT                                                 0x8006
-#define GL_FUNC_ADD_OES                                                 0x8006
-#define GL_MIN                                                          0x8007
-#define GL_MIN_EXT                                                      0x8007
-#define GL_MAX                                                          0x8008
-#define GL_MAX_EXT                                                      0x8008
-#define GL_BLEND_EQUATION                                               0x8009
-#define GL_BLEND_EQUATION_EXT                                           0x8009
-#define GL_BLEND_EQUATION_OES                                           0x8009
-#define GL_BLEND_EQUATION_RGB                                           0x8009
-#define GL_BLEND_EQUATION_RGB_EXT                                       0x8009
-#define GL_BLEND_EQUATION_RGB_OES                                       0x8009
-#define GL_FUNC_SUBTRACT                                                0x800A
-#define GL_FUNC_SUBTRACT_EXT                                            0x800A
-#define GL_FUNC_SUBTRACT_OES                                            0x800A
-#define GL_FUNC_REVERSE_SUBTRACT                                        0x800B
-#define GL_FUNC_REVERSE_SUBTRACT_EXT                                    0x800B
-#define GL_FUNC_REVERSE_SUBTRACT_OES                                    0x800B
-#define GL_CMYK_EXT                                                     0x800C
-#define GL_CMYKA_EXT                                                    0x800D
-#define GL_PACK_CMYK_HINT_EXT                                           0x800E
-#define GL_UNPACK_CMYK_HINT_EXT                                         0x800F
-#define GL_CONVOLUTION_1D                                               0x8010
-#define GL_CONVOLUTION_1D_EXT                                           0x8010
-#define GL_CONVOLUTION_2D                                               0x8011
-#define GL_CONVOLUTION_2D_EXT                                           0x8011
-#define GL_SEPARABLE_2D                                                 0x8012
-#define GL_SEPARABLE_2D_EXT                                             0x8012
-#define GL_CONVOLUTION_BORDER_MODE                                      0x8013
-#define GL_CONVOLUTION_BORDER_MODE_EXT                                  0x8013
-#define GL_CONVOLUTION_FILTER_SCALE                                     0x8014
-#define GL_CONVOLUTION_FILTER_SCALE_EXT                                 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS                                      0x8015
-#define GL_CONVOLUTION_FILTER_BIAS_EXT                                  0x8015
-#define GL_REDUCE                                                       0x8016
-#define GL_REDUCE_EXT                                                   0x8016
-#define GL_CONVOLUTION_FORMAT                                           0x8017
-#define GL_CONVOLUTION_FORMAT_EXT                                       0x8017
-#define GL_CONVOLUTION_WIDTH                                            0x8018
-#define GL_CONVOLUTION_WIDTH_EXT                                        0x8018
-#define GL_CONVOLUTION_HEIGHT                                           0x8019
-#define GL_CONVOLUTION_HEIGHT_EXT                                       0x8019
-#define GL_MAX_CONVOLUTION_WIDTH                                        0x801A
-#define GL_MAX_CONVOLUTION_WIDTH_EXT                                    0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT                                       0x801B
-#define GL_MAX_CONVOLUTION_HEIGHT_EXT                                   0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE                                   0x801C
-#define GL_POST_CONVOLUTION_RED_SCALE_EXT                               0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE                                 0x801D
-#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT                             0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE                                  0x801E
-#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT                              0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE                                 0x801F
-#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT                             0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS                                    0x8020
-#define GL_POST_CONVOLUTION_RED_BIAS_EXT                                0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS                                  0x8021
-#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT                              0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS                                   0x8022
-#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT                               0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS                                  0x8023
-#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT                              0x8023
-#define GL_HISTOGRAM                                                    0x8024
-#define GL_HISTOGRAM_EXT                                                0x8024
-#define GL_PROXY_HISTOGRAM                                              0x8025
-#define GL_PROXY_HISTOGRAM_EXT                                          0x8025
-#define GL_HISTOGRAM_WIDTH                                              0x8026
-#define GL_HISTOGRAM_WIDTH_EXT                                          0x8026
-#define GL_HISTOGRAM_FORMAT                                             0x8027
-#define GL_HISTOGRAM_FORMAT_EXT                                         0x8027
-#define GL_HISTOGRAM_RED_SIZE                                           0x8028
-#define GL_HISTOGRAM_RED_SIZE_EXT                                       0x8028
-#define GL_HISTOGRAM_GREEN_SIZE                                         0x8029
-#define GL_HISTOGRAM_GREEN_SIZE_EXT                                     0x8029
-#define GL_HISTOGRAM_BLUE_SIZE                                          0x802A
-#define GL_HISTOGRAM_BLUE_SIZE_EXT                                      0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE                                         0x802B
-#define GL_HISTOGRAM_ALPHA_SIZE_EXT                                     0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE                                     0x802C
-#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT                                 0x802C
-#define GL_HISTOGRAM_SINK                                               0x802D
-#define GL_HISTOGRAM_SINK_EXT                                           0x802D
-#define GL_MINMAX                                                       0x802E
-#define GL_MINMAX_EXT                                                   0x802E
-#define GL_MINMAX_FORMAT                                                0x802F
-#define GL_MINMAX_FORMAT_EXT                                            0x802F
-#define GL_MINMAX_SINK                                                  0x8030
-#define GL_MINMAX_SINK_EXT                                              0x8030
-#define GL_TABLE_TOO_LARGE                                              0x8031
-#define GL_TABLE_TOO_LARGE_EXT                                          0x8031
-#define GL_UNSIGNED_BYTE_3_3_2                                          0x8032
-#define GL_UNSIGNED_BYTE_3_3_2_EXT                                      0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4                                       0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT                                   0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1                                       0x8034
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT                                   0x8034
-#define GL_UNSIGNED_INT_8_8_8_8                                         0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_EXT                                     0x8035
-#define GL_UNSIGNED_INT_10_10_10_2                                      0x8036
-#define GL_UNSIGNED_INT_10_10_10_2_EXT                                  0x8036
-#define GL_POLYGON_OFFSET_EXT                                           0x8037
-#define GL_POLYGON_OFFSET_FILL                                          0x8037
-#define GL_POLYGON_OFFSET_FACTOR                                        0x8038
-#define GL_POLYGON_OFFSET_FACTOR_EXT                                    0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT                                      0x8039
-#define GL_RESCALE_NORMAL                                               0x803A
-#define GL_RESCALE_NORMAL_EXT                                           0x803A
-#define GL_ALPHA4                                                       0x803B
-#define GL_ALPHA4_EXT                                                   0x803B
-#define GL_ALPHA8                                                       0x803C
-#define GL_ALPHA8_EXT                                                   0x803C
-#define GL_ALPHA8_OES                                                   0x803C
-#define GL_ALPHA12                                                      0x803D
-#define GL_ALPHA12_EXT                                                  0x803D
-#define GL_ALPHA16                                                      0x803E
-#define GL_ALPHA16_EXT                                                  0x803E
-#define GL_LUMINANCE4                                                   0x803F
-#define GL_LUMINANCE4_EXT                                               0x803F
-#define GL_LUMINANCE8                                                   0x8040
-#define GL_LUMINANCE8_EXT                                               0x8040
-#define GL_LUMINANCE8_OES                                               0x8040
-#define GL_LUMINANCE12                                                  0x8041
-#define GL_LUMINANCE12_EXT                                              0x8041
-#define GL_LUMINANCE16                                                  0x8042
-#define GL_LUMINANCE16_EXT                                              0x8042
-#define GL_LUMINANCE4_ALPHA4                                            0x8043
-#define GL_LUMINANCE4_ALPHA4_EXT                                        0x8043
-#define GL_LUMINANCE4_ALPHA4_OES                                        0x8043
-#define GL_LUMINANCE6_ALPHA2                                            0x8044
-#define GL_LUMINANCE6_ALPHA2_EXT                                        0x8044
-#define GL_LUMINANCE8_ALPHA8                                            0x8045
-#define GL_LUMINANCE8_ALPHA8_EXT                                        0x8045
-#define GL_LUMINANCE8_ALPHA8_OES                                        0x8045
-#define GL_LUMINANCE12_ALPHA4                                           0x8046
-#define GL_LUMINANCE12_ALPHA4_EXT                                       0x8046
-#define GL_LUMINANCE12_ALPHA12                                          0x8047
-#define GL_LUMINANCE12_ALPHA12_EXT                                      0x8047
-#define GL_LUMINANCE16_ALPHA16                                          0x8048
-#define GL_LUMINANCE16_ALPHA16_EXT                                      0x8048
-#define GL_INTENSITY                                                    0x8049
-#define GL_INTENSITY_EXT                                                0x8049
-#define GL_INTENSITY4                                                   0x804A
-#define GL_INTENSITY4_EXT                                               0x804A
-#define GL_INTENSITY8                                                   0x804B
-#define GL_INTENSITY8_EXT                                               0x804B
-#define GL_INTENSITY12                                                  0x804C
-#define GL_INTENSITY12_EXT                                              0x804C
-#define GL_INTENSITY16                                                  0x804D
-#define GL_INTENSITY16_EXT                                              0x804D
-#define GL_RGB2_EXT                                                     0x804E
-#define GL_RGB4                                                         0x804F
-#define GL_RGB4_EXT                                                     0x804F
-#define GL_RGB5                                                         0x8050
-#define GL_RGB5_EXT                                                     0x8050
-#define GL_RGB8                                                         0x8051
-#define GL_RGB8_EXT                                                     0x8051
-#define GL_RGB8_OES                                                     0x8051
-#define GL_RGB10                                                        0x8052
-#define GL_RGB10_EXT                                                    0x8052
-#define GL_RGB12                                                        0x8053
-#define GL_RGB12_EXT                                                    0x8053
-#define GL_RGB16                                                        0x8054
-#define GL_RGB16_EXT                                                    0x8054
-#define GL_RGBA2                                                        0x8055
-#define GL_RGBA2_EXT                                                    0x8055
-#define GL_RGBA4                                                        0x8056
-#define GL_RGBA4_EXT                                                    0x8056
-#define GL_RGBA4_OES                                                    0x8056
-#define GL_RGB5_A1                                                      0x8057
-#define GL_RGB5_A1_EXT                                                  0x8057
-#define GL_RGB5_A1_OES                                                  0x8057
-#define GL_RGBA8                                                        0x8058
-#define GL_RGBA8_EXT                                                    0x8058
-#define GL_RGBA8_OES                                                    0x8058
-#define GL_RGB10_A2                                                     0x8059
-#define GL_RGB10_A2_EXT                                                 0x8059
-#define GL_RGBA12                                                       0x805A
-#define GL_RGBA12_EXT                                                   0x805A
-#define GL_RGBA16                                                       0x805B
-#define GL_RGBA16_EXT                                                   0x805B
-#define GL_TEXTURE_RED_SIZE                                             0x805C
-#define GL_TEXTURE_RED_SIZE_EXT                                         0x805C
-#define GL_TEXTURE_GREEN_SIZE                                           0x805D
-#define GL_TEXTURE_GREEN_SIZE_EXT                                       0x805D
-#define GL_TEXTURE_BLUE_SIZE                                            0x805E
-#define GL_TEXTURE_BLUE_SIZE_EXT                                        0x805E
-#define GL_TEXTURE_ALPHA_SIZE                                           0x805F
-#define GL_TEXTURE_ALPHA_SIZE_EXT                                       0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE                                       0x8060
-#define GL_TEXTURE_LUMINANCE_SIZE_EXT                                   0x8060
-#define GL_TEXTURE_INTENSITY_SIZE                                       0x8061
-#define GL_TEXTURE_INTENSITY_SIZE_EXT                                   0x8061
-#define GL_REPLACE_EXT                                                  0x8062
-#define GL_PROXY_TEXTURE_1D                                             0x8063
-#define GL_PROXY_TEXTURE_1D_EXT                                         0x8063
-#define GL_PROXY_TEXTURE_2D                                             0x8064
-#define GL_PROXY_TEXTURE_2D_EXT                                         0x8064
-#define GL_TEXTURE_TOO_LARGE_EXT                                        0x8065
-#define GL_TEXTURE_PRIORITY                                             0x8066
-#define GL_TEXTURE_PRIORITY_EXT                                         0x8066
-#define GL_TEXTURE_RESIDENT                                             0x8067
-#define GL_TEXTURE_RESIDENT_EXT                                         0x8067
-#define GL_TEXTURE_1D_BINDING_EXT                                       0x8068
-#define GL_TEXTURE_BINDING_1D                                           0x8068
-#define GL_TEXTURE_2D_BINDING_EXT                                       0x8069
-#define GL_TEXTURE_BINDING_2D                                           0x8069
-#define GL_TEXTURE_3D_BINDING_EXT                                       0x806A
-#define GL_TEXTURE_3D_BINDING_OES                                       0x806A
-#define GL_TEXTURE_BINDING_3D                                           0x806A
-#define GL_TEXTURE_BINDING_3D_OES                                       0x806A
-#define GL_PACK_SKIP_IMAGES                                             0x806B
-#define GL_PACK_SKIP_IMAGES_EXT                                         0x806B
-#define GL_PACK_IMAGE_HEIGHT                                            0x806C
-#define GL_PACK_IMAGE_HEIGHT_EXT                                        0x806C
-#define GL_UNPACK_SKIP_IMAGES                                           0x806D
-#define GL_UNPACK_SKIP_IMAGES_EXT                                       0x806D
-#define GL_UNPACK_IMAGE_HEIGHT                                          0x806E
-#define GL_UNPACK_IMAGE_HEIGHT_EXT                                      0x806E
-#define GL_TEXTURE_3D                                                   0x806F
-#define GL_TEXTURE_3D_EXT                                               0x806F
-#define GL_TEXTURE_3D_OES                                               0x806F
-#define GL_PROXY_TEXTURE_3D                                             0x8070
-#define GL_PROXY_TEXTURE_3D_EXT                                         0x8070
-#define GL_TEXTURE_DEPTH                                                0x8071
-#define GL_TEXTURE_DEPTH_EXT                                            0x8071
-#define GL_TEXTURE_WRAP_R                                               0x8072
-#define GL_TEXTURE_WRAP_R_EXT                                           0x8072
-#define GL_TEXTURE_WRAP_R_OES                                           0x8072
-#define GL_MAX_3D_TEXTURE_SIZE                                          0x8073
-#define GL_MAX_3D_TEXTURE_SIZE_EXT                                      0x8073
-#define GL_MAX_3D_TEXTURE_SIZE_OES                                      0x8073
-#define GL_VERTEX_ARRAY                                                 0x8074
-#define GL_VERTEX_ARRAY_EXT                                             0x8074
-#define GL_VERTEX_ARRAY_KHR                                             0x8074
-#define GL_NORMAL_ARRAY                                                 0x8075
-#define GL_NORMAL_ARRAY_EXT                                             0x8075
-#define GL_COLOR_ARRAY                                                  0x8076
-#define GL_COLOR_ARRAY_EXT                                              0x8076
-#define GL_INDEX_ARRAY                                                  0x8077
-#define GL_INDEX_ARRAY_EXT                                              0x8077
-#define GL_TEXTURE_COORD_ARRAY                                          0x8078
-#define GL_TEXTURE_COORD_ARRAY_EXT                                      0x8078
-#define GL_EDGE_FLAG_ARRAY                                              0x8079
-#define GL_EDGE_FLAG_ARRAY_EXT                                          0x8079
-#define GL_VERTEX_ARRAY_SIZE                                            0x807A
-#define GL_VERTEX_ARRAY_SIZE_EXT                                        0x807A
-#define GL_VERTEX_ARRAY_TYPE                                            0x807B
-#define GL_VERTEX_ARRAY_TYPE_EXT                                        0x807B
-#define GL_VERTEX_ARRAY_STRIDE                                          0x807C
-#define GL_VERTEX_ARRAY_STRIDE_EXT                                      0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT                                       0x807D
-#define GL_NORMAL_ARRAY_TYPE                                            0x807E
-#define GL_NORMAL_ARRAY_TYPE_EXT                                        0x807E
-#define GL_NORMAL_ARRAY_STRIDE                                          0x807F
-#define GL_NORMAL_ARRAY_STRIDE_EXT                                      0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT                                       0x8080
-#define GL_COLOR_ARRAY_SIZE                                             0x8081
-#define GL_COLOR_ARRAY_SIZE_EXT                                         0x8081
-#define GL_COLOR_ARRAY_TYPE                                             0x8082
-#define GL_COLOR_ARRAY_TYPE_EXT                                         0x8082
-#define GL_COLOR_ARRAY_STRIDE                                           0x8083
-#define GL_COLOR_ARRAY_STRIDE_EXT                                       0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT                                        0x8084
-#define GL_INDEX_ARRAY_TYPE                                             0x8085
-#define GL_INDEX_ARRAY_TYPE_EXT                                         0x8085
-#define GL_INDEX_ARRAY_STRIDE                                           0x8086
-#define GL_INDEX_ARRAY_STRIDE_EXT                                       0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT                                        0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE                                     0x8088
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT                                 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE                                     0x8089
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT                                 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE                                   0x808A
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT                               0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT                                0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE                                       0x808C
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT                                   0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT                                    0x808D
-#define GL_VERTEX_ARRAY_POINTER                                         0x808E
-#define GL_VERTEX_ARRAY_POINTER_EXT                                     0x808E
-#define GL_NORMAL_ARRAY_POINTER                                         0x808F
-#define GL_NORMAL_ARRAY_POINTER_EXT                                     0x808F
-#define GL_COLOR_ARRAY_POINTER                                          0x8090
-#define GL_COLOR_ARRAY_POINTER_EXT                                      0x8090
-#define GL_INDEX_ARRAY_POINTER                                          0x8091
-#define GL_INDEX_ARRAY_POINTER_EXT                                      0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER                                  0x8092
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT                              0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER                                      0x8093
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT                                  0x8093
-#define GL_INTERLACE_SGIX                                               0x8094
-#define GL_DETAIL_TEXTURE_2D_SGIS                                       0x8095
-#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS                               0x8096
-#define GL_LINEAR_DETAIL_SGIS                                           0x8097
-#define GL_LINEAR_DETAIL_ALPHA_SGIS                                     0x8098
-#define GL_LINEAR_DETAIL_COLOR_SGIS                                     0x8099
-#define GL_DETAIL_TEXTURE_LEVEL_SGIS                                    0x809A
-#define GL_DETAIL_TEXTURE_MODE_SGIS                                     0x809B
-#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS                              0x809C
-#define GL_MULTISAMPLE                                                  0x809D
-#define GL_MULTISAMPLE_ARB                                              0x809D
-#define GL_MULTISAMPLE_EXT                                              0x809D
-#define GL_MULTISAMPLE_SGIS                                             0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE                                     0x809E
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB                                 0x809E
-#define GL_SAMPLE_ALPHA_TO_MASK_EXT                                     0x809E
-#define GL_SAMPLE_ALPHA_TO_MASK_SGIS                                    0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE                                          0x809F
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB                                      0x809F
-#define GL_SAMPLE_ALPHA_TO_ONE_EXT                                      0x809F
-#define GL_SAMPLE_ALPHA_TO_ONE_SGIS                                     0x809F
-#define GL_SAMPLE_COVERAGE                                              0x80A0
-#define GL_SAMPLE_COVERAGE_ARB                                          0x80A0
-#define GL_SAMPLE_MASK_EXT                                              0x80A0
-#define GL_SAMPLE_MASK_SGIS                                             0x80A0
-#define GL_1PASS_EXT                                                    0x80A1
-#define GL_1PASS_SGIS                                                   0x80A1
-#define GL_2PASS_0_EXT                                                  0x80A2
-#define GL_2PASS_0_SGIS                                                 0x80A2
-#define GL_2PASS_1_EXT                                                  0x80A3
-#define GL_2PASS_1_SGIS                                                 0x80A3
-#define GL_4PASS_0_EXT                                                  0x80A4
-#define GL_4PASS_0_SGIS                                                 0x80A4
-#define GL_4PASS_1_EXT                                                  0x80A5
-#define GL_4PASS_1_SGIS                                                 0x80A5
-#define GL_4PASS_2_EXT                                                  0x80A6
-#define GL_4PASS_2_SGIS                                                 0x80A6
-#define GL_4PASS_3_EXT                                                  0x80A7
-#define GL_4PASS_3_SGIS                                                 0x80A7
-#define GL_SAMPLE_BUFFERS                                               0x80A8
-#define GL_SAMPLE_BUFFERS_ARB                                           0x80A8
-#define GL_SAMPLE_BUFFERS_EXT                                           0x80A8
-#define GL_SAMPLE_BUFFERS_SGIS                                          0x80A8
-#define GL_SAMPLES                                                      0x80A9
-#define GL_SAMPLES_ARB                                                  0x80A9
-#define GL_SAMPLES_EXT                                                  0x80A9
-#define GL_SAMPLES_SGIS                                                 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE                                        0x80AA
-#define GL_SAMPLE_COVERAGE_VALUE_ARB                                    0x80AA
-#define GL_SAMPLE_MASK_VALUE_EXT                                        0x80AA
-#define GL_SAMPLE_MASK_VALUE_SGIS                                       0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT                                       0x80AB
-#define GL_SAMPLE_COVERAGE_INVERT_ARB                                   0x80AB
-#define GL_SAMPLE_MASK_INVERT_EXT                                       0x80AB
-#define GL_SAMPLE_MASK_INVERT_SGIS                                      0x80AB
-#define GL_SAMPLE_PATTERN_EXT                                           0x80AC
-#define GL_SAMPLE_PATTERN_SGIS                                          0x80AC
-#define GL_LINEAR_SHARPEN_SGIS                                          0x80AD
-#define GL_LINEAR_SHARPEN_ALPHA_SGIS                                    0x80AE
-#define GL_LINEAR_SHARPEN_COLOR_SGIS                                    0x80AF
-#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS                             0x80B0
-#define GL_COLOR_MATRIX                                                 0x80B1
-#define GL_COLOR_MATRIX_SGI                                             0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH                                     0x80B2
-#define GL_COLOR_MATRIX_STACK_DEPTH_SGI                                 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH                                 0x80B3
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI                             0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE                                  0x80B4
-#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI                              0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE                                0x80B5
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI                            0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE                                 0x80B6
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI                             0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE                                0x80B7
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI                            0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS                                   0x80B8
-#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI                               0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS                                 0x80B9
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI                             0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS                                  0x80BA
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI                              0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS                                 0x80BB
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI                             0x80BB
-#define GL_TEXTURE_COLOR_TABLE_SGI                                      0x80BC
-#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI                                0x80BD
-#define GL_TEXTURE_ENV_BIAS_SGIX                                        0x80BE
-#define GL_SHADOW_AMBIENT_SGIX                                          0x80BF
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB                               0x80BF
-#define GL_BLEND_DST_RGB                                                0x80C8
-#define GL_BLEND_DST_RGB_EXT                                            0x80C8
-#define GL_BLEND_DST_RGB_OES                                            0x80C8
-#define GL_BLEND_SRC_RGB                                                0x80C9
-#define GL_BLEND_SRC_RGB_EXT                                            0x80C9
-#define GL_BLEND_SRC_RGB_OES                                            0x80C9
-#define GL_BLEND_DST_ALPHA                                              0x80CA
-#define GL_BLEND_DST_ALPHA_EXT                                          0x80CA
-#define GL_BLEND_DST_ALPHA_OES                                          0x80CA
-#define GL_BLEND_SRC_ALPHA                                              0x80CB
-#define GL_BLEND_SRC_ALPHA_EXT                                          0x80CB
-#define GL_BLEND_SRC_ALPHA_OES                                          0x80CB
-#define GL_422_EXT                                                      0x80CC
-#define GL_422_REV_EXT                                                  0x80CD
-#define GL_422_AVERAGE_EXT                                              0x80CE
-#define GL_422_REV_AVERAGE_EXT                                          0x80CF
-#define GL_COLOR_TABLE                                                  0x80D0
-#define GL_COLOR_TABLE_SGI                                              0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE                                 0x80D1
-#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI                             0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE                                0x80D2
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI                            0x80D2
-#define GL_PROXY_COLOR_TABLE                                            0x80D3
-#define GL_PROXY_COLOR_TABLE_SGI                                        0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE                           0x80D4
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI                       0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE                          0x80D5
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI                      0x80D5
-#define GL_COLOR_TABLE_SCALE                                            0x80D6
-#define GL_COLOR_TABLE_SCALE_SGI                                        0x80D6
-#define GL_COLOR_TABLE_BIAS                                             0x80D7
-#define GL_COLOR_TABLE_BIAS_SGI                                         0x80D7
-#define GL_COLOR_TABLE_FORMAT                                           0x80D8
-#define GL_COLOR_TABLE_FORMAT_SGI                                       0x80D8
-#define GL_COLOR_TABLE_WIDTH                                            0x80D9
-#define GL_COLOR_TABLE_WIDTH_SGI                                        0x80D9
-#define GL_COLOR_TABLE_RED_SIZE                                         0x80DA
-#define GL_COLOR_TABLE_RED_SIZE_SGI                                     0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE                                       0x80DB
-#define GL_COLOR_TABLE_GREEN_SIZE_SGI                                   0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE                                        0x80DC
-#define GL_COLOR_TABLE_BLUE_SIZE_SGI                                    0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE                                       0x80DD
-#define GL_COLOR_TABLE_ALPHA_SIZE_SGI                                   0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE                                   0x80DE
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI                               0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE                                   0x80DF
-#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI                               0x80DF
-#define GL_BGR                                                          0x80E0
-#define GL_BGR_EXT                                                      0x80E0
-#define GL_BGRA                                                         0x80E1
-#define GL_BGRA_EXT                                                     0x80E1
-#define GL_BGRA_IMG                                                     0x80E1
-#define GL_COLOR_INDEX1_EXT                                             0x80E2
-#define GL_COLOR_INDEX2_EXT                                             0x80E3
-#define GL_COLOR_INDEX4_EXT                                             0x80E4
-#define GL_COLOR_INDEX8_EXT                                             0x80E5
-#define GL_COLOR_INDEX12_EXT                                            0x80E6
-#define GL_COLOR_INDEX16_EXT                                            0x80E7
-#define GL_MAX_ELEMENTS_VERTICES                                        0x80E8
-#define GL_MAX_ELEMENTS_VERTICES_EXT                                    0x80E8
-#define GL_MAX_ELEMENTS_INDICES                                         0x80E9
-#define GL_MAX_ELEMENTS_INDICES_EXT                                     0x80E9
-#define GL_PHONG_WIN                                                    0x80EA
-#define GL_PHONG_HINT_WIN                                               0x80EB
-#define GL_FOG_SPECULAR_TEXTURE_WIN                                     0x80EC
-#define GL_TEXTURE_INDEX_SIZE_EXT                                       0x80ED
-#define GL_PARAMETER_BUFFER_ARB                                         0x80EE
-#define GL_PARAMETER_BUFFER_BINDING_ARB                                 0x80EF
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT                                0x80F0
-#define GL_DUAL_ALPHA4_SGIS                                             0x8110
-#define GL_DUAL_ALPHA8_SGIS                                             0x8111
-#define GL_DUAL_ALPHA12_SGIS                                            0x8112
-#define GL_DUAL_ALPHA16_SGIS                                            0x8113
-#define GL_DUAL_LUMINANCE4_SGIS                                         0x8114
-#define GL_DUAL_LUMINANCE8_SGIS                                         0x8115
-#define GL_DUAL_LUMINANCE12_SGIS                                        0x8116
-#define GL_DUAL_LUMINANCE16_SGIS                                        0x8117
-#define GL_DUAL_INTENSITY4_SGIS                                         0x8118
-#define GL_DUAL_INTENSITY8_SGIS                                         0x8119
-#define GL_DUAL_INTENSITY12_SGIS                                        0x811A
-#define GL_DUAL_INTENSITY16_SGIS                                        0x811B
-#define GL_DUAL_LUMINANCE_ALPHA4_SGIS                                   0x811C
-#define GL_DUAL_LUMINANCE_ALPHA8_SGIS                                   0x811D
-#define GL_QUAD_ALPHA4_SGIS                                             0x811E
-#define GL_QUAD_ALPHA8_SGIS                                             0x811F
-#define GL_QUAD_LUMINANCE4_SGIS                                         0x8120
-#define GL_QUAD_LUMINANCE8_SGIS                                         0x8121
-#define GL_QUAD_INTENSITY4_SGIS                                         0x8122
-#define GL_QUAD_INTENSITY8_SGIS                                         0x8123
-#define GL_DUAL_TEXTURE_SELECT_SGIS                                     0x8124
-#define GL_QUAD_TEXTURE_SELECT_SGIS                                     0x8125
-#define GL_POINT_SIZE_MIN                                               0x8126
-#define GL_POINT_SIZE_MIN_ARB                                           0x8126
-#define GL_POINT_SIZE_MIN_EXT                                           0x8126
-#define GL_POINT_SIZE_MIN_SGIS                                          0x8126
-#define GL_POINT_SIZE_MAX                                               0x8127
-#define GL_POINT_SIZE_MAX_ARB                                           0x8127
-#define GL_POINT_SIZE_MAX_EXT                                           0x8127
-#define GL_POINT_SIZE_MAX_SGIS                                          0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE                                    0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB                                0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT                                0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS                               0x8128
-#define GL_DISTANCE_ATTENUATION_EXT                                     0x8129
-#define GL_DISTANCE_ATTENUATION_SGIS                                    0x8129
-#define GL_POINT_DISTANCE_ATTENUATION                                   0x8129
-#define GL_POINT_DISTANCE_ATTENUATION_ARB                               0x8129
-#define GL_FOG_FUNC_SGIS                                                0x812A
-#define GL_FOG_FUNC_POINTS_SGIS                                         0x812B
-#define GL_MAX_FOG_FUNC_POINTS_SGIS                                     0x812C
-#define GL_CLAMP_TO_BORDER                                              0x812D
-#define GL_CLAMP_TO_BORDER_ARB                                          0x812D
-#define GL_CLAMP_TO_BORDER_EXT                                          0x812D
-#define GL_CLAMP_TO_BORDER_NV                                           0x812D
-#define GL_CLAMP_TO_BORDER_OES                                          0x812D
-#define GL_CLAMP_TO_BORDER_SGIS                                         0x812D
-#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX                               0x812E
-#define GL_CLAMP_TO_EDGE                                                0x812F
-#define GL_CLAMP_TO_EDGE_SGIS                                           0x812F
-#define GL_PACK_SKIP_VOLUMES_SGIS                                       0x8130
-#define GL_PACK_IMAGE_DEPTH_SGIS                                        0x8131
-#define GL_UNPACK_SKIP_VOLUMES_SGIS                                     0x8132
-#define GL_UNPACK_IMAGE_DEPTH_SGIS                                      0x8133
-#define GL_TEXTURE_4D_SGIS                                              0x8134
-#define GL_PROXY_TEXTURE_4D_SGIS                                        0x8135
-#define GL_TEXTURE_4DSIZE_SGIS                                          0x8136
-#define GL_TEXTURE_WRAP_Q_SGIS                                          0x8137
-#define GL_MAX_4D_TEXTURE_SIZE_SGIS                                     0x8138
-#define GL_PIXEL_TEX_GEN_SGIX                                           0x8139
-#define GL_TEXTURE_MIN_LOD                                              0x813A
-#define GL_TEXTURE_MIN_LOD_SGIS                                         0x813A
-#define GL_TEXTURE_MAX_LOD                                              0x813B
-#define GL_TEXTURE_MAX_LOD_SGIS                                         0x813B
-#define GL_TEXTURE_BASE_LEVEL                                           0x813C
-#define GL_TEXTURE_BASE_LEVEL_SGIS                                      0x813C
-#define GL_TEXTURE_MAX_LEVEL                                            0x813D
-#define GL_TEXTURE_MAX_LEVEL_APPLE                                      0x813D
-#define GL_TEXTURE_MAX_LEVEL_SGIS                                       0x813D
-#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX                               0x813E
-#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX                              0x813F
-#define GL_PIXEL_TILE_WIDTH_SGIX                                        0x8140
-#define GL_PIXEL_TILE_HEIGHT_SGIX                                       0x8141
-#define GL_PIXEL_TILE_GRID_WIDTH_SGIX                                   0x8142
-#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX                                  0x8143
-#define GL_PIXEL_TILE_GRID_DEPTH_SGIX                                   0x8144
-#define GL_PIXEL_TILE_CACHE_SIZE_SGIX                                   0x8145
-#define GL_FILTER4_SGIS                                                 0x8146
-#define GL_TEXTURE_FILTER4_SIZE_SGIS                                    0x8147
-#define GL_SPRITE_SGIX                                                  0x8148
-#define GL_SPRITE_MODE_SGIX                                             0x8149
-#define GL_SPRITE_AXIS_SGIX                                             0x814A
-#define GL_SPRITE_TRANSLATION_SGIX                                      0x814B
-#define GL_SPRITE_AXIAL_SGIX                                            0x814C
-#define GL_SPRITE_OBJECT_ALIGNED_SGIX                                   0x814D
-#define GL_SPRITE_EYE_ALIGNED_SGIX                                      0x814E
-#define GL_TEXTURE_4D_BINDING_SGIS                                      0x814F
-#define GL_IGNORE_BORDER_HP                                             0x8150
-#define GL_CONSTANT_BORDER                                              0x8151
-#define GL_CONSTANT_BORDER_HP                                           0x8151
-#define GL_REPLICATE_BORDER                                             0x8153
-#define GL_REPLICATE_BORDER_HP                                          0x8153
-#define GL_CONVOLUTION_BORDER_COLOR                                     0x8154
-#define GL_CONVOLUTION_BORDER_COLOR_HP                                  0x8154
-#define GL_IMAGE_SCALE_X_HP                                             0x8155
-#define GL_IMAGE_SCALE_Y_HP                                             0x8156
-#define GL_IMAGE_TRANSLATE_X_HP                                         0x8157
-#define GL_IMAGE_TRANSLATE_Y_HP                                         0x8158
-#define GL_IMAGE_ROTATE_ANGLE_HP                                        0x8159
-#define GL_IMAGE_ROTATE_ORIGIN_X_HP                                     0x815A
-#define GL_IMAGE_ROTATE_ORIGIN_Y_HP                                     0x815B
-#define GL_IMAGE_MAG_FILTER_HP                                          0x815C
-#define GL_IMAGE_MIN_FILTER_HP                                          0x815D
-#define GL_IMAGE_CUBIC_WEIGHT_HP                                        0x815E
-#define GL_CUBIC_HP                                                     0x815F
-#define GL_AVERAGE_HP                                                   0x8160
-#define GL_IMAGE_TRANSFORM_2D_HP                                        0x8161
-#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP                          0x8162
-#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP                    0x8163
-#define GL_OCCLUSION_TEST_HP                                            0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP                                     0x8166
-#define GL_TEXTURE_LIGHTING_MODE_HP                                     0x8167
-#define GL_TEXTURE_POST_SPECULAR_HP                                     0x8168
-#define GL_TEXTURE_PRE_SPECULAR_HP                                      0x8169
-#define GL_LINEAR_CLIPMAP_LINEAR_SGIX                                   0x8170
-#define GL_TEXTURE_CLIPMAP_CENTER_SGIX                                  0x8171
-#define GL_TEXTURE_CLIPMAP_FRAME_SGIX                                   0x8172
-#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX                                  0x8173
-#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX                           0x8174
-#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX                              0x8175
-#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX                                   0x8176
-#define GL_MAX_CLIPMAP_DEPTH_SGIX                                       0x8177
-#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX                               0x8178
-#define GL_POST_TEXTURE_FILTER_BIAS_SGIX                                0x8179
-#define GL_POST_TEXTURE_FILTER_SCALE_SGIX                               0x817A
-#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX                          0x817B
-#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX                         0x817C
-#define GL_REFERENCE_PLANE_SGIX                                         0x817D
-#define GL_REFERENCE_PLANE_EQUATION_SGIX                                0x817E
-#define GL_IR_INSTRUMENT1_SGIX                                          0x817F
-#define GL_INSTRUMENT_BUFFER_POINTER_SGIX                               0x8180
-#define GL_INSTRUMENT_MEASUREMENTS_SGIX                                 0x8181
-#define GL_LIST_PRIORITY_SGIX                                           0x8182
-#define GL_CALLIGRAPHIC_FRAGMENT_SGIX                                   0x8183
-#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX                                 0x8184
-#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX                                   0x8185
-#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX                                   0x8186
-#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX                             0x8187
-#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX                          0x8188
-#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX                                  0x8189
-#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX                                  0x818A
-#define GL_FRAMEZOOM_SGIX                                               0x818B
-#define GL_FRAMEZOOM_FACTOR_SGIX                                        0x818C
-#define GL_MAX_FRAMEZOOM_FACTOR_SGIX                                    0x818D
-#define GL_TEXTURE_LOD_BIAS_S_SGIX                                      0x818E
-#define GL_TEXTURE_LOD_BIAS_T_SGIX                                      0x818F
-#define GL_TEXTURE_LOD_BIAS_R_SGIX                                      0x8190
-#define GL_GENERATE_MIPMAP                                              0x8191
-#define GL_GENERATE_MIPMAP_SGIS                                         0x8191
-#define GL_GENERATE_MIPMAP_HINT                                         0x8192
-#define GL_GENERATE_MIPMAP_HINT_SGIS                                    0x8192
-#define GL_GEOMETRY_DEFORMATION_SGIX                                    0x8194
-#define GL_TEXTURE_DEFORMATION_SGIX                                     0x8195
-#define GL_DEFORMATIONS_MASK_SGIX                                       0x8196
-#define GL_MAX_DEFORMATION_ORDER_SGIX                                   0x8197
-#define GL_FOG_OFFSET_SGIX                                              0x8198
-#define GL_FOG_OFFSET_VALUE_SGIX                                        0x8199
-#define GL_TEXTURE_COMPARE_SGIX                                         0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX                                0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX                                        0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX                                        0x819D
-#define GL_DEPTH_COMPONENT16                                            0x81A5
-#define GL_DEPTH_COMPONENT16_ARB                                        0x81A5
-#define GL_DEPTH_COMPONENT16_OES                                        0x81A5
-#define GL_DEPTH_COMPONENT16_SGIX                                       0x81A5
-#define GL_DEPTH_COMPONENT24                                            0x81A6
-#define GL_DEPTH_COMPONENT24_ARB                                        0x81A6
-#define GL_DEPTH_COMPONENT24_OES                                        0x81A6
-#define GL_DEPTH_COMPONENT24_SGIX                                       0x81A6
-#define GL_DEPTH_COMPONENT32                                            0x81A7
-#define GL_DEPTH_COMPONENT32_ARB                                        0x81A7
-#define GL_DEPTH_COMPONENT32_OES                                        0x81A7
-#define GL_DEPTH_COMPONENT32_SGIX                                       0x81A7
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT                                 0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT                                 0x81A9
-#define GL_CULL_VERTEX_EXT                                              0x81AA
-#define GL_CULL_VERTEX_EYE_POSITION_EXT                                 0x81AB
-#define GL_CULL_VERTEX_OBJECT_POSITION_EXT                              0x81AC
-#define GL_IUI_V2F_EXT                                                  0x81AD
-#define GL_IUI_V3F_EXT                                                  0x81AE
-#define GL_IUI_N3F_V2F_EXT                                              0x81AF
-#define GL_IUI_N3F_V3F_EXT                                              0x81B0
-#define GL_T2F_IUI_V2F_EXT                                              0x81B1
-#define GL_T2F_IUI_V3F_EXT                                              0x81B2
-#define GL_T2F_IUI_N3F_V2F_EXT                                          0x81B3
-#define GL_T2F_IUI_N3F_V3F_EXT                                          0x81B4
-#define GL_INDEX_TEST_EXT                                               0x81B5
-#define GL_INDEX_TEST_FUNC_EXT                                          0x81B6
-#define GL_INDEX_TEST_REF_EXT                                           0x81B7
-#define GL_INDEX_MATERIAL_EXT                                           0x81B8
-#define GL_INDEX_MATERIAL_PARAMETER_EXT                                 0x81B9
-#define GL_INDEX_MATERIAL_FACE_EXT                                      0x81BA
-#define GL_YCRCB_422_SGIX                                               0x81BB
-#define GL_YCRCB_444_SGIX                                               0x81BC
-#define GL_WRAP_BORDER_SUN                                              0x81D4
-#define GL_UNPACK_CONSTANT_DATA_SUNX                                    0x81D5
-#define GL_TEXTURE_CONSTANT_DATA_SUNX                                   0x81D6
-#define GL_TRIANGLE_LIST_SUN                                            0x81D7
-#define GL_REPLACEMENT_CODE_SUN                                         0x81D8
-#define GL_GLOBAL_ALPHA_SUN                                             0x81D9
-#define GL_GLOBAL_ALPHA_FACTOR_SUN                                      0x81DA
-#define GL_TEXTURE_COLOR_WRITEMASK_SGIS                                 0x81EF
-#define GL_EYE_DISTANCE_TO_POINT_SGIS                                   0x81F0
-#define GL_OBJECT_DISTANCE_TO_POINT_SGIS                                0x81F1
-#define GL_EYE_DISTANCE_TO_LINE_SGIS                                    0x81F2
-#define GL_OBJECT_DISTANCE_TO_LINE_SGIS                                 0x81F3
-#define GL_EYE_POINT_SGIS                                               0x81F4
-#define GL_OBJECT_POINT_SGIS                                            0x81F5
-#define GL_EYE_LINE_SGIS                                                0x81F6
-#define GL_OBJECT_LINE_SGIS                                             0x81F7
-#define GL_LIGHT_MODEL_COLOR_CONTROL                                    0x81F8
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT                                0x81F8
-#define GL_SINGLE_COLOR                                                 0x81F9
-#define GL_SINGLE_COLOR_EXT                                             0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR                                      0x81FA
-#define GL_SEPARATE_SPECULAR_COLOR_EXT                                  0x81FA
-#define GL_SHARED_TEXTURE_PALETTE_EXT                                   0x81FB
-#define GL_TEXT_FRAGMENT_SHADER_ATI                                     0x8200
-#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING                        0x8210
-#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT                    0x8210
-#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE                        0x8211
-#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT                    0x8211
-#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE                              0x8212
-#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE                            0x8213
-#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE                             0x8214
-#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE                            0x8215
-#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE                            0x8216
-#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE                          0x8217
-#define GL_FRAMEBUFFER_DEFAULT                                          0x8218
-#define GL_FRAMEBUFFER_UNDEFINED                                        0x8219
-#define GL_FRAMEBUFFER_UNDEFINED_OES                                    0x8219
-#define GL_DEPTH_STENCIL_ATTACHMENT                                     0x821A
-#define GL_MAJOR_VERSION                                                0x821B
-#define GL_MINOR_VERSION                                                0x821C
-#define GL_NUM_EXTENSIONS                                               0x821D
-#define GL_CONTEXT_FLAGS                                                0x821E
-#define GL_BUFFER_IMMUTABLE_STORAGE                                     0x821F
-#define GL_BUFFER_IMMUTABLE_STORAGE_EXT                                 0x821F
-#define GL_BUFFER_STORAGE_FLAGS                                         0x8220
-#define GL_BUFFER_STORAGE_FLAGS_EXT                                     0x8220
-#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED                      0x8221
-#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES                  0x8221
-#define GL_INDEX                                                        0x8222
-#define GL_COMPRESSED_RED                                               0x8225
-#define GL_COMPRESSED_RG                                                0x8226
-#define GL_RG                                                           0x8227
-#define GL_RG_EXT                                                       0x8227
-#define GL_RG_INTEGER                                                   0x8228
-#define GL_R8                                                           0x8229
-#define GL_R8_EXT                                                       0x8229
-#define GL_R16                                                          0x822A
-#define GL_R16_EXT                                                      0x822A
-#define GL_RG8                                                          0x822B
-#define GL_RG8_EXT                                                      0x822B
-#define GL_RG16                                                         0x822C
-#define GL_RG16_EXT                                                     0x822C
-#define GL_R16F                                                         0x822D
-#define GL_R16F_EXT                                                     0x822D
-#define GL_R32F                                                         0x822E
-#define GL_R32F_EXT                                                     0x822E
-#define GL_RG16F                                                        0x822F
-#define GL_RG16F_EXT                                                    0x822F
-#define GL_RG32F                                                        0x8230
-#define GL_RG32F_EXT                                                    0x8230
-#define GL_R8I                                                          0x8231
-#define GL_R8UI                                                         0x8232
-#define GL_R16I                                                         0x8233
-#define GL_R16UI                                                        0x8234
-#define GL_R32I                                                         0x8235
-#define GL_R32UI                                                        0x8236
-#define GL_RG8I                                                         0x8237
-#define GL_RG8UI                                                        0x8238
-#define GL_RG16I                                                        0x8239
-#define GL_RG16UI                                                       0x823A
-#define GL_RG32I                                                        0x823B
-#define GL_RG32UI                                                       0x823C
-#define GL_SYNC_CL_EVENT_ARB                                            0x8240
-#define GL_SYNC_CL_EVENT_COMPLETE_ARB                                   0x8241
-#define GL_DEBUG_OUTPUT_SYNCHRONOUS                                     0x8242
-#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB                                 0x8242
-#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                                 0x8242
-#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                             0x8243
-#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB                         0x8243
-#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                         0x8243
-#define GL_DEBUG_CALLBACK_FUNCTION                                      0x8244
-#define GL_DEBUG_CALLBACK_FUNCTION_ARB                                  0x8244
-#define GL_DEBUG_CALLBACK_FUNCTION_KHR                                  0x8244
-#define GL_DEBUG_CALLBACK_USER_PARAM                                    0x8245
-#define GL_DEBUG_CALLBACK_USER_PARAM_ARB                                0x8245
-#define GL_DEBUG_CALLBACK_USER_PARAM_KHR                                0x8245
-#define GL_DEBUG_SOURCE_API                                             0x8246
-#define GL_DEBUG_SOURCE_API_ARB                                         0x8246
-#define GL_DEBUG_SOURCE_API_KHR                                         0x8246
-#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                                   0x8247
-#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB                               0x8247
-#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                               0x8247
-#define GL_DEBUG_SOURCE_SHADER_COMPILER                                 0x8248
-#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB                             0x8248
-#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                             0x8248
-#define GL_DEBUG_SOURCE_THIRD_PARTY                                     0x8249
-#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB                                 0x8249
-#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                                 0x8249
-#define GL_DEBUG_SOURCE_APPLICATION                                     0x824A
-#define GL_DEBUG_SOURCE_APPLICATION_ARB                                 0x824A
-#define GL_DEBUG_SOURCE_APPLICATION_KHR                                 0x824A
-#define GL_DEBUG_SOURCE_OTHER                                           0x824B
-#define GL_DEBUG_SOURCE_OTHER_ARB                                       0x824B
-#define GL_DEBUG_SOURCE_OTHER_KHR                                       0x824B
-#define GL_DEBUG_TYPE_ERROR                                             0x824C
-#define GL_DEBUG_TYPE_ERROR_ARB                                         0x824C
-#define GL_DEBUG_TYPE_ERROR_KHR                                         0x824C
-#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                               0x824D
-#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB                           0x824D
-#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                           0x824D
-#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                                0x824E
-#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB                            0x824E
-#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                            0x824E
-#define GL_DEBUG_TYPE_PORTABILITY                                       0x824F
-#define GL_DEBUG_TYPE_PORTABILITY_ARB                                   0x824F
-#define GL_DEBUG_TYPE_PORTABILITY_KHR                                   0x824F
-#define GL_DEBUG_TYPE_PERFORMANCE                                       0x8250
-#define GL_DEBUG_TYPE_PERFORMANCE_ARB                                   0x8250
-#define GL_DEBUG_TYPE_PERFORMANCE_KHR                                   0x8250
-#define GL_DEBUG_TYPE_OTHER                                             0x8251
-#define GL_DEBUG_TYPE_OTHER_ARB                                         0x8251
-#define GL_DEBUG_TYPE_OTHER_KHR                                         0x8251
-#define GL_LOSE_CONTEXT_ON_RESET                                        0x8252
-#define GL_LOSE_CONTEXT_ON_RESET_ARB                                    0x8252
-#define GL_LOSE_CONTEXT_ON_RESET_EXT                                    0x8252
-#define GL_LOSE_CONTEXT_ON_RESET_KHR                                    0x8252
-#define GL_GUILTY_CONTEXT_RESET                                         0x8253
-#define GL_GUILTY_CONTEXT_RESET_ARB                                     0x8253
-#define GL_GUILTY_CONTEXT_RESET_EXT                                     0x8253
-#define GL_GUILTY_CONTEXT_RESET_KHR                                     0x8253
-#define GL_INNOCENT_CONTEXT_RESET                                       0x8254
-#define GL_INNOCENT_CONTEXT_RESET_ARB                                   0x8254
-#define GL_INNOCENT_CONTEXT_RESET_EXT                                   0x8254
-#define GL_INNOCENT_CONTEXT_RESET_KHR                                   0x8254
-#define GL_UNKNOWN_CONTEXT_RESET                                        0x8255
-#define GL_UNKNOWN_CONTEXT_RESET_ARB                                    0x8255
-#define GL_UNKNOWN_CONTEXT_RESET_EXT                                    0x8255
-#define GL_UNKNOWN_CONTEXT_RESET_KHR                                    0x8255
-#define GL_RESET_NOTIFICATION_STRATEGY                                  0x8256
-#define GL_RESET_NOTIFICATION_STRATEGY_ARB                              0x8256
-#define GL_RESET_NOTIFICATION_STRATEGY_EXT                              0x8256
-#define GL_RESET_NOTIFICATION_STRATEGY_KHR                              0x8256
-#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT                              0x8257
-#define GL_PROGRAM_SEPARABLE                                            0x8258
-#define GL_PROGRAM_SEPARABLE_EXT                                        0x8258
-#define GL_ACTIVE_PROGRAM                                               0x8259
-#define GL_PROGRAM_PIPELINE_BINDING                                     0x825A
-#define GL_PROGRAM_PIPELINE_BINDING_EXT                                 0x825A
-#define GL_MAX_VIEWPORTS                                                0x825B
-#define GL_MAX_VIEWPORTS_NV                                             0x825B
-#define GL_VIEWPORT_SUBPIXEL_BITS                                       0x825C
-#define GL_VIEWPORT_SUBPIXEL_BITS_EXT                                   0x825C
-#define GL_VIEWPORT_SUBPIXEL_BITS_NV                                    0x825C
-#define GL_VIEWPORT_BOUNDS_RANGE                                        0x825D
-#define GL_VIEWPORT_BOUNDS_RANGE_EXT                                    0x825D
-#define GL_VIEWPORT_BOUNDS_RANGE_NV                                     0x825D
-#define GL_LAYER_PROVOKING_VERTEX                                       0x825E
-#define GL_LAYER_PROVOKING_VERTEX_EXT                                   0x825E
-#define GL_LAYER_PROVOKING_VERTEX_OES                                   0x825E
-#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX                              0x825F
-#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT                          0x825F
-#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV                           0x825F
-#define GL_UNDEFINED_VERTEX                                             0x8260
-#define GL_UNDEFINED_VERTEX_EXT                                         0x8260
-#define GL_UNDEFINED_VERTEX_OES                                         0x8260
-#define GL_NO_RESET_NOTIFICATION                                        0x8261
-#define GL_NO_RESET_NOTIFICATION_ARB                                    0x8261
-#define GL_NO_RESET_NOTIFICATION_EXT                                    0x8261
-#define GL_NO_RESET_NOTIFICATION_KHR                                    0x8261
-#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE                               0x8262
-#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS                               0x8263
-#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS                           0x8264
-#define GL_MAX_COMPUTE_ATOMIC_COUNTERS                                  0x8265
-#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS                      0x8266
-#define GL_COMPUTE_WORK_GROUP_SIZE                                      0x8267
-#define GL_DEBUG_TYPE_MARKER                                            0x8268
-#define GL_DEBUG_TYPE_MARKER_KHR                                        0x8268
-#define GL_DEBUG_TYPE_PUSH_GROUP                                        0x8269
-#define GL_DEBUG_TYPE_PUSH_GROUP_KHR                                    0x8269
-#define GL_DEBUG_TYPE_POP_GROUP                                         0x826A
-#define GL_DEBUG_TYPE_POP_GROUP_KHR                                     0x826A
-#define GL_DEBUG_SEVERITY_NOTIFICATION                                  0x826B
-#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                              0x826B
-#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                                  0x826C
-#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                              0x826C
-#define GL_DEBUG_GROUP_STACK_DEPTH                                      0x826D
-#define GL_DEBUG_GROUP_STACK_DEPTH_KHR                                  0x826D
-#define GL_MAX_UNIFORM_LOCATIONS                                        0x826E
-#define GL_INTERNALFORMAT_SUPPORTED                                     0x826F
-#define GL_INTERNALFORMAT_PREFERRED                                     0x8270
-#define GL_INTERNALFORMAT_RED_SIZE                                      0x8271
-#define GL_INTERNALFORMAT_GREEN_SIZE                                    0x8272
-#define GL_INTERNALFORMAT_BLUE_SIZE                                     0x8273
-#define GL_INTERNALFORMAT_ALPHA_SIZE                                    0x8274
-#define GL_INTERNALFORMAT_DEPTH_SIZE                                    0x8275
-#define GL_INTERNALFORMAT_STENCIL_SIZE                                  0x8276
-#define GL_INTERNALFORMAT_SHARED_SIZE                                   0x8277
-#define GL_INTERNALFORMAT_RED_TYPE                                      0x8278
-#define GL_INTERNALFORMAT_GREEN_TYPE                                    0x8279
-#define GL_INTERNALFORMAT_BLUE_TYPE                                     0x827A
-#define GL_INTERNALFORMAT_ALPHA_TYPE                                    0x827B
-#define GL_INTERNALFORMAT_DEPTH_TYPE                                    0x827C
-#define GL_INTERNALFORMAT_STENCIL_TYPE                                  0x827D
-#define GL_MAX_WIDTH                                                    0x827E
-#define GL_MAX_HEIGHT                                                   0x827F
-#define GL_MAX_DEPTH                                                    0x8280
-#define GL_MAX_LAYERS                                                   0x8281
-#define GL_MAX_COMBINED_DIMENSIONS                                      0x8282
-#define GL_COLOR_COMPONENTS                                             0x8283
-#define GL_DEPTH_COMPONENTS                                             0x8284
-#define GL_STENCIL_COMPONENTS                                           0x8285
-#define GL_COLOR_RENDERABLE                                             0x8286
-#define GL_DEPTH_RENDERABLE                                             0x8287
-#define GL_STENCIL_RENDERABLE                                           0x8288
-#define GL_FRAMEBUFFER_RENDERABLE                                       0x8289
-#define GL_FRAMEBUFFER_RENDERABLE_LAYERED                               0x828A
-#define GL_FRAMEBUFFER_BLEND                                            0x828B
-#define GL_READ_PIXELS                                                  0x828C
-#define GL_READ_PIXELS_FORMAT                                           0x828D
-#define GL_READ_PIXELS_TYPE                                             0x828E
-#define GL_TEXTURE_IMAGE_FORMAT                                         0x828F
-#define GL_TEXTURE_IMAGE_TYPE                                           0x8290
-#define GL_GET_TEXTURE_IMAGE_FORMAT                                     0x8291
-#define GL_GET_TEXTURE_IMAGE_TYPE                                       0x8292
-#define GL_MIPMAP                                                       0x8293
-#define GL_MANUAL_GENERATE_MIPMAP                                       0x8294
-#define GL_AUTO_GENERATE_MIPMAP                                         0x8295
-#define GL_COLOR_ENCODING                                               0x8296
-#define GL_SRGB_READ                                                    0x8297
-#define GL_SRGB_WRITE                                                   0x8298
-#define GL_SRGB_DECODE_ARB                                              0x8299
-#define GL_FILTER                                                       0x829A
-#define GL_VERTEX_TEXTURE                                               0x829B
-#define GL_TESS_CONTROL_TEXTURE                                         0x829C
-#define GL_TESS_EVALUATION_TEXTURE                                      0x829D
-#define GL_GEOMETRY_TEXTURE                                             0x829E
-#define GL_FRAGMENT_TEXTURE                                             0x829F
-#define GL_COMPUTE_TEXTURE                                              0x82A0
-#define GL_TEXTURE_SHADOW                                               0x82A1
-#define GL_TEXTURE_GATHER                                               0x82A2
-#define GL_TEXTURE_GATHER_SHADOW                                        0x82A3
-#define GL_SHADER_IMAGE_LOAD                                            0x82A4
-#define GL_SHADER_IMAGE_STORE                                           0x82A5
-#define GL_SHADER_IMAGE_ATOMIC                                          0x82A6
-#define GL_IMAGE_TEXEL_SIZE                                             0x82A7
-#define GL_IMAGE_COMPATIBILITY_CLASS                                    0x82A8
-#define GL_IMAGE_PIXEL_FORMAT                                           0x82A9
-#define GL_IMAGE_PIXEL_TYPE                                             0x82AA
-#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST                          0x82AC
-#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST                        0x82AD
-#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE                         0x82AE
-#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE                       0x82AF
-#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH                               0x82B1
-#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT                              0x82B2
-#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE                                0x82B3
-#define GL_CLEAR_BUFFER                                                 0x82B4
-#define GL_TEXTURE_VIEW                                                 0x82B5
-#define GL_VIEW_COMPATIBILITY_CLASS                                     0x82B6
-#define GL_FULL_SUPPORT                                                 0x82B7
-#define GL_CAVEAT_SUPPORT                                               0x82B8
-#define GL_IMAGE_CLASS_4_X_32                                           0x82B9
-#define GL_IMAGE_CLASS_2_X_32                                           0x82BA
-#define GL_IMAGE_CLASS_1_X_32                                           0x82BB
-#define GL_IMAGE_CLASS_4_X_16                                           0x82BC
-#define GL_IMAGE_CLASS_2_X_16                                           0x82BD
-#define GL_IMAGE_CLASS_1_X_16                                           0x82BE
-#define GL_IMAGE_CLASS_4_X_8                                            0x82BF
-#define GL_IMAGE_CLASS_2_X_8                                            0x82C0
-#define GL_IMAGE_CLASS_1_X_8                                            0x82C1
-#define GL_IMAGE_CLASS_11_11_10                                         0x82C2
-#define GL_IMAGE_CLASS_10_10_10_2                                       0x82C3
-#define GL_VIEW_CLASS_128_BITS                                          0x82C4
-#define GL_VIEW_CLASS_96_BITS                                           0x82C5
-#define GL_VIEW_CLASS_64_BITS                                           0x82C6
-#define GL_VIEW_CLASS_48_BITS                                           0x82C7
-#define GL_VIEW_CLASS_32_BITS                                           0x82C8
-#define GL_VIEW_CLASS_24_BITS                                           0x82C9
-#define GL_VIEW_CLASS_16_BITS                                           0x82CA
-#define GL_VIEW_CLASS_8_BITS                                            0x82CB
-#define GL_VIEW_CLASS_S3TC_DXT1_RGB                                     0x82CC
-#define GL_VIEW_CLASS_S3TC_DXT1_RGBA                                    0x82CD
-#define GL_VIEW_CLASS_S3TC_DXT3_RGBA                                    0x82CE
-#define GL_VIEW_CLASS_S3TC_DXT5_RGBA                                    0x82CF
-#define GL_VIEW_CLASS_RGTC1_RED                                         0x82D0
-#define GL_VIEW_CLASS_RGTC2_RG                                          0x82D1
-#define GL_VIEW_CLASS_BPTC_UNORM                                        0x82D2
-#define GL_VIEW_CLASS_BPTC_FLOAT                                        0x82D3
-#define GL_VERTEX_ATTRIB_BINDING                                        0x82D4
-#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET                                0x82D5
-#define GL_VERTEX_BINDING_DIVISOR                                       0x82D6
-#define GL_VERTEX_BINDING_OFFSET                                        0x82D7
-#define GL_VERTEX_BINDING_STRIDE                                        0x82D8
-#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET                            0x82D9
-#define GL_MAX_VERTEX_ATTRIB_BINDINGS                                   0x82DA
-#define GL_TEXTURE_VIEW_MIN_LEVEL                                       0x82DB
-#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT                                   0x82DB
-#define GL_TEXTURE_VIEW_MIN_LEVEL_OES                                   0x82DB
-#define GL_TEXTURE_VIEW_NUM_LEVELS                                      0x82DC
-#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT                                  0x82DC
-#define GL_TEXTURE_VIEW_NUM_LEVELS_OES                                  0x82DC
-#define GL_TEXTURE_VIEW_MIN_LAYER                                       0x82DD
-#define GL_TEXTURE_VIEW_MIN_LAYER_EXT                                   0x82DD
-#define GL_TEXTURE_VIEW_MIN_LAYER_OES                                   0x82DD
-#define GL_TEXTURE_VIEW_NUM_LAYERS                                      0x82DE
-#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT                                  0x82DE
-#define GL_TEXTURE_VIEW_NUM_LAYERS_OES                                  0x82DE
-#define GL_TEXTURE_IMMUTABLE_LEVELS                                     0x82DF
-#define GL_BUFFER                                                       0x82E0
-#define GL_BUFFER_KHR                                                   0x82E0
-#define GL_SHADER                                                       0x82E1
-#define GL_SHADER_KHR                                                   0x82E1
-#define GL_PROGRAM                                                      0x82E2
-#define GL_PROGRAM_KHR                                                  0x82E2
-#define GL_QUERY                                                        0x82E3
-#define GL_QUERY_KHR                                                    0x82E3
-#define GL_PROGRAM_PIPELINE                                             0x82E4
-#define GL_PROGRAM_PIPELINE_KHR                                         0x82E4
-#define GL_MAX_VERTEX_ATTRIB_STRIDE                                     0x82E5
-#define GL_SAMPLER                                                      0x82E6
-#define GL_SAMPLER_KHR                                                  0x82E6
-#define GL_DISPLAY_LIST                                                 0x82E7
-#define GL_MAX_LABEL_LENGTH                                             0x82E8
-#define GL_MAX_LABEL_LENGTH_KHR                                         0x82E8
-#define GL_NUM_SHADING_LANGUAGE_VERSIONS                                0x82E9
-#define GL_QUERY_TARGET                                                 0x82EA
-#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB                              0x82EC
-#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB                       0x82ED
-#define GL_VERTICES_SUBMITTED_ARB                                       0x82EE
-#define GL_PRIMITIVES_SUBMITTED_ARB                                     0x82EF
-#define GL_VERTEX_SHADER_INVOCATIONS_ARB                                0x82F0
-#define GL_TESS_CONTROL_SHADER_PATCHES_ARB                              0x82F1
-#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB                       0x82F2
-#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB                       0x82F3
-#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB                              0x82F4
-#define GL_COMPUTE_SHADER_INVOCATIONS_ARB                               0x82F5
-#define GL_CLIPPING_INPUT_PRIMITIVES_ARB                                0x82F6
-#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB                               0x82F7
-#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB                                  0x82F8
-#define GL_MAX_CULL_DISTANCES                                           0x82F9
-#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES                         0x82FA
-#define GL_CONTEXT_RELEASE_BEHAVIOR                                     0x82FB
-#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR                                 0x82FB
-#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH                               0x82FC
-#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR                           0x82FC
-#define GL_DEPTH_PASS_INSTRUMENT_SGIX                                   0x8310
-#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX                          0x8311
-#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX                               0x8312
-#define GL_FRAGMENTS_INSTRUMENT_SGIX                                    0x8313
-#define GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX                           0x8314
-#define GL_FRAGMENTS_INSTRUMENT_MAX_SGIX                                0x8315
-#define GL_CONVOLUTION_HINT_SGIX                                        0x8316
-#define GL_YCRCB_SGIX                                                   0x8318
-#define GL_YCRCBA_SGIX                                                  0x8319
-#define GL_UNPACK_COMPRESSED_SIZE_SGIX                                  0x831A
-#define GL_PACK_MAX_COMPRESSED_SIZE_SGIX                                0x831B
-#define GL_PACK_COMPRESSED_SIZE_SGIX                                    0x831C
-#define GL_SLIM8U_SGIX                                                  0x831D
-#define GL_SLIM10U_SGIX                                                 0x831E
-#define GL_SLIM12S_SGIX                                                 0x831F
-#define GL_ALPHA_MIN_SGIX                                               0x8320
-#define GL_ALPHA_MAX_SGIX                                               0x8321
-#define GL_SCALEBIAS_HINT_SGIX                                          0x8322
-#define GL_ASYNC_MARKER_SGIX                                            0x8329
-#define GL_PIXEL_TEX_GEN_MODE_SGIX                                      0x832B
-#define GL_ASYNC_HISTOGRAM_SGIX                                         0x832C
-#define GL_MAX_ASYNC_HISTOGRAM_SGIX                                     0x832D
-#define GL_PIXEL_TRANSFORM_2D_EXT                                       0x8330
-#define GL_PIXEL_MAG_FILTER_EXT                                         0x8331
-#define GL_PIXEL_MIN_FILTER_EXT                                         0x8332
-#define GL_PIXEL_CUBIC_WEIGHT_EXT                                       0x8333
-#define GL_CUBIC_EXT                                                    0x8334
-#define GL_AVERAGE_EXT                                                  0x8335
-#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT                           0x8336
-#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT                       0x8337
-#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT                                0x8338
-#define GL_FRAGMENT_MATERIAL_EXT                                        0x8349
-#define GL_FRAGMENT_NORMAL_EXT                                          0x834A
-#define GL_FRAGMENT_COLOR_EXT                                           0x834C
-#define GL_ATTENUATION_EXT                                              0x834D
-#define GL_SHADOW_ATTENUATION_EXT                                       0x834E
-#define GL_TEXTURE_APPLICATION_MODE_EXT                                 0x834F
-#define GL_TEXTURE_LIGHT_EXT                                            0x8350
-#define GL_TEXTURE_MATERIAL_FACE_EXT                                    0x8351
-#define GL_TEXTURE_MATERIAL_PARAMETER_EXT                               0x8352
-#define GL_PIXEL_TEXTURE_SGIS                                           0x8353
-#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS                               0x8354
-#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS                             0x8355
-#define GL_PIXEL_GROUP_COLOR_SGIS                                       0x8356
-#define GL_LINE_QUALITY_HINT_SGIX                                       0x835B
-#define GL_ASYNC_TEX_IMAGE_SGIX                                         0x835C
-#define GL_ASYNC_DRAW_PIXELS_SGIX                                       0x835D
-#define GL_ASYNC_READ_PIXELS_SGIX                                       0x835E
-#define GL_MAX_ASYNC_TEX_IMAGE_SGIX                                     0x835F
-#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX                                   0x8360
-#define GL_MAX_ASYNC_READ_PIXELS_SGIX                                   0x8361
-#define GL_UNSIGNED_BYTE_2_3_3_REV                                      0x8362
-#define GL_UNSIGNED_BYTE_2_3_3_REV_EXT                                  0x8362
-#define GL_UNSIGNED_SHORT_5_6_5                                         0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_EXT                                     0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV                                     0x8364
-#define GL_UNSIGNED_SHORT_5_6_5_REV_EXT                                 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV                                   0x8365
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                               0x8365
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                               0x8365
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV                                   0x8366
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                               0x8366
-#define GL_UNSIGNED_INT_8_8_8_8_REV                                     0x8367
-#define GL_UNSIGNED_INT_8_8_8_8_REV_EXT                                 0x8367
-#define GL_UNSIGNED_INT_2_10_10_10_REV                                  0x8368
-#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                              0x8368
-#define GL_TEXTURE_MAX_CLAMP_S_SGIX                                     0x8369
-#define GL_TEXTURE_MAX_CLAMP_T_SGIX                                     0x836A
-#define GL_TEXTURE_MAX_CLAMP_R_SGIX                                     0x836B
-#define GL_MIRRORED_REPEAT                                              0x8370
-#define GL_MIRRORED_REPEAT_ARB                                          0x8370
-#define GL_MIRRORED_REPEAT_IBM                                          0x8370
-#define GL_MIRRORED_REPEAT_OES                                          0x8370
-#define GL_RGB_S3TC                                                     0x83A0
-#define GL_RGB4_S3TC                                                    0x83A1
-#define GL_RGBA_S3TC                                                    0x83A2
-#define GL_RGBA4_S3TC                                                   0x83A3
-#define GL_RGBA_DXT5_S3TC                                               0x83A4
-#define GL_RGBA4_DXT5_S3TC                                              0x83A5
-#define GL_VERTEX_PRECLIP_SGIX                                          0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX                                     0x83EF
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                                 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                                0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                              0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT                                0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                              0x83F3
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT                                0x83F3
-#define GL_PARALLEL_ARRAYS_INTEL                                        0x83F4
-#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL                         0x83F5
-#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL                         0x83F6
-#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL                          0x83F7
-#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL                  0x83F8
-#define GL_PERFQUERY_DONOT_FLUSH_INTEL                                  0x83F9
-#define GL_PERFQUERY_FLUSH_INTEL                                        0x83FA
-#define GL_PERFQUERY_WAIT_INTEL                                         0x83FB
-#define GL_TEXTURE_MEMORY_LAYOUT_INTEL                                  0x83FF
-#define GL_FRAGMENT_LIGHTING_SGIX                                       0x8400
-#define GL_FRAGMENT_COLOR_MATERIAL_SGIX                                 0x8401
-#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX                            0x8402
-#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX                       0x8403
-#define GL_MAX_FRAGMENT_LIGHTS_SGIX                                     0x8404
-#define GL_MAX_ACTIVE_LIGHTS_SGIX                                       0x8405
-#define GL_CURRENT_RASTER_NORMAL_SGIX                                   0x8406
-#define GL_LIGHT_ENV_MODE_SGIX                                          0x8407
-#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX                       0x8408
-#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX                           0x8409
-#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX                            0x840A
-#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX               0x840B
-#define GL_FRAGMENT_LIGHT0_SGIX                                         0x840C
-#define GL_FRAGMENT_LIGHT1_SGIX                                         0x840D
-#define GL_FRAGMENT_LIGHT2_SGIX                                         0x840E
-#define GL_FRAGMENT_LIGHT3_SGIX                                         0x840F
-#define GL_FRAGMENT_LIGHT4_SGIX                                         0x8410
-#define GL_FRAGMENT_LIGHT5_SGIX                                         0x8411
-#define GL_FRAGMENT_LIGHT6_SGIX                                         0x8412
-#define GL_FRAGMENT_LIGHT7_SGIX                                         0x8413
-#define GL_PACK_RESAMPLE_SGIX                                           0x842E
-#define GL_UNPACK_RESAMPLE_SGIX                                         0x842F
-#define GL_RESAMPLE_DECIMATE_SGIX                                       0x8430
-#define GL_RESAMPLE_REPLICATE_SGIX                                      0x8433
-#define GL_RESAMPLE_ZERO_FILL_SGIX                                      0x8434
-#define GL_TANGENT_ARRAY_EXT                                            0x8439
-#define GL_BINORMAL_ARRAY_EXT                                           0x843A
-#define GL_CURRENT_TANGENT_EXT                                          0x843B
-#define GL_CURRENT_BINORMAL_EXT                                         0x843C
-#define GL_TANGENT_ARRAY_TYPE_EXT                                       0x843E
-#define GL_TANGENT_ARRAY_STRIDE_EXT                                     0x843F
-#define GL_BINORMAL_ARRAY_TYPE_EXT                                      0x8440
-#define GL_BINORMAL_ARRAY_STRIDE_EXT                                    0x8441
-#define GL_TANGENT_ARRAY_POINTER_EXT                                    0x8442
-#define GL_BINORMAL_ARRAY_POINTER_EXT                                   0x8443
-#define GL_MAP1_TANGENT_EXT                                             0x8444
-#define GL_MAP2_TANGENT_EXT                                             0x8445
-#define GL_MAP1_BINORMAL_EXT                                            0x8446
-#define GL_MAP2_BINORMAL_EXT                                            0x8447
-#define GL_NEAREST_CLIPMAP_NEAREST_SGIX                                 0x844D
-#define GL_NEAREST_CLIPMAP_LINEAR_SGIX                                  0x844E
-#define GL_LINEAR_CLIPMAP_NEAREST_SGIX                                  0x844F
-#define GL_FOG_COORDINATE_SOURCE                                        0x8450
-#define GL_FOG_COORDINATE_SOURCE_EXT                                    0x8450
-#define GL_FOG_COORD_SRC                                                0x8450
-#define GL_FOG_COORD                                                    0x8451
-#define GL_FOG_COORDINATE                                               0x8451
-#define GL_FOG_COORDINATE_EXT                                           0x8451
-#define GL_FRAGMENT_DEPTH                                               0x8452
-#define GL_FRAGMENT_DEPTH_EXT                                           0x8452
-#define GL_CURRENT_FOG_COORD                                            0x8453
-#define GL_CURRENT_FOG_COORDINATE                                       0x8453
-#define GL_CURRENT_FOG_COORDINATE_EXT                                   0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE                                    0x8454
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT                                0x8454
-#define GL_FOG_COORD_ARRAY_TYPE                                         0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE                                  0x8455
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT                              0x8455
-#define GL_FOG_COORD_ARRAY_STRIDE                                       0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER                                 0x8456
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT                             0x8456
-#define GL_FOG_COORD_ARRAY_POINTER                                      0x8456
-#define GL_FOG_COORDINATE_ARRAY                                         0x8457
-#define GL_FOG_COORDINATE_ARRAY_EXT                                     0x8457
-#define GL_FOG_COORD_ARRAY                                              0x8457
-#define GL_COLOR_SUM                                                    0x8458
-#define GL_COLOR_SUM_ARB                                                0x8458
-#define GL_COLOR_SUM_EXT                                                0x8458
-#define GL_CURRENT_SECONDARY_COLOR                                      0x8459
-#define GL_CURRENT_SECONDARY_COLOR_EXT                                  0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE                                   0x845A
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT                               0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE                                   0x845B
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT                               0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE                                 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT                             0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER                                0x845D
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT                            0x845D
-#define GL_SECONDARY_COLOR_ARRAY                                        0x845E
-#define GL_SECONDARY_COLOR_ARRAY_EXT                                    0x845E
-#define GL_CURRENT_RASTER_SECONDARY_COLOR                               0x845F
-#define GL_ALIASED_POINT_SIZE_RANGE                                     0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE                                     0x846E
-#define GL_SCREEN_COORDINATES_REND                                      0x8490
-#define GL_INVERTED_SCREEN_W_REND                                       0x8491
-#define GL_TEXTURE0                                                     0x84C0
-#define GL_TEXTURE0_ARB                                                 0x84C0
-#define GL_TEXTURE1                                                     0x84C1
-#define GL_TEXTURE1_ARB                                                 0x84C1
-#define GL_TEXTURE2                                                     0x84C2
-#define GL_TEXTURE2_ARB                                                 0x84C2
-#define GL_TEXTURE3                                                     0x84C3
-#define GL_TEXTURE3_ARB                                                 0x84C3
-#define GL_TEXTURE4                                                     0x84C4
-#define GL_TEXTURE4_ARB                                                 0x84C4
-#define GL_TEXTURE5                                                     0x84C5
-#define GL_TEXTURE5_ARB                                                 0x84C5
-#define GL_TEXTURE6                                                     0x84C6
-#define GL_TEXTURE6_ARB                                                 0x84C6
-#define GL_TEXTURE7                                                     0x84C7
-#define GL_TEXTURE7_ARB                                                 0x84C7
-#define GL_TEXTURE8                                                     0x84C8
-#define GL_TEXTURE8_ARB                                                 0x84C8
-#define GL_TEXTURE9                                                     0x84C9
-#define GL_TEXTURE9_ARB                                                 0x84C9
-#define GL_TEXTURE10                                                    0x84CA
-#define GL_TEXTURE10_ARB                                                0x84CA
-#define GL_TEXTURE11                                                    0x84CB
-#define GL_TEXTURE11_ARB                                                0x84CB
-#define GL_TEXTURE12                                                    0x84CC
-#define GL_TEXTURE12_ARB                                                0x84CC
-#define GL_TEXTURE13                                                    0x84CD
-#define GL_TEXTURE13_ARB                                                0x84CD
-#define GL_TEXTURE14                                                    0x84CE
-#define GL_TEXTURE14_ARB                                                0x84CE
-#define GL_TEXTURE15                                                    0x84CF
-#define GL_TEXTURE15_ARB                                                0x84CF
-#define GL_TEXTURE16                                                    0x84D0
-#define GL_TEXTURE16_ARB                                                0x84D0
-#define GL_TEXTURE17                                                    0x84D1
-#define GL_TEXTURE17_ARB                                                0x84D1
-#define GL_TEXTURE18                                                    0x84D2
-#define GL_TEXTURE18_ARB                                                0x84D2
-#define GL_TEXTURE19                                                    0x84D3
-#define GL_TEXTURE19_ARB                                                0x84D3
-#define GL_TEXTURE20                                                    0x84D4
-#define GL_TEXTURE20_ARB                                                0x84D4
-#define GL_TEXTURE21                                                    0x84D5
-#define GL_TEXTURE21_ARB                                                0x84D5
-#define GL_TEXTURE22                                                    0x84D6
-#define GL_TEXTURE22_ARB                                                0x84D6
-#define GL_TEXTURE23                                                    0x84D7
-#define GL_TEXTURE23_ARB                                                0x84D7
-#define GL_TEXTURE24                                                    0x84D8
-#define GL_TEXTURE24_ARB                                                0x84D8
-#define GL_TEXTURE25                                                    0x84D9
-#define GL_TEXTURE25_ARB                                                0x84D9
-#define GL_TEXTURE26                                                    0x84DA
-#define GL_TEXTURE26_ARB                                                0x84DA
-#define GL_TEXTURE27                                                    0x84DB
-#define GL_TEXTURE27_ARB                                                0x84DB
-#define GL_TEXTURE28                                                    0x84DC
-#define GL_TEXTURE28_ARB                                                0x84DC
-#define GL_TEXTURE29                                                    0x84DD
-#define GL_TEXTURE29_ARB                                                0x84DD
-#define GL_TEXTURE30                                                    0x84DE
-#define GL_TEXTURE30_ARB                                                0x84DE
-#define GL_TEXTURE31                                                    0x84DF
-#define GL_TEXTURE31_ARB                                                0x84DF
-#define GL_ACTIVE_TEXTURE                                               0x84E0
-#define GL_ACTIVE_TEXTURE_ARB                                           0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE                                        0x84E1
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB                                    0x84E1
-#define GL_MAX_TEXTURE_UNITS                                            0x84E2
-#define GL_MAX_TEXTURE_UNITS_ARB                                        0x84E2
-#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV                           0x84E3
-#define GL_TRANSPOSE_MODELVIEW_MATRIX                                   0x84E3
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB                               0x84E3
-#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV                          0x84E4
-#define GL_TRANSPOSE_PROJECTION_MATRIX                                  0x84E4
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB                              0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX                                     0x84E5
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB                                 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX                                       0x84E6
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB                                   0x84E6
-#define GL_SUBTRACT                                                     0x84E7
-#define GL_SUBTRACT_ARB                                                 0x84E7
-#define GL_MAX_RENDERBUFFER_SIZE                                        0x84E8
-#define GL_MAX_RENDERBUFFER_SIZE_EXT                                    0x84E8
-#define GL_MAX_RENDERBUFFER_SIZE_OES                                    0x84E8
-#define GL_COMPRESSED_ALPHA                                             0x84E9
-#define GL_COMPRESSED_ALPHA_ARB                                         0x84E9
-#define GL_COMPRESSED_LUMINANCE                                         0x84EA
-#define GL_COMPRESSED_LUMINANCE_ARB                                     0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA                                   0x84EB
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB                               0x84EB
-#define GL_COMPRESSED_INTENSITY                                         0x84EC
-#define GL_COMPRESSED_INTENSITY_ARB                                     0x84EC
-#define GL_COMPRESSED_RGB                                               0x84ED
-#define GL_COMPRESSED_RGB_ARB                                           0x84ED
-#define GL_COMPRESSED_RGBA                                              0x84EE
-#define GL_COMPRESSED_RGBA_ARB                                          0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT                                     0x84EF
-#define GL_TEXTURE_COMPRESSION_HINT_ARB                                 0x84EF
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER              0x84F0
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER           0x84F1
-#define GL_ALL_COMPLETED_NV                                             0x84F2
-#define GL_FENCE_STATUS_NV                                              0x84F3
-#define GL_FENCE_CONDITION_NV                                           0x84F4
-#define GL_TEXTURE_RECTANGLE                                            0x84F5
-#define GL_TEXTURE_RECTANGLE_ARB                                        0x84F5
-#define GL_TEXTURE_RECTANGLE_NV                                         0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE                                    0x84F6
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB                                0x84F6
-#define GL_TEXTURE_BINDING_RECTANGLE_NV                                 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE                                      0x84F7
-#define GL_PROXY_TEXTURE_RECTANGLE_ARB                                  0x84F7
-#define GL_PROXY_TEXTURE_RECTANGLE_NV                                   0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE                                   0x84F8
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB                               0x84F8
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV                                0x84F8
-#define GL_DEPTH_STENCIL                                                0x84F9
-#define GL_DEPTH_STENCIL_EXT                                            0x84F9
-#define GL_DEPTH_STENCIL_NV                                             0x84F9
-#define GL_DEPTH_STENCIL_OES                                            0x84F9
-#define GL_UNSIGNED_INT_24_8                                            0x84FA
-#define GL_UNSIGNED_INT_24_8_EXT                                        0x84FA
-#define GL_UNSIGNED_INT_24_8_NV                                         0x84FA
-#define GL_UNSIGNED_INT_24_8_OES                                        0x84FA
-#define GL_MAX_TEXTURE_LOD_BIAS                                         0x84FD
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT                                     0x84FD
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT                                   0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                               0x84FF
-#define GL_TEXTURE_FILTER_CONTROL                                       0x8500
-#define GL_TEXTURE_FILTER_CONTROL_EXT                                   0x8500
-#define GL_TEXTURE_LOD_BIAS                                             0x8501
-#define GL_TEXTURE_LOD_BIAS_EXT                                         0x8501
-#define GL_MODELVIEW1_STACK_DEPTH_EXT                                   0x8502
-#define GL_COMBINE4_NV                                                  0x8503
-#define GL_MAX_SHININESS_NV                                             0x8504
-#define GL_MAX_SPOT_EXPONENT_NV                                         0x8505
-#define GL_MODELVIEW1_MATRIX_EXT                                        0x8506
-#define GL_INCR_WRAP                                                    0x8507
-#define GL_INCR_WRAP_EXT                                                0x8507
-#define GL_INCR_WRAP_OES                                                0x8507
-#define GL_DECR_WRAP                                                    0x8508
-#define GL_DECR_WRAP_EXT                                                0x8508
-#define GL_DECR_WRAP_OES                                                0x8508
-#define GL_VERTEX_WEIGHTING_EXT                                         0x8509
-#define GL_MODELVIEW1_ARB                                               0x850A
-#define GL_MODELVIEW1_EXT                                               0x850A
-#define GL_CURRENT_VERTEX_WEIGHT_EXT                                    0x850B
-#define GL_VERTEX_WEIGHT_ARRAY_EXT                                      0x850C
-#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT                                 0x850D
-#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT                                 0x850E
-#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT                               0x850F
-#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT                              0x8510
-#define GL_NORMAL_MAP                                                   0x8511
-#define GL_NORMAL_MAP_ARB                                               0x8511
-#define GL_NORMAL_MAP_EXT                                               0x8511
-#define GL_NORMAL_MAP_NV                                                0x8511
-#define GL_NORMAL_MAP_OES                                               0x8511
-#define GL_REFLECTION_MAP                                               0x8512
-#define GL_REFLECTION_MAP_ARB                                           0x8512
-#define GL_REFLECTION_MAP_EXT                                           0x8512
-#define GL_REFLECTION_MAP_NV                                            0x8512
-#define GL_REFLECTION_MAP_OES                                           0x8512
-#define GL_TEXTURE_CUBE_MAP                                             0x8513
-#define GL_TEXTURE_CUBE_MAP_ARB                                         0x8513
-#define GL_TEXTURE_CUBE_MAP_EXT                                         0x8513
-#define GL_TEXTURE_CUBE_MAP_OES                                         0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP                                     0x8514
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB                                 0x8514
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT                                 0x8514
-#define GL_TEXTURE_BINDING_CUBE_MAP_OES                                 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X                                  0x8515
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB                              0x8515
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT                              0x8515
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                              0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X                                  0x8516
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB                              0x8516
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT                              0x8516
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                              0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y                                  0x8517
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB                              0x8517
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT                              0x8517
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                              0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y                                  0x8518
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB                              0x8518
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT                              0x8518
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                              0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z                                  0x8519
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB                              0x8519
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT                              0x8519
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                              0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z                                  0x851A
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB                              0x851A
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT                              0x851A
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                              0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP                                       0x851B
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB                                   0x851B
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT                                   0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE                                    0x851C
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB                                0x851C
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT                                0x851C
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                                0x851C
-#define GL_VERTEX_ARRAY_RANGE_APPLE                                     0x851D
-#define GL_VERTEX_ARRAY_RANGE_NV                                        0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE                              0x851E
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV                                 0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV                                  0x851F
-#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE                              0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV                            0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE                             0x8521
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV                                0x8521
-#define GL_REGISTER_COMBINERS_NV                                        0x8522
-#define GL_VARIABLE_A_NV                                                0x8523
-#define GL_VARIABLE_B_NV                                                0x8524
-#define GL_VARIABLE_C_NV                                                0x8525
-#define GL_VARIABLE_D_NV                                                0x8526
-#define GL_VARIABLE_E_NV                                                0x8527
-#define GL_VARIABLE_F_NV                                                0x8528
-#define GL_VARIABLE_G_NV                                                0x8529
-#define GL_CONSTANT_COLOR0_NV                                           0x852A
-#define GL_CONSTANT_COLOR1_NV                                           0x852B
-#define GL_PRIMARY_COLOR_NV                                             0x852C
-#define GL_SECONDARY_COLOR_NV                                           0x852D
-#define GL_SPARE0_NV                                                    0x852E
-#define GL_SPARE1_NV                                                    0x852F
-#define GL_DISCARD_NV                                                   0x8530
-#define GL_E_TIMES_F_NV                                                 0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV                               0x8532
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV                          0x8533
-#define GL_MULTISAMPLE_FILTER_HINT_NV                                   0x8534
-#define GL_PER_STAGE_CONSTANTS_NV                                       0x8535
-#define GL_UNSIGNED_IDENTITY_NV                                         0x8536
-#define GL_UNSIGNED_INVERT_NV                                           0x8537
-#define GL_EXPAND_NORMAL_NV                                             0x8538
-#define GL_EXPAND_NEGATE_NV                                             0x8539
-#define GL_HALF_BIAS_NORMAL_NV                                          0x853A
-#define GL_HALF_BIAS_NEGATE_NV                                          0x853B
-#define GL_SIGNED_IDENTITY_NV                                           0x853C
-#define GL_SIGNED_NEGATE_NV                                             0x853D
-#define GL_SCALE_BY_TWO_NV                                              0x853E
-#define GL_SCALE_BY_FOUR_NV                                             0x853F
-#define GL_SCALE_BY_ONE_HALF_NV                                         0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV                                 0x8541
-#define GL_COMBINER_INPUT_NV                                            0x8542
-#define GL_COMBINER_MAPPING_NV                                          0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV                                  0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV                                   0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV                                   0x8546
-#define GL_COMBINER_MUX_SUM_NV                                          0x8547
-#define GL_COMBINER_SCALE_NV                                            0x8548
-#define GL_COMBINER_BIAS_NV                                             0x8549
-#define GL_COMBINER_AB_OUTPUT_NV                                        0x854A
-#define GL_COMBINER_CD_OUTPUT_NV                                        0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV                                       0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV                                     0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV                                     0x854E
-#define GL_COLOR_SUM_CLAMP_NV                                           0x854F
-#define GL_COMBINER0_NV                                                 0x8550
-#define GL_COMBINER1_NV                                                 0x8551
-#define GL_COMBINER2_NV                                                 0x8552
-#define GL_COMBINER3_NV                                                 0x8553
-#define GL_COMBINER4_NV                                                 0x8554
-#define GL_COMBINER5_NV                                                 0x8555
-#define GL_COMBINER6_NV                                                 0x8556
-#define GL_COMBINER7_NV                                                 0x8557
-#define GL_PRIMITIVE_RESTART_NV                                         0x8558
-#define GL_PRIMITIVE_RESTART_INDEX_NV                                   0x8559
-#define GL_FOG_DISTANCE_MODE_NV                                         0x855A
-#define GL_EYE_RADIAL_NV                                                0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV                                        0x855C
-#define GL_EMBOSS_LIGHT_NV                                              0x855D
-#define GL_EMBOSS_CONSTANT_NV                                           0x855E
-#define GL_EMBOSS_MAP_NV                                                0x855F
-#define GL_RED_MIN_CLAMP_INGR                                           0x8560
-#define GL_GREEN_MIN_CLAMP_INGR                                         0x8561
-#define GL_BLUE_MIN_CLAMP_INGR                                          0x8562
-#define GL_ALPHA_MIN_CLAMP_INGR                                         0x8563
-#define GL_RED_MAX_CLAMP_INGR                                           0x8564
-#define GL_GREEN_MAX_CLAMP_INGR                                         0x8565
-#define GL_BLUE_MAX_CLAMP_INGR                                          0x8566
-#define GL_ALPHA_MAX_CLAMP_INGR                                         0x8567
-#define GL_INTERLACE_READ_INGR                                          0x8568
-#define GL_COMBINE                                                      0x8570
-#define GL_COMBINE_ARB                                                  0x8570
-#define GL_COMBINE_EXT                                                  0x8570
-#define GL_COMBINE_RGB                                                  0x8571
-#define GL_COMBINE_RGB_ARB                                              0x8571
-#define GL_COMBINE_RGB_EXT                                              0x8571
-#define GL_COMBINE_ALPHA                                                0x8572
-#define GL_COMBINE_ALPHA_ARB                                            0x8572
-#define GL_COMBINE_ALPHA_EXT                                            0x8572
-#define GL_RGB_SCALE                                                    0x8573
-#define GL_RGB_SCALE_ARB                                                0x8573
-#define GL_RGB_SCALE_EXT                                                0x8573
-#define GL_ADD_SIGNED                                                   0x8574
-#define GL_ADD_SIGNED_ARB                                               0x8574
-#define GL_ADD_SIGNED_EXT                                               0x8574
-#define GL_INTERPOLATE                                                  0x8575
-#define GL_INTERPOLATE_ARB                                              0x8575
-#define GL_INTERPOLATE_EXT                                              0x8575
-#define GL_CONSTANT                                                     0x8576
-#define GL_CONSTANT_ARB                                                 0x8576
-#define GL_CONSTANT_EXT                                                 0x8576
-#define GL_CONSTANT_NV                                                  0x8576
-#define GL_PRIMARY_COLOR                                                0x8577
-#define GL_PRIMARY_COLOR_ARB                                            0x8577
-#define GL_PRIMARY_COLOR_EXT                                            0x8577
-#define GL_PREVIOUS                                                     0x8578
-#define GL_PREVIOUS_ARB                                                 0x8578
-#define GL_PREVIOUS_EXT                                                 0x8578
-#define GL_SOURCE0_RGB                                                  0x8580
-#define GL_SOURCE0_RGB_ARB                                              0x8580
-#define GL_SOURCE0_RGB_EXT                                              0x8580
-#define GL_SRC0_RGB                                                     0x8580
-#define GL_SOURCE1_RGB                                                  0x8581
-#define GL_SOURCE1_RGB_ARB                                              0x8581
-#define GL_SOURCE1_RGB_EXT                                              0x8581
-#define GL_SRC1_RGB                                                     0x8581
-#define GL_SOURCE2_RGB                                                  0x8582
-#define GL_SOURCE2_RGB_ARB                                              0x8582
-#define GL_SOURCE2_RGB_EXT                                              0x8582
-#define GL_SRC2_RGB                                                     0x8582
-#define GL_SOURCE3_RGB_NV                                               0x8583
-#define GL_SOURCE0_ALPHA                                                0x8588
-#define GL_SOURCE0_ALPHA_ARB                                            0x8588
-#define GL_SOURCE0_ALPHA_EXT                                            0x8588
-#define GL_SRC0_ALPHA                                                   0x8588
-#define GL_SOURCE1_ALPHA                                                0x8589
-#define GL_SOURCE1_ALPHA_ARB                                            0x8589
-#define GL_SOURCE1_ALPHA_EXT                                            0x8589
-#define GL_SRC1_ALPHA                                                   0x8589
-#define GL_SOURCE2_ALPHA                                                0x858A
-#define GL_SOURCE2_ALPHA_ARB                                            0x858A
-#define GL_SOURCE2_ALPHA_EXT                                            0x858A
-#define GL_SRC2_ALPHA                                                   0x858A
-#define GL_SOURCE3_ALPHA_NV                                             0x858B
-#define GL_OPERAND0_RGB                                                 0x8590
-#define GL_OPERAND0_RGB_ARB                                             0x8590
-#define GL_OPERAND0_RGB_EXT                                             0x8590
-#define GL_OPERAND1_RGB                                                 0x8591
-#define GL_OPERAND1_RGB_ARB                                             0x8591
-#define GL_OPERAND1_RGB_EXT                                             0x8591
-#define GL_OPERAND2_RGB                                                 0x8592
-#define GL_OPERAND2_RGB_ARB                                             0x8592
-#define GL_OPERAND2_RGB_EXT                                             0x8592
-#define GL_OPERAND3_RGB_NV                                              0x8593
-#define GL_OPERAND0_ALPHA                                               0x8598
-#define GL_OPERAND0_ALPHA_ARB                                           0x8598
-#define GL_OPERAND0_ALPHA_EXT                                           0x8598
-#define GL_OPERAND1_ALPHA                                               0x8599
-#define GL_OPERAND1_ALPHA_ARB                                           0x8599
-#define GL_OPERAND1_ALPHA_EXT                                           0x8599
-#define GL_OPERAND2_ALPHA                                               0x859A
-#define GL_OPERAND2_ALPHA_ARB                                           0x859A
-#define GL_OPERAND2_ALPHA_EXT                                           0x859A
-#define GL_OPERAND3_ALPHA_NV                                            0x859B
-#define GL_PACK_SUBSAMPLE_RATE_SGIX                                     0x85A0
-#define GL_UNPACK_SUBSAMPLE_RATE_SGIX                                   0x85A1
-#define GL_PIXEL_SUBSAMPLE_4444_SGIX                                    0x85A2
-#define GL_PIXEL_SUBSAMPLE_2424_SGIX                                    0x85A3
-#define GL_PIXEL_SUBSAMPLE_4242_SGIX                                    0x85A4
-#define GL_PERTURB_EXT                                                  0x85AE
-#define GL_TEXTURE_NORMAL_EXT                                           0x85AF
-#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE                            0x85B0
-#define GL_TRANSFORM_HINT_APPLE                                         0x85B1
-#define GL_UNPACK_CLIENT_STORAGE_APPLE                                  0x85B2
-#define GL_BUFFER_OBJECT_APPLE                                          0x85B3
-#define GL_STORAGE_CLIENT_APPLE                                         0x85B4
-#define GL_VERTEX_ARRAY_BINDING                                         0x85B5
-#define GL_VERTEX_ARRAY_BINDING_APPLE                                   0x85B5
-#define GL_VERTEX_ARRAY_BINDING_OES                                     0x85B5
-#define GL_TEXTURE_RANGE_LENGTH_APPLE                                   0x85B7
-#define GL_TEXTURE_RANGE_POINTER_APPLE                                  0x85B8
-#define GL_YCBCR_422_APPLE                                              0x85B9
-#define GL_UNSIGNED_SHORT_8_8_APPLE                                     0x85BA
-#define GL_UNSIGNED_SHORT_8_8_MESA                                      0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                                 0x85BB
-#define GL_UNSIGNED_SHORT_8_8_REV_MESA                                  0x85BB
-#define GL_TEXTURE_STORAGE_HINT_APPLE                                   0x85BC
-#define GL_STORAGE_PRIVATE_APPLE                                        0x85BD
-#define GL_STORAGE_CACHED_APPLE                                         0x85BE
-#define GL_STORAGE_SHARED_APPLE                                         0x85BF
-#define GL_REPLACEMENT_CODE_ARRAY_SUN                                   0x85C0
-#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN                              0x85C1
-#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN                            0x85C2
-#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN                           0x85C3
-#define GL_R1UI_V3F_SUN                                                 0x85C4
-#define GL_R1UI_C4UB_V3F_SUN                                            0x85C5
-#define GL_R1UI_C3F_V3F_SUN                                             0x85C6
-#define GL_R1UI_N3F_V3F_SUN                                             0x85C7
-#define GL_R1UI_C4F_N3F_V3F_SUN                                         0x85C8
-#define GL_R1UI_T2F_V3F_SUN                                             0x85C9
-#define GL_R1UI_T2F_N3F_V3F_SUN                                         0x85CA
-#define GL_R1UI_T2F_C4F_N3F_V3F_SUN                                     0x85CB
-#define GL_SLICE_ACCUM_SUN                                              0x85CC
-#define GL_QUAD_MESH_SUN                                                0x8614
-#define GL_TRIANGLE_MESH_SUN                                            0x8615
-#define GL_VERTEX_PROGRAM_ARB                                           0x8620
-#define GL_VERTEX_PROGRAM_NV                                            0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV                                      0x8621
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED                                  0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB                              0x8622
-#define GL_ATTRIB_ARRAY_SIZE_NV                                         0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE                                     0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB                                 0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV                                       0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE                                   0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB                               0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV                                         0x8625
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE                                     0x8625
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB                                 0x8625
-#define GL_CURRENT_ATTRIB_NV                                            0x8626
-#define GL_CURRENT_VERTEX_ATTRIB                                        0x8626
-#define GL_CURRENT_VERTEX_ATTRIB_ARB                                    0x8626
-#define GL_PROGRAM_LENGTH_ARB                                           0x8627
-#define GL_PROGRAM_LENGTH_NV                                            0x8627
-#define GL_PROGRAM_STRING_ARB                                           0x8628
-#define GL_PROGRAM_STRING_NV                                            0x8628
-#define GL_MODELVIEW_PROJECTION_NV                                      0x8629
-#define GL_IDENTITY_NV                                                  0x862A
-#define GL_INVERSE_NV                                                   0x862B
-#define GL_TRANSPOSE_NV                                                 0x862C
-#define GL_INVERSE_TRANSPOSE_NV                                         0x862D
-#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB                           0x862E
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV                              0x862E
-#define GL_MAX_PROGRAM_MATRICES_ARB                                     0x862F
-#define GL_MAX_TRACK_MATRICES_NV                                        0x862F
-#define GL_MATRIX0_NV                                                   0x8630
-#define GL_MATRIX1_NV                                                   0x8631
-#define GL_MATRIX2_NV                                                   0x8632
-#define GL_MATRIX3_NV                                                   0x8633
-#define GL_MATRIX4_NV                                                   0x8634
-#define GL_MATRIX5_NV                                                   0x8635
-#define GL_MATRIX6_NV                                                   0x8636
-#define GL_MATRIX7_NV                                                   0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB                               0x8640
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV                                0x8640
-#define GL_CURRENT_MATRIX_ARB                                           0x8641
-#define GL_CURRENT_MATRIX_NV                                            0x8641
-#define GL_PROGRAM_POINT_SIZE                                           0x8642
-#define GL_PROGRAM_POINT_SIZE_ARB                                       0x8642
-#define GL_PROGRAM_POINT_SIZE_EXT                                       0x8642
-#define GL_VERTEX_PROGRAM_POINT_SIZE                                    0x8642
-#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB                                0x8642
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV                                 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE                                      0x8643
-#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB                                  0x8643
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV                                   0x8643
-#define GL_PROGRAM_PARAMETER_NV                                         0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV                                      0x8645
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER                                  0x8645
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB                              0x8645
-#define GL_PROGRAM_TARGET_NV                                            0x8646
-#define GL_PROGRAM_RESIDENT_NV                                          0x8647
-#define GL_TRACK_MATRIX_NV                                              0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV                                    0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV                                    0x864A
-#define GL_PROGRAM_ERROR_POSITION_ARB                                   0x864B
-#define GL_PROGRAM_ERROR_POSITION_NV                                    0x864B
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV                                  0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV                            0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV                             0x864E
-#define GL_DEPTH_CLAMP                                                  0x864F
-#define GL_DEPTH_CLAMP_NV                                               0x864F
-#define GL_VERTEX_ATTRIB_ARRAY0_NV                                      0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV                                      0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV                                      0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV                                      0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV                                      0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV                                      0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV                                      0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV                                      0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV                                      0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV                                      0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV                                     0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV                                     0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV                                     0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV                                     0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV                                     0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV                                     0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV                                     0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV                                     0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV                                     0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV                                     0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV                                     0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV                                     0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV                                     0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV                                     0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV                                     0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV                                     0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV                                    0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV                                    0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV                                    0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV                                    0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV                                    0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV                                    0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV                                     0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV                                     0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV                                     0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV                                     0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV                                     0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV                                     0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV                                     0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV                                     0x8677
-#define GL_PROGRAM_BINDING_ARB                                          0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV                                     0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV                                     0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV                                    0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV                                    0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV                                    0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV                                    0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV                                    0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV                                    0x867F
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE                                0x86A0
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB                            0x86A0
-#define GL_TEXTURE_COMPRESSED                                           0x86A1
-#define GL_TEXTURE_COMPRESSED_ARB                                       0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS                               0x86A2
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB                           0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS                                   0x86A3
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB                               0x86A3
-#define GL_MAX_VERTEX_UNITS_ARB                                         0x86A4
-#define GL_MAX_VERTEX_UNITS_OES                                         0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB                                      0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB                                         0x86A6
-#define GL_VERTEX_BLEND_ARB                                             0x86A7
-#define GL_CURRENT_WEIGHT_ARB                                           0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB                                        0x86A9
-#define GL_WEIGHT_ARRAY_TYPE_OES                                        0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB                                      0x86AA
-#define GL_WEIGHT_ARRAY_STRIDE_OES                                      0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB                                        0x86AB
-#define GL_WEIGHT_ARRAY_SIZE_OES                                        0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB                                     0x86AC
-#define GL_WEIGHT_ARRAY_POINTER_OES                                     0x86AC
-#define GL_WEIGHT_ARRAY_ARB                                             0x86AD
-#define GL_WEIGHT_ARRAY_OES                                             0x86AD
-#define GL_DOT3_RGB                                                     0x86AE
-#define GL_DOT3_RGB_ARB                                                 0x86AE
-#define GL_DOT3_RGBA                                                    0x86AF
-#define GL_DOT3_RGBA_ARB                                                0x86AF
-#define GL_DOT3_RGBA_IMG                                                0x86AF
-#define GL_COMPRESSED_RGB_FXT1_3DFX                                     0x86B0
-#define GL_COMPRESSED_RGBA_FXT1_3DFX                                    0x86B1
-#define GL_MULTISAMPLE_3DFX                                             0x86B2
-#define GL_SAMPLE_BUFFERS_3DFX                                          0x86B3
-#define GL_SAMPLES_3DFX                                                 0x86B4
-#define GL_EVAL_2D_NV                                                   0x86C0
-#define GL_EVAL_TRIANGULAR_2D_NV                                        0x86C1
-#define GL_MAP_TESSELLATION_NV                                          0x86C2
-#define GL_MAP_ATTRIB_U_ORDER_NV                                        0x86C3
-#define GL_MAP_ATTRIB_V_ORDER_NV                                        0x86C4
-#define GL_EVAL_FRACTIONAL_TESSELLATION_NV                              0x86C5
-#define GL_EVAL_VERTEX_ATTRIB0_NV                                       0x86C6
-#define GL_EVAL_VERTEX_ATTRIB1_NV                                       0x86C7
-#define GL_EVAL_VERTEX_ATTRIB2_NV                                       0x86C8
-#define GL_EVAL_VERTEX_ATTRIB3_NV                                       0x86C9
-#define GL_EVAL_VERTEX_ATTRIB4_NV                                       0x86CA
-#define GL_EVAL_VERTEX_ATTRIB5_NV                                       0x86CB
-#define GL_EVAL_VERTEX_ATTRIB6_NV                                       0x86CC
-#define GL_EVAL_VERTEX_ATTRIB7_NV                                       0x86CD
-#define GL_EVAL_VERTEX_ATTRIB8_NV                                       0x86CE
-#define GL_EVAL_VERTEX_ATTRIB9_NV                                       0x86CF
-#define GL_EVAL_VERTEX_ATTRIB10_NV                                      0x86D0
-#define GL_EVAL_VERTEX_ATTRIB11_NV                                      0x86D1
-#define GL_EVAL_VERTEX_ATTRIB12_NV                                      0x86D2
-#define GL_EVAL_VERTEX_ATTRIB13_NV                                      0x86D3
-#define GL_EVAL_VERTEX_ATTRIB14_NV                                      0x86D4
-#define GL_EVAL_VERTEX_ATTRIB15_NV                                      0x86D5
-#define GL_MAX_MAP_TESSELLATION_NV                                      0x86D6
-#define GL_MAX_RATIONAL_EVAL_ORDER_NV                                   0x86D7
-#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV                                 0x86D8
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV                         0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV                                    0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV                                0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV                                        0x86DC
-#define GL_SHADER_CONSISTENT_NV                                         0x86DD
-#define GL_TEXTURE_SHADER_NV                                            0x86DE
-#define GL_SHADER_OPERATION_NV                                          0x86DF
-#define GL_CULL_MODES_NV                                                0x86E0
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV                                  0x86E1
-#define GL_OFFSET_TEXTURE_MATRIX_NV                                     0x86E1
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV                                   0x86E2
-#define GL_OFFSET_TEXTURE_SCALE_NV                                      0x86E2
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV                                    0x86E3
-#define GL_OFFSET_TEXTURE_BIAS_NV                                       0x86E3
-#define GL_PREVIOUS_TEXTURE_INPUT_NV                                    0x86E4
-#define GL_CONST_EYE_NV                                                 0x86E5
-#define GL_PASS_THROUGH_NV                                              0x86E6
-#define GL_CULL_FRAGMENT_NV                                             0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV                                         0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV                                   0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV                                   0x86EA
-#define GL_SURFACE_STATE_NV                                             0x86EB
-#define GL_DOT_PRODUCT_NV                                               0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV                                 0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV                                    0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV                                    0x86EF
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV                              0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV                              0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV                              0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV                    0x86F3
-#define GL_HILO_NV                                                      0x86F4
-#define GL_DSDT_NV                                                      0x86F5
-#define GL_DSDT_MAG_NV                                                  0x86F6
-#define GL_DSDT_MAG_VIB_NV                                              0x86F7
-#define GL_HILO16_NV                                                    0x86F8
-#define GL_SIGNED_HILO_NV                                               0x86F9
-#define GL_SIGNED_HILO16_NV                                             0x86FA
-#define GL_SIGNED_RGBA_NV                                               0x86FB
-#define GL_SIGNED_RGBA8_NV                                              0x86FC
-#define GL_SURFACE_REGISTERED_NV                                        0x86FD
-#define GL_SIGNED_RGB_NV                                                0x86FE
-#define GL_SIGNED_RGB8_NV                                               0x86FF
-#define GL_SURFACE_MAPPED_NV                                            0x8700
-#define GL_SIGNED_LUMINANCE_NV                                          0x8701
-#define GL_SIGNED_LUMINANCE8_NV                                         0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV                                    0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV                                  0x8704
-#define GL_SIGNED_ALPHA_NV                                              0x8705
-#define GL_SIGNED_ALPHA8_NV                                             0x8706
-#define GL_SIGNED_INTENSITY_NV                                          0x8707
-#define GL_SIGNED_INTENSITY8_NV                                         0x8708
-#define GL_DSDT8_NV                                                     0x8709
-#define GL_DSDT8_MAG8_NV                                                0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV                                     0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV                                 0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV                               0x870D
-#define GL_HI_SCALE_NV                                                  0x870E
-#define GL_LO_SCALE_NV                                                  0x870F
-#define GL_DS_SCALE_NV                                                  0x8710
-#define GL_DT_SCALE_NV                                                  0x8711
-#define GL_MAGNITUDE_SCALE_NV                                           0x8712
-#define GL_VIBRANCE_SCALE_NV                                            0x8713
-#define GL_HI_BIAS_NV                                                   0x8714
-#define GL_LO_BIAS_NV                                                   0x8715
-#define GL_DS_BIAS_NV                                                   0x8716
-#define GL_DT_BIAS_NV                                                   0x8717
-#define GL_MAGNITUDE_BIAS_NV                                            0x8718
-#define GL_VIBRANCE_BIAS_NV                                             0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV                                     0x871A
-#define GL_TEXTURE_HI_SIZE_NV                                           0x871B
-#define GL_TEXTURE_LO_SIZE_NV                                           0x871C
-#define GL_TEXTURE_DS_SIZE_NV                                           0x871D
-#define GL_TEXTURE_DT_SIZE_NV                                           0x871E
-#define GL_TEXTURE_MAG_SIZE_NV                                          0x871F
-#define GL_MODELVIEW2_ARB                                               0x8722
-#define GL_MODELVIEW3_ARB                                               0x8723
-#define GL_MODELVIEW4_ARB                                               0x8724
-#define GL_MODELVIEW5_ARB                                               0x8725
-#define GL_MODELVIEW6_ARB                                               0x8726
-#define GL_MODELVIEW7_ARB                                               0x8727
-#define GL_MODELVIEW8_ARB                                               0x8728
-#define GL_MODELVIEW9_ARB                                               0x8729
-#define GL_MODELVIEW10_ARB                                              0x872A
-#define GL_MODELVIEW11_ARB                                              0x872B
-#define GL_MODELVIEW12_ARB                                              0x872C
-#define GL_MODELVIEW13_ARB                                              0x872D
-#define GL_MODELVIEW14_ARB                                              0x872E
-#define GL_MODELVIEW15_ARB                                              0x872F
-#define GL_MODELVIEW16_ARB                                              0x8730
-#define GL_MODELVIEW17_ARB                                              0x8731
-#define GL_MODELVIEW18_ARB                                              0x8732
-#define GL_MODELVIEW19_ARB                                              0x8733
-#define GL_MODELVIEW20_ARB                                              0x8734
-#define GL_MODELVIEW21_ARB                                              0x8735
-#define GL_MODELVIEW22_ARB                                              0x8736
-#define GL_MODELVIEW23_ARB                                              0x8737
-#define GL_MODELVIEW24_ARB                                              0x8738
-#define GL_MODELVIEW25_ARB                                              0x8739
-#define GL_MODELVIEW26_ARB                                              0x873A
-#define GL_MODELVIEW27_ARB                                              0x873B
-#define GL_MODELVIEW28_ARB                                              0x873C
-#define GL_MODELVIEW29_ARB                                              0x873D
-#define GL_MODELVIEW30_ARB                                              0x873E
-#define GL_MODELVIEW31_ARB                                              0x873F
-#define GL_DOT3_RGB_EXT                                                 0x8740
-#define GL_Z400_BINARY_AMD                                              0x8740
-#define GL_DOT3_RGBA_EXT                                                0x8741
-#define GL_PROGRAM_BINARY_LENGTH                                        0x8741
-#define GL_PROGRAM_BINARY_LENGTH_OES                                    0x8741
-#define GL_MIRROR_CLAMP_ATI                                             0x8742
-#define GL_MIRROR_CLAMP_EXT                                             0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE                                         0x8743
-#define GL_MIRROR_CLAMP_TO_EDGE_ATI                                     0x8743
-#define GL_MIRROR_CLAMP_TO_EDGE_EXT                                     0x8743
-#define GL_MODULATE_ADD_ATI                                             0x8744
-#define GL_MODULATE_SIGNED_ADD_ATI                                      0x8745
-#define GL_MODULATE_SUBTRACT_ATI                                        0x8746
-#define GL_SET_AMD                                                      0x874A
-#define GL_REPLACE_VALUE_AMD                                            0x874B
-#define GL_STENCIL_OP_VALUE_AMD                                         0x874C
-#define GL_STENCIL_BACK_OP_VALUE_AMD                                    0x874D
-#define GL_VERTEX_ATTRIB_ARRAY_LONG                                     0x874E
-#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD                               0x874F
-#define GL_DEPTH_STENCIL_MESA                                           0x8750
-#define GL_UNSIGNED_INT_24_8_MESA                                       0x8751
-#define GL_UNSIGNED_INT_8_24_REV_MESA                                   0x8752
-#define GL_UNSIGNED_SHORT_15_1_MESA                                     0x8753
-#define GL_UNSIGNED_SHORT_1_15_REV_MESA                                 0x8754
-#define GL_TRACE_MASK_MESA                                              0x8755
-#define GL_TRACE_NAME_MESA                                              0x8756
-#define GL_YCBCR_MESA                                                   0x8757
-#define GL_PACK_INVERT_MESA                                             0x8758
-#define GL_DEBUG_OBJECT_MESA                                            0x8759
-#define GL_TEXTURE_1D_STACK_MESAX                                       0x8759
-#define GL_DEBUG_PRINT_MESA                                             0x875A
-#define GL_TEXTURE_2D_STACK_MESAX                                       0x875A
-#define GL_DEBUG_ASSERT_MESA                                            0x875B
-#define GL_PROXY_TEXTURE_1D_STACK_MESAX                                 0x875B
-#define GL_PROXY_TEXTURE_2D_STACK_MESAX                                 0x875C
-#define GL_TEXTURE_1D_STACK_BINDING_MESAX                               0x875D
-#define GL_TEXTURE_2D_STACK_BINDING_MESAX                               0x875E
-#define GL_STATIC_ATI                                                   0x8760
-#define GL_DYNAMIC_ATI                                                  0x8761
-#define GL_PRESERVE_ATI                                                 0x8762
-#define GL_DISCARD_ATI                                                  0x8763
-#define GL_BUFFER_SIZE                                                  0x8764
-#define GL_BUFFER_SIZE_ARB                                              0x8764
-#define GL_OBJECT_BUFFER_SIZE_ATI                                       0x8764
-#define GL_BUFFER_USAGE                                                 0x8765
-#define GL_BUFFER_USAGE_ARB                                             0x8765
-#define GL_OBJECT_BUFFER_USAGE_ATI                                      0x8765
-#define GL_ARRAY_OBJECT_BUFFER_ATI                                      0x8766
-#define GL_ARRAY_OBJECT_OFFSET_ATI                                      0x8767
-#define GL_ELEMENT_ARRAY_ATI                                            0x8768
-#define GL_ELEMENT_ARRAY_TYPE_ATI                                       0x8769
-#define GL_ELEMENT_ARRAY_POINTER_ATI                                    0x876A
-#define GL_MAX_VERTEX_STREAMS_ATI                                       0x876B
-#define GL_VERTEX_STREAM0_ATI                                           0x876C
-#define GL_VERTEX_STREAM1_ATI                                           0x876D
-#define GL_VERTEX_STREAM2_ATI                                           0x876E
-#define GL_VERTEX_STREAM3_ATI                                           0x876F
-#define GL_VERTEX_STREAM4_ATI                                           0x8770
-#define GL_VERTEX_STREAM5_ATI                                           0x8771
-#define GL_VERTEX_STREAM6_ATI                                           0x8772
-#define GL_VERTEX_STREAM7_ATI                                           0x8773
-#define GL_VERTEX_SOURCE_ATI                                            0x8774
-#define GL_BUMP_ROT_MATRIX_ATI                                          0x8775
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI                                     0x8776
-#define GL_BUMP_NUM_TEX_UNITS_ATI                                       0x8777
-#define GL_BUMP_TEX_UNITS_ATI                                           0x8778
-#define GL_DUDV_ATI                                                     0x8779
-#define GL_DU8DV8_ATI                                                   0x877A
-#define GL_BUMP_ENVMAP_ATI                                              0x877B
-#define GL_BUMP_TARGET_ATI                                              0x877C
-#define GL_VERTEX_SHADER_EXT                                            0x8780
-#define GL_VERTEX_SHADER_BINDING_EXT                                    0x8781
-#define GL_OP_INDEX_EXT                                                 0x8782
-#define GL_OP_NEGATE_EXT                                                0x8783
-#define GL_OP_DOT3_EXT                                                  0x8784
-#define GL_OP_DOT4_EXT                                                  0x8785
-#define GL_OP_MUL_EXT                                                   0x8786
-#define GL_OP_ADD_EXT                                                   0x8787
-#define GL_OP_MADD_EXT                                                  0x8788
-#define GL_OP_FRAC_EXT                                                  0x8789
-#define GL_OP_MAX_EXT                                                   0x878A
-#define GL_OP_MIN_EXT                                                   0x878B
-#define GL_OP_SET_GE_EXT                                                0x878C
-#define GL_OP_SET_LT_EXT                                                0x878D
-#define GL_OP_CLAMP_EXT                                                 0x878E
-#define GL_OP_FLOOR_EXT                                                 0x878F
-#define GL_OP_ROUND_EXT                                                 0x8790
-#define GL_OP_EXP_BASE_2_EXT                                            0x8791
-#define GL_OP_LOG_BASE_2_EXT                                            0x8792
-#define GL_OP_POWER_EXT                                                 0x8793
-#define GL_OP_RECIP_EXT                                                 0x8794
-#define GL_OP_RECIP_SQRT_EXT                                            0x8795
-#define GL_OP_SUB_EXT                                                   0x8796
-#define GL_OP_CROSS_PRODUCT_EXT                                         0x8797
-#define GL_OP_MULTIPLY_MATRIX_EXT                                       0x8798
-#define GL_OP_MOV_EXT                                                   0x8799
-#define GL_OUTPUT_VERTEX_EXT                                            0x879A
-#define GL_OUTPUT_COLOR0_EXT                                            0x879B
-#define GL_OUTPUT_COLOR1_EXT                                            0x879C
-#define GL_OUTPUT_TEXTURE_COORD0_EXT                                    0x879D
-#define GL_OUTPUT_TEXTURE_COORD1_EXT                                    0x879E
-#define GL_OUTPUT_TEXTURE_COORD2_EXT                                    0x879F
-#define GL_OUTPUT_TEXTURE_COORD3_EXT                                    0x87A0
-#define GL_OUTPUT_TEXTURE_COORD4_EXT                                    0x87A1
-#define GL_OUTPUT_TEXTURE_COORD5_EXT                                    0x87A2
-#define GL_OUTPUT_TEXTURE_COORD6_EXT                                    0x87A3
-#define GL_OUTPUT_TEXTURE_COORD7_EXT                                    0x87A4
-#define GL_OUTPUT_TEXTURE_COORD8_EXT                                    0x87A5
-#define GL_OUTPUT_TEXTURE_COORD9_EXT                                    0x87A6
-#define GL_OUTPUT_TEXTURE_COORD10_EXT                                   0x87A7
-#define GL_OUTPUT_TEXTURE_COORD11_EXT                                   0x87A8
-#define GL_OUTPUT_TEXTURE_COORD12_EXT                                   0x87A9
-#define GL_OUTPUT_TEXTURE_COORD13_EXT                                   0x87AA
-#define GL_OUTPUT_TEXTURE_COORD14_EXT                                   0x87AB
-#define GL_OUTPUT_TEXTURE_COORD15_EXT                                   0x87AC
-#define GL_OUTPUT_TEXTURE_COORD16_EXT                                   0x87AD
-#define GL_OUTPUT_TEXTURE_COORD17_EXT                                   0x87AE
-#define GL_OUTPUT_TEXTURE_COORD18_EXT                                   0x87AF
-#define GL_OUTPUT_TEXTURE_COORD19_EXT                                   0x87B0
-#define GL_OUTPUT_TEXTURE_COORD20_EXT                                   0x87B1
-#define GL_OUTPUT_TEXTURE_COORD21_EXT                                   0x87B2
-#define GL_OUTPUT_TEXTURE_COORD22_EXT                                   0x87B3
-#define GL_OUTPUT_TEXTURE_COORD23_EXT                                   0x87B4
-#define GL_OUTPUT_TEXTURE_COORD24_EXT                                   0x87B5
-#define GL_OUTPUT_TEXTURE_COORD25_EXT                                   0x87B6
-#define GL_OUTPUT_TEXTURE_COORD26_EXT                                   0x87B7
-#define GL_OUTPUT_TEXTURE_COORD27_EXT                                   0x87B8
-#define GL_OUTPUT_TEXTURE_COORD28_EXT                                   0x87B9
-#define GL_OUTPUT_TEXTURE_COORD29_EXT                                   0x87BA
-#define GL_OUTPUT_TEXTURE_COORD30_EXT                                   0x87BB
-#define GL_OUTPUT_TEXTURE_COORD31_EXT                                   0x87BC
-#define GL_OUTPUT_FOG_EXT                                               0x87BD
-#define GL_SCALAR_EXT                                                   0x87BE
-#define GL_VECTOR_EXT                                                   0x87BF
-#define GL_MATRIX_EXT                                                   0x87C0
-#define GL_VARIANT_EXT                                                  0x87C1
-#define GL_INVARIANT_EXT                                                0x87C2
-#define GL_LOCAL_CONSTANT_EXT                                           0x87C3
-#define GL_LOCAL_EXT                                                    0x87C4
-#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT                           0x87C5
-#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                               0x87C6
-#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                             0x87C7
-#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                        0x87C8
-#define GL_MAX_VERTEX_SHADER_LOCALS_EXT                                 0x87C9
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT                 0x87CA
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT                     0x87CB
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT              0x87CC
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT                   0x87CD
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT                       0x87CE
-#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                               0x87CF
-#define GL_VERTEX_SHADER_VARIANTS_EXT                                   0x87D0
-#define GL_VERTEX_SHADER_INVARIANTS_EXT                                 0x87D1
-#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                            0x87D2
-#define GL_VERTEX_SHADER_LOCALS_EXT                                     0x87D3
-#define GL_VERTEX_SHADER_OPTIMIZED_EXT                                  0x87D4
-#define GL_X_EXT                                                        0x87D5
-#define GL_Y_EXT                                                        0x87D6
-#define GL_Z_EXT                                                        0x87D7
-#define GL_W_EXT                                                        0x87D8
-#define GL_NEGATIVE_X_EXT                                               0x87D9
-#define GL_NEGATIVE_Y_EXT                                               0x87DA
-#define GL_NEGATIVE_Z_EXT                                               0x87DB
-#define GL_NEGATIVE_W_EXT                                               0x87DC
-#define GL_ZERO_EXT                                                     0x87DD
-#define GL_ONE_EXT                                                      0x87DE
-#define GL_NEGATIVE_ONE_EXT                                             0x87DF
-#define GL_NORMALIZED_RANGE_EXT                                         0x87E0
-#define GL_FULL_RANGE_EXT                                               0x87E1
-#define GL_CURRENT_VERTEX_EXT                                           0x87E2
-#define GL_MVP_MATRIX_EXT                                               0x87E3
-#define GL_VARIANT_VALUE_EXT                                            0x87E4
-#define GL_VARIANT_DATATYPE_EXT                                         0x87E5
-#define GL_VARIANT_ARRAY_STRIDE_EXT                                     0x87E6
-#define GL_VARIANT_ARRAY_TYPE_EXT                                       0x87E7
-#define GL_VARIANT_ARRAY_EXT                                            0x87E8
-#define GL_VARIANT_ARRAY_POINTER_EXT                                    0x87E9
-#define GL_INVARIANT_VALUE_EXT                                          0x87EA
-#define GL_INVARIANT_DATATYPE_EXT                                       0x87EB
-#define GL_LOCAL_CONSTANT_VALUE_EXT                                     0x87EC
-#define GL_LOCAL_CONSTANT_DATATYPE_EXT                                  0x87ED
-#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                              0x87EE
-#define GL_PN_TRIANGLES_ATI                                             0x87F0
-#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI                       0x87F1
-#define GL_PN_TRIANGLES_POINT_MODE_ATI                                  0x87F2
-#define GL_PN_TRIANGLES_NORMAL_MODE_ATI                                 0x87F3
-#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI                           0x87F4
-#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI                           0x87F5
-#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI                            0x87F6
-#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI                          0x87F7
-#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI                       0x87F8
-#define GL_3DC_X_AMD                                                    0x87F9
-#define GL_3DC_XY_AMD                                                   0x87FA
-#define GL_VBO_FREE_MEMORY_ATI                                          0x87FB
-#define GL_TEXTURE_FREE_MEMORY_ATI                                      0x87FC
-#define GL_RENDERBUFFER_FREE_MEMORY_ATI                                 0x87FD
-#define GL_NUM_PROGRAM_BINARY_FORMATS                                   0x87FE
-#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                               0x87FE
-#define GL_PROGRAM_BINARY_FORMATS                                       0x87FF
-#define GL_PROGRAM_BINARY_FORMATS_OES                                   0x87FF
-#define GL_STENCIL_BACK_FUNC                                            0x8800
-#define GL_STENCIL_BACK_FUNC_ATI                                        0x8800
-#define GL_STENCIL_BACK_FAIL                                            0x8801
-#define GL_STENCIL_BACK_FAIL_ATI                                        0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL                                 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI                             0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS                                 0x8803
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI                             0x8803
-#define GL_FRAGMENT_PROGRAM_ARB                                         0x8804
-#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB                                 0x8805
-#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB                                 0x8806
-#define GL_PROGRAM_TEX_INDIRECTIONS_ARB                                 0x8807
-#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB                          0x8808
-#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB                          0x8809
-#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB                          0x880A
-#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB                             0x880B
-#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB                             0x880C
-#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB                             0x880D
-#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB                      0x880E
-#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB                      0x880F
-#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB                      0x8810
-#define GL_RGBA32F                                                      0x8814
-#define GL_RGBA32F_ARB                                                  0x8814
-#define GL_RGBA32F_EXT                                                  0x8814
-#define GL_RGBA_FLOAT32_APPLE                                           0x8814
-#define GL_RGBA_FLOAT32_ATI                                             0x8814
-#define GL_RGB32F                                                       0x8815
-#define GL_RGB32F_ARB                                                   0x8815
-#define GL_RGB32F_EXT                                                   0x8815
-#define GL_RGB_FLOAT32_APPLE                                            0x8815
-#define GL_RGB_FLOAT32_ATI                                              0x8815
-#define GL_ALPHA32F_ARB                                                 0x8816
-#define GL_ALPHA32F_EXT                                                 0x8816
-#define GL_ALPHA_FLOAT32_APPLE                                          0x8816
-#define GL_ALPHA_FLOAT32_ATI                                            0x8816
-#define GL_INTENSITY32F_ARB                                             0x8817
-#define GL_INTENSITY_FLOAT32_APPLE                                      0x8817
-#define GL_INTENSITY_FLOAT32_ATI                                        0x8817
-#define GL_LUMINANCE32F_ARB                                             0x8818
-#define GL_LUMINANCE32F_EXT                                             0x8818
-#define GL_LUMINANCE_FLOAT32_APPLE                                      0x8818
-#define GL_LUMINANCE_FLOAT32_ATI                                        0x8818
-#define GL_LUMINANCE_ALPHA32F_ARB                                       0x8819
-#define GL_LUMINANCE_ALPHA32F_EXT                                       0x8819
-#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE                                0x8819
-#define GL_LUMINANCE_ALPHA_FLOAT32_ATI                                  0x8819
-#define GL_RGBA16F                                                      0x881A
-#define GL_RGBA16F_ARB                                                  0x881A
-#define GL_RGBA16F_EXT                                                  0x881A
-#define GL_RGBA_FLOAT16_APPLE                                           0x881A
-#define GL_RGBA_FLOAT16_ATI                                             0x881A
-#define GL_RGB16F                                                       0x881B
-#define GL_RGB16F_ARB                                                   0x881B
-#define GL_RGB16F_EXT                                                   0x881B
-#define GL_RGB_FLOAT16_APPLE                                            0x881B
-#define GL_RGB_FLOAT16_ATI                                              0x881B
-#define GL_ALPHA16F_ARB                                                 0x881C
-#define GL_ALPHA16F_EXT                                                 0x881C
-#define GL_ALPHA_FLOAT16_APPLE                                          0x881C
-#define GL_ALPHA_FLOAT16_ATI                                            0x881C
-#define GL_INTENSITY16F_ARB                                             0x881D
-#define GL_INTENSITY_FLOAT16_APPLE                                      0x881D
-#define GL_INTENSITY_FLOAT16_ATI                                        0x881D
-#define GL_LUMINANCE16F_ARB                                             0x881E
-#define GL_LUMINANCE16F_EXT                                             0x881E
-#define GL_LUMINANCE_FLOAT16_APPLE                                      0x881E
-#define GL_LUMINANCE_FLOAT16_ATI                                        0x881E
-#define GL_LUMINANCE_ALPHA16F_ARB                                       0x881F
-#define GL_LUMINANCE_ALPHA16F_EXT                                       0x881F
-#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE                                0x881F
-#define GL_LUMINANCE_ALPHA_FLOAT16_ATI                                  0x881F
-#define GL_RGBA_FLOAT_MODE_ARB                                          0x8820
-#define GL_RGBA_FLOAT_MODE_ATI                                          0x8820
-#define GL_WRITEONLY_RENDERING_QCOM                                     0x8823
-#define GL_MAX_DRAW_BUFFERS                                             0x8824
-#define GL_MAX_DRAW_BUFFERS_ARB                                         0x8824
-#define GL_MAX_DRAW_BUFFERS_ATI                                         0x8824
-#define GL_MAX_DRAW_BUFFERS_EXT                                         0x8824
-#define GL_MAX_DRAW_BUFFERS_NV                                          0x8824
-#define GL_DRAW_BUFFER0                                                 0x8825
-#define GL_DRAW_BUFFER0_ARB                                             0x8825
-#define GL_DRAW_BUFFER0_ATI                                             0x8825
-#define GL_DRAW_BUFFER0_EXT                                             0x8825
-#define GL_DRAW_BUFFER0_NV                                              0x8825
-#define GL_DRAW_BUFFER1                                                 0x8826
-#define GL_DRAW_BUFFER1_ARB                                             0x8826
-#define GL_DRAW_BUFFER1_ATI                                             0x8826
-#define GL_DRAW_BUFFER1_EXT                                             0x8826
-#define GL_DRAW_BUFFER1_NV                                              0x8826
-#define GL_DRAW_BUFFER2                                                 0x8827
-#define GL_DRAW_BUFFER2_ARB                                             0x8827
-#define GL_DRAW_BUFFER2_ATI                                             0x8827
-#define GL_DRAW_BUFFER2_EXT                                             0x8827
-#define GL_DRAW_BUFFER2_NV                                              0x8827
-#define GL_DRAW_BUFFER3                                                 0x8828
-#define GL_DRAW_BUFFER3_ARB                                             0x8828
-#define GL_DRAW_BUFFER3_ATI                                             0x8828
-#define GL_DRAW_BUFFER3_EXT                                             0x8828
-#define GL_DRAW_BUFFER3_NV                                              0x8828
-#define GL_DRAW_BUFFER4                                                 0x8829
-#define GL_DRAW_BUFFER4_ARB                                             0x8829
-#define GL_DRAW_BUFFER4_ATI                                             0x8829
-#define GL_DRAW_BUFFER4_EXT                                             0x8829
-#define GL_DRAW_BUFFER4_NV                                              0x8829
-#define GL_DRAW_BUFFER5                                                 0x882A
-#define GL_DRAW_BUFFER5_ARB                                             0x882A
-#define GL_DRAW_BUFFER5_ATI                                             0x882A
-#define GL_DRAW_BUFFER5_EXT                                             0x882A
-#define GL_DRAW_BUFFER5_NV                                              0x882A
-#define GL_DRAW_BUFFER6                                                 0x882B
-#define GL_DRAW_BUFFER6_ARB                                             0x882B
-#define GL_DRAW_BUFFER6_ATI                                             0x882B
-#define GL_DRAW_BUFFER6_EXT                                             0x882B
-#define GL_DRAW_BUFFER6_NV                                              0x882B
-#define GL_DRAW_BUFFER7                                                 0x882C
-#define GL_DRAW_BUFFER7_ARB                                             0x882C
-#define GL_DRAW_BUFFER7_ATI                                             0x882C
-#define GL_DRAW_BUFFER7_EXT                                             0x882C
-#define GL_DRAW_BUFFER7_NV                                              0x882C
-#define GL_DRAW_BUFFER8                                                 0x882D
-#define GL_DRAW_BUFFER8_ARB                                             0x882D
-#define GL_DRAW_BUFFER8_ATI                                             0x882D
-#define GL_DRAW_BUFFER8_EXT                                             0x882D
-#define GL_DRAW_BUFFER8_NV                                              0x882D
-#define GL_DRAW_BUFFER9                                                 0x882E
-#define GL_DRAW_BUFFER9_ARB                                             0x882E
-#define GL_DRAW_BUFFER9_ATI                                             0x882E
-#define GL_DRAW_BUFFER9_EXT                                             0x882E
-#define GL_DRAW_BUFFER9_NV                                              0x882E
-#define GL_DRAW_BUFFER10                                                0x882F
-#define GL_DRAW_BUFFER10_ARB                                            0x882F
-#define GL_DRAW_BUFFER10_ATI                                            0x882F
-#define GL_DRAW_BUFFER10_EXT                                            0x882F
-#define GL_DRAW_BUFFER10_NV                                             0x882F
-#define GL_DRAW_BUFFER11                                                0x8830
-#define GL_DRAW_BUFFER11_ARB                                            0x8830
-#define GL_DRAW_BUFFER11_ATI                                            0x8830
-#define GL_DRAW_BUFFER11_EXT                                            0x8830
-#define GL_DRAW_BUFFER11_NV                                             0x8830
-#define GL_DRAW_BUFFER12                                                0x8831
-#define GL_DRAW_BUFFER12_ARB                                            0x8831
-#define GL_DRAW_BUFFER12_ATI                                            0x8831
-#define GL_DRAW_BUFFER12_EXT                                            0x8831
-#define GL_DRAW_BUFFER12_NV                                             0x8831
-#define GL_DRAW_BUFFER13                                                0x8832
-#define GL_DRAW_BUFFER13_ARB                                            0x8832
-#define GL_DRAW_BUFFER13_ATI                                            0x8832
-#define GL_DRAW_BUFFER13_EXT                                            0x8832
-#define GL_DRAW_BUFFER13_NV                                             0x8832
-#define GL_DRAW_BUFFER14                                                0x8833
-#define GL_DRAW_BUFFER14_ARB                                            0x8833
-#define GL_DRAW_BUFFER14_ATI                                            0x8833
-#define GL_DRAW_BUFFER14_EXT                                            0x8833
-#define GL_DRAW_BUFFER14_NV                                             0x8833
-#define GL_DRAW_BUFFER15                                                0x8834
-#define GL_DRAW_BUFFER15_ARB                                            0x8834
-#define GL_DRAW_BUFFER15_ATI                                            0x8834
-#define GL_DRAW_BUFFER15_EXT                                            0x8834
-#define GL_DRAW_BUFFER15_NV                                             0x8834
-#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI                              0x8835
-#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI                           0x8837
-#define GL_BLEND_EQUATION_ALPHA                                         0x883D
-#define GL_BLEND_EQUATION_ALPHA_EXT                                     0x883D
-#define GL_BLEND_EQUATION_ALPHA_OES                                     0x883D
-#define GL_SUBSAMPLE_DISTANCE_AMD                                       0x883F
-#define GL_MATRIX_PALETTE_ARB                                           0x8840
-#define GL_MATRIX_PALETTE_OES                                           0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB                           0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB                                     0x8842
-#define GL_MAX_PALETTE_MATRICES_OES                                     0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB                                   0x8843
-#define GL_CURRENT_PALETTE_MATRIX_OES                                   0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB                                       0x8844
-#define GL_MATRIX_INDEX_ARRAY_OES                                       0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB                                     0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB                                  0x8846
-#define GL_MATRIX_INDEX_ARRAY_SIZE_OES                                  0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB                                  0x8847
-#define GL_MATRIX_INDEX_ARRAY_TYPE_OES                                  0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB                                0x8848
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                                0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB                               0x8849
-#define GL_MATRIX_INDEX_ARRAY_POINTER_OES                               0x8849
-#define GL_TEXTURE_DEPTH_SIZE                                           0x884A
-#define GL_TEXTURE_DEPTH_SIZE_ARB                                       0x884A
-#define GL_DEPTH_TEXTURE_MODE                                           0x884B
-#define GL_DEPTH_TEXTURE_MODE_ARB                                       0x884B
-#define GL_TEXTURE_COMPARE_MODE                                         0x884C
-#define GL_TEXTURE_COMPARE_MODE_ARB                                     0x884C
-#define GL_TEXTURE_COMPARE_MODE_EXT                                     0x884C
-#define GL_TEXTURE_COMPARE_FUNC                                         0x884D
-#define GL_TEXTURE_COMPARE_FUNC_ARB                                     0x884D
-#define GL_TEXTURE_COMPARE_FUNC_EXT                                     0x884D
-#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT                             0x884E
-#define GL_COMPARE_REF_TO_TEXTURE                                       0x884E
-#define GL_COMPARE_REF_TO_TEXTURE_EXT                                   0x884E
-#define GL_COMPARE_R_TO_TEXTURE                                         0x884E
-#define GL_COMPARE_R_TO_TEXTURE_ARB                                     0x884E
-#define GL_TEXTURE_CUBE_MAP_SEAMLESS                                    0x884F
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV                              0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV                        0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV                       0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV                 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV                                    0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV                             0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV                         0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV                  0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV                                 0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV                                  0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV                            0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV                                  0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV                                    0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV                          0x885D
-#define GL_HILO8_NV                                                     0x885E
-#define GL_SIGNED_HILO8_NV                                              0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV                                         0x8860
-#define GL_POINT_SPRITE                                                 0x8861
-#define GL_POINT_SPRITE_ARB                                             0x8861
-#define GL_POINT_SPRITE_NV                                              0x8861
-#define GL_POINT_SPRITE_OES                                             0x8861
-#define GL_COORD_REPLACE                                                0x8862
-#define GL_COORD_REPLACE_ARB                                            0x8862
-#define GL_COORD_REPLACE_NV                                             0x8862
-#define GL_COORD_REPLACE_OES                                            0x8862
-#define GL_POINT_SPRITE_R_MODE_NV                                       0x8863
-#define GL_PIXEL_COUNTER_BITS_NV                                        0x8864
-#define GL_QUERY_COUNTER_BITS                                           0x8864
-#define GL_QUERY_COUNTER_BITS_ARB                                       0x8864
-#define GL_QUERY_COUNTER_BITS_EXT                                       0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV                                0x8865
-#define GL_CURRENT_QUERY                                                0x8865
-#define GL_CURRENT_QUERY_ARB                                            0x8865
-#define GL_CURRENT_QUERY_EXT                                            0x8865
-#define GL_PIXEL_COUNT_NV                                               0x8866
-#define GL_QUERY_RESULT                                                 0x8866
-#define GL_QUERY_RESULT_ARB                                             0x8866
-#define GL_QUERY_RESULT_EXT                                             0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV                                     0x8867
-#define GL_QUERY_RESULT_AVAILABLE                                       0x8867
-#define GL_QUERY_RESULT_AVAILABLE_ARB                                   0x8867
-#define GL_QUERY_RESULT_AVAILABLE_EXT                                   0x8867
-#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV                     0x8868
-#define GL_MAX_VERTEX_ATTRIBS                                           0x8869
-#define GL_MAX_VERTEX_ATTRIBS_ARB                                       0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED                               0x886A
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB                           0x886A
-#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS                            0x886C
-#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT                        0x886C
-#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES                        0x886C
-#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS                         0x886D
-#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT                     0x886D
-#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES                     0x886D
-#define GL_DEPTH_STENCIL_TO_RGBA_NV                                     0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV                                     0x886F
-#define GL_FRAGMENT_PROGRAM_NV                                          0x8870
-#define GL_MAX_TEXTURE_COORDS                                           0x8871
-#define GL_MAX_TEXTURE_COORDS_ARB                                       0x8871
-#define GL_MAX_TEXTURE_COORDS_NV                                        0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS                                      0x8872
-#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB                                  0x8872
-#define GL_MAX_TEXTURE_IMAGE_UNITS_NV                                   0x8872
-#define GL_FRAGMENT_PROGRAM_BINDING_NV                                  0x8873
-#define GL_PROGRAM_ERROR_STRING_ARB                                     0x8874
-#define GL_PROGRAM_ERROR_STRING_NV                                      0x8874
-#define GL_PROGRAM_FORMAT_ASCII_ARB                                     0x8875
-#define GL_PROGRAM_FORMAT_ARB                                           0x8876
-#define GL_WRITE_PIXEL_DATA_RANGE_NV                                    0x8878
-#define GL_READ_PIXEL_DATA_RANGE_NV                                     0x8879
-#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV                             0x887A
-#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV                              0x887B
-#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV                            0x887C
-#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV                             0x887D
-#define GL_GEOMETRY_SHADER_INVOCATIONS                                  0x887F
-#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT                              0x887F
-#define GL_GEOMETRY_SHADER_INVOCATIONS_OES                              0x887F
-#define GL_FLOAT_R_NV                                                   0x8880
-#define GL_FLOAT_RG_NV                                                  0x8881
-#define GL_FLOAT_RGB_NV                                                 0x8882
-#define GL_FLOAT_RGBA_NV                                                0x8883
-#define GL_FLOAT_R16_NV                                                 0x8884
-#define GL_FLOAT_R32_NV                                                 0x8885
-#define GL_FLOAT_RG16_NV                                                0x8886
-#define GL_FLOAT_RG32_NV                                                0x8887
-#define GL_FLOAT_RGB16_NV                                               0x8888
-#define GL_FLOAT_RGB32_NV                                               0x8889
-#define GL_FLOAT_RGBA16_NV                                              0x888A
-#define GL_FLOAT_RGBA32_NV                                              0x888B
-#define GL_TEXTURE_FLOAT_COMPONENTS_NV                                  0x888C
-#define GL_FLOAT_CLEAR_COLOR_VALUE_NV                                   0x888D
-#define GL_FLOAT_RGBA_MODE_NV                                           0x888E
-#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV                               0x888F
-#define GL_DEPTH_BOUNDS_TEST_EXT                                        0x8890
-#define GL_DEPTH_BOUNDS_EXT                                             0x8891
-#define GL_ARRAY_BUFFER                                                 0x8892
-#define GL_ARRAY_BUFFER_ARB                                             0x8892
-#define GL_ELEMENT_ARRAY_BUFFER                                         0x8893
-#define GL_ELEMENT_ARRAY_BUFFER_ARB                                     0x8893
-#define GL_ARRAY_BUFFER_BINDING                                         0x8894
-#define GL_ARRAY_BUFFER_BINDING_ARB                                     0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING                                 0x8895
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB                             0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING                                  0x8896
-#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB                              0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING                                  0x8897
-#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB                              0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING                                   0x8898
-#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB                               0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING                                   0x8899
-#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB                               0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING                           0x889A
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB                       0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING                               0x889B
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB                           0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING                         0x889C
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB                     0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING                          0x889D
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB                      0x889D
-#define GL_FOG_COORD_ARRAY_BUFFER_BINDING                               0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING                                  0x889E
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB                              0x889E
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                              0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING                           0x889F
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB                       0x889F
-#define GL_PROGRAM_INSTRUCTIONS_ARB                                     0x88A0
-#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB                                 0x88A1
-#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB                              0x88A2
-#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB                          0x88A3
-#define GL_PROGRAM_TEMPORARIES_ARB                                      0x88A4
-#define GL_MAX_PROGRAM_TEMPORARIES_ARB                                  0x88A5
-#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB                               0x88A6
-#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB                           0x88A7
-#define GL_PROGRAM_PARAMETERS_ARB                                       0x88A8
-#define GL_MAX_PROGRAM_PARAMETERS_ARB                                   0x88A9
-#define GL_PROGRAM_NATIVE_PARAMETERS_ARB                                0x88AA
-#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB                            0x88AB
-#define GL_PROGRAM_ATTRIBS_ARB                                          0x88AC
-#define GL_MAX_PROGRAM_ATTRIBS_ARB                                      0x88AD
-#define GL_PROGRAM_NATIVE_ATTRIBS_ARB                                   0x88AE
-#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB                               0x88AF
-#define GL_PROGRAM_ADDRESS_REGISTERS_ARB                                0x88B0
-#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB                            0x88B1
-#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB                         0x88B2
-#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB                     0x88B3
-#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB                             0x88B4
-#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB                               0x88B5
-#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB                              0x88B6
-#define GL_TRANSPOSE_CURRENT_MATRIX_ARB                                 0x88B7
-#define GL_READ_ONLY                                                    0x88B8
-#define GL_READ_ONLY_ARB                                                0x88B8
-#define GL_WRITE_ONLY                                                   0x88B9
-#define GL_WRITE_ONLY_ARB                                               0x88B9
-#define GL_WRITE_ONLY_OES                                               0x88B9
-#define GL_READ_WRITE                                                   0x88BA
-#define GL_READ_WRITE_ARB                                               0x88BA
-#define GL_BUFFER_ACCESS                                                0x88BB
-#define GL_BUFFER_ACCESS_ARB                                            0x88BB
-#define GL_BUFFER_ACCESS_OES                                            0x88BB
-#define GL_BUFFER_MAPPED                                                0x88BC
-#define GL_BUFFER_MAPPED_ARB                                            0x88BC
-#define GL_BUFFER_MAPPED_OES                                            0x88BC
-#define GL_BUFFER_MAP_POINTER                                           0x88BD
-#define GL_BUFFER_MAP_POINTER_ARB                                       0x88BD
-#define GL_BUFFER_MAP_POINTER_OES                                       0x88BD
-#define GL_WRITE_DISCARD_NV                                             0x88BE
-#define GL_TIME_ELAPSED                                                 0x88BF
-#define GL_TIME_ELAPSED_EXT                                             0x88BF
-#define GL_MATRIX0_ARB                                                  0x88C0
-#define GL_MATRIX1_ARB                                                  0x88C1
-#define GL_MATRIX2_ARB                                                  0x88C2
-#define GL_MATRIX3_ARB                                                  0x88C3
-#define GL_MATRIX4_ARB                                                  0x88C4
-#define GL_MATRIX5_ARB                                                  0x88C5
-#define GL_MATRIX6_ARB                                                  0x88C6
-#define GL_MATRIX7_ARB                                                  0x88C7
-#define GL_MATRIX8_ARB                                                  0x88C8
-#define GL_MATRIX9_ARB                                                  0x88C9
-#define GL_MATRIX10_ARB                                                 0x88CA
-#define GL_MATRIX11_ARB                                                 0x88CB
-#define GL_MATRIX12_ARB                                                 0x88CC
-#define GL_MATRIX13_ARB                                                 0x88CD
-#define GL_MATRIX14_ARB                                                 0x88CE
-#define GL_MATRIX15_ARB                                                 0x88CF
-#define GL_MATRIX16_ARB                                                 0x88D0
-#define GL_MATRIX17_ARB                                                 0x88D1
-#define GL_MATRIX18_ARB                                                 0x88D2
-#define GL_MATRIX19_ARB                                                 0x88D3
-#define GL_MATRIX20_ARB                                                 0x88D4
-#define GL_MATRIX21_ARB                                                 0x88D5
-#define GL_MATRIX22_ARB                                                 0x88D6
-#define GL_MATRIX23_ARB                                                 0x88D7
-#define GL_MATRIX24_ARB                                                 0x88D8
-#define GL_MATRIX25_ARB                                                 0x88D9
-#define GL_MATRIX26_ARB                                                 0x88DA
-#define GL_MATRIX27_ARB                                                 0x88DB
-#define GL_MATRIX28_ARB                                                 0x88DC
-#define GL_MATRIX29_ARB                                                 0x88DD
-#define GL_MATRIX30_ARB                                                 0x88DE
-#define GL_MATRIX31_ARB                                                 0x88DF
-#define GL_STREAM_DRAW                                                  0x88E0
-#define GL_STREAM_DRAW_ARB                                              0x88E0
-#define GL_STREAM_READ                                                  0x88E1
-#define GL_STREAM_READ_ARB                                              0x88E1
-#define GL_STREAM_COPY                                                  0x88E2
-#define GL_STREAM_COPY_ARB                                              0x88E2
-#define GL_STATIC_DRAW                                                  0x88E4
-#define GL_STATIC_DRAW_ARB                                              0x88E4
-#define GL_STATIC_READ                                                  0x88E5
-#define GL_STATIC_READ_ARB                                              0x88E5
-#define GL_STATIC_COPY                                                  0x88E6
-#define GL_STATIC_COPY_ARB                                              0x88E6
-#define GL_DYNAMIC_DRAW                                                 0x88E8
-#define GL_DYNAMIC_DRAW_ARB                                             0x88E8
-#define GL_DYNAMIC_READ                                                 0x88E9
-#define GL_DYNAMIC_READ_ARB                                             0x88E9
-#define GL_DYNAMIC_COPY                                                 0x88EA
-#define GL_DYNAMIC_COPY_ARB                                             0x88EA
-#define GL_PIXEL_PACK_BUFFER                                            0x88EB
-#define GL_PIXEL_PACK_BUFFER_ARB                                        0x88EB
-#define GL_PIXEL_PACK_BUFFER_EXT                                        0x88EB
-#define GL_PIXEL_UNPACK_BUFFER                                          0x88EC
-#define GL_PIXEL_UNPACK_BUFFER_ARB                                      0x88EC
-#define GL_PIXEL_UNPACK_BUFFER_EXT                                      0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING                                    0x88ED
-#define GL_PIXEL_PACK_BUFFER_BINDING_ARB                                0x88ED
-#define GL_PIXEL_PACK_BUFFER_BINDING_EXT                                0x88ED
-#define GL_ETC1_SRGB8_NV                                                0x88EE
-#define GL_PIXEL_UNPACK_BUFFER_BINDING                                  0x88EF
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB                              0x88EF
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT                              0x88EF
-#define GL_DEPTH24_STENCIL8                                             0x88F0
-#define GL_DEPTH24_STENCIL8_EXT                                         0x88F0
-#define GL_DEPTH24_STENCIL8_OES                                         0x88F0
-#define GL_TEXTURE_STENCIL_SIZE                                         0x88F1
-#define GL_TEXTURE_STENCIL_SIZE_EXT                                     0x88F1
-#define GL_STENCIL_TAG_BITS_EXT                                         0x88F2
-#define GL_STENCIL_CLEAR_TAG_VALUE_EXT                                  0x88F3
-#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV                             0x88F4
-#define GL_MAX_PROGRAM_CALL_DEPTH_NV                                    0x88F5
-#define GL_MAX_PROGRAM_IF_DEPTH_NV                                      0x88F6
-#define GL_MAX_PROGRAM_LOOP_DEPTH_NV                                    0x88F7
-#define GL_MAX_PROGRAM_LOOP_COUNT_NV                                    0x88F8
-#define GL_SRC1_COLOR                                                   0x88F9
-#define GL_ONE_MINUS_SRC1_COLOR                                         0x88FA
-#define GL_ONE_MINUS_SRC1_ALPHA                                         0x88FB
-#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS                                 0x88FC
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER                                  0x88FD
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT                              0x88FD
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV                               0x88FD
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR                                  0x88FE
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                            0x88FE
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB                              0x88FE
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT                              0x88FE
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                               0x88FE
-#define GL_MAX_ARRAY_TEXTURE_LAYERS                                     0x88FF
-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT                                 0x88FF
-#define GL_MIN_PROGRAM_TEXEL_OFFSET                                     0x8904
-#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT                                 0x8904
-#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV                                  0x8904
-#define GL_MAX_PROGRAM_TEXEL_OFFSET                                     0x8905
-#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT                                 0x8905
-#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV                                  0x8905
-#define GL_PROGRAM_ATTRIB_COMPONENTS_NV                                 0x8906
-#define GL_PROGRAM_RESULT_COMPONENTS_NV                                 0x8907
-#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV                             0x8908
-#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV                             0x8909
-#define GL_STENCIL_TEST_TWO_SIDE_EXT                                    0x8910
-#define GL_ACTIVE_STENCIL_FACE_EXT                                      0x8911
-#define GL_MIRROR_CLAMP_TO_BORDER_EXT                                   0x8912
-#define GL_SAMPLES_PASSED                                               0x8914
-#define GL_SAMPLES_PASSED_ARB                                           0x8914
-#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT                             0x8916
-#define GL_GEOMETRY_LINKED_VERTICES_OUT_OES                             0x8916
-#define GL_GEOMETRY_VERTICES_OUT                                        0x8916
-#define GL_GEOMETRY_INPUT_TYPE                                          0x8917
-#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT                               0x8917
-#define GL_GEOMETRY_LINKED_INPUT_TYPE_OES                               0x8917
-#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT                              0x8918
-#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES                              0x8918
-#define GL_GEOMETRY_OUTPUT_TYPE                                         0x8918
-#define GL_SAMPLER_BINDING                                              0x8919
-#define GL_CLAMP_VERTEX_COLOR                                           0x891A
-#define GL_CLAMP_VERTEX_COLOR_ARB                                       0x891A
-#define GL_CLAMP_FRAGMENT_COLOR                                         0x891B
-#define GL_CLAMP_FRAGMENT_COLOR_ARB                                     0x891B
-#define GL_CLAMP_READ_COLOR                                             0x891C
-#define GL_CLAMP_READ_COLOR_ARB                                         0x891C
-#define GL_FIXED_ONLY                                                   0x891D
-#define GL_FIXED_ONLY_ARB                                               0x891D
-#define GL_TESS_CONTROL_PROGRAM_NV                                      0x891E
-#define GL_TESS_EVALUATION_PROGRAM_NV                                   0x891F
-#define GL_FRAGMENT_SHADER_ATI                                          0x8920
-#define GL_REG_0_ATI                                                    0x8921
-#define GL_REG_1_ATI                                                    0x8922
-#define GL_REG_2_ATI                                                    0x8923
-#define GL_REG_3_ATI                                                    0x8924
-#define GL_REG_4_ATI                                                    0x8925
-#define GL_REG_5_ATI                                                    0x8926
-#define GL_REG_6_ATI                                                    0x8927
-#define GL_REG_7_ATI                                                    0x8928
-#define GL_REG_8_ATI                                                    0x8929
-#define GL_REG_9_ATI                                                    0x892A
-#define GL_REG_10_ATI                                                   0x892B
-#define GL_REG_11_ATI                                                   0x892C
-#define GL_REG_12_ATI                                                   0x892D
-#define GL_REG_13_ATI                                                   0x892E
-#define GL_REG_14_ATI                                                   0x892F
-#define GL_REG_15_ATI                                                   0x8930
-#define GL_REG_16_ATI                                                   0x8931
-#define GL_REG_17_ATI                                                   0x8932
-#define GL_REG_18_ATI                                                   0x8933
-#define GL_REG_19_ATI                                                   0x8934
-#define GL_REG_20_ATI                                                   0x8935
-#define GL_REG_21_ATI                                                   0x8936
-#define GL_REG_22_ATI                                                   0x8937
-#define GL_REG_23_ATI                                                   0x8938
-#define GL_REG_24_ATI                                                   0x8939
-#define GL_REG_25_ATI                                                   0x893A
-#define GL_REG_26_ATI                                                   0x893B
-#define GL_REG_27_ATI                                                   0x893C
-#define GL_REG_28_ATI                                                   0x893D
-#define GL_REG_29_ATI                                                   0x893E
-#define GL_REG_30_ATI                                                   0x893F
-#define GL_REG_31_ATI                                                   0x8940
-#define GL_CON_0_ATI                                                    0x8941
-#define GL_CON_1_ATI                                                    0x8942
-#define GL_CON_2_ATI                                                    0x8943
-#define GL_CON_3_ATI                                                    0x8944
-#define GL_CON_4_ATI                                                    0x8945
-#define GL_CON_5_ATI                                                    0x8946
-#define GL_CON_6_ATI                                                    0x8947
-#define GL_CON_7_ATI                                                    0x8948
-#define GL_CON_8_ATI                                                    0x8949
-#define GL_CON_9_ATI                                                    0x894A
-#define GL_CON_10_ATI                                                   0x894B
-#define GL_CON_11_ATI                                                   0x894C
-#define GL_CON_12_ATI                                                   0x894D
-#define GL_CON_13_ATI                                                   0x894E
-#define GL_CON_14_ATI                                                   0x894F
-#define GL_CON_15_ATI                                                   0x8950
-#define GL_CON_16_ATI                                                   0x8951
-#define GL_CON_17_ATI                                                   0x8952
-#define GL_CON_18_ATI                                                   0x8953
-#define GL_CON_19_ATI                                                   0x8954
-#define GL_CON_20_ATI                                                   0x8955
-#define GL_CON_21_ATI                                                   0x8956
-#define GL_CON_22_ATI                                                   0x8957
-#define GL_CON_23_ATI                                                   0x8958
-#define GL_CON_24_ATI                                                   0x8959
-#define GL_CON_25_ATI                                                   0x895A
-#define GL_CON_26_ATI                                                   0x895B
-#define GL_CON_27_ATI                                                   0x895C
-#define GL_CON_28_ATI                                                   0x895D
-#define GL_CON_29_ATI                                                   0x895E
-#define GL_CON_30_ATI                                                   0x895F
-#define GL_CON_31_ATI                                                   0x8960
-#define GL_MOV_ATI                                                      0x8961
-#define GL_ADD_ATI                                                      0x8963
-#define GL_MUL_ATI                                                      0x8964
-#define GL_SUB_ATI                                                      0x8965
-#define GL_DOT3_ATI                                                     0x8966
-#define GL_DOT4_ATI                                                     0x8967
-#define GL_MAD_ATI                                                      0x8968
-#define GL_LERP_ATI                                                     0x8969
-#define GL_CND_ATI                                                      0x896A
-#define GL_CND0_ATI                                                     0x896B
-#define GL_DOT2_ADD_ATI                                                 0x896C
-#define GL_SECONDARY_INTERPOLATOR_ATI                                   0x896D
-#define GL_NUM_FRAGMENT_REGISTERS_ATI                                   0x896E
-#define GL_NUM_FRAGMENT_CONSTANTS_ATI                                   0x896F
-#define GL_NUM_PASSES_ATI                                               0x8970
-#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI                                0x8971
-#define GL_NUM_INSTRUCTIONS_TOTAL_ATI                                   0x8972
-#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI                        0x8973
-#define GL_NUM_LOOPBACK_COMPONENTS_ATI                                  0x8974
-#define GL_COLOR_ALPHA_PAIRING_ATI                                      0x8975
-#define GL_SWIZZLE_STR_ATI                                              0x8976
-#define GL_SWIZZLE_STQ_ATI                                              0x8977
-#define GL_SWIZZLE_STR_DR_ATI                                           0x8978
-#define GL_SWIZZLE_STQ_DQ_ATI                                           0x8979
-#define GL_SWIZZLE_STRQ_ATI                                             0x897A
-#define GL_SWIZZLE_STRQ_DQ_ATI                                          0x897B
-#define GL_INTERLACE_OML                                                0x8980
-#define GL_INTERLACE_READ_OML                                           0x8981
-#define GL_FORMAT_SUBSAMPLE_24_24_OML                                   0x8982
-#define GL_FORMAT_SUBSAMPLE_244_244_OML                                 0x8983
-#define GL_PACK_RESAMPLE_OML                                            0x8984
-#define GL_UNPACK_RESAMPLE_OML                                          0x8985
-#define GL_RESAMPLE_REPLICATE_OML                                       0x8986
-#define GL_RESAMPLE_ZERO_FILL_OML                                       0x8987
-#define GL_RESAMPLE_AVERAGE_OML                                         0x8988
-#define GL_RESAMPLE_DECIMATE_OML                                        0x8989
-#define GL_POINT_SIZE_ARRAY_TYPE_OES                                    0x898A
-#define GL_POINT_SIZE_ARRAY_STRIDE_OES                                  0x898B
-#define GL_POINT_SIZE_ARRAY_POINTER_OES                                 0x898C
-#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES                       0x898D
-#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES                      0x898E
-#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                         0x898F
-#define GL_VERTEX_ATTRIB_MAP1_APPLE                                     0x8A00
-#define GL_VERTEX_ATTRIB_MAP2_APPLE                                     0x8A01
-#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE                                0x8A02
-#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE                               0x8A03
-#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE                               0x8A04
-#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE                              0x8A05
-#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE                                0x8A06
-#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE                               0x8A07
-#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE                               0x8A08
-#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE                              0x8A09
-#define GL_DRAW_PIXELS_APPLE                                            0x8A0A
-#define GL_FENCE_APPLE                                                  0x8A0B
-#define GL_ELEMENT_ARRAY_APPLE                                          0x8A0C
-#define GL_ELEMENT_ARRAY_TYPE_APPLE                                     0x8A0D
-#define GL_ELEMENT_ARRAY_POINTER_APPLE                                  0x8A0E
-#define GL_COLOR_FLOAT_APPLE                                            0x8A0F
-#define GL_UNIFORM_BUFFER                                               0x8A11
-#define GL_BUFFER_SERIALIZED_MODIFY_APPLE                               0x8A12
-#define GL_BUFFER_FLUSHING_UNMAP_APPLE                                  0x8A13
-#define GL_AUX_DEPTH_STENCIL_APPLE                                      0x8A14
-#define GL_PACK_ROW_BYTES_APPLE                                         0x8A15
-#define GL_UNPACK_ROW_BYTES_APPLE                                       0x8A16
-#define GL_RELEASED_APPLE                                               0x8A19
-#define GL_VOLATILE_APPLE                                               0x8A1A
-#define GL_RETAINED_APPLE                                               0x8A1B
-#define GL_UNDEFINED_APPLE                                              0x8A1C
-#define GL_PURGEABLE_APPLE                                              0x8A1D
-#define GL_RGB_422_APPLE                                                0x8A1F
-#define GL_UNIFORM_BUFFER_BINDING                                       0x8A28
-#define GL_UNIFORM_BUFFER_START                                         0x8A29
-#define GL_UNIFORM_BUFFER_SIZE                                          0x8A2A
-#define GL_MAX_VERTEX_UNIFORM_BLOCKS                                    0x8A2B
-#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS                                  0x8A2C
-#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT                              0x8A2C
-#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES                              0x8A2C
-#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS                                  0x8A2D
-#define GL_MAX_COMBINED_UNIFORM_BLOCKS                                  0x8A2E
-#define GL_MAX_UNIFORM_BUFFER_BINDINGS                                  0x8A2F
-#define GL_MAX_UNIFORM_BLOCK_SIZE                                       0x8A30
-#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS                       0x8A31
-#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS                     0x8A32
-#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT                 0x8A32
-#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES                 0x8A32
-#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS                     0x8A33
-#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT                              0x8A34
-#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH                         0x8A35
-#define GL_ACTIVE_UNIFORM_BLOCKS                                        0x8A36
-#define GL_UNIFORM_TYPE                                                 0x8A37
-#define GL_UNIFORM_SIZE                                                 0x8A38
-#define GL_UNIFORM_NAME_LENGTH                                          0x8A39
-#define GL_UNIFORM_BLOCK_INDEX                                          0x8A3A
-#define GL_UNIFORM_OFFSET                                               0x8A3B
-#define GL_UNIFORM_ARRAY_STRIDE                                         0x8A3C
-#define GL_UNIFORM_MATRIX_STRIDE                                        0x8A3D
-#define GL_UNIFORM_IS_ROW_MAJOR                                         0x8A3E
-#define GL_UNIFORM_BLOCK_BINDING                                        0x8A3F
-#define GL_UNIFORM_BLOCK_DATA_SIZE                                      0x8A40
-#define GL_UNIFORM_BLOCK_NAME_LENGTH                                    0x8A41
-#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS                                0x8A42
-#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES                         0x8A43
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER                    0x8A44
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER                  0x8A45
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER                  0x8A46
-#define GL_TEXTURE_SRGB_DECODE_EXT                                      0x8A48
-#define GL_DECODE_EXT                                                   0x8A49
-#define GL_SKIP_DECODE_EXT                                              0x8A4A
-#define GL_PROGRAM_PIPELINE_OBJECT_EXT                                  0x8A4F
-#define GL_RGB_RAW_422_APPLE                                            0x8A51
-#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                         0x8A52
-#define GL_SYNC_OBJECT_APPLE                                            0x8A53
-#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT                             0x8A54
-#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT                             0x8A55
-#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT                       0x8A56
-#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT                       0x8A57
-#define GL_FRAGMENT_SHADER                                              0x8B30
-#define GL_FRAGMENT_SHADER_ARB                                          0x8B30
-#define GL_VERTEX_SHADER                                                0x8B31
-#define GL_VERTEX_SHADER_ARB                                            0x8B31
-#define GL_PROGRAM_OBJECT_ARB                                           0x8B40
-#define GL_PROGRAM_OBJECT_EXT                                           0x8B40
-#define GL_SHADER_OBJECT_ARB                                            0x8B48
-#define GL_SHADER_OBJECT_EXT                                            0x8B48
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS                              0x8B49
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB                          0x8B49
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS                                0x8B4A
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB                            0x8B4A
-#define GL_MAX_VARYING_COMPONENTS                                       0x8B4B
-#define GL_MAX_VARYING_COMPONENTS_EXT                                   0x8B4B
-#define GL_MAX_VARYING_FLOATS                                           0x8B4B
-#define GL_MAX_VARYING_FLOATS_ARB                                       0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS                               0x8B4C
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB                           0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS                             0x8B4D
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB                         0x8B4D
-#define GL_OBJECT_TYPE_ARB                                              0x8B4E
-#define GL_OBJECT_SUBTYPE_ARB                                           0x8B4F
-#define GL_SHADER_TYPE                                                  0x8B4F
-#define GL_FLOAT_VEC2                                                   0x8B50
-#define GL_FLOAT_VEC2_ARB                                               0x8B50
-#define GL_FLOAT_VEC3                                                   0x8B51
-#define GL_FLOAT_VEC3_ARB                                               0x8B51
-#define GL_FLOAT_VEC4                                                   0x8B52
-#define GL_FLOAT_VEC4_ARB                                               0x8B52
-#define GL_INT_VEC2                                                     0x8B53
-#define GL_INT_VEC2_ARB                                                 0x8B53
-#define GL_INT_VEC3                                                     0x8B54
-#define GL_INT_VEC3_ARB                                                 0x8B54
-#define GL_INT_VEC4                                                     0x8B55
-#define GL_INT_VEC4_ARB                                                 0x8B55
-#define GL_BOOL                                                         0x8B56
-#define GL_BOOL_ARB                                                     0x8B56
-#define GL_BOOL_VEC2                                                    0x8B57
-#define GL_BOOL_VEC2_ARB                                                0x8B57
-#define GL_BOOL_VEC3                                                    0x8B58
-#define GL_BOOL_VEC3_ARB                                                0x8B58
-#define GL_BOOL_VEC4                                                    0x8B59
-#define GL_BOOL_VEC4_ARB                                                0x8B59
-#define GL_FLOAT_MAT2                                                   0x8B5A
-#define GL_FLOAT_MAT2_ARB                                               0x8B5A
-#define GL_FLOAT_MAT3                                                   0x8B5B
-#define GL_FLOAT_MAT3_ARB                                               0x8B5B
-#define GL_FLOAT_MAT4                                                   0x8B5C
-#define GL_FLOAT_MAT4_ARB                                               0x8B5C
-#define GL_SAMPLER_1D                                                   0x8B5D
-#define GL_SAMPLER_1D_ARB                                               0x8B5D
-#define GL_SAMPLER_2D                                                   0x8B5E
-#define GL_SAMPLER_2D_ARB                                               0x8B5E
-#define GL_SAMPLER_3D                                                   0x8B5F
-#define GL_SAMPLER_3D_ARB                                               0x8B5F
-#define GL_SAMPLER_3D_OES                                               0x8B5F
-#define GL_SAMPLER_CUBE                                                 0x8B60
-#define GL_SAMPLER_CUBE_ARB                                             0x8B60
-#define GL_SAMPLER_1D_SHADOW                                            0x8B61
-#define GL_SAMPLER_1D_SHADOW_ARB                                        0x8B61
-#define GL_SAMPLER_2D_SHADOW                                            0x8B62
-#define GL_SAMPLER_2D_SHADOW_ARB                                        0x8B62
-#define GL_SAMPLER_2D_SHADOW_EXT                                        0x8B62
-#define GL_SAMPLER_2D_RECT                                              0x8B63
-#define GL_SAMPLER_2D_RECT_ARB                                          0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW                                       0x8B64
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB                                   0x8B64
-#define GL_FLOAT_MAT2x3                                                 0x8B65
-#define GL_FLOAT_MAT2x3_NV                                              0x8B65
-#define GL_FLOAT_MAT2x4                                                 0x8B66
-#define GL_FLOAT_MAT2x4_NV                                              0x8B66
-#define GL_FLOAT_MAT3x2                                                 0x8B67
-#define GL_FLOAT_MAT3x2_NV                                              0x8B67
-#define GL_FLOAT_MAT3x4                                                 0x8B68
-#define GL_FLOAT_MAT3x4_NV                                              0x8B68
-#define GL_FLOAT_MAT4x2                                                 0x8B69
-#define GL_FLOAT_MAT4x2_NV                                              0x8B69
-#define GL_FLOAT_MAT4x3                                                 0x8B6A
-#define GL_FLOAT_MAT4x3_NV                                              0x8B6A
-#define GL_DELETE_STATUS                                                0x8B80
-#define GL_OBJECT_DELETE_STATUS_ARB                                     0x8B80
-#define GL_COMPILE_STATUS                                               0x8B81
-#define GL_OBJECT_COMPILE_STATUS_ARB                                    0x8B81
-#define GL_LINK_STATUS                                                  0x8B82
-#define GL_OBJECT_LINK_STATUS_ARB                                       0x8B82
-#define GL_OBJECT_VALIDATE_STATUS_ARB                                   0x8B83
-#define GL_VALIDATE_STATUS                                              0x8B83
-#define GL_INFO_LOG_LENGTH                                              0x8B84
-#define GL_OBJECT_INFO_LOG_LENGTH_ARB                                   0x8B84
-#define GL_ATTACHED_SHADERS                                             0x8B85
-#define GL_OBJECT_ATTACHED_OBJECTS_ARB                                  0x8B85
-#define GL_ACTIVE_UNIFORMS                                              0x8B86
-#define GL_OBJECT_ACTIVE_UNIFORMS_ARB                                   0x8B86
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH                                    0x8B87
-#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB                         0x8B87
-#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB                              0x8B88
-#define GL_SHADER_SOURCE_LENGTH                                         0x8B88
-#define GL_ACTIVE_ATTRIBUTES                                            0x8B89
-#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB                                 0x8B89
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH                                  0x8B8A
-#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB                       0x8B8A
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT                              0x8B8B
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB                          0x8B8B
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                          0x8B8B
-#define GL_SHADING_LANGUAGE_VERSION                                     0x8B8C
-#define GL_SHADING_LANGUAGE_VERSION_ARB                                 0x8B8C
-#define GL_ACTIVE_PROGRAM_EXT                                           0x8B8D
-#define GL_CURRENT_PROGRAM                                              0x8B8D
-#define GL_PALETTE4_RGB8_OES                                            0x8B90
-#define GL_PALETTE4_RGBA8_OES                                           0x8B91
-#define GL_PALETTE4_R5_G6_B5_OES                                        0x8B92
-#define GL_PALETTE4_RGBA4_OES                                           0x8B93
-#define GL_PALETTE4_RGB5_A1_OES                                         0x8B94
-#define GL_PALETTE8_RGB8_OES                                            0x8B95
-#define GL_PALETTE8_RGBA8_OES                                           0x8B96
-#define GL_PALETTE8_R5_G6_B5_OES                                        0x8B97
-#define GL_PALETTE8_RGBA4_OES                                           0x8B98
-#define GL_PALETTE8_RGB5_A1_OES                                         0x8B99
-#define GL_IMPLEMENTATION_COLOR_READ_TYPE                               0x8B9A
-#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES                           0x8B9A
-#define GL_IMPLEMENTATION_COLOR_READ_FORMAT                             0x8B9B
-#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES                         0x8B9B
-#define GL_POINT_SIZE_ARRAY_OES                                         0x8B9C
-#define GL_TEXTURE_CROP_RECT_OES                                        0x8B9D
-#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                        0x8B9E
-#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES                          0x8B9F
-#define GL_FRAGMENT_PROGRAM_POSITION_MESA                               0x8BB0
-#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA                               0x8BB1
-#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA                          0x8BB2
-#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA                          0x8BB3
-#define GL_VERTEX_PROGRAM_POSITION_MESA                                 0x8BB4
-#define GL_VERTEX_PROGRAM_CALLBACK_MESA                                 0x8BB5
-#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA                            0x8BB6
-#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA                            0x8BB7
-#define GL_COUNTER_TYPE_AMD                                             0x8BC0
-#define GL_COUNTER_RANGE_AMD                                            0x8BC1
-#define GL_UNSIGNED_INT64_AMD                                           0x8BC2
-#define GL_PERCENTAGE_AMD                                               0x8BC3
-#define GL_PERFMON_RESULT_AVAILABLE_AMD                                 0x8BC4
-#define GL_PERFMON_RESULT_SIZE_AMD                                      0x8BC5
-#define GL_PERFMON_RESULT_AMD                                           0x8BC6
-#define GL_TEXTURE_WIDTH_QCOM                                           0x8BD2
-#define GL_TEXTURE_HEIGHT_QCOM                                          0x8BD3
-#define GL_TEXTURE_DEPTH_QCOM                                           0x8BD4
-#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                                 0x8BD5
-#define GL_TEXTURE_FORMAT_QCOM                                          0x8BD6
-#define GL_TEXTURE_TYPE_QCOM                                            0x8BD7
-#define GL_TEXTURE_IMAGE_VALID_QCOM                                     0x8BD8
-#define GL_TEXTURE_NUM_LEVELS_QCOM                                      0x8BD9
-#define GL_TEXTURE_TARGET_QCOM                                          0x8BDA
-#define GL_TEXTURE_OBJECT_VALID_QCOM                                    0x8BDB
-#define GL_STATE_RESTORE                                                0x8BDC
-#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT                                  0x8BE7
-#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                              0x8C00
-#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                              0x8C01
-#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                             0x8C02
-#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                             0x8C03
-#define GL_MODULATE_COLOR_IMG                                           0x8C04
-#define GL_RECIP_ADD_SIGNED_ALPHA_IMG                                   0x8C05
-#define GL_TEXTURE_ALPHA_MODULATE_IMG                                   0x8C06
-#define GL_FACTOR_ALPHA_MODULATE_IMG                                    0x8C07
-#define GL_FRAGMENT_ALPHA_MODULATE_IMG                                  0x8C08
-#define GL_ADD_BLEND_IMG                                                0x8C09
-#define GL_SGX_BINARY_IMG                                               0x8C0A
-#define GL_TEXTURE_RED_TYPE                                             0x8C10
-#define GL_TEXTURE_RED_TYPE_ARB                                         0x8C10
-#define GL_TEXTURE_GREEN_TYPE                                           0x8C11
-#define GL_TEXTURE_GREEN_TYPE_ARB                                       0x8C11
-#define GL_TEXTURE_BLUE_TYPE                                            0x8C12
-#define GL_TEXTURE_BLUE_TYPE_ARB                                        0x8C12
-#define GL_TEXTURE_ALPHA_TYPE                                           0x8C13
-#define GL_TEXTURE_ALPHA_TYPE_ARB                                       0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE                                       0x8C14
-#define GL_TEXTURE_LUMINANCE_TYPE_ARB                                   0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE                                       0x8C15
-#define GL_TEXTURE_INTENSITY_TYPE_ARB                                   0x8C15
-#define GL_TEXTURE_DEPTH_TYPE                                           0x8C16
-#define GL_TEXTURE_DEPTH_TYPE_ARB                                       0x8C16
-#define GL_UNSIGNED_NORMALIZED                                          0x8C17
-#define GL_UNSIGNED_NORMALIZED_ARB                                      0x8C17
-#define GL_UNSIGNED_NORMALIZED_EXT                                      0x8C17
-#define GL_TEXTURE_1D_ARRAY                                             0x8C18
-#define GL_TEXTURE_1D_ARRAY_EXT                                         0x8C18
-#define GL_PROXY_TEXTURE_1D_ARRAY                                       0x8C19
-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT                                   0x8C19
-#define GL_TEXTURE_2D_ARRAY                                             0x8C1A
-#define GL_TEXTURE_2D_ARRAY_EXT                                         0x8C1A
-#define GL_PROXY_TEXTURE_2D_ARRAY                                       0x8C1B
-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT                                   0x8C1B
-#define GL_TEXTURE_BINDING_1D_ARRAY                                     0x8C1C
-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT                                 0x8C1C
-#define GL_TEXTURE_BINDING_2D_ARRAY                                     0x8C1D
-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT                                 0x8C1D
-#define GL_GEOMETRY_PROGRAM_NV                                          0x8C26
-#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV                               0x8C27
-#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV                       0x8C28
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS                             0x8C29
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB                         0x8C29
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT                         0x8C29
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES                         0x8C29
-#define GL_TEXTURE_BUFFER                                               0x8C2A
-#define GL_TEXTURE_BUFFER_ARB                                           0x8C2A
-#define GL_TEXTURE_BUFFER_BINDING                                       0x8C2A
-#define GL_TEXTURE_BUFFER_BINDING_EXT                                   0x8C2A
-#define GL_TEXTURE_BUFFER_BINDING_OES                                   0x8C2A
-#define GL_TEXTURE_BUFFER_EXT                                           0x8C2A
-#define GL_TEXTURE_BUFFER_OES                                           0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE                                      0x8C2B
-#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB                                  0x8C2B
-#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT                                  0x8C2B
-#define GL_MAX_TEXTURE_BUFFER_SIZE_OES                                  0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER                                       0x8C2C
-#define GL_TEXTURE_BINDING_BUFFER_ARB                                   0x8C2C
-#define GL_TEXTURE_BINDING_BUFFER_EXT                                   0x8C2C
-#define GL_TEXTURE_BINDING_BUFFER_OES                                   0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING                            0x8C2D
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB                        0x8C2D
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT                        0x8C2D
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES                        0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT_ARB                                    0x8C2E
-#define GL_TEXTURE_BUFFER_FORMAT_EXT                                    0x8C2E
-#define GL_ANY_SAMPLES_PASSED                                           0x8C2F
-#define GL_ANY_SAMPLES_PASSED_EXT                                       0x8C2F
-#define GL_SAMPLE_SHADING                                               0x8C36
-#define GL_SAMPLE_SHADING_ARB                                           0x8C36
-#define GL_SAMPLE_SHADING_OES                                           0x8C36
-#define GL_MIN_SAMPLE_SHADING_VALUE                                     0x8C37
-#define GL_MIN_SAMPLE_SHADING_VALUE_ARB                                 0x8C37
-#define GL_MIN_SAMPLE_SHADING_VALUE_OES                                 0x8C37
-#define GL_R11F_G11F_B10F                                               0x8C3A
-#define GL_R11F_G11F_B10F_APPLE                                         0x8C3A
-#define GL_R11F_G11F_B10F_EXT                                           0x8C3A
-#define GL_UNSIGNED_INT_10F_11F_11F_REV                                 0x8C3B
-#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE                           0x8C3B
-#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT                             0x8C3B
-#define GL_RGBA_SIGNED_COMPONENTS_EXT                                   0x8C3C
-#define GL_RGB9_E5                                                      0x8C3D
-#define GL_RGB9_E5_APPLE                                                0x8C3D
-#define GL_RGB9_E5_EXT                                                  0x8C3D
-#define GL_UNSIGNED_INT_5_9_9_9_REV                                     0x8C3E
-#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE                               0x8C3E
-#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT                                 0x8C3E
-#define GL_TEXTURE_SHARED_SIZE                                          0x8C3F
-#define GL_TEXTURE_SHARED_SIZE_EXT                                      0x8C3F
-#define GL_SRGB                                                         0x8C40
-#define GL_SRGB_EXT                                                     0x8C40
-#define GL_SRGB8                                                        0x8C41
-#define GL_SRGB8_EXT                                                    0x8C41
-#define GL_SRGB8_NV                                                     0x8C41
-#define GL_SRGB_ALPHA                                                   0x8C42
-#define GL_SRGB_ALPHA_EXT                                               0x8C42
-#define GL_SRGB8_ALPHA8                                                 0x8C43
-#define GL_SRGB8_ALPHA8_EXT                                             0x8C43
-#define GL_SLUMINANCE_ALPHA                                             0x8C44
-#define GL_SLUMINANCE_ALPHA_EXT                                         0x8C44
-#define GL_SLUMINANCE_ALPHA_NV                                          0x8C44
-#define GL_SLUMINANCE8_ALPHA8                                           0x8C45
-#define GL_SLUMINANCE8_ALPHA8_EXT                                       0x8C45
-#define GL_SLUMINANCE8_ALPHA8_NV                                        0x8C45
-#define GL_SLUMINANCE                                                   0x8C46
-#define GL_SLUMINANCE_EXT                                               0x8C46
-#define GL_SLUMINANCE_NV                                                0x8C46
-#define GL_SLUMINANCE8                                                  0x8C47
-#define GL_SLUMINANCE8_EXT                                              0x8C47
-#define GL_SLUMINANCE8_NV                                               0x8C47
-#define GL_COMPRESSED_SRGB                                              0x8C48
-#define GL_COMPRESSED_SRGB_EXT                                          0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA                                        0x8C49
-#define GL_COMPRESSED_SRGB_ALPHA_EXT                                    0x8C49
-#define GL_COMPRESSED_SLUMINANCE                                        0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_EXT                                    0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA                                  0x8C4B
-#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT                              0x8C4B
-#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT                                0x8C4C
-#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                                 0x8C4C
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT                          0x8C4D
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                           0x8C4D
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT                          0x8C4E
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                           0x8C4E
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT                          0x8C4F
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                           0x8C4F
-#define GL_COMPRESSED_LUMINANCE_LATC1_EXT                               0x8C70
-#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT                        0x8C71
-#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT                         0x8C72
-#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT                  0x8C73
-#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV                     0x8C74
-#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV                  0x8C75
-#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH                        0x8C76
-#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT                    0x8C76
-#define GL_BACK_PRIMARY_COLOR_NV                                        0x8C77
-#define GL_BACK_SECONDARY_COLOR_NV                                      0x8C78
-#define GL_TEXTURE_COORD_NV                                             0x8C79
-#define GL_CLIP_DISTANCE_NV                                             0x8C7A
-#define GL_VERTEX_ID_NV                                                 0x8C7B
-#define GL_PRIMITIVE_ID_NV                                              0x8C7C
-#define GL_GENERIC_ATTRIB_NV                                            0x8C7D
-#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV                                0x8C7E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE                               0x8C7F
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT                           0x8C7F
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV                            0x8C7F
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS                   0x8C80
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT               0x8C80
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV                0x8C80
-#define GL_ACTIVE_VARYINGS_NV                                           0x8C81
-#define GL_ACTIVE_VARYING_MAX_LENGTH_NV                                 0x8C82
-#define GL_TRANSFORM_FEEDBACK_VARYINGS                                  0x8C83
-#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT                              0x8C83
-#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV                               0x8C83
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START                              0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT                          0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV                           0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                               0x8C85
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT                           0x8C85
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV                            0x8C85
-#define GL_TRANSFORM_FEEDBACK_RECORD_NV                                 0x8C86
-#define GL_PRIMITIVES_GENERATED                                         0x8C87
-#define GL_PRIMITIVES_GENERATED_EXT                                     0x8C87
-#define GL_PRIMITIVES_GENERATED_NV                                      0x8C87
-#define GL_PRIMITIVES_GENERATED_OES                                     0x8C87
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN                        0x8C88
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT                    0x8C88
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV                     0x8C88
-#define GL_RASTERIZER_DISCARD                                           0x8C89
-#define GL_RASTERIZER_DISCARD_EXT                                       0x8C89
-#define GL_RASTERIZER_DISCARD_NV                                        0x8C89
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS                0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT            0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV             0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS                      0x8C8B
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT                  0x8C8B
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV                   0x8C8B
-#define GL_INTERLEAVED_ATTRIBS                                          0x8C8C
-#define GL_INTERLEAVED_ATTRIBS_EXT                                      0x8C8C
-#define GL_INTERLEAVED_ATTRIBS_NV                                       0x8C8C
-#define GL_SEPARATE_ATTRIBS                                             0x8C8D
-#define GL_SEPARATE_ATTRIBS_EXT                                         0x8C8D
-#define GL_SEPARATE_ATTRIBS_NV                                          0x8C8D
-#define GL_TRANSFORM_FEEDBACK_BUFFER                                    0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT                                0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_NV                                 0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING                            0x8C8F
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT                        0x8C8F
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV                         0x8C8F
-#define GL_ATC_RGB_AMD                                                  0x8C92
-#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                                  0x8C93
-#define GL_POINT_SPRITE_COORD_ORIGIN                                    0x8CA0
-#define GL_LOWER_LEFT                                                   0x8CA1
-#define GL_UPPER_LEFT                                                   0x8CA2
-#define GL_STENCIL_BACK_REF                                             0x8CA3
-#define GL_STENCIL_BACK_VALUE_MASK                                      0x8CA4
-#define GL_STENCIL_BACK_WRITEMASK                                       0x8CA5
-#define GL_DRAW_FRAMEBUFFER_BINDING                                     0x8CA6
-#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                               0x8CA6
-#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                               0x8CA6
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT                                 0x8CA6
-#define GL_DRAW_FRAMEBUFFER_BINDING_NV                                  0x8CA6
-#define GL_FRAMEBUFFER_BINDING                                          0x8CA6
-#define GL_FRAMEBUFFER_BINDING_ANGLE                                    0x8CA6
-#define GL_FRAMEBUFFER_BINDING_EXT                                      0x8CA6
-#define GL_FRAMEBUFFER_BINDING_OES                                      0x8CA6
-#define GL_RENDERBUFFER_BINDING                                         0x8CA7
-#define GL_RENDERBUFFER_BINDING_ANGLE                                   0x8CA7
-#define GL_RENDERBUFFER_BINDING_EXT                                     0x8CA7
-#define GL_RENDERBUFFER_BINDING_OES                                     0x8CA7
-#define GL_READ_FRAMEBUFFER                                             0x8CA8
-#define GL_READ_FRAMEBUFFER_ANGLE                                       0x8CA8
-#define GL_READ_FRAMEBUFFER_APPLE                                       0x8CA8
-#define GL_READ_FRAMEBUFFER_EXT                                         0x8CA8
-#define GL_READ_FRAMEBUFFER_NV                                          0x8CA8
-#define GL_DRAW_FRAMEBUFFER                                             0x8CA9
-#define GL_DRAW_FRAMEBUFFER_ANGLE                                       0x8CA9
-#define GL_DRAW_FRAMEBUFFER_APPLE                                       0x8CA9
-#define GL_DRAW_FRAMEBUFFER_EXT                                         0x8CA9
-#define GL_DRAW_FRAMEBUFFER_NV                                          0x8CA9
-#define GL_READ_FRAMEBUFFER_BINDING                                     0x8CAA
-#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                               0x8CAA
-#define GL_READ_FRAMEBUFFER_BINDING_APPLE                               0x8CAA
-#define GL_READ_FRAMEBUFFER_BINDING_EXT                                 0x8CAA
-#define GL_READ_FRAMEBUFFER_BINDING_NV                                  0x8CAA
-#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV                             0x8CAB
-#define GL_RENDERBUFFER_SAMPLES                                         0x8CAB
-#define GL_RENDERBUFFER_SAMPLES_ANGLE                                   0x8CAB
-#define GL_RENDERBUFFER_SAMPLES_APPLE                                   0x8CAB
-#define GL_RENDERBUFFER_SAMPLES_EXT                                     0x8CAB
-#define GL_RENDERBUFFER_SAMPLES_NV                                      0x8CAB
-#define GL_DEPTH_COMPONENT32F                                           0x8CAC
-#define GL_DEPTH32F_STENCIL8                                            0x8CAD
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE                           0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT                       0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES                       0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME                           0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT                       0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES                       0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL                         0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT                     0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES                     0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE                 0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT             0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES             0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT                0x8CD4
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES                0x8CD4
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER                         0x8CD4
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT                     0x8CD4
-#define GL_FRAMEBUFFER_COMPLETE                                         0x8CD5
-#define GL_FRAMEBUFFER_COMPLETE_EXT                                     0x8CD5
-#define GL_FRAMEBUFFER_COMPLETE_OES                                     0x8CD5
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT                            0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT                        0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                        0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT                    0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT                0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES                0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS                            0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT                        0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                        0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT                           0x8CDA
-#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                           0x8CDA
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER                           0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT                       0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES                       0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER                           0x8CDC
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT                       0x8CDC
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES                       0x8CDC
-#define GL_FRAMEBUFFER_UNSUPPORTED                                      0x8CDD
-#define GL_FRAMEBUFFER_UNSUPPORTED_EXT                                  0x8CDD
-#define GL_FRAMEBUFFER_UNSUPPORTED_OES                                  0x8CDD
-#define GL_MAX_COLOR_ATTACHMENTS                                        0x8CDF
-#define GL_MAX_COLOR_ATTACHMENTS_EXT                                    0x8CDF
-#define GL_MAX_COLOR_ATTACHMENTS_NV                                     0x8CDF
-#define GL_COLOR_ATTACHMENT0                                            0x8CE0
-#define GL_COLOR_ATTACHMENT0_EXT                                        0x8CE0
-#define GL_COLOR_ATTACHMENT0_NV                                         0x8CE0
-#define GL_COLOR_ATTACHMENT0_OES                                        0x8CE0
-#define GL_COLOR_ATTACHMENT1                                            0x8CE1
-#define GL_COLOR_ATTACHMENT1_EXT                                        0x8CE1
-#define GL_COLOR_ATTACHMENT1_NV                                         0x8CE1
-#define GL_COLOR_ATTACHMENT2                                            0x8CE2
-#define GL_COLOR_ATTACHMENT2_EXT                                        0x8CE2
-#define GL_COLOR_ATTACHMENT2_NV                                         0x8CE2
-#define GL_COLOR_ATTACHMENT3                                            0x8CE3
-#define GL_COLOR_ATTACHMENT3_EXT                                        0x8CE3
-#define GL_COLOR_ATTACHMENT3_NV                                         0x8CE3
-#define GL_COLOR_ATTACHMENT4                                            0x8CE4
-#define GL_COLOR_ATTACHMENT4_EXT                                        0x8CE4
-#define GL_COLOR_ATTACHMENT4_NV                                         0x8CE4
-#define GL_COLOR_ATTACHMENT5                                            0x8CE5
-#define GL_COLOR_ATTACHMENT5_EXT                                        0x8CE5
-#define GL_COLOR_ATTACHMENT5_NV                                         0x8CE5
-#define GL_COLOR_ATTACHMENT6                                            0x8CE6
-#define GL_COLOR_ATTACHMENT6_EXT                                        0x8CE6
-#define GL_COLOR_ATTACHMENT6_NV                                         0x8CE6
-#define GL_COLOR_ATTACHMENT7                                            0x8CE7
-#define GL_COLOR_ATTACHMENT7_EXT                                        0x8CE7
-#define GL_COLOR_ATTACHMENT7_NV                                         0x8CE7
-#define GL_COLOR_ATTACHMENT8                                            0x8CE8
-#define GL_COLOR_ATTACHMENT8_EXT                                        0x8CE8
-#define GL_COLOR_ATTACHMENT8_NV                                         0x8CE8
-#define GL_COLOR_ATTACHMENT9                                            0x8CE9
-#define GL_COLOR_ATTACHMENT9_EXT                                        0x8CE9
-#define GL_COLOR_ATTACHMENT9_NV                                         0x8CE9
-#define GL_COLOR_ATTACHMENT10                                           0x8CEA
-#define GL_COLOR_ATTACHMENT10_EXT                                       0x8CEA
-#define GL_COLOR_ATTACHMENT10_NV                                        0x8CEA
-#define GL_COLOR_ATTACHMENT11                                           0x8CEB
-#define GL_COLOR_ATTACHMENT11_EXT                                       0x8CEB
-#define GL_COLOR_ATTACHMENT11_NV                                        0x8CEB
-#define GL_COLOR_ATTACHMENT12                                           0x8CEC
-#define GL_COLOR_ATTACHMENT12_EXT                                       0x8CEC
-#define GL_COLOR_ATTACHMENT12_NV                                        0x8CEC
-#define GL_COLOR_ATTACHMENT13                                           0x8CED
-#define GL_COLOR_ATTACHMENT13_EXT                                       0x8CED
-#define GL_COLOR_ATTACHMENT13_NV                                        0x8CED
-#define GL_COLOR_ATTACHMENT14                                           0x8CEE
-#define GL_COLOR_ATTACHMENT14_EXT                                       0x8CEE
-#define GL_COLOR_ATTACHMENT14_NV                                        0x8CEE
-#define GL_COLOR_ATTACHMENT15                                           0x8CEF
-#define GL_COLOR_ATTACHMENT15_EXT                                       0x8CEF
-#define GL_COLOR_ATTACHMENT15_NV                                        0x8CEF
-#define GL_COLOR_ATTACHMENT16                                           0x8CF0
-#define GL_COLOR_ATTACHMENT17                                           0x8CF1
-#define GL_COLOR_ATTACHMENT18                                           0x8CF2
-#define GL_COLOR_ATTACHMENT19                                           0x8CF3
-#define GL_COLOR_ATTACHMENT20                                           0x8CF4
-#define GL_COLOR_ATTACHMENT21                                           0x8CF5
-#define GL_COLOR_ATTACHMENT22                                           0x8CF6
-#define GL_COLOR_ATTACHMENT23                                           0x8CF7
-#define GL_COLOR_ATTACHMENT24                                           0x8CF8
-#define GL_COLOR_ATTACHMENT25                                           0x8CF9
-#define GL_COLOR_ATTACHMENT26                                           0x8CFA
-#define GL_COLOR_ATTACHMENT27                                           0x8CFB
-#define GL_COLOR_ATTACHMENT28                                           0x8CFC
-#define GL_COLOR_ATTACHMENT29                                           0x8CFD
-#define GL_COLOR_ATTACHMENT30                                           0x8CFE
-#define GL_COLOR_ATTACHMENT31                                           0x8CFF
-#define GL_DEPTH_ATTACHMENT                                             0x8D00
-#define GL_DEPTH_ATTACHMENT_EXT                                         0x8D00
-#define GL_DEPTH_ATTACHMENT_OES                                         0x8D00
-#define GL_STENCIL_ATTACHMENT                                           0x8D20
-#define GL_STENCIL_ATTACHMENT_EXT                                       0x8D20
-#define GL_STENCIL_ATTACHMENT_OES                                       0x8D20
-#define GL_FRAMEBUFFER                                                  0x8D40
-#define GL_FRAMEBUFFER_EXT                                              0x8D40
-#define GL_FRAMEBUFFER_OES                                              0x8D40
-#define GL_RENDERBUFFER                                                 0x8D41
-#define GL_RENDERBUFFER_EXT                                             0x8D41
-#define GL_RENDERBUFFER_OES                                             0x8D41
-#define GL_RENDERBUFFER_WIDTH                                           0x8D42
-#define GL_RENDERBUFFER_WIDTH_EXT                                       0x8D42
-#define GL_RENDERBUFFER_WIDTH_OES                                       0x8D42
-#define GL_RENDERBUFFER_HEIGHT                                          0x8D43
-#define GL_RENDERBUFFER_HEIGHT_EXT                                      0x8D43
-#define GL_RENDERBUFFER_HEIGHT_OES                                      0x8D43
-#define GL_RENDERBUFFER_INTERNAL_FORMAT                                 0x8D44
-#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT                             0x8D44
-#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                             0x8D44
-#define GL_STENCIL_INDEX1                                               0x8D46
-#define GL_STENCIL_INDEX1_EXT                                           0x8D46
-#define GL_STENCIL_INDEX1_OES                                           0x8D46
-#define GL_STENCIL_INDEX4                                               0x8D47
-#define GL_STENCIL_INDEX4_EXT                                           0x8D47
-#define GL_STENCIL_INDEX4_OES                                           0x8D47
-#define GL_STENCIL_INDEX8                                               0x8D48
-#define GL_STENCIL_INDEX8_EXT                                           0x8D48
-#define GL_STENCIL_INDEX8_OES                                           0x8D48
-#define GL_STENCIL_INDEX16                                              0x8D49
-#define GL_STENCIL_INDEX16_EXT                                          0x8D49
-#define GL_RENDERBUFFER_RED_SIZE                                        0x8D50
-#define GL_RENDERBUFFER_RED_SIZE_EXT                                    0x8D50
-#define GL_RENDERBUFFER_RED_SIZE_OES                                    0x8D50
-#define GL_RENDERBUFFER_GREEN_SIZE                                      0x8D51
-#define GL_RENDERBUFFER_GREEN_SIZE_EXT                                  0x8D51
-#define GL_RENDERBUFFER_GREEN_SIZE_OES                                  0x8D51
-#define GL_RENDERBUFFER_BLUE_SIZE                                       0x8D52
-#define GL_RENDERBUFFER_BLUE_SIZE_EXT                                   0x8D52
-#define GL_RENDERBUFFER_BLUE_SIZE_OES                                   0x8D52
-#define GL_RENDERBUFFER_ALPHA_SIZE                                      0x8D53
-#define GL_RENDERBUFFER_ALPHA_SIZE_EXT                                  0x8D53
-#define GL_RENDERBUFFER_ALPHA_SIZE_OES                                  0x8D53
-#define GL_RENDERBUFFER_DEPTH_SIZE                                      0x8D54
-#define GL_RENDERBUFFER_DEPTH_SIZE_EXT                                  0x8D54
-#define GL_RENDERBUFFER_DEPTH_SIZE_OES                                  0x8D54
-#define GL_RENDERBUFFER_STENCIL_SIZE                                    0x8D55
-#define GL_RENDERBUFFER_STENCIL_SIZE_EXT                                0x8D55
-#define GL_RENDERBUFFER_STENCIL_SIZE_OES                                0x8D55
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE                           0x8D56
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE                     0x8D56
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE                     0x8D56
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT                       0x8D56
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                        0x8D56
-#define GL_MAX_SAMPLES                                                  0x8D57
-#define GL_MAX_SAMPLES_ANGLE                                            0x8D57
-#define GL_MAX_SAMPLES_APPLE                                            0x8D57
-#define GL_MAX_SAMPLES_EXT                                              0x8D57
-#define GL_MAX_SAMPLES_NV                                               0x8D57
-#define GL_TEXTURE_GEN_STR_OES                                          0x8D60
-#define GL_HALF_FLOAT_OES                                               0x8D61
-#define GL_RGB565                                                       0x8D62
-#define GL_RGB565_OES                                                   0x8D62
-#define GL_ETC1_RGB8_OES                                                0x8D64
-#define GL_TEXTURE_EXTERNAL_OES                                         0x8D65
-#define GL_SAMPLER_EXTERNAL_OES                                         0x8D66
-#define GL_TEXTURE_BINDING_EXTERNAL_OES                                 0x8D67
-#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                             0x8D68
-#define GL_PRIMITIVE_RESTART_FIXED_INDEX                                0x8D69
-#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE                              0x8D6A
-#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                          0x8D6A
-#define GL_MAX_ELEMENT_INDEX                                            0x8D6B
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT                   0x8D6C
-#define GL_RGBA32UI                                                     0x8D70
-#define GL_RGBA32UI_EXT                                                 0x8D70
-#define GL_RGB32UI                                                      0x8D71
-#define GL_RGB32UI_EXT                                                  0x8D71
-#define GL_ALPHA32UI_EXT                                                0x8D72
-#define GL_INTENSITY32UI_EXT                                            0x8D73
-#define GL_LUMINANCE32UI_EXT                                            0x8D74
-#define GL_LUMINANCE_ALPHA32UI_EXT                                      0x8D75
-#define GL_RGBA16UI                                                     0x8D76
-#define GL_RGBA16UI_EXT                                                 0x8D76
-#define GL_RGB16UI                                                      0x8D77
-#define GL_RGB16UI_EXT                                                  0x8D77
-#define GL_ALPHA16UI_EXT                                                0x8D78
-#define GL_INTENSITY16UI_EXT                                            0x8D79
-#define GL_LUMINANCE16UI_EXT                                            0x8D7A
-#define GL_LUMINANCE_ALPHA16UI_EXT                                      0x8D7B
-#define GL_RGBA8UI                                                      0x8D7C
-#define GL_RGBA8UI_EXT                                                  0x8D7C
-#define GL_RGB8UI                                                       0x8D7D
-#define GL_RGB8UI_EXT                                                   0x8D7D
-#define GL_ALPHA8UI_EXT                                                 0x8D7E
-#define GL_INTENSITY8UI_EXT                                             0x8D7F
-#define GL_LUMINANCE8UI_EXT                                             0x8D80
-#define GL_LUMINANCE_ALPHA8UI_EXT                                       0x8D81
-#define GL_RGBA32I                                                      0x8D82
-#define GL_RGBA32I_EXT                                                  0x8D82
-#define GL_RGB32I                                                       0x8D83
-#define GL_RGB32I_EXT                                                   0x8D83
-#define GL_ALPHA32I_EXT                                                 0x8D84
-#define GL_INTENSITY32I_EXT                                             0x8D85
-#define GL_LUMINANCE32I_EXT                                             0x8D86
-#define GL_LUMINANCE_ALPHA32I_EXT                                       0x8D87
-#define GL_RGBA16I                                                      0x8D88
-#define GL_RGBA16I_EXT                                                  0x8D88
-#define GL_RGB16I                                                       0x8D89
-#define GL_RGB16I_EXT                                                   0x8D89
-#define GL_ALPHA16I_EXT                                                 0x8D8A
-#define GL_INTENSITY16I_EXT                                             0x8D8B
-#define GL_LUMINANCE16I_EXT                                             0x8D8C
-#define GL_LUMINANCE_ALPHA16I_EXT                                       0x8D8D
-#define GL_RGBA8I                                                       0x8D8E
-#define GL_RGBA8I_EXT                                                   0x8D8E
-#define GL_RGB8I                                                        0x8D8F
-#define GL_RGB8I_EXT                                                    0x8D8F
-#define GL_ALPHA8I_EXT                                                  0x8D90
-#define GL_INTENSITY8I_EXT                                              0x8D91
-#define GL_LUMINANCE8I_EXT                                              0x8D92
-#define GL_LUMINANCE_ALPHA8I_EXT                                        0x8D93
-#define GL_RED_INTEGER                                                  0x8D94
-#define GL_RED_INTEGER_EXT                                              0x8D94
-#define GL_GREEN_INTEGER                                                0x8D95
-#define GL_GREEN_INTEGER_EXT                                            0x8D95
-#define GL_BLUE_INTEGER                                                 0x8D96
-#define GL_BLUE_INTEGER_EXT                                             0x8D96
-#define GL_ALPHA_INTEGER                                                0x8D97
-#define GL_ALPHA_INTEGER_EXT                                            0x8D97
-#define GL_RGB_INTEGER                                                  0x8D98
-#define GL_RGB_INTEGER_EXT                                              0x8D98
-#define GL_RGBA_INTEGER                                                 0x8D99
-#define GL_RGBA_INTEGER_EXT                                             0x8D99
-#define GL_BGR_INTEGER                                                  0x8D9A
-#define GL_BGR_INTEGER_EXT                                              0x8D9A
-#define GL_BGRA_INTEGER                                                 0x8D9B
-#define GL_BGRA_INTEGER_EXT                                             0x8D9B
-#define GL_LUMINANCE_INTEGER_EXT                                        0x8D9C
-#define GL_LUMINANCE_ALPHA_INTEGER_EXT                                  0x8D9D
-#define GL_RGBA_INTEGER_MODE_EXT                                        0x8D9E
-#define GL_INT_2_10_10_10_REV                                           0x8D9F
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV                     0x8DA0
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV                         0x8DA1
-#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV                           0x8DA2
-#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV                         0x8DA3
-#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV                         0x8DA4
-#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV                               0x8DA5
-#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV                               0x8DA6
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED                               0x8DA7
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB                           0x8DA7
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT                           0x8DA7
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES                           0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS                         0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB                     0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT                     0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES                     0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB                       0x8DA9
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT                       0x8DA9
-#define GL_LAYER_NV                                                     0x8DAA
-#define GL_DEPTH_COMPONENT32F_NV                                        0x8DAB
-#define GL_DEPTH32F_STENCIL8_NV                                         0x8DAC
-#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV                               0x8DAD
-#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV                            0x8DAD
-#define GL_SHADER_INCLUDE_ARB                                           0x8DAE
-#define GL_DEPTH_BUFFER_FLOAT_MODE_NV                                   0x8DAF
-#define GL_FRAMEBUFFER_SRGB                                             0x8DB9
-#define GL_FRAMEBUFFER_SRGB_EXT                                         0x8DB9
-#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT                                 0x8DBA
-#define GL_COMPRESSED_RED_RGTC1                                         0x8DBB
-#define GL_COMPRESSED_RED_RGTC1_EXT                                     0x8DBB
-#define GL_COMPRESSED_SIGNED_RED_RGTC1                                  0x8DBC
-#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT                              0x8DBC
-#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT                               0x8DBD
-#define GL_COMPRESSED_RG_RGTC2                                          0x8DBD
-#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT                        0x8DBE
-#define GL_COMPRESSED_SIGNED_RG_RGTC2                                   0x8DBE
-#define GL_SAMPLER_1D_ARRAY                                             0x8DC0
-#define GL_SAMPLER_1D_ARRAY_EXT                                         0x8DC0
-#define GL_SAMPLER_2D_ARRAY                                             0x8DC1
-#define GL_SAMPLER_2D_ARRAY_EXT                                         0x8DC1
-#define GL_SAMPLER_BUFFER                                               0x8DC2
-#define GL_SAMPLER_BUFFER_EXT                                           0x8DC2
-#define GL_SAMPLER_BUFFER_OES                                           0x8DC2
-#define GL_SAMPLER_1D_ARRAY_SHADOW                                      0x8DC3
-#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT                                  0x8DC3
-#define GL_SAMPLER_2D_ARRAY_SHADOW                                      0x8DC4
-#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT                                  0x8DC4
-#define GL_SAMPLER_2D_ARRAY_SHADOW_NV                                   0x8DC4
-#define GL_SAMPLER_CUBE_SHADOW                                          0x8DC5
-#define GL_SAMPLER_CUBE_SHADOW_EXT                                      0x8DC5
-#define GL_SAMPLER_CUBE_SHADOW_NV                                       0x8DC5
-#define GL_UNSIGNED_INT_VEC2                                            0x8DC6
-#define GL_UNSIGNED_INT_VEC2_EXT                                        0x8DC6
-#define GL_UNSIGNED_INT_VEC3                                            0x8DC7
-#define GL_UNSIGNED_INT_VEC3_EXT                                        0x8DC7
-#define GL_UNSIGNED_INT_VEC4                                            0x8DC8
-#define GL_UNSIGNED_INT_VEC4_EXT                                        0x8DC8
-#define GL_INT_SAMPLER_1D                                               0x8DC9
-#define GL_INT_SAMPLER_1D_EXT                                           0x8DC9
-#define GL_INT_SAMPLER_2D                                               0x8DCA
-#define GL_INT_SAMPLER_2D_EXT                                           0x8DCA
-#define GL_INT_SAMPLER_3D                                               0x8DCB
-#define GL_INT_SAMPLER_3D_EXT                                           0x8DCB
-#define GL_INT_SAMPLER_CUBE                                             0x8DCC
-#define GL_INT_SAMPLER_CUBE_EXT                                         0x8DCC
-#define GL_INT_SAMPLER_2D_RECT                                          0x8DCD
-#define GL_INT_SAMPLER_2D_RECT_EXT                                      0x8DCD
-#define GL_INT_SAMPLER_1D_ARRAY                                         0x8DCE
-#define GL_INT_SAMPLER_1D_ARRAY_EXT                                     0x8DCE
-#define GL_INT_SAMPLER_2D_ARRAY                                         0x8DCF
-#define GL_INT_SAMPLER_2D_ARRAY_EXT                                     0x8DCF
-#define GL_INT_SAMPLER_BUFFER                                           0x8DD0
-#define GL_INT_SAMPLER_BUFFER_EXT                                       0x8DD0
-#define GL_INT_SAMPLER_BUFFER_OES                                       0x8DD0
-#define GL_UNSIGNED_INT_SAMPLER_1D                                      0x8DD1
-#define GL_UNSIGNED_INT_SAMPLER_1D_EXT                                  0x8DD1
-#define GL_UNSIGNED_INT_SAMPLER_2D                                      0x8DD2
-#define GL_UNSIGNED_INT_SAMPLER_2D_EXT                                  0x8DD2
-#define GL_UNSIGNED_INT_SAMPLER_3D                                      0x8DD3
-#define GL_UNSIGNED_INT_SAMPLER_3D_EXT                                  0x8DD3
-#define GL_UNSIGNED_INT_SAMPLER_CUBE                                    0x8DD4
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT                                0x8DD4
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT                                 0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT                             0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY                                0x8DD6
-#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT                            0x8DD6
-#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                                0x8DD7
-#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT                            0x8DD7
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER                                  0x8DD8
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT                              0x8DD8
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_OES                              0x8DD8
-#define GL_GEOMETRY_SHADER                                              0x8DD9
-#define GL_GEOMETRY_SHADER_ARB                                          0x8DD9
-#define GL_GEOMETRY_SHADER_EXT                                          0x8DD9
-#define GL_GEOMETRY_SHADER_OES                                          0x8DD9
-#define GL_GEOMETRY_VERTICES_OUT_ARB                                    0x8DDA
-#define GL_GEOMETRY_VERTICES_OUT_EXT                                    0x8DDA
-#define GL_GEOMETRY_INPUT_TYPE_ARB                                      0x8DDB
-#define GL_GEOMETRY_INPUT_TYPE_EXT                                      0x8DDB
-#define GL_GEOMETRY_OUTPUT_TYPE_ARB                                     0x8DDC
-#define GL_GEOMETRY_OUTPUT_TYPE_EXT                                     0x8DDC
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB                          0x8DDD
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT                          0x8DDD
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB                            0x8DDE
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT                            0x8DDE
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS                              0x8DDF
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB                          0x8DDF
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT                          0x8DDF
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES                          0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES                                 0x8DE0
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB                             0x8DE0
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT                             0x8DE0
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES                             0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS                         0x8DE1
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB                     0x8DE1
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT                     0x8DE1
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES                     0x8DE1
-#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT                             0x8DE2
-#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT                           0x8DE3
-#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT                           0x8DE4
-#define GL_ACTIVE_SUBROUTINES                                           0x8DE5
-#define GL_ACTIVE_SUBROUTINE_UNIFORMS                                   0x8DE6
-#define GL_MAX_SUBROUTINES                                              0x8DE7
-#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS                             0x8DE8
-#define GL_NAMED_STRING_LENGTH_ARB                                      0x8DE9
-#define GL_NAMED_STRING_TYPE_ARB                                        0x8DEA
-#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT                                0x8DED
-#define GL_UNIFORM_BUFFER_EXT                                           0x8DEE
-#define GL_UNIFORM_BUFFER_BINDING_EXT                                   0x8DEF
-#define GL_LOW_FLOAT                                                    0x8DF0
-#define GL_MEDIUM_FLOAT                                                 0x8DF1
-#define GL_HIGH_FLOAT                                                   0x8DF2
-#define GL_LOW_INT                                                      0x8DF3
-#define GL_MEDIUM_INT                                                   0x8DF4
-#define GL_HIGH_INT                                                     0x8DF5
-#define GL_UNSIGNED_INT_10_10_10_2_OES                                  0x8DF6
-#define GL_INT_10_10_10_2_OES                                           0x8DF7
-#define GL_SHADER_BINARY_FORMATS                                        0x8DF8
-#define GL_NUM_SHADER_BINARY_FORMATS                                    0x8DF9
-#define GL_SHADER_COMPILER                                              0x8DFA
-#define GL_MAX_VERTEX_UNIFORM_VECTORS                                   0x8DFB
-#define GL_MAX_VARYING_VECTORS                                          0x8DFC
-#define GL_MAX_FRAGMENT_UNIFORM_VECTORS                                 0x8DFD
-#define GL_RENDERBUFFER_COLOR_SAMPLES_NV                                0x8E10
-#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV                            0x8E11
-#define GL_MULTISAMPLE_COVERAGE_MODES_NV                                0x8E12
-#define GL_QUERY_WAIT                                                   0x8E13
-#define GL_QUERY_WAIT_NV                                                0x8E13
-#define GL_QUERY_NO_WAIT                                                0x8E14
-#define GL_QUERY_NO_WAIT_NV                                             0x8E14
-#define GL_QUERY_BY_REGION_WAIT                                         0x8E15
-#define GL_QUERY_BY_REGION_WAIT_NV                                      0x8E15
-#define GL_QUERY_BY_REGION_NO_WAIT                                      0x8E16
-#define GL_QUERY_BY_REGION_NO_WAIT_NV                                   0x8E16
-#define GL_QUERY_WAIT_INVERTED                                          0x8E17
-#define GL_QUERY_NO_WAIT_INVERTED                                       0x8E18
-#define GL_QUERY_BY_REGION_WAIT_INVERTED                                0x8E19
-#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED                             0x8E1A
-#define GL_POLYGON_OFFSET_CLAMP_EXT                                     0x8E1B
-#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS                 0x8E1E
-#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT             0x8E1E
-#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES             0x8E1E
-#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS              0x8E1F
-#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT          0x8E1F
-#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES          0x8E1F
-#define GL_COLOR_SAMPLES_NV                                             0x8E20
-#define GL_TRANSFORM_FEEDBACK                                           0x8E22
-#define GL_TRANSFORM_FEEDBACK_NV                                        0x8E22
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED                             0x8E23
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV                          0x8E23
-#define GL_TRANSFORM_FEEDBACK_PAUSED                                    0x8E23
-#define GL_TRANSFORM_FEEDBACK_ACTIVE                                    0x8E24
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE                             0x8E24
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV                          0x8E24
-#define GL_TRANSFORM_FEEDBACK_BINDING                                   0x8E25
-#define GL_TRANSFORM_FEEDBACK_BINDING_NV                                0x8E25
-#define GL_FRAME_NV                                                     0x8E26
-#define GL_FIELDS_NV                                                    0x8E27
-#define GL_CURRENT_TIME_NV                                              0x8E28
-#define GL_TIMESTAMP                                                    0x8E28
-#define GL_TIMESTAMP_EXT                                                0x8E28
-#define GL_NUM_FILL_STREAMS_NV                                          0x8E29
-#define GL_PRESENT_TIME_NV                                              0x8E2A
-#define GL_PRESENT_DURATION_NV                                          0x8E2B
-#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                               0x8E2C
-#define GL_PROGRAM_MATRIX_EXT                                           0x8E2D
-#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT                                 0x8E2E
-#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT                               0x8E2F
-#define GL_TEXTURE_SWIZZLE_R                                            0x8E42
-#define GL_TEXTURE_SWIZZLE_R_EXT                                        0x8E42
-#define GL_TEXTURE_SWIZZLE_G                                            0x8E43
-#define GL_TEXTURE_SWIZZLE_G_EXT                                        0x8E43
-#define GL_TEXTURE_SWIZZLE_B                                            0x8E44
-#define GL_TEXTURE_SWIZZLE_B_EXT                                        0x8E44
-#define GL_TEXTURE_SWIZZLE_A                                            0x8E45
-#define GL_TEXTURE_SWIZZLE_A_EXT                                        0x8E45
-#define GL_TEXTURE_SWIZZLE_RGBA                                         0x8E46
-#define GL_TEXTURE_SWIZZLE_RGBA_EXT                                     0x8E46
-#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS                          0x8E47
-#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH                                 0x8E48
-#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH                         0x8E49
-#define GL_NUM_COMPATIBLE_SUBROUTINES                                   0x8E4A
-#define GL_COMPATIBLE_SUBROUTINES                                       0x8E4B
-#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION                     0x8E4C
-#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT                 0x8E4C
-#define GL_FIRST_VERTEX_CONVENTION                                      0x8E4D
-#define GL_FIRST_VERTEX_CONVENTION_EXT                                  0x8E4D
-#define GL_FIRST_VERTEX_CONVENTION_OES                                  0x8E4D
-#define GL_LAST_VERTEX_CONVENTION                                       0x8E4E
-#define GL_LAST_VERTEX_CONVENTION_EXT                                   0x8E4E
-#define GL_LAST_VERTEX_CONVENTION_OES                                   0x8E4E
-#define GL_PROVOKING_VERTEX                                             0x8E4F
-#define GL_PROVOKING_VERTEX_EXT                                         0x8E4F
-#define GL_SAMPLE_LOCATION_NV                                           0x8E50
-#define GL_SAMPLE_POSITION                                              0x8E50
-#define GL_SAMPLE_POSITION_NV                                           0x8E50
-#define GL_SAMPLE_MASK                                                  0x8E51
-#define GL_SAMPLE_MASK_NV                                               0x8E51
-#define GL_SAMPLE_MASK_VALUE                                            0x8E52
-#define GL_SAMPLE_MASK_VALUE_NV                                         0x8E52
-#define GL_TEXTURE_BINDING_RENDERBUFFER_NV                              0x8E53
-#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV                   0x8E54
-#define GL_TEXTURE_RENDERBUFFER_NV                                      0x8E55
-#define GL_SAMPLER_RENDERBUFFER_NV                                      0x8E56
-#define GL_INT_SAMPLER_RENDERBUFFER_NV                                  0x8E57
-#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV                         0x8E58
-#define GL_MAX_SAMPLE_MASK_WORDS                                        0x8E59
-#define GL_MAX_SAMPLE_MASK_WORDS_NV                                     0x8E59
-#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV                          0x8E5A
-#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS                              0x8E5A
-#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT                          0x8E5A
-#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES                          0x8E5A
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET                            0x8E5B
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV                         0x8E5B
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES                        0x8E5B
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET                            0x8E5C
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV                         0x8E5C
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES                        0x8E5C
-#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS                           0x8E5D
-#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES                       0x8E5D
-#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV                0x8E5D
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET                            0x8E5E
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB                        0x8E5E
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV                         0x8E5E
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET                            0x8E5F
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB                        0x8E5F
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV                         0x8E5F
-#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS                               0x8E70
-#define GL_MAX_VERTEX_STREAMS                                           0x8E71
-#define GL_PATCH_VERTICES                                               0x8E72
-#define GL_PATCH_VERTICES_EXT                                           0x8E72
-#define GL_PATCH_VERTICES_OES                                           0x8E72
-#define GL_PATCH_DEFAULT_INNER_LEVEL                                    0x8E73
-#define GL_PATCH_DEFAULT_INNER_LEVEL_EXT                                0x8E73
-#define GL_PATCH_DEFAULT_OUTER_LEVEL                                    0x8E74
-#define GL_PATCH_DEFAULT_OUTER_LEVEL_EXT                                0x8E74
-#define GL_TESS_CONTROL_OUTPUT_VERTICES                                 0x8E75
-#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT                             0x8E75
-#define GL_TESS_CONTROL_OUTPUT_VERTICES_OES                             0x8E75
-#define GL_TESS_GEN_MODE                                                0x8E76
-#define GL_TESS_GEN_MODE_EXT                                            0x8E76
-#define GL_TESS_GEN_MODE_OES                                            0x8E76
-#define GL_TESS_GEN_SPACING                                             0x8E77
-#define GL_TESS_GEN_SPACING_EXT                                         0x8E77
-#define GL_TESS_GEN_SPACING_OES                                         0x8E77
-#define GL_TESS_GEN_VERTEX_ORDER                                        0x8E78
-#define GL_TESS_GEN_VERTEX_ORDER_EXT                                    0x8E78
-#define GL_TESS_GEN_VERTEX_ORDER_OES                                    0x8E78
-#define GL_TESS_GEN_POINT_MODE                                          0x8E79
-#define GL_TESS_GEN_POINT_MODE_EXT                                      0x8E79
-#define GL_TESS_GEN_POINT_MODE_OES                                      0x8E79
-#define GL_ISOLINES                                                     0x8E7A
-#define GL_ISOLINES_EXT                                                 0x8E7A
-#define GL_ISOLINES_OES                                                 0x8E7A
-#define GL_FRACTIONAL_ODD                                               0x8E7B
-#define GL_FRACTIONAL_ODD_EXT                                           0x8E7B
-#define GL_FRACTIONAL_ODD_OES                                           0x8E7B
-#define GL_FRACTIONAL_EVEN                                              0x8E7C
-#define GL_FRACTIONAL_EVEN_EXT                                          0x8E7C
-#define GL_FRACTIONAL_EVEN_OES                                          0x8E7C
-#define GL_MAX_PATCH_VERTICES                                           0x8E7D
-#define GL_MAX_PATCH_VERTICES_EXT                                       0x8E7D
-#define GL_MAX_PATCH_VERTICES_OES                                       0x8E7D
-#define GL_MAX_TESS_GEN_LEVEL                                           0x8E7E
-#define GL_MAX_TESS_GEN_LEVEL_EXT                                       0x8E7E
-#define GL_MAX_TESS_GEN_LEVEL_OES                                       0x8E7E
-#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS                          0x8E7F
-#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT                      0x8E7F
-#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES                      0x8E7F
-#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS                       0x8E80
-#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT                   0x8E80
-#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES                   0x8E80
-#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS                         0x8E81
-#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT                     0x8E81
-#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES                     0x8E81
-#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS                      0x8E82
-#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT                  0x8E82
-#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES                  0x8E82
-#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS                           0x8E83
-#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT                       0x8E83
-#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES                       0x8E83
-#define GL_MAX_TESS_PATCH_COMPONENTS                                    0x8E84
-#define GL_MAX_TESS_PATCH_COMPONENTS_EXT                                0x8E84
-#define GL_MAX_TESS_PATCH_COMPONENTS_OES                                0x8E84
-#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS                     0x8E85
-#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT                 0x8E85
-#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES                 0x8E85
-#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS                        0x8E86
-#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT                    0x8E86
-#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES                    0x8E86
-#define GL_TESS_EVALUATION_SHADER                                       0x8E87
-#define GL_TESS_EVALUATION_SHADER_EXT                                   0x8E87
-#define GL_TESS_EVALUATION_SHADER_OES                                   0x8E87
-#define GL_TESS_CONTROL_SHADER                                          0x8E88
-#define GL_TESS_CONTROL_SHADER_EXT                                      0x8E88
-#define GL_TESS_CONTROL_SHADER_OES                                      0x8E88
-#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS                              0x8E89
-#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT                          0x8E89
-#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES                          0x8E89
-#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS                           0x8E8A
-#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT                       0x8E8A
-#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES                       0x8E8A
-#define GL_COMPRESSED_RGBA_BPTC_UNORM                                   0x8E8C
-#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB                               0x8E8C
-#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM                             0x8E8D
-#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB                         0x8E8D
-#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT                             0x8E8E
-#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB                         0x8E8E
-#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT                           0x8E8F
-#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB                       0x8E8F
-#define GL_COVERAGE_COMPONENT_NV                                        0x8ED0
-#define GL_COVERAGE_COMPONENT4_NV                                       0x8ED1
-#define GL_COVERAGE_ATTACHMENT_NV                                       0x8ED2
-#define GL_COVERAGE_BUFFERS_NV                                          0x8ED3
-#define GL_COVERAGE_SAMPLES_NV                                          0x8ED4
-#define GL_COVERAGE_ALL_FRAGMENTS_NV                                    0x8ED5
-#define GL_COVERAGE_EDGE_FRAGMENTS_NV                                   0x8ED6
-#define GL_COVERAGE_AUTOMATIC_NV                                        0x8ED7
-#define GL_BUFFER_GPU_ADDRESS_NV                                        0x8F1D
-#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV                               0x8F1E
-#define GL_ELEMENT_ARRAY_UNIFIED_NV                                     0x8F1F
-#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV                               0x8F20
-#define GL_VERTEX_ARRAY_ADDRESS_NV                                      0x8F21
-#define GL_NORMAL_ARRAY_ADDRESS_NV                                      0x8F22
-#define GL_COLOR_ARRAY_ADDRESS_NV                                       0x8F23
-#define GL_INDEX_ARRAY_ADDRESS_NV                                       0x8F24
-#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV                               0x8F25
-#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV                                   0x8F26
-#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV                             0x8F27
-#define GL_FOG_COORD_ARRAY_ADDRESS_NV                                   0x8F28
-#define GL_ELEMENT_ARRAY_ADDRESS_NV                                     0x8F29
-#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV                                0x8F2A
-#define GL_VERTEX_ARRAY_LENGTH_NV                                       0x8F2B
-#define GL_NORMAL_ARRAY_LENGTH_NV                                       0x8F2C
-#define GL_COLOR_ARRAY_LENGTH_NV                                        0x8F2D
-#define GL_INDEX_ARRAY_LENGTH_NV                                        0x8F2E
-#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV                                0x8F2F
-#define GL_EDGE_FLAG_ARRAY_LENGTH_NV                                    0x8F30
-#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV                              0x8F31
-#define GL_FOG_COORD_ARRAY_LENGTH_NV                                    0x8F32
-#define GL_ELEMENT_ARRAY_LENGTH_NV                                      0x8F33
-#define GL_GPU_ADDRESS_NV                                               0x8F34
-#define GL_MAX_SHADER_BUFFER_ADDRESS_NV                                 0x8F35
-#define GL_COPY_READ_BUFFER                                             0x8F36
-#define GL_COPY_READ_BUFFER_BINDING                                     0x8F36
-#define GL_COPY_READ_BUFFER_NV                                          0x8F36
-#define GL_COPY_WRITE_BUFFER                                            0x8F37
-#define GL_COPY_WRITE_BUFFER_BINDING                                    0x8F37
-#define GL_COPY_WRITE_BUFFER_NV                                         0x8F37
-#define GL_MAX_IMAGE_UNITS                                              0x8F38
-#define GL_MAX_IMAGE_UNITS_EXT                                          0x8F38
-#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS                0x8F39
-#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT            0x8F39
-#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES                         0x8F39
-#define GL_IMAGE_BINDING_NAME                                           0x8F3A
-#define GL_IMAGE_BINDING_NAME_EXT                                       0x8F3A
-#define GL_IMAGE_BINDING_LEVEL                                          0x8F3B
-#define GL_IMAGE_BINDING_LEVEL_EXT                                      0x8F3B
-#define GL_IMAGE_BINDING_LAYERED                                        0x8F3C
-#define GL_IMAGE_BINDING_LAYERED_EXT                                    0x8F3C
-#define GL_IMAGE_BINDING_LAYER                                          0x8F3D
-#define GL_IMAGE_BINDING_LAYER_EXT                                      0x8F3D
-#define GL_IMAGE_BINDING_ACCESS                                         0x8F3E
-#define GL_IMAGE_BINDING_ACCESS_EXT                                     0x8F3E
-#define GL_DRAW_INDIRECT_BUFFER                                         0x8F3F
-#define GL_DRAW_INDIRECT_UNIFIED_NV                                     0x8F40
-#define GL_DRAW_INDIRECT_ADDRESS_NV                                     0x8F41
-#define GL_DRAW_INDIRECT_LENGTH_NV                                      0x8F42
-#define GL_DRAW_INDIRECT_BUFFER_BINDING                                 0x8F43
-#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV                         0x8F44
-#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV                                0x8F45
-#define GL_DOUBLE_MAT2                                                  0x8F46
-#define GL_DOUBLE_MAT2_EXT                                              0x8F46
-#define GL_DOUBLE_MAT3                                                  0x8F47
-#define GL_DOUBLE_MAT3_EXT                                              0x8F47
-#define GL_DOUBLE_MAT4                                                  0x8F48
-#define GL_DOUBLE_MAT4_EXT                                              0x8F48
-#define GL_DOUBLE_MAT2x3                                                0x8F49
-#define GL_DOUBLE_MAT2x3_EXT                                            0x8F49
-#define GL_DOUBLE_MAT2x4                                                0x8F4A
-#define GL_DOUBLE_MAT2x4_EXT                                            0x8F4A
-#define GL_DOUBLE_MAT3x2                                                0x8F4B
-#define GL_DOUBLE_MAT3x2_EXT                                            0x8F4B
-#define GL_DOUBLE_MAT3x4                                                0x8F4C
-#define GL_DOUBLE_MAT3x4_EXT                                            0x8F4C
-#define GL_DOUBLE_MAT4x2                                                0x8F4D
-#define GL_DOUBLE_MAT4x2_EXT                                            0x8F4D
-#define GL_DOUBLE_MAT4x3                                                0x8F4E
-#define GL_DOUBLE_MAT4x3_EXT                                            0x8F4E
-#define GL_VERTEX_BINDING_BUFFER                                        0x8F4F
-#define GL_MALI_SHADER_BINARY_ARM                                       0x8F60
-#define GL_MALI_PROGRAM_BINARY_ARM                                      0x8F61
-#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT                 0x8F63
-#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT                               0x8F64
-#define GL_FETCH_PER_SAMPLE_ARM                                         0x8F65
-#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM                    0x8F66
-#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT                      0x8F67
-#define GL_RED_SNORM                                                    0x8F90
-#define GL_RG_SNORM                                                     0x8F91
-#define GL_RGB_SNORM                                                    0x8F92
-#define GL_RGBA_SNORM                                                   0x8F93
-#define GL_R8_SNORM                                                     0x8F94
-#define GL_RG8_SNORM                                                    0x8F95
-#define GL_RGB8_SNORM                                                   0x8F96
-#define GL_RGBA8_SNORM                                                  0x8F97
-#define GL_R16_SNORM                                                    0x8F98
-#define GL_R16_SNORM_EXT                                                0x8F98
-#define GL_RG16_SNORM                                                   0x8F99
-#define GL_RG16_SNORM_EXT                                               0x8F99
-#define GL_RGB16_SNORM                                                  0x8F9A
-#define GL_RGB16_SNORM_EXT                                              0x8F9A
-#define GL_RGBA16_SNORM                                                 0x8F9B
-#define GL_RGBA16_SNORM_EXT                                             0x8F9B
-#define GL_SIGNED_NORMALIZED                                            0x8F9C
-#define GL_PRIMITIVE_RESTART                                            0x8F9D
-#define GL_PRIMITIVE_RESTART_INDEX                                      0x8F9E
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB                    0x8F9F
-#define GL_PERFMON_GLOBAL_MODE_QCOM                                     0x8FA0
-#define GL_BINNING_CONTROL_HINT_QCOM                                    0x8FB0
-#define GL_CPU_OPTIMIZED_QCOM                                           0x8FB1
-#define GL_GPU_OPTIMIZED_QCOM                                           0x8FB2
-#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                            0x8FB3
-#define GL_GPU_DISJOINT_EXT                                             0x8FBB
-#define GL_SR8_EXT                                                      0x8FBD
-#define GL_SRG8_EXT                                                     0x8FBE
-#define GL_SHADER_BINARY_VIV                                            0x8FC4
-#define GL_INT8_NV                                                      0x8FE0
-#define GL_INT8_VEC2_NV                                                 0x8FE1
-#define GL_INT8_VEC3_NV                                                 0x8FE2
-#define GL_INT8_VEC4_NV                                                 0x8FE3
-#define GL_INT16_NV                                                     0x8FE4
-#define GL_INT16_VEC2_NV                                                0x8FE5
-#define GL_INT16_VEC3_NV                                                0x8FE6
-#define GL_INT16_VEC4_NV                                                0x8FE7
-#define GL_INT64_VEC2_NV                                                0x8FE9
-#define GL_INT64_VEC3_NV                                                0x8FEA
-#define GL_INT64_VEC4_NV                                                0x8FEB
-#define GL_UNSIGNED_INT8_NV                                             0x8FEC
-#define GL_UNSIGNED_INT8_VEC2_NV                                        0x8FED
-#define GL_UNSIGNED_INT8_VEC3_NV                                        0x8FEE
-#define GL_UNSIGNED_INT8_VEC4_NV                                        0x8FEF
-#define GL_UNSIGNED_INT16_NV                                            0x8FF0
-#define GL_UNSIGNED_INT16_VEC2_NV                                       0x8FF1
-#define GL_UNSIGNED_INT16_VEC3_NV                                       0x8FF2
-#define GL_UNSIGNED_INT16_VEC4_NV                                       0x8FF3
-#define GL_UNSIGNED_INT64_VEC2_NV                                       0x8FF5
-#define GL_UNSIGNED_INT64_VEC3_NV                                       0x8FF6
-#define GL_UNSIGNED_INT64_VEC4_NV                                       0x8FF7
-#define GL_FLOAT16_NV                                                   0x8FF8
-#define GL_FLOAT16_VEC2_NV                                              0x8FF9
-#define GL_FLOAT16_VEC3_NV                                              0x8FFA
-#define GL_FLOAT16_VEC4_NV                                              0x8FFB
-#define GL_DOUBLE_VEC2                                                  0x8FFC
-#define GL_DOUBLE_VEC2_EXT                                              0x8FFC
-#define GL_DOUBLE_VEC3                                                  0x8FFD
-#define GL_DOUBLE_VEC3_EXT                                              0x8FFD
-#define GL_DOUBLE_VEC4                                                  0x8FFE
-#define GL_DOUBLE_VEC4_EXT                                              0x8FFE
-#define GL_SAMPLER_BUFFER_AMD                                           0x9001
-#define GL_INT_SAMPLER_BUFFER_AMD                                       0x9002
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD                              0x9003
-#define GL_TESSELLATION_MODE_AMD                                        0x9004
-#define GL_TESSELLATION_FACTOR_AMD                                      0x9005
-#define GL_DISCRETE_AMD                                                 0x9006
-#define GL_CONTINUOUS_AMD                                               0x9007
-#define GL_TEXTURE_CUBE_MAP_ARRAY                                       0x9009
-#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB                                   0x9009
-#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT                                   0x9009
-#define GL_TEXTURE_CUBE_MAP_ARRAY_OES                                   0x9009
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY                               0x900A
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB                           0x900A
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT                           0x900A
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES                           0x900A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY                                 0x900B
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB                             0x900B
-#define GL_SAMPLER_CUBE_MAP_ARRAY                                       0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB                                   0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT                                   0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_OES                                   0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW                                0x900D
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB                            0x900D
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT                            0x900D
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES                            0x900D
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY                                   0x900E
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB                               0x900E
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT                               0x900E
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES                               0x900E
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY                          0x900F
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB                      0x900F
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT                      0x900F
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES                      0x900F
-#define GL_ALPHA_SNORM                                                  0x9010
-#define GL_LUMINANCE_SNORM                                              0x9011
-#define GL_LUMINANCE_ALPHA_SNORM                                        0x9012
-#define GL_INTENSITY_SNORM                                              0x9013
-#define GL_ALPHA8_SNORM                                                 0x9014
-#define GL_LUMINANCE8_SNORM                                             0x9015
-#define GL_LUMINANCE8_ALPHA8_SNORM                                      0x9016
-#define GL_INTENSITY8_SNORM                                             0x9017
-#define GL_ALPHA16_SNORM                                                0x9018
-#define GL_LUMINANCE16_SNORM                                            0x9019
-#define GL_LUMINANCE16_ALPHA16_SNORM                                    0x901A
-#define GL_INTENSITY16_SNORM                                            0x901B
-#define GL_FACTOR_MIN_AMD                                               0x901C
-#define GL_FACTOR_MAX_AMD                                               0x901D
-#define GL_DEPTH_CLAMP_NEAR_AMD                                         0x901E
-#define GL_DEPTH_CLAMP_FAR_AMD                                          0x901F
-#define GL_VIDEO_BUFFER_NV                                              0x9020
-#define GL_VIDEO_BUFFER_BINDING_NV                                      0x9021
-#define GL_FIELD_UPPER_NV                                               0x9022
-#define GL_FIELD_LOWER_NV                                               0x9023
-#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV                                 0x9024
-#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV                          0x9025
-#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV                            0x9026
-#define GL_LAST_VIDEO_CAPTURE_STATUS_NV                                 0x9027
-#define GL_VIDEO_BUFFER_PITCH_NV                                        0x9028
-#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV                             0x9029
-#define GL_VIDEO_COLOR_CONVERSION_MAX_NV                                0x902A
-#define GL_VIDEO_COLOR_CONVERSION_MIN_NV                                0x902B
-#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV                             0x902C
-#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV                              0x902D
-#define GL_PARTIAL_SUCCESS_NV                                           0x902E
-#define GL_SUCCESS_NV                                                   0x902F
-#define GL_FAILURE_NV                                                   0x9030
-#define GL_YCBYCR8_422_NV                                               0x9031
-#define GL_YCBAYCR8A_4224_NV                                            0x9032
-#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV                                0x9033
-#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV                     0x9034
-#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV                                0x9035
-#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV                     0x9036
-#define GL_Z4Y12Z4CB12Z4CR12_444_NV                                     0x9037
-#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV                                 0x9038
-#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV                                0x9039
-#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV                          0x903A
-#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV                          0x903B
-#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV                              0x903C
-#define GL_TEXTURE_COVERAGE_SAMPLES_NV                                  0x9045
-#define GL_TEXTURE_COLOR_SAMPLES_NV                                     0x9046
-#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX                         0x9047
-#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX                   0x9048
-#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX                 0x9049
-#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX                           0x904A
-#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX                           0x904B
-#define GL_IMAGE_1D                                                     0x904C
-#define GL_IMAGE_1D_EXT                                                 0x904C
-#define GL_IMAGE_2D                                                     0x904D
-#define GL_IMAGE_2D_EXT                                                 0x904D
-#define GL_IMAGE_3D                                                     0x904E
-#define GL_IMAGE_3D_EXT                                                 0x904E
-#define GL_IMAGE_2D_RECT                                                0x904F
-#define GL_IMAGE_2D_RECT_EXT                                            0x904F
-#define GL_IMAGE_CUBE                                                   0x9050
-#define GL_IMAGE_CUBE_EXT                                               0x9050
-#define GL_IMAGE_BUFFER                                                 0x9051
-#define GL_IMAGE_BUFFER_EXT                                             0x9051
-#define GL_IMAGE_BUFFER_OES                                             0x9051
-#define GL_IMAGE_1D_ARRAY                                               0x9052
-#define GL_IMAGE_1D_ARRAY_EXT                                           0x9052
-#define GL_IMAGE_2D_ARRAY                                               0x9053
-#define GL_IMAGE_2D_ARRAY_EXT                                           0x9053
-#define GL_IMAGE_CUBE_MAP_ARRAY                                         0x9054
-#define GL_IMAGE_CUBE_MAP_ARRAY_EXT                                     0x9054
-#define GL_IMAGE_CUBE_MAP_ARRAY_OES                                     0x9054
-#define GL_IMAGE_2D_MULTISAMPLE                                         0x9055
-#define GL_IMAGE_2D_MULTISAMPLE_EXT                                     0x9055
-#define GL_IMAGE_2D_MULTISAMPLE_ARRAY                                   0x9056
-#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                               0x9056
-#define GL_INT_IMAGE_1D                                                 0x9057
-#define GL_INT_IMAGE_1D_EXT                                             0x9057
-#define GL_INT_IMAGE_2D                                                 0x9058
-#define GL_INT_IMAGE_2D_EXT                                             0x9058
-#define GL_INT_IMAGE_3D                                                 0x9059
-#define GL_INT_IMAGE_3D_EXT                                             0x9059
-#define GL_INT_IMAGE_2D_RECT                                            0x905A
-#define GL_INT_IMAGE_2D_RECT_EXT                                        0x905A
-#define GL_INT_IMAGE_CUBE                                               0x905B
-#define GL_INT_IMAGE_CUBE_EXT                                           0x905B
-#define GL_INT_IMAGE_BUFFER                                             0x905C
-#define GL_INT_IMAGE_BUFFER_EXT                                         0x905C
-#define GL_INT_IMAGE_BUFFER_OES                                         0x905C
-#define GL_INT_IMAGE_1D_ARRAY                                           0x905D
-#define GL_INT_IMAGE_1D_ARRAY_EXT                                       0x905D
-#define GL_INT_IMAGE_2D_ARRAY                                           0x905E
-#define GL_INT_IMAGE_2D_ARRAY_EXT                                       0x905E
-#define GL_INT_IMAGE_CUBE_MAP_ARRAY                                     0x905F
-#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT                                 0x905F
-#define GL_INT_IMAGE_CUBE_MAP_ARRAY_OES                                 0x905F
-#define GL_INT_IMAGE_2D_MULTISAMPLE                                     0x9060
-#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT                                 0x9060
-#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY                               0x9061
-#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                           0x9061
-#define GL_UNSIGNED_INT_IMAGE_1D                                        0x9062
-#define GL_UNSIGNED_INT_IMAGE_1D_EXT                                    0x9062
-#define GL_UNSIGNED_INT_IMAGE_2D                                        0x9063
-#define GL_UNSIGNED_INT_IMAGE_2D_EXT                                    0x9063
-#define GL_UNSIGNED_INT_IMAGE_3D                                        0x9064
-#define GL_UNSIGNED_INT_IMAGE_3D_EXT                                    0x9064
-#define GL_UNSIGNED_INT_IMAGE_2D_RECT                                   0x9065
-#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT                               0x9065
-#define GL_UNSIGNED_INT_IMAGE_CUBE                                      0x9066
-#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT                                  0x9066
-#define GL_UNSIGNED_INT_IMAGE_BUFFER                                    0x9067
-#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT                                0x9067
-#define GL_UNSIGNED_INT_IMAGE_BUFFER_OES                                0x9067
-#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY                                  0x9068
-#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT                              0x9068
-#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY                                  0x9069
-#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT                              0x9069
-#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY                            0x906A
-#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT                        0x906A
-#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES                        0x906A
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE                            0x906B
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT                        0x906B
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY                      0x906C
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                  0x906C
-#define GL_MAX_IMAGE_SAMPLES                                            0x906D
-#define GL_MAX_IMAGE_SAMPLES_EXT                                        0x906D
-#define GL_IMAGE_BINDING_FORMAT                                         0x906E
-#define GL_IMAGE_BINDING_FORMAT_EXT                                     0x906E
-#define GL_RGB10_A2UI                                                   0x906F
-#define GL_PATH_FORMAT_SVG_NV                                           0x9070
-#define GL_PATH_FORMAT_PS_NV                                            0x9071
-#define GL_STANDARD_FONT_NAME_NV                                        0x9072
-#define GL_SYSTEM_FONT_NAME_NV                                          0x9073
-#define GL_FILE_NAME_NV                                                 0x9074
-#define GL_PATH_STROKE_WIDTH_NV                                         0x9075
-#define GL_PATH_END_CAPS_NV                                             0x9076
-#define GL_PATH_INITIAL_END_CAP_NV                                      0x9077
-#define GL_PATH_TERMINAL_END_CAP_NV                                     0x9078
-#define GL_PATH_JOIN_STYLE_NV                                           0x9079
-#define GL_PATH_MITER_LIMIT_NV                                          0x907A
-#define GL_PATH_DASH_CAPS_NV                                            0x907B
-#define GL_PATH_INITIAL_DASH_CAP_NV                                     0x907C
-#define GL_PATH_TERMINAL_DASH_CAP_NV                                    0x907D
-#define GL_PATH_DASH_OFFSET_NV                                          0x907E
-#define GL_PATH_CLIENT_LENGTH_NV                                        0x907F
-#define GL_PATH_FILL_MODE_NV                                            0x9080
-#define GL_PATH_FILL_MASK_NV                                            0x9081
-#define GL_PATH_FILL_COVER_MODE_NV                                      0x9082
-#define GL_PATH_STROKE_COVER_MODE_NV                                    0x9083
-#define GL_PATH_STROKE_MASK_NV                                          0x9084
-#define GL_COUNT_UP_NV                                                  0x9088
-#define GL_COUNT_DOWN_NV                                                0x9089
-#define GL_PATH_OBJECT_BOUNDING_BOX_NV                                  0x908A
-#define GL_CONVEX_HULL_NV                                               0x908B
-#define GL_BOUNDING_BOX_NV                                              0x908D
-#define GL_TRANSLATE_X_NV                                               0x908E
-#define GL_TRANSLATE_Y_NV                                               0x908F
-#define GL_TRANSLATE_2D_NV                                              0x9090
-#define GL_TRANSLATE_3D_NV                                              0x9091
-#define GL_AFFINE_2D_NV                                                 0x9092
-#define GL_AFFINE_3D_NV                                                 0x9094
-#define GL_TRANSPOSE_AFFINE_2D_NV                                       0x9096
-#define GL_TRANSPOSE_AFFINE_3D_NV                                       0x9098
-#define GL_UTF8_NV                                                      0x909A
-#define GL_UTF16_NV                                                     0x909B
-#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV                            0x909C
-#define GL_PATH_COMMAND_COUNT_NV                                        0x909D
-#define GL_PATH_COORD_COUNT_NV                                          0x909E
-#define GL_PATH_DASH_ARRAY_COUNT_NV                                     0x909F
-#define GL_PATH_COMPUTED_LENGTH_NV                                      0x90A0
-#define GL_PATH_FILL_BOUNDING_BOX_NV                                    0x90A1
-#define GL_PATH_STROKE_BOUNDING_BOX_NV                                  0x90A2
-#define GL_SQUARE_NV                                                    0x90A3
-#define GL_ROUND_NV                                                     0x90A4
-#define GL_TRIANGULAR_NV                                                0x90A5
-#define GL_BEVEL_NV                                                     0x90A6
-#define GL_MITER_REVERT_NV                                              0x90A7
-#define GL_MITER_TRUNCATE_NV                                            0x90A8
-#define GL_SKIP_MISSING_GLYPH_NV                                        0x90A9
-#define GL_USE_MISSING_GLYPH_NV                                         0x90AA
-#define GL_PATH_ERROR_POSITION_NV                                       0x90AB
-#define GL_PATH_FOG_GEN_MODE_NV                                         0x90AC
-#define GL_ACCUM_ADJACENT_PAIRS_NV                                      0x90AD
-#define GL_ADJACENT_PAIRS_NV                                            0x90AE
-#define GL_FIRST_TO_REST_NV                                             0x90AF
-#define GL_PATH_GEN_MODE_NV                                             0x90B0
-#define GL_PATH_GEN_COEFF_NV                                            0x90B1
-#define GL_PATH_GEN_COLOR_FORMAT_NV                                     0x90B2
-#define GL_PATH_GEN_COMPONENTS_NV                                       0x90B3
-#define GL_PATH_DASH_OFFSET_RESET_NV                                    0x90B4
-#define GL_MOVE_TO_RESETS_NV                                            0x90B5
-#define GL_MOVE_TO_CONTINUES_NV                                         0x90B6
-#define GL_PATH_STENCIL_FUNC_NV                                         0x90B7
-#define GL_PATH_STENCIL_REF_NV                                          0x90B8
-#define GL_PATH_STENCIL_VALUE_MASK_NV                                   0x90B9
-#define GL_SCALED_RESOLVE_FASTEST_EXT                                   0x90BA
-#define GL_SCALED_RESOLVE_NICEST_EXT                                    0x90BB
-#define GL_MIN_MAP_BUFFER_ALIGNMENT                                     0x90BC
-#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV                          0x90BD
-#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV                           0x90BE
-#define GL_PATH_COVER_DEPTH_FUNC_NV                                     0x90BF
-#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE                              0x90C7
-#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE                           0x90C8
-#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS                          0x90C9
-#define GL_MAX_VERTEX_IMAGE_UNIFORMS                                    0x90CA
-#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS                              0x90CB
-#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT                          0x90CB
-#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES                          0x90CB
-#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS                           0x90CC
-#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT                       0x90CC
-#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES                       0x90CC
-#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS                                  0x90CD
-#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT                              0x90CD
-#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES                              0x90CD
-#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS                                  0x90CE
-#define GL_MAX_COMBINED_IMAGE_UNIFORMS                                  0x90CF
-#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV                          0x90D0
-#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV                                 0x90D1
-#define GL_SHADER_STORAGE_BUFFER                                        0x90D2
-#define GL_SHADER_STORAGE_BUFFER_BINDING                                0x90D3
-#define GL_SHADER_STORAGE_BUFFER_START                                  0x90D4
-#define GL_SHADER_STORAGE_BUFFER_SIZE                                   0x90D5
-#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS                             0x90D6
-#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS                           0x90D7
-#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT                       0x90D7
-#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES                       0x90D7
-#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS                       0x90D8
-#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT                   0x90D8
-#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES                   0x90D8
-#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS                    0x90D9
-#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT                0x90D9
-#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES                0x90D9
-#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS                           0x90DA
-#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS                            0x90DB
-#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS                           0x90DC
-#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS                           0x90DD
-#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE                                0x90DE
-#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT                       0x90DF
-#define GL_SYNC_X11_FENCE_EXT                                           0x90E1
-#define GL_DEPTH_STENCIL_TEXTURE_MODE                                   0x90EA
-#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB                      0x90EB
-#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS                           0x90EB
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER                   0x90EC
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER           0x90ED
-#define GL_DISPATCH_INDIRECT_BUFFER                                     0x90EE
-#define GL_DISPATCH_INDIRECT_BUFFER_BINDING                             0x90EF
-#define GL_COLOR_ATTACHMENT_EXT                                         0x90F0
-#define GL_MULTIVIEW_EXT                                                0x90F1
-#define GL_MAX_MULTIVIEW_BUFFERS_EXT                                    0x90F2
-#define GL_CONTEXT_ROBUST_ACCESS                                        0x90F3
-#define GL_CONTEXT_ROBUST_ACCESS_EXT                                    0x90F3
-#define GL_CONTEXT_ROBUST_ACCESS_KHR                                    0x90F3
-#define GL_COMPUTE_PROGRAM_NV                                           0x90FB
-#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV                          0x90FC
-#define GL_TEXTURE_2D_MULTISAMPLE                                       0x9100
-#define GL_PROXY_TEXTURE_2D_MULTISAMPLE                                 0x9101
-#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY                                 0x9102
-#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES                             0x9102
-#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY                           0x9103
-#define GL_TEXTURE_BINDING_2D_MULTISAMPLE                               0x9104
-#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY                         0x9105
-#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES                     0x9105
-#define GL_TEXTURE_SAMPLES                                              0x9106
-#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS                               0x9107
-#define GL_SAMPLER_2D_MULTISAMPLE                                       0x9108
-#define GL_INT_SAMPLER_2D_MULTISAMPLE                                   0x9109
-#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE                          0x910A
-#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY                                 0x910B
-#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                             0x910B
-#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY                             0x910C
-#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                         0x910C
-#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY                    0x910D
-#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                0x910D
-#define GL_MAX_COLOR_TEXTURE_SAMPLES                                    0x910E
-#define GL_MAX_DEPTH_TEXTURE_SAMPLES                                    0x910F
-#define GL_MAX_INTEGER_SAMPLES                                          0x9110
-#define GL_MAX_SERVER_WAIT_TIMEOUT                                      0x9111
-#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                                0x9111
-#define GL_OBJECT_TYPE                                                  0x9112
-#define GL_OBJECT_TYPE_APPLE                                            0x9112
-#define GL_SYNC_CONDITION                                               0x9113
-#define GL_SYNC_CONDITION_APPLE                                         0x9113
-#define GL_SYNC_STATUS                                                  0x9114
-#define GL_SYNC_STATUS_APPLE                                            0x9114
-#define GL_SYNC_FLAGS                                                   0x9115
-#define GL_SYNC_FLAGS_APPLE                                             0x9115
-#define GL_SYNC_FENCE                                                   0x9116
-#define GL_SYNC_FENCE_APPLE                                             0x9116
-#define GL_SYNC_GPU_COMMANDS_COMPLETE                                   0x9117
-#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                             0x9117
-#define GL_UNSIGNALED                                                   0x9118
-#define GL_UNSIGNALED_APPLE                                             0x9118
-#define GL_SIGNALED                                                     0x9119
-#define GL_SIGNALED_APPLE                                               0x9119
-#define GL_ALREADY_SIGNALED                                             0x911A
-#define GL_ALREADY_SIGNALED_APPLE                                       0x911A
-#define GL_TIMEOUT_EXPIRED                                              0x911B
-#define GL_TIMEOUT_EXPIRED_APPLE                                        0x911B
-#define GL_CONDITION_SATISFIED                                          0x911C
-#define GL_CONDITION_SATISFIED_APPLE                                    0x911C
-#define GL_WAIT_FAILED                                                  0x911D
-#define GL_WAIT_FAILED_APPLE                                            0x911D
-#define GL_BUFFER_ACCESS_FLAGS                                          0x911F
-#define GL_BUFFER_MAP_LENGTH                                            0x9120
-#define GL_BUFFER_MAP_OFFSET                                            0x9121
-#define GL_MAX_VERTEX_OUTPUT_COMPONENTS                                 0x9122
-#define GL_MAX_GEOMETRY_INPUT_COMPONENTS                                0x9123
-#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT                            0x9123
-#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES                            0x9123
-#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS                               0x9124
-#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT                           0x9124
-#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES                           0x9124
-#define GL_MAX_FRAGMENT_INPUT_COMPONENTS                                0x9125
-#define GL_CONTEXT_PROFILE_MASK                                         0x9126
-#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH                                0x9127
-#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT                               0x9128
-#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH                                0x9129
-#define GL_UNPACK_COMPRESSED_BLOCK_SIZE                                 0x912A
-#define GL_PACK_COMPRESSED_BLOCK_WIDTH                                  0x912B
-#define GL_PACK_COMPRESSED_BLOCK_HEIGHT                                 0x912C
-#define GL_PACK_COMPRESSED_BLOCK_DEPTH                                  0x912D
-#define GL_PACK_COMPRESSED_BLOCK_SIZE                                   0x912E
-#define GL_TEXTURE_IMMUTABLE_FORMAT                                     0x912F
-#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                                 0x912F
-#define GL_SGX_PROGRAM_BINARY_IMG                                       0x9130
-#define GL_RENDERBUFFER_SAMPLES_IMG                                     0x9133
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG                       0x9134
-#define GL_MAX_SAMPLES_IMG                                              0x9135
-#define GL_TEXTURE_SAMPLES_IMG                                          0x9136
-#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                             0x9137
-#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                             0x9138
-#define GL_MAX_DEBUG_MESSAGE_LENGTH                                     0x9143
-#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD                                 0x9143
-#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB                                 0x9143
-#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                                 0x9143
-#define GL_MAX_DEBUG_LOGGED_MESSAGES                                    0x9144
-#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD                                0x9144
-#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB                                0x9144
-#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                                0x9144
-#define GL_DEBUG_LOGGED_MESSAGES                                        0x9145
-#define GL_DEBUG_LOGGED_MESSAGES_AMD                                    0x9145
-#define GL_DEBUG_LOGGED_MESSAGES_ARB                                    0x9145
-#define GL_DEBUG_LOGGED_MESSAGES_KHR                                    0x9145
-#define GL_DEBUG_SEVERITY_HIGH                                          0x9146
-#define GL_DEBUG_SEVERITY_HIGH_AMD                                      0x9146
-#define GL_DEBUG_SEVERITY_HIGH_ARB                                      0x9146
-#define GL_DEBUG_SEVERITY_HIGH_KHR                                      0x9146
-#define GL_DEBUG_SEVERITY_MEDIUM                                        0x9147
-#define GL_DEBUG_SEVERITY_MEDIUM_AMD                                    0x9147
-#define GL_DEBUG_SEVERITY_MEDIUM_ARB                                    0x9147
-#define GL_DEBUG_SEVERITY_MEDIUM_KHR                                    0x9147
-#define GL_DEBUG_SEVERITY_LOW                                           0x9148
-#define GL_DEBUG_SEVERITY_LOW_AMD                                       0x9148
-#define GL_DEBUG_SEVERITY_LOW_ARB                                       0x9148
-#define GL_DEBUG_SEVERITY_LOW_KHR                                       0x9148
-#define GL_DEBUG_CATEGORY_API_ERROR_AMD                                 0x9149
-#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD                             0x914A
-#define GL_DEBUG_CATEGORY_DEPRECATION_AMD                               0x914B
-#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD                        0x914C
-#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD                               0x914D
-#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD                           0x914E
-#define GL_DEBUG_CATEGORY_APPLICATION_AMD                               0x914F
-#define GL_DEBUG_CATEGORY_OTHER_AMD                                     0x9150
-#define GL_BUFFER_OBJECT_EXT                                            0x9151
-#define GL_DATA_BUFFER_AMD                                              0x9151
-#define GL_PERFORMANCE_MONITOR_AMD                                      0x9152
-#define GL_QUERY_OBJECT_AMD                                             0x9153
-#define GL_QUERY_OBJECT_EXT                                             0x9153
-#define GL_VERTEX_ARRAY_OBJECT_AMD                                      0x9154
-#define GL_VERTEX_ARRAY_OBJECT_EXT                                      0x9154
-#define GL_SAMPLER_OBJECT_AMD                                           0x9155
-#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD                           0x9160
-#define GL_QUERY_BUFFER                                                 0x9192
-#define GL_QUERY_BUFFER_AMD                                             0x9192
-#define GL_QUERY_BUFFER_BINDING                                         0x9193
-#define GL_QUERY_BUFFER_BINDING_AMD                                     0x9193
-#define GL_QUERY_RESULT_NO_WAIT                                         0x9194
-#define GL_QUERY_RESULT_NO_WAIT_AMD                                     0x9194
-#define GL_VIRTUAL_PAGE_SIZE_X_AMD                                      0x9195
-#define GL_VIRTUAL_PAGE_SIZE_X_ARB                                      0x9195
-#define GL_VIRTUAL_PAGE_SIZE_X_EXT                                      0x9195
-#define GL_VIRTUAL_PAGE_SIZE_Y_AMD                                      0x9196
-#define GL_VIRTUAL_PAGE_SIZE_Y_ARB                                      0x9196
-#define GL_VIRTUAL_PAGE_SIZE_Y_EXT                                      0x9196
-#define GL_VIRTUAL_PAGE_SIZE_Z_AMD                                      0x9197
-#define GL_VIRTUAL_PAGE_SIZE_Z_ARB                                      0x9197
-#define GL_VIRTUAL_PAGE_SIZE_Z_EXT                                      0x9197
-#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD                                  0x9198
-#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB                                  0x9198
-#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT                                  0x9198
-#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD                               0x9199
-#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB                               0x9199
-#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT                               0x9199
-#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS                              0x919A
-#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB                          0x919A
-#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT                          0x919A
-#define GL_MIN_SPARSE_LEVEL_AMD                                         0x919B
-#define GL_MIN_LOD_WARNING_AMD                                          0x919C
-#define GL_TEXTURE_BUFFER_OFFSET                                        0x919D
-#define GL_TEXTURE_BUFFER_OFFSET_EXT                                    0x919D
-#define GL_TEXTURE_BUFFER_OFFSET_OES                                    0x919D
-#define GL_TEXTURE_BUFFER_SIZE                                          0x919E
-#define GL_TEXTURE_BUFFER_SIZE_EXT                                      0x919E
-#define GL_TEXTURE_BUFFER_SIZE_OES                                      0x919E
-#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT                              0x919F
-#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT                          0x919F
-#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES                          0x919F
-#define GL_STREAM_RASTERIZATION_AMD                                     0x91A0
-#define GL_VERTEX_ELEMENT_SWIZZLE_AMD                                   0x91A4
-#define GL_VERTEX_ID_SWIZZLE_AMD                                        0x91A5
-#define GL_TEXTURE_SPARSE_ARB                                           0x91A6
-#define GL_TEXTURE_SPARSE_EXT                                           0x91A6
-#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                                  0x91A7
-#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT                                  0x91A7
-#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB                                   0x91A8
-#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT                                   0x91A8
-#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB                   0x91A9
-#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT                   0x91A9
-#define GL_NUM_SPARSE_LEVELS_ARB                                        0x91AA
-#define GL_NUM_SPARSE_LEVELS_EXT                                        0x91AA
-#define GL_COMPUTE_SHADER                                               0x91B9
-#define GL_MAX_COMPUTE_UNIFORM_BLOCKS                                   0x91BB
-#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS                              0x91BC
-#define GL_MAX_COMPUTE_IMAGE_UNIFORMS                                   0x91BD
-#define GL_MAX_COMPUTE_WORK_GROUP_COUNT                                 0x91BE
-#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB                             0x91BF
-#define GL_MAX_COMPUTE_WORK_GROUP_SIZE                                  0x91BF
-#define GL_UNPACK_FLIP_Y_WEBGL                                          0x9240
-#define GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL                               0x9241
-#define GL_CONTEXT_LOST_WEBGL                                           0x9242
-#define GL_UNPACK_COLORSPACE_CONVERSION_WEBGL                           0x9243
-#define GL_BROWSER_DEFAULT_WEBGL                                        0x9244
-#define GL_SHADER_BINARY_DMP                                            0x9250
-#define GL_SMAPHS30_PROGRAM_BINARY_DMP                                  0x9251
-#define GL_SMAPHS_PROGRAM_BINARY_DMP                                    0x9252
-#define GL_DMP_PROGRAM_BINARY_DMP                                       0x9253
-#define GL_GCCSO_SHADER_BINARY_FJ                                       0x9260
-#define GL_COMPRESSED_R11_EAC                                           0x9270
-#define GL_COMPRESSED_R11_EAC_OES                                       0x9270
-#define GL_COMPRESSED_SIGNED_R11_EAC                                    0x9271
-#define GL_COMPRESSED_SIGNED_R11_EAC_OES                                0x9271
-#define GL_COMPRESSED_RG11_EAC                                          0x9272
-#define GL_COMPRESSED_RG11_EAC_OES                                      0x9272
-#define GL_COMPRESSED_SIGNED_RG11_EAC                                   0x9273
-#define GL_COMPRESSED_SIGNED_RG11_EAC_OES                               0x9273
-#define GL_COMPRESSED_RGB8_ETC2                                         0x9274
-#define GL_COMPRESSED_RGB8_ETC2_OES                                     0x9274
-#define GL_COMPRESSED_SRGB8_ETC2                                        0x9275
-#define GL_COMPRESSED_SRGB8_ETC2_OES                                    0x9275
-#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2                     0x9276
-#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES                 0x9276
-#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2                    0x9277
-#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES                0x9277
-#define GL_COMPRESSED_RGBA8_ETC2_EAC                                    0x9278
-#define GL_COMPRESSED_RGBA8_ETC2_EAC_OES                                0x9278
-#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC                             0x9279
-#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES                         0x9279
-#define GL_BLEND_PREMULTIPLIED_SRC_NV                                   0x9280
-#define GL_BLEND_OVERLAP_NV                                             0x9281
-#define GL_UNCORRELATED_NV                                              0x9282
-#define GL_DISJOINT_NV                                                  0x9283
-#define GL_CONJOINT_NV                                                  0x9284
-#define GL_BLEND_ADVANCED_COHERENT_KHR                                  0x9285
-#define GL_BLEND_ADVANCED_COHERENT_NV                                   0x9285
-#define GL_SRC_NV                                                       0x9286
-#define GL_DST_NV                                                       0x9287
-#define GL_SRC_OVER_NV                                                  0x9288
-#define GL_DST_OVER_NV                                                  0x9289
-#define GL_SRC_IN_NV                                                    0x928A
-#define GL_DST_IN_NV                                                    0x928B
-#define GL_SRC_OUT_NV                                                   0x928C
-#define GL_DST_OUT_NV                                                   0x928D
-#define GL_SRC_ATOP_NV                                                  0x928E
-#define GL_DST_ATOP_NV                                                  0x928F
-#define GL_PLUS_NV                                                      0x9291
-#define GL_PLUS_DARKER_NV                                               0x9292
-#define GL_MULTIPLY_KHR                                                 0x9294
-#define GL_MULTIPLY_NV                                                  0x9294
-#define GL_SCREEN_KHR                                                   0x9295
-#define GL_SCREEN_NV                                                    0x9295
-#define GL_OVERLAY_KHR                                                  0x9296
-#define GL_OVERLAY_NV                                                   0x9296
-#define GL_DARKEN_KHR                                                   0x9297
-#define GL_DARKEN_NV                                                    0x9297
-#define GL_LIGHTEN_KHR                                                  0x9298
-#define GL_LIGHTEN_NV                                                   0x9298
-#define GL_COLORDODGE_KHR                                               0x9299
-#define GL_COLORDODGE_NV                                                0x9299
-#define GL_COLORBURN_KHR                                                0x929A
-#define GL_COLORBURN_NV                                                 0x929A
-#define GL_HARDLIGHT_KHR                                                0x929B
-#define GL_HARDLIGHT_NV                                                 0x929B
-#define GL_SOFTLIGHT_KHR                                                0x929C
-#define GL_SOFTLIGHT_NV                                                 0x929C
-#define GL_DIFFERENCE_KHR                                               0x929E
-#define GL_DIFFERENCE_NV                                                0x929E
-#define GL_MINUS_NV                                                     0x929F
-#define GL_EXCLUSION_KHR                                                0x92A0
-#define GL_EXCLUSION_NV                                                 0x92A0
-#define GL_CONTRAST_NV                                                  0x92A1
-#define GL_INVERT_RGB_NV                                                0x92A3
-#define GL_LINEARDODGE_NV                                               0x92A4
-#define GL_LINEARBURN_NV                                                0x92A5
-#define GL_VIVIDLIGHT_NV                                                0x92A6
-#define GL_LINEARLIGHT_NV                                               0x92A7
-#define GL_PINLIGHT_NV                                                  0x92A8
-#define GL_HARDMIX_NV                                                   0x92A9
-#define GL_HSL_HUE_KHR                                                  0x92AD
-#define GL_HSL_HUE_NV                                                   0x92AD
-#define GL_HSL_SATURATION_KHR                                           0x92AE
-#define GL_HSL_SATURATION_NV                                            0x92AE
-#define GL_HSL_COLOR_KHR                                                0x92AF
-#define GL_HSL_COLOR_NV                                                 0x92AF
-#define GL_HSL_LUMINOSITY_KHR                                           0x92B0
-#define GL_HSL_LUMINOSITY_NV                                            0x92B0
-#define GL_PLUS_CLAMPED_NV                                              0x92B1
-#define GL_PLUS_CLAMPED_ALPHA_NV                                        0x92B2
-#define GL_MINUS_CLAMPED_NV                                             0x92B3
-#define GL_INVERT_OVG_NV                                                0x92B4
-#define GL_PRIMITIVE_BOUNDING_BOX_EXT                                   0x92BE
-#define GL_PRIMITIVE_BOUNDING_BOX_OES                                   0x92BE
-#define GL_ATOMIC_COUNTER_BUFFER                                        0x92C0
-#define GL_ATOMIC_COUNTER_BUFFER_BINDING                                0x92C1
-#define GL_ATOMIC_COUNTER_BUFFER_START                                  0x92C2
-#define GL_ATOMIC_COUNTER_BUFFER_SIZE                                   0x92C3
-#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE                              0x92C4
-#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS                 0x92C5
-#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES          0x92C6
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER            0x92C7
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER      0x92C8
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER   0x92C9
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER          0x92CA
-#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER          0x92CB
-#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS                            0x92CC
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS                      0x92CD
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT                  0x92CD
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES                  0x92CD
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS                   0x92CE
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT               0x92CE
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES               0x92CE
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS                          0x92CF
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT                      0x92CF
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES                      0x92CF
-#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS                          0x92D0
-#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS                          0x92D1
-#define GL_MAX_VERTEX_ATOMIC_COUNTERS                                   0x92D2
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS                             0x92D3
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT                         0x92D3
-#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES                         0x92D3
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS                          0x92D4
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT                      0x92D4
-#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES                      0x92D4
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS                                 0x92D5
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT                             0x92D5
-#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES                             0x92D5
-#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS                                 0x92D6
-#define GL_MAX_COMBINED_ATOMIC_COUNTERS                                 0x92D7
-#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE                               0x92D8
-#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS                                0x92D9
-#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                          0x92DA
-#define GL_UNSIGNED_INT_ATOMIC_COUNTER                                  0x92DB
-#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS                           0x92DC
-#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV                                0x92DD
-#define GL_FRAGMENT_COVERAGE_COLOR_NV                                   0x92DE
-#define GL_DEBUG_OUTPUT                                                 0x92E0
-#define GL_DEBUG_OUTPUT_KHR                                             0x92E0
-#define GL_UNIFORM                                                      0x92E1
-#define GL_UNIFORM_BLOCK                                                0x92E2
-#define GL_PROGRAM_INPUT                                                0x92E3
-#define GL_PROGRAM_OUTPUT                                               0x92E4
-#define GL_BUFFER_VARIABLE                                              0x92E5
-#define GL_SHADER_STORAGE_BLOCK                                         0x92E6
-#define GL_IS_PER_PATCH                                                 0x92E7
-#define GL_IS_PER_PATCH_EXT                                             0x92E7
-#define GL_IS_PER_PATCH_OES                                             0x92E7
-#define GL_VERTEX_SUBROUTINE                                            0x92E8
-#define GL_TESS_CONTROL_SUBROUTINE                                      0x92E9
-#define GL_TESS_EVALUATION_SUBROUTINE                                   0x92EA
-#define GL_GEOMETRY_SUBROUTINE                                          0x92EB
-#define GL_FRAGMENT_SUBROUTINE                                          0x92EC
-#define GL_COMPUTE_SUBROUTINE                                           0x92ED
-#define GL_VERTEX_SUBROUTINE_UNIFORM                                    0x92EE
-#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM                              0x92EF
-#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM                           0x92F0
-#define GL_GEOMETRY_SUBROUTINE_UNIFORM                                  0x92F1
-#define GL_FRAGMENT_SUBROUTINE_UNIFORM                                  0x92F2
-#define GL_COMPUTE_SUBROUTINE_UNIFORM                                   0x92F3
-#define GL_TRANSFORM_FEEDBACK_VARYING                                   0x92F4
-#define GL_ACTIVE_RESOURCES                                             0x92F5
-#define GL_MAX_NAME_LENGTH                                              0x92F6
-#define GL_MAX_NUM_ACTIVE_VARIABLES                                     0x92F7
-#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES                               0x92F8
-#define GL_NAME_LENGTH                                                  0x92F9
-#define GL_TYPE                                                         0x92FA
-#define GL_ARRAY_SIZE                                                   0x92FB
-#define GL_OFFSET                                                       0x92FC
-#define GL_BLOCK_INDEX                                                  0x92FD
-#define GL_ARRAY_STRIDE                                                 0x92FE
-#define GL_MATRIX_STRIDE                                                0x92FF
-#define GL_IS_ROW_MAJOR                                                 0x9300
-#define GL_ATOMIC_COUNTER_BUFFER_INDEX                                  0x9301
-#define GL_BUFFER_BINDING                                               0x9302
-#define GL_BUFFER_DATA_SIZE                                             0x9303
-#define GL_NUM_ACTIVE_VARIABLES                                         0x9304
-#define GL_ACTIVE_VARIABLES                                             0x9305
-#define GL_REFERENCED_BY_VERTEX_SHADER                                  0x9306
-#define GL_REFERENCED_BY_TESS_CONTROL_SHADER                            0x9307
-#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT                        0x9307
-#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES                        0x9307
-#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER                         0x9308
-#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT                     0x9308
-#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES                     0x9308
-#define GL_REFERENCED_BY_GEOMETRY_SHADER                                0x9309
-#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT                            0x9309
-#define GL_REFERENCED_BY_GEOMETRY_SHADER_OES                            0x9309
-#define GL_REFERENCED_BY_FRAGMENT_SHADER                                0x930A
-#define GL_REFERENCED_BY_COMPUTE_SHADER                                 0x930B
-#define GL_TOP_LEVEL_ARRAY_SIZE                                         0x930C
-#define GL_TOP_LEVEL_ARRAY_STRIDE                                       0x930D
-#define GL_LOCATION                                                     0x930E
-#define GL_LOCATION_INDEX                                               0x930F
-#define GL_FRAMEBUFFER_DEFAULT_WIDTH                                    0x9310
-#define GL_FRAMEBUFFER_DEFAULT_HEIGHT                                   0x9311
-#define GL_FRAMEBUFFER_DEFAULT_LAYERS                                   0x9312
-#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT                               0x9312
-#define GL_FRAMEBUFFER_DEFAULT_LAYERS_OES                               0x9312
-#define GL_FRAMEBUFFER_DEFAULT_SAMPLES                                  0x9313
-#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS                   0x9314
-#define GL_MAX_FRAMEBUFFER_WIDTH                                        0x9315
-#define GL_MAX_FRAMEBUFFER_HEIGHT                                       0x9316
-#define GL_MAX_FRAMEBUFFER_LAYERS                                       0x9317
-#define GL_MAX_FRAMEBUFFER_LAYERS_EXT                                   0x9317
-#define GL_MAX_FRAMEBUFFER_LAYERS_OES                                   0x9317
-#define GL_MAX_FRAMEBUFFER_SAMPLES                                      0x9318
-#define GL_RASTER_MULTISAMPLE_EXT                                       0x9327
-#define GL_RASTER_SAMPLES_EXT                                           0x9328
-#define GL_MAX_RASTER_SAMPLES_EXT                                       0x9329
-#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT                            0x932A
-#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT                        0x932B
-#define GL_EFFECTIVE_RASTER_SAMPLES_EXT                                 0x932C
-#define GL_DEPTH_SAMPLES_NV                                             0x932D
-#define GL_STENCIL_SAMPLES_NV                                           0x932E
-#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV                             0x932F
-#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV                           0x9330
-#define GL_COVERAGE_MODULATION_TABLE_NV                                 0x9331
-#define GL_COVERAGE_MODULATION_NV                                       0x9332
-#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV                            0x9333
-#define GL_WARP_SIZE_NV                                                 0x9339
-#define GL_WARPS_PER_SM_NV                                              0x933A
-#define GL_SM_COUNT_NV                                                  0x933B
-#define GL_FILL_RECTANGLE_NV                                            0x933C
-#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV                             0x933D
-#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV                          0x933E
-#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV                         0x933F
-#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV                   0x9340
-#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV                              0x9341
-#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV                 0x9342
-#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV                    0x9343
-#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB                   0x9344
-#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB                          0x9345
-#define GL_CONSERVATIVE_RASTERIZATION_NV                                0x9346
-#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV                            0x9347
-#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV                            0x9348
-#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV                          0x9349
-#define GL_LOCATION_COMPONENT                                           0x934A
-#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX                              0x934B
-#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE                             0x934C
-#define GL_CLIP_ORIGIN                                                  0x935C
-#define GL_CLIP_DEPTH_MODE                                              0x935D
-#define GL_NEGATIVE_ONE_TO_ONE                                          0x935E
-#define GL_ZERO_TO_ONE                                                  0x935F
-#define GL_CLEAR_TEXTURE                                                0x9365
-#define GL_FONT_GLYPHS_AVAILABLE_NV                                     0x9368
-#define GL_FONT_TARGET_UNAVAILABLE_NV                                   0x9369
-#define GL_FONT_UNAVAILABLE_NV                                          0x936A
-#define GL_FONT_UNINTELLIGIBLE_NV                                       0x936B
-#define GL_STANDARD_FONT_FORMAT_NV                                      0x936C
-#define GL_FRAGMENT_INPUT_NV                                            0x936D
-#define GL_UNIFORM_BUFFER_UNIFIED_NV                                    0x936E
-#define GL_UNIFORM_BUFFER_ADDRESS_NV                                    0x936F
-#define GL_UNIFORM_BUFFER_LENGTH_NV                                     0x9370
-#define GL_MULTISAMPLES_NV                                              0x9371
-#define GL_SUPERSAMPLE_SCALE_X_NV                                       0x9372
-#define GL_SUPERSAMPLE_SCALE_Y_NV                                       0x9373
-#define GL_CONFORMANT_NV                                                0x9374
-#define GL_NUM_SAMPLE_COUNTS                                            0x9380
-#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                        0x93A0
-#define GL_BGRA8_EXT                                                    0x93A1
-#define GL_TEXTURE_USAGE_ANGLE                                          0x93A2
-#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                                 0x93A3
-#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                                 0x93A4
-#define GL_PROGRAM_BINARY_ANGLE                                         0x93A6
-#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                                 0x93B0
-#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                                 0x93B1
-#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                                 0x93B2
-#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                                 0x93B3
-#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                                 0x93B4
-#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                                 0x93B5
-#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                                 0x93B6
-#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                                 0x93B7
-#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                                0x93B8
-#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                                0x93B9
-#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                                0x93BA
-#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                               0x93BB
-#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                               0x93BC
-#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                               0x93BD
-#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES                               0x93C0
-#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES                               0x93C1
-#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES                               0x93C2
-#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES                               0x93C3
-#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES                               0x93C4
-#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES                               0x93C5
-#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES                               0x93C6
-#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES                               0x93C7
-#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES                               0x93C8
-#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES                               0x93C9
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                         0x93D0
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                         0x93D1
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                         0x93D2
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                         0x93D3
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                         0x93D4
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                         0x93D5
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                         0x93D6
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                         0x93D7
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                        0x93D8
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                        0x93D9
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                        0x93DA
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR                       0x93DB
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR                       0x93DC
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR                       0x93DD
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES                       0x93E0
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES                       0x93E1
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES                       0x93E2
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES                       0x93E3
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES                       0x93E4
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES                       0x93E5
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES                       0x93E6
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES                       0x93E7
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES                       0x93E8
-#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES                       0x93E9
-#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG                       0x93F0
-#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG                       0x93F1
-#define GL_PERFQUERY_COUNTER_EVENT_INTEL                                0x94F0
-#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL                        0x94F1
-#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL                         0x94F2
-#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL                           0x94F3
-#define GL_PERFQUERY_COUNTER_RAW_INTEL                                  0x94F4
-#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL                            0x94F5
-#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL                          0x94F8
-#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL                          0x94F9
-#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL                           0x94FA
-#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL                          0x94FB
-#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL                          0x94FC
-#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL                        0x94FD
-#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL                      0x94FE
-#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL                      0x94FF
-#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL                        0x9500
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR                 0x9630
-#define GL_MAX_VIEWS_OVR                                                0x9631
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR           0x9632
-#define GL_GS_SHADER_BINARY_MTK                                         0x9640
-#define GL_GS_PROGRAM_BINARY_MTK                                        0x9641
-#define GL_SHARED_EDGE_NV                                               0xC0
-#define GL_ROUNDED_RECT_NV                                              0xE8
-#define GL_RELATIVE_ROUNDED_RECT_NV                                     0xE9
-#define GL_ROUNDED_RECT2_NV                                             0xEA
-#define GL_RELATIVE_ROUNDED_RECT2_NV                                    0xEB
-#define GL_ROUNDED_RECT4_NV                                             0xEC
-#define GL_RELATIVE_ROUNDED_RECT4_NV                                    0xED
-#define GL_ROUNDED_RECT8_NV                                             0xEE
-#define GL_RELATIVE_ROUNDED_RECT8_NV                                    0xEF
-#define GL_RESTART_PATH_NV                                              0xF0
-#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV                                  0xF2
-#define GL_DUP_LAST_CUBIC_CURVE_TO_NV                                   0xF4
-#define GL_RECT_NV                                                      0xF6
-#define GL_RELATIVE_RECT_NV                                             0xF7
-#define GL_CIRCULAR_CCW_ARC_TO_NV                                       0xF8
-#define GL_CIRCULAR_CW_ARC_TO_NV                                        0xFA
-#define GL_CIRCULAR_TANGENT_ARC_TO_NV                                   0xFC
-#define GL_ARC_TO_NV                                                    0xFE
-#define GL_RELATIVE_ARC_TO_NV                                           0xFF
-#define GL_TRACE_ALL_BITS_MESA                                          0xFFFF
-#define GL_ALL_BARRIER_BITS                                             0xFFFFFFFF
-#define GL_ALL_BARRIER_BITS_EXT                                         0xFFFFFFFF
-#define GL_ALL_SHADER_BITS                                              0xFFFFFFFF
-#define GL_ALL_SHADER_BITS_EXT                                          0xFFFFFFFF
-#define GL_CLIENT_ALL_ATTRIB_BITS                                       0xFFFFFFFF
-#define GL_INVALID_INDEX                                                0xFFFFFFFF
-#define GL_QUERY_ALL_EVENT_BITS_AMD                                     0xFFFFFFFF
-#define GL_TIMEOUT_IGNORED                                              0xFFFFFFFFFFFFFFFF
-#define GL_TIMEOUT_IGNORED_APPLE                                        0xFFFFFFFFFFFFFFFF
-#define GL_LAYOUT_LINEAR_INTEL                                          1
-#define GL_ONE                                                          1
-#define GL_TRUE                                                         1
-#define GL_VERSION_ES_CL_1_0                                            1
-#define GL_VERSION_ES_CL_1_1                                            1
-#define GL_VERSION_ES_CM_1_1                                            1
-#define GL_CULL_VERTEX_IBM                                              103050
-#define GL_ALL_STATIC_DATA_IBM                                          103060
-#define GL_STATIC_VERTEX_ARRAY_IBM                                      103061
-#define GL_VERTEX_ARRAY_LIST_IBM                                        103070
-#define GL_NORMAL_ARRAY_LIST_IBM                                        103071
-#define GL_COLOR_ARRAY_LIST_IBM                                         103072
-#define GL_INDEX_ARRAY_LIST_IBM                                         103073
-#define GL_TEXTURE_COORD_ARRAY_LIST_IBM                                 103074
-#define GL_EDGE_FLAG_ARRAY_LIST_IBM                                     103075
-#define GL_FOG_COORDINATE_ARRAY_LIST_IBM                                103076
-#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM                               103077
-#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM                                 103080
-#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM                                 103081
-#define GL_COLOR_ARRAY_LIST_STRIDE_IBM                                  103082
-#define GL_INDEX_ARRAY_LIST_STRIDE_IBM                                  103083
-#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM                          103084
-#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM                              103085
-#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM                         103086
-#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM                        103087
-#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL                               2
+#define GL_NEXT_BUFFER_NV                                                          -2
+#define GL_SKIP_COMPONENTS4_NV                                                     -3
+#define GL_SKIP_COMPONENTS3_NV                                                     -4
+#define GL_SKIP_COMPONENTS2_NV                                                     -5
+#define GL_SKIP_COMPONENTS1_NV                                                     -6
+#define GL_FALSE                                                                   0
+#define GL_LAYOUT_DEFAULT_INTEL                                                    0
+#define GL_NONE                                                                    0
+#define GL_NONE_OES                                                                0
+#define GL_NO_ERROR                                                                0
+#define GL_ZERO                                                                    0
+#define GL_CLOSE_PATH_NV                                                           0x00
+#define GL_POINTS                                                                  0x0000
+#define GL_TERMINATE_SEQUENCE_COMMAND_NV                                           0x0000
+#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL                                          0x00000000
+#define GL_2X_BIT_ATI                                                              0x00000001
+#define GL_CLIENT_PIXEL_STORE_BIT                                                  0x00000001
+#define GL_COLOR_BUFFER_BIT0_QCOM                                                  0x00000001
+#define GL_CONTEXT_CORE_PROFILE_BIT                                                0x00000001
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT                                     0x00000001
+#define GL_CURRENT_BIT                                                             0x00000001
+#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL                                          0x00000001
+#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD                                          0x00000001
+#define GL_RED_BIT_ATI                                                             0x00000001
+#define GL_SYNC_FLUSH_COMMANDS_BIT                                                 0x00000001
+#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE                                           0x00000001
+#define GL_TEXTURE_DEFORMATION_BIT_SGIX                                            0x00000001
+#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD                                          0x00000001
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT                                         0x00000001
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT                                     0x00000001
+#define GL_VERTEX_SHADER_BIT                                                       0x00000001
+#define GL_VERTEX_SHADER_BIT_EXT                                                   0x00000001
+#define GL_4X_BIT_ATI                                                              0x00000002
+#define GL_CLIENT_VERTEX_ARRAY_BIT                                                 0x00000002
+#define GL_COLOR_BUFFER_BIT1_QCOM                                                  0x00000002
+#define GL_COMP_BIT_ATI                                                            0x00000002
+#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT                                       0x00000002
+#define GL_CONTEXT_FLAG_DEBUG_BIT                                                  0x00000002
+#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR                                              0x00000002
+#define GL_ELEMENT_ARRAY_BARRIER_BIT                                               0x00000002
+#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT                                           0x00000002
+#define GL_FRAGMENT_SHADER_BIT                                                     0x00000002
+#define GL_FRAGMENT_SHADER_BIT_EXT                                                 0x00000002
+#define GL_GEOMETRY_DEFORMATION_BIT_SGIX                                           0x00000002
+#define GL_GREEN_BIT_ATI                                                           0x00000002
+#define GL_POINT_BIT                                                               0x00000002
+#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD                                          0x00000002
+#define GL_8X_BIT_ATI                                                              0x00000004
+#define GL_BLUE_BIT_ATI                                                            0x00000004
+#define GL_COLOR_BUFFER_BIT2_QCOM                                                  0x00000004
+#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT                                          0x00000004
+#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB                                      0x00000004
+#define GL_GEOMETRY_SHADER_BIT                                                     0x00000004
+#define GL_GEOMETRY_SHADER_BIT_EXT                                                 0x00000004
+#define GL_GEOMETRY_SHADER_BIT_OES                                                 0x00000004
+#define GL_LINE_BIT                                                                0x00000004
+#define GL_NEGATE_BIT_ATI                                                          0x00000004
+#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD                                        0x00000004
+#define GL_UNIFORM_BARRIER_BIT                                                     0x00000004
+#define GL_UNIFORM_BARRIER_BIT_EXT                                                 0x00000004
+#define GL_VERTEX23_BIT_PGI                                                        0x00000004
+#define GL_BIAS_BIT_ATI                                                            0x00000008
+#define GL_COLOR_BUFFER_BIT3_QCOM                                                  0x00000008
+#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR                                           0x00000008
+#define GL_HALF_BIT_ATI                                                            0x00000008
+#define GL_POLYGON_BIT                                                             0x00000008
+#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD                                   0x00000008
+#define GL_TESS_CONTROL_SHADER_BIT                                                 0x00000008
+#define GL_TESS_CONTROL_SHADER_BIT_EXT                                             0x00000008
+#define GL_TESS_CONTROL_SHADER_BIT_OES                                             0x00000008
+#define GL_TEXTURE_FETCH_BARRIER_BIT                                               0x00000008
+#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT                                           0x00000008
+#define GL_VERTEX4_BIT_PGI                                                         0x00000008
+#define GL_COLOR_BUFFER_BIT4_QCOM                                                  0x00000010
+#define GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT                                  0x00000010
+#define GL_POLYGON_STIPPLE_BIT                                                     0x00000010
+#define GL_QUARTER_BIT_ATI                                                         0x00000010
+#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV                                     0x00000010
+#define GL_TESS_EVALUATION_SHADER_BIT                                              0x00000010
+#define GL_TESS_EVALUATION_SHADER_BIT_EXT                                          0x00000010
+#define GL_TESS_EVALUATION_SHADER_BIT_OES                                          0x00000010
+#define GL_COLOR_BUFFER_BIT5_QCOM                                                  0x00000020
+#define GL_COMPUTE_SHADER_BIT                                                      0x00000020
+#define GL_EIGHTH_BIT_ATI                                                          0x00000020
+#define GL_PIXEL_MODE_BIT                                                          0x00000020
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT                                         0x00000020
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT                                     0x00000020
+#define GL_COLOR_BUFFER_BIT6_QCOM                                                  0x00000040
+#define GL_COMMAND_BARRIER_BIT                                                     0x00000040
+#define GL_COMMAND_BARRIER_BIT_EXT                                                 0x00000040
+#define GL_LIGHTING_BIT                                                            0x00000040
+#define GL_SATURATE_BIT_ATI                                                        0x00000040
+#define GL_COLOR_BUFFER_BIT7_QCOM                                                  0x00000080
+#define GL_FOG_BIT                                                                 0x00000080
+#define GL_PIXEL_BUFFER_BARRIER_BIT                                                0x00000080
+#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT                                            0x00000080
+#define GL_DEPTH_BUFFER_BIT                                                        0x00000100
+#define GL_DEPTH_BUFFER_BIT0_QCOM                                                  0x00000100
+#define GL_TEXTURE_UPDATE_BARRIER_BIT                                              0x00000100
+#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT                                          0x00000100
+#define GL_ACCUM_BUFFER_BIT                                                        0x00000200
+#define GL_BUFFER_UPDATE_BARRIER_BIT                                               0x00000200
+#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT                                           0x00000200
+#define GL_DEPTH_BUFFER_BIT1_QCOM                                                  0x00000200
+#define GL_DEPTH_BUFFER_BIT2_QCOM                                                  0x00000400
+#define GL_FRAMEBUFFER_BARRIER_BIT                                                 0x00000400
+#define GL_FRAMEBUFFER_BARRIER_BIT_EXT                                             0x00000400
+#define GL_STENCIL_BUFFER_BIT                                                      0x00000400
+#define GL_DEPTH_BUFFER_BIT3_QCOM                                                  0x00000800
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT                                          0x00000800
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT                                      0x00000800
+#define GL_VIEWPORT_BIT                                                            0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT                                              0x00001000
+#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT                                          0x00001000
+#define GL_DEPTH_BUFFER_BIT4_QCOM                                                  0x00001000
+#define GL_TRANSFORM_BIT                                                           0x00001000
+#define GL_DEPTH_BUFFER_BIT5_QCOM                                                  0x00002000
+#define GL_ENABLE_BIT                                                              0x00002000
+#define GL_SHADER_STORAGE_BARRIER_BIT                                              0x00002000
+#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT                                        0x00004000
+#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT                                    0x00004000
+#define GL_COLOR_BUFFER_BIT                                                        0x00004000
+#define GL_DEPTH_BUFFER_BIT6_QCOM                                                  0x00004000
+#define GL_COVERAGE_BUFFER_BIT_NV                                                  0x00008000
+#define GL_DEPTH_BUFFER_BIT7_QCOM                                                  0x00008000
+#define GL_HINT_BIT                                                                0x00008000
+#define GL_QUERY_BUFFER_BARRIER_BIT                                                0x00008000
+#define GL_LINES                                                                   0x0001
+#define GL_MAP_READ_BIT                                                            0x0001
+#define GL_MAP_READ_BIT_EXT                                                        0x0001
+#define GL_NOP_COMMAND_NV                                                          0x0001
+#define GL_RESTART_SUN                                                             0x0001
+#define GL_TRACE_OPERATIONS_BIT_MESA                                               0x0001
+#define GL_COLOR3_BIT_PGI                                                          0x00010000
+#define GL_EVAL_BIT                                                                0x00010000
+#define GL_FONT_X_MIN_BOUNDS_BIT_NV                                                0x00010000
+#define GL_STENCIL_BUFFER_BIT0_QCOM                                                0x00010000
+#define GL_DRAW_ELEMENTS_COMMAND_NV                                                0x0002
+#define GL_LINE_LOOP                                                               0x0002
+#define GL_MAP_WRITE_BIT                                                           0x0002
+#define GL_MAP_WRITE_BIT_EXT                                                       0x0002
+#define GL_REPLACE_MIDDLE_SUN                                                      0x0002
+#define GL_TRACE_PRIMITIVES_BIT_MESA                                               0x0002
+#define GL_COLOR4_BIT_PGI                                                          0x00020000
+#define GL_FONT_Y_MIN_BOUNDS_BIT_NV                                                0x00020000
+#define GL_LIST_BIT                                                                0x00020000
+#define GL_STENCIL_BUFFER_BIT1_QCOM                                                0x00020000
+#define GL_DRAW_ARRAYS_COMMAND_NV                                                  0x0003
+#define GL_LINE_STRIP                                                              0x0003
+#define GL_REPLACE_OLDEST_SUN                                                      0x0003
+#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV                                          0x0004
+#define GL_MAP_INVALIDATE_RANGE_BIT                                                0x0004
+#define GL_MAP_INVALIDATE_RANGE_BIT_EXT                                            0x0004
+#define GL_TRACE_ARRAYS_BIT_MESA                                                   0x0004
+#define GL_TRIANGLES                                                               0x0004
+#define GL_EDGEFLAG_BIT_PGI                                                        0x00040000
+#define GL_FONT_X_MAX_BOUNDS_BIT_NV                                                0x00040000
+#define GL_STENCIL_BUFFER_BIT2_QCOM                                                0x00040000
+#define GL_TEXTURE_BIT                                                             0x00040000
+#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV                                            0x0005
+#define GL_TRIANGLE_STRIP                                                          0x0005
+#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV                                      0x0006
+#define GL_TRIANGLE_FAN                                                            0x0006
+#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV                                        0x0007
+#define GL_QUADS                                                                   0x0007
+#define GL_QUADS_EXT                                                               0x0007
+#define GL_QUADS_OES                                                               0x0007
+#define GL_ELEMENT_ADDRESS_COMMAND_NV                                              0x0008
+#define GL_MAP_INVALIDATE_BUFFER_BIT                                               0x0008
+#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT                                           0x0008
+#define GL_QUAD_STRIP                                                              0x0008
+#define GL_TRACE_TEXTURES_BIT_MESA                                                 0x0008
+#define GL_FONT_Y_MAX_BOUNDS_BIT_NV                                                0x00080000
+#define GL_INDEX_BIT_PGI                                                           0x00080000
+#define GL_SCISSOR_BIT                                                             0x00080000
+#define GL_STENCIL_BUFFER_BIT3_QCOM                                                0x00080000
+#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV                                            0x0009
+#define GL_POLYGON                                                                 0x0009
+#define GL_LINES_ADJACENCY                                                         0x000A
+#define GL_LINES_ADJACENCY_ARB                                                     0x000A
+#define GL_LINES_ADJACENCY_EXT                                                     0x000A
+#define GL_LINES_ADJACENCY_OES                                                     0x000A
+#define GL_UNIFORM_ADDRESS_COMMAND_NV                                              0x000A
+#define GL_BLEND_COLOR_COMMAND_NV                                                  0x000B
+#define GL_LINE_STRIP_ADJACENCY                                                    0x000B
+#define GL_LINE_STRIP_ADJACENCY_ARB                                                0x000B
+#define GL_LINE_STRIP_ADJACENCY_EXT                                                0x000B
+#define GL_LINE_STRIP_ADJACENCY_OES                                                0x000B
+#define GL_STENCIL_REF_COMMAND_NV                                                  0x000C
+#define GL_TRIANGLES_ADJACENCY                                                     0x000C
+#define GL_TRIANGLES_ADJACENCY_ARB                                                 0x000C
+#define GL_TRIANGLES_ADJACENCY_EXT                                                 0x000C
+#define GL_TRIANGLES_ADJACENCY_OES                                                 0x000C
+#define GL_LINE_WIDTH_COMMAND_NV                                                   0x000D
+#define GL_TRIANGLE_STRIP_ADJACENCY                                                0x000D
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB                                            0x000D
+#define GL_TRIANGLE_STRIP_ADJACENCY_EXT                                            0x000D
+#define GL_TRIANGLE_STRIP_ADJACENCY_OES                                            0x000D
+#define GL_PATCHES                                                                 0x000E
+#define GL_PATCHES_EXT                                                             0x000E
+#define GL_PATCHES_OES                                                             0x000E
+#define GL_POLYGON_OFFSET_COMMAND_NV                                               0x000E
+#define GL_ALPHA_REF_COMMAND_NV                                                    0x000F
+#define GL_ALL_ATTRIB_BITS                                                         0x000FFFFF
+#define GL_MAP_FLUSH_EXPLICIT_BIT                                                  0x0010
+#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT                                              0x0010
+#define GL_TRACE_PIXELS_BIT_MESA                                                   0x0010
+#define GL_VIEWPORT_COMMAND_NV                                                     0x0010
+#define GL_FONT_UNITS_PER_EM_BIT_NV                                                0x00100000
+#define GL_MAT_AMBIENT_BIT_PGI                                                     0x00100000
+#define GL_STENCIL_BUFFER_BIT4_QCOM                                                0x00100000
+#define GL_SCISSOR_COMMAND_NV                                                      0x0011
+#define GL_FRONT_FACE_COMMAND_NV                                                   0x0012
+#define GL_MAP_UNSYNCHRONIZED_BIT                                                  0x0020
+#define GL_MAP_UNSYNCHRONIZED_BIT_EXT                                              0x0020
+#define GL_TRACE_ERRORS_BIT_MESA                                                   0x0020
+#define GL_FONT_ASCENDER_BIT_NV                                                    0x00200000
+#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI                                         0x00200000
+#define GL_STENCIL_BUFFER_BIT5_QCOM                                                0x00200000
+#define GL_MAP_PERSISTENT_BIT                                                      0x0040
+#define GL_MAP_PERSISTENT_BIT_EXT                                                  0x0040
+#define GL_FONT_DESCENDER_BIT_NV                                                   0x00400000
+#define GL_MAT_DIFFUSE_BIT_PGI                                                     0x00400000
+#define GL_STENCIL_BUFFER_BIT6_QCOM                                                0x00400000
+#define GL_MAP_COHERENT_BIT                                                        0x0080
+#define GL_MAP_COHERENT_BIT_EXT                                                    0x0080
+#define GL_FONT_HEIGHT_BIT_NV                                                      0x00800000
+#define GL_MAT_EMISSION_BIT_PGI                                                    0x00800000
+#define GL_STENCIL_BUFFER_BIT7_QCOM                                                0x00800000
+#define GL_BOLD_BIT_NV                                                             0x01
+#define GL_GLYPH_WIDTH_BIT_NV                                                      0x01
+#define GL_ACCUM                                                                   0x0100
+#define GL_DYNAMIC_STORAGE_BIT                                                     0x0100
+#define GL_DYNAMIC_STORAGE_BIT_EXT                                                 0x0100
+#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV                                           0x01000000
+#define GL_MAT_COLOR_INDEXES_BIT_PGI                                               0x01000000
+#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                                            0x01000000
+#define GL_LOAD                                                                    0x0101
+#define GL_RETURN                                                                  0x0102
+#define GL_MULT                                                                    0x0103
+#define GL_ADD                                                                     0x0104
+#define GL_GLYPH_HEIGHT_BIT_NV                                                     0x02
+#define GL_ITALIC_BIT_NV                                                           0x02
+#define GL_MOVE_TO_NV                                                              0x02
+#define GL_CLIENT_STORAGE_BIT                                                      0x0200
+#define GL_CLIENT_STORAGE_BIT_EXT                                                  0x0200
+#define GL_NEVER                                                                   0x0200
+#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV                                          0x02000000
+#define GL_MAT_SHININESS_BIT_PGI                                                   0x02000000
+#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                                            0x02000000
+#define GL_LESS                                                                    0x0201
+#define GL_EQUAL                                                                   0x0202
+#define GL_LEQUAL                                                                  0x0203
+#define GL_GREATER                                                                 0x0204
+#define GL_NOTEQUAL                                                                0x0205
+#define GL_GEQUAL                                                                  0x0206
+#define GL_ALWAYS                                                                  0x0207
+#define GL_RELATIVE_MOVE_TO_NV                                                     0x03
+#define GL_SRC_COLOR                                                               0x0300
+#define GL_ONE_MINUS_SRC_COLOR                                                     0x0301
+#define GL_SRC_ALPHA                                                               0x0302
+#define GL_ONE_MINUS_SRC_ALPHA                                                     0x0303
+#define GL_DST_ALPHA                                                               0x0304
+#define GL_ONE_MINUS_DST_ALPHA                                                     0x0305
+#define GL_DST_COLOR                                                               0x0306
+#define GL_ONE_MINUS_DST_COLOR                                                     0x0307
+#define GL_SRC_ALPHA_SATURATE                                                      0x0308
+#define GL_SRC_ALPHA_SATURATE_EXT                                                  0x0308
+#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV                                       0x04
+#define GL_LINE_TO_NV                                                              0x04
+#define GL_FRONT_LEFT                                                              0x0400
+#define GL_SPARSE_STORAGE_BIT_ARB                                                  0x0400
+#define GL_FONT_UNDERLINE_POSITION_BIT_NV                                          0x04000000
+#define GL_MAT_SPECULAR_BIT_PGI                                                    0x04000000
+#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                                            0x04000000
+#define GL_FRONT_RIGHT                                                             0x0401
+#define GL_BACK_LEFT                                                               0x0402
+#define GL_BACK_RIGHT                                                              0x0403
+#define GL_FRONT                                                                   0x0404
+#define GL_BACK                                                                    0x0405
+#define GL_LEFT                                                                    0x0406
+#define GL_RIGHT                                                                   0x0407
+#define GL_FRONT_AND_BACK                                                          0x0408
+#define GL_AUX0                                                                    0x0409
+#define GL_AUX1                                                                    0x040A
+#define GL_AUX2                                                                    0x040B
+#define GL_AUX3                                                                    0x040C
+#define GL_RELATIVE_LINE_TO_NV                                                     0x05
+#define GL_INVALID_ENUM                                                            0x0500
+#define GL_INVALID_VALUE                                                           0x0501
+#define GL_INVALID_OPERATION                                                       0x0502
+#define GL_STACK_OVERFLOW                                                          0x0503
+#define GL_STACK_OVERFLOW_KHR                                                      0x0503
+#define GL_STACK_UNDERFLOW                                                         0x0504
+#define GL_STACK_UNDERFLOW_KHR                                                     0x0504
+#define GL_OUT_OF_MEMORY                                                           0x0505
+#define GL_INVALID_FRAMEBUFFER_OPERATION                                           0x0506
+#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT                                       0x0506
+#define GL_INVALID_FRAMEBUFFER_OPERATION_OES                                       0x0506
+#define GL_CONTEXT_LOST                                                            0x0507
+#define GL_CONTEXT_LOST_KHR                                                        0x0507
+#define GL_HORIZONTAL_LINE_TO_NV                                                   0x06
+#define GL_2D                                                                      0x0600
+#define GL_3D                                                                      0x0601
+#define GL_3D_COLOR                                                                0x0602
+#define GL_3D_COLOR_TEXTURE                                                        0x0603
+#define GL_4D_COLOR_TEXTURE                                                        0x0604
+#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV                                          0x07
+#define GL_PASS_THROUGH_TOKEN                                                      0x0700
+#define GL_POINT_TOKEN                                                             0x0701
+#define GL_LINE_TOKEN                                                              0x0702
+#define GL_POLYGON_TOKEN                                                           0x0703
+#define GL_BITMAP_TOKEN                                                            0x0704
+#define GL_DRAW_PIXEL_TOKEN                                                        0x0705
+#define GL_COPY_PIXEL_TOKEN                                                        0x0706
+#define GL_LINE_RESET_TOKEN                                                        0x0707
+#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV                                       0x08
+#define GL_VERTICAL_LINE_TO_NV                                                     0x08
+#define GL_EXP                                                                     0x0800
+#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV                                         0x08000000
+#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                                            0x08000000
+#define GL_NORMAL_BIT_PGI                                                          0x08000000
+#define GL_EXP2                                                                    0x0801
+#define GL_RELATIVE_VERTICAL_LINE_TO_NV                                            0x09
+#define GL_CW                                                                      0x0900
+#define GL_CCW                                                                     0x0901
+#define GL_QUADRATIC_CURVE_TO_NV                                                   0x0A
+#define GL_COEFF                                                                   0x0A00
+#define GL_ORDER                                                                   0x0A01
+#define GL_DOMAIN                                                                  0x0A02
+#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV                                          0x0B
+#define GL_CURRENT_COLOR                                                           0x0B00
+#define GL_CURRENT_INDEX                                                           0x0B01
+#define GL_CURRENT_NORMAL                                                          0x0B02
+#define GL_CURRENT_TEXTURE_COORDS                                                  0x0B03
+#define GL_CURRENT_RASTER_COLOR                                                    0x0B04
+#define GL_CURRENT_RASTER_INDEX                                                    0x0B05
+#define GL_CURRENT_RASTER_TEXTURE_COORDS                                           0x0B06
+#define GL_CURRENT_RASTER_POSITION                                                 0x0B07
+#define GL_CURRENT_RASTER_POSITION_VALID                                           0x0B08
+#define GL_CURRENT_RASTER_DISTANCE                                                 0x0B09
+#define GL_POINT_SMOOTH                                                            0x0B10
+#define GL_POINT_SIZE                                                              0x0B11
+#define GL_POINT_SIZE_RANGE                                                        0x0B12
+#define GL_SMOOTH_POINT_SIZE_RANGE                                                 0x0B12
+#define GL_POINT_SIZE_GRANULARITY                                                  0x0B13
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY                                           0x0B13
+#define GL_LINE_SMOOTH                                                             0x0B20
+#define GL_LINE_WIDTH                                                              0x0B21
+#define GL_LINE_WIDTH_RANGE                                                        0x0B22
+#define GL_SMOOTH_LINE_WIDTH_RANGE                                                 0x0B22
+#define GL_LINE_WIDTH_GRANULARITY                                                  0x0B23
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY                                           0x0B23
+#define GL_LINE_STIPPLE                                                            0x0B24
+#define GL_LINE_STIPPLE_PATTERN                                                    0x0B25
+#define GL_LINE_STIPPLE_REPEAT                                                     0x0B26
+#define GL_LIST_MODE                                                               0x0B30
+#define GL_MAX_LIST_NESTING                                                        0x0B31
+#define GL_LIST_BASE                                                               0x0B32
+#define GL_LIST_INDEX                                                              0x0B33
+#define GL_POLYGON_MODE                                                            0x0B40
+#define GL_POLYGON_MODE_NV                                                         0x0B40
+#define GL_POLYGON_SMOOTH                                                          0x0B41
+#define GL_POLYGON_STIPPLE                                                         0x0B42
+#define GL_EDGE_FLAG                                                               0x0B43
+#define GL_CULL_FACE                                                               0x0B44
+#define GL_CULL_FACE_MODE                                                          0x0B45
+#define GL_FRONT_FACE                                                              0x0B46
+#define GL_LIGHTING                                                                0x0B50
+#define GL_LIGHT_MODEL_LOCAL_VIEWER                                                0x0B51
+#define GL_LIGHT_MODEL_TWO_SIDE                                                    0x0B52
+#define GL_LIGHT_MODEL_AMBIENT                                                     0x0B53
+#define GL_SHADE_MODEL                                                             0x0B54
+#define GL_COLOR_MATERIAL_FACE                                                     0x0B55
+#define GL_COLOR_MATERIAL_PARAMETER                                                0x0B56
+#define GL_COLOR_MATERIAL                                                          0x0B57
+#define GL_FOG                                                                     0x0B60
+#define GL_FOG_INDEX                                                               0x0B61
+#define GL_FOG_DENSITY                                                             0x0B62
+#define GL_FOG_START                                                               0x0B63
+#define GL_FOG_END                                                                 0x0B64
+#define GL_FOG_MODE                                                                0x0B65
+#define GL_FOG_COLOR                                                               0x0B66
+#define GL_DEPTH_RANGE                                                             0x0B70
+#define GL_DEPTH_TEST                                                              0x0B71
+#define GL_DEPTH_WRITEMASK                                                         0x0B72
+#define GL_DEPTH_CLEAR_VALUE                                                       0x0B73
+#define GL_DEPTH_FUNC                                                              0x0B74
+#define GL_ACCUM_CLEAR_VALUE                                                       0x0B80
+#define GL_STENCIL_TEST                                                            0x0B90
+#define GL_STENCIL_CLEAR_VALUE                                                     0x0B91
+#define GL_STENCIL_FUNC                                                            0x0B92
+#define GL_STENCIL_VALUE_MASK                                                      0x0B93
+#define GL_STENCIL_FAIL                                                            0x0B94
+#define GL_STENCIL_PASS_DEPTH_FAIL                                                 0x0B95
+#define GL_STENCIL_PASS_DEPTH_PASS                                                 0x0B96
+#define GL_STENCIL_REF                                                             0x0B97
+#define GL_STENCIL_WRITEMASK                                                       0x0B98
+#define GL_MATRIX_MODE                                                             0x0BA0
+#define GL_NORMALIZE                                                               0x0BA1
+#define GL_VIEWPORT                                                                0x0BA2
+#define GL_MODELVIEW0_STACK_DEPTH_EXT                                              0x0BA3
+#define GL_MODELVIEW_STACK_DEPTH                                                   0x0BA3
+#define GL_PATH_MODELVIEW_STACK_DEPTH_NV                                           0x0BA3
+#define GL_PATH_PROJECTION_STACK_DEPTH_NV                                          0x0BA4
+#define GL_PROJECTION_STACK_DEPTH                                                  0x0BA4
+#define GL_TEXTURE_STACK_DEPTH                                                     0x0BA5
+#define GL_MODELVIEW0_MATRIX_EXT                                                   0x0BA6
+#define GL_MODELVIEW_MATRIX                                                        0x0BA6
+#define GL_PATH_MODELVIEW_MATRIX_NV                                                0x0BA6
+#define GL_PATH_PROJECTION_MATRIX_NV                                               0x0BA7
+#define GL_PROJECTION_MATRIX                                                       0x0BA7
+#define GL_TEXTURE_MATRIX                                                          0x0BA8
+#define GL_ATTRIB_STACK_DEPTH                                                      0x0BB0
+#define GL_CLIENT_ATTRIB_STACK_DEPTH                                               0x0BB1
+#define GL_ALPHA_TEST                                                              0x0BC0
+#define GL_ALPHA_TEST_QCOM                                                         0x0BC0
+#define GL_ALPHA_TEST_FUNC                                                         0x0BC1
+#define GL_ALPHA_TEST_FUNC_QCOM                                                    0x0BC1
+#define GL_ALPHA_TEST_REF                                                          0x0BC2
+#define GL_ALPHA_TEST_REF_QCOM                                                     0x0BC2
+#define GL_DITHER                                                                  0x0BD0
+#define GL_BLEND_DST                                                               0x0BE0
+#define GL_BLEND_SRC                                                               0x0BE1
+#define GL_BLEND                                                                   0x0BE2
+#define GL_LOGIC_OP_MODE                                                           0x0BF0
+#define GL_INDEX_LOGIC_OP                                                          0x0BF1
+#define GL_LOGIC_OP                                                                0x0BF1
+#define GL_COLOR_LOGIC_OP                                                          0x0BF2
+#define GL_CUBIC_CURVE_TO_NV                                                       0x0C
+#define GL_AUX_BUFFERS                                                             0x0C00
+#define GL_DRAW_BUFFER                                                             0x0C01
+#define GL_DRAW_BUFFER_EXT                                                         0x0C01
+#define GL_READ_BUFFER                                                             0x0C02
+#define GL_READ_BUFFER_EXT                                                         0x0C02
+#define GL_READ_BUFFER_NV                                                          0x0C02
+#define GL_SCISSOR_BOX                                                             0x0C10
+#define GL_SCISSOR_TEST                                                            0x0C11
+#define GL_INDEX_CLEAR_VALUE                                                       0x0C20
+#define GL_INDEX_WRITEMASK                                                         0x0C21
+#define GL_COLOR_CLEAR_VALUE                                                       0x0C22
+#define GL_COLOR_WRITEMASK                                                         0x0C23
+#define GL_INDEX_MODE                                                              0x0C30
+#define GL_RGBA_MODE                                                               0x0C31
+#define GL_DOUBLEBUFFER                                                            0x0C32
+#define GL_STEREO                                                                  0x0C33
+#define GL_RENDER_MODE                                                             0x0C40
+#define GL_PERSPECTIVE_CORRECTION_HINT                                             0x0C50
+#define GL_POINT_SMOOTH_HINT                                                       0x0C51
+#define GL_LINE_SMOOTH_HINT                                                        0x0C52
+#define GL_POLYGON_SMOOTH_HINT                                                     0x0C53
+#define GL_FOG_HINT                                                                0x0C54
+#define GL_TEXTURE_GEN_S                                                           0x0C60
+#define GL_TEXTURE_GEN_T                                                           0x0C61
+#define GL_TEXTURE_GEN_R                                                           0x0C62
+#define GL_TEXTURE_GEN_Q                                                           0x0C63
+#define GL_PIXEL_MAP_I_TO_I                                                        0x0C70
+#define GL_PIXEL_MAP_S_TO_S                                                        0x0C71
+#define GL_PIXEL_MAP_I_TO_R                                                        0x0C72
+#define GL_PIXEL_MAP_I_TO_G                                                        0x0C73
+#define GL_PIXEL_MAP_I_TO_B                                                        0x0C74
+#define GL_PIXEL_MAP_I_TO_A                                                        0x0C75
+#define GL_PIXEL_MAP_R_TO_R                                                        0x0C76
+#define GL_PIXEL_MAP_G_TO_G                                                        0x0C77
+#define GL_PIXEL_MAP_B_TO_B                                                        0x0C78
+#define GL_PIXEL_MAP_A_TO_A                                                        0x0C79
+#define GL_PIXEL_MAP_I_TO_I_SIZE                                                   0x0CB0
+#define GL_PIXEL_MAP_S_TO_S_SIZE                                                   0x0CB1
+#define GL_PIXEL_MAP_I_TO_R_SIZE                                                   0x0CB2
+#define GL_PIXEL_MAP_I_TO_G_SIZE                                                   0x0CB3
+#define GL_PIXEL_MAP_I_TO_B_SIZE                                                   0x0CB4
+#define GL_PIXEL_MAP_I_TO_A_SIZE                                                   0x0CB5
+#define GL_PIXEL_MAP_R_TO_R_SIZE                                                   0x0CB6
+#define GL_PIXEL_MAP_G_TO_G_SIZE                                                   0x0CB7
+#define GL_PIXEL_MAP_B_TO_B_SIZE                                                   0x0CB8
+#define GL_PIXEL_MAP_A_TO_A_SIZE                                                   0x0CB9
+#define GL_UNPACK_SWAP_BYTES                                                       0x0CF0
+#define GL_UNPACK_LSB_FIRST                                                        0x0CF1
+#define GL_UNPACK_ROW_LENGTH                                                       0x0CF2
+#define GL_UNPACK_ROW_LENGTH_EXT                                                   0x0CF2
+#define GL_UNPACK_SKIP_ROWS                                                        0x0CF3
+#define GL_UNPACK_SKIP_ROWS_EXT                                                    0x0CF3
+#define GL_UNPACK_SKIP_PIXELS                                                      0x0CF4
+#define GL_UNPACK_SKIP_PIXELS_EXT                                                  0x0CF4
+#define GL_UNPACK_ALIGNMENT                                                        0x0CF5
+#define GL_RELATIVE_CUBIC_CURVE_TO_NV                                              0x0D
+#define GL_PACK_SWAP_BYTES                                                         0x0D00
+#define GL_PACK_LSB_FIRST                                                          0x0D01
+#define GL_PACK_ROW_LENGTH                                                         0x0D02
+#define GL_PACK_SKIP_ROWS                                                          0x0D03
+#define GL_PACK_SKIP_PIXELS                                                        0x0D04
+#define GL_PACK_ALIGNMENT                                                          0x0D05
+#define GL_MAP_COLOR                                                               0x0D10
+#define GL_MAP_STENCIL                                                             0x0D11
+#define GL_INDEX_SHIFT                                                             0x0D12
+#define GL_INDEX_OFFSET                                                            0x0D13
+#define GL_RED_SCALE                                                               0x0D14
+#define GL_RED_BIAS                                                                0x0D15
+#define GL_ZOOM_X                                                                  0x0D16
+#define GL_ZOOM_Y                                                                  0x0D17
+#define GL_GREEN_SCALE                                                             0x0D18
+#define GL_GREEN_BIAS                                                              0x0D19
+#define GL_BLUE_SCALE                                                              0x0D1A
+#define GL_BLUE_BIAS                                                               0x0D1B
+#define GL_ALPHA_SCALE                                                             0x0D1C
+#define GL_ALPHA_BIAS                                                              0x0D1D
+#define GL_DEPTH_SCALE                                                             0x0D1E
+#define GL_DEPTH_BIAS                                                              0x0D1F
+#define GL_MAX_EVAL_ORDER                                                          0x0D30
+#define GL_MAX_LIGHTS                                                              0x0D31
+#define GL_MAX_CLIP_DISTANCES                                                      0x0D32
+#define GL_MAX_CLIP_DISTANCES_APPLE                                                0x0D32
+#define GL_MAX_CLIP_DISTANCES_EXT                                                  0x0D32
+#define GL_MAX_CLIP_PLANES                                                         0x0D32
+#define GL_MAX_CLIP_PLANES_IMG                                                     0x0D32
+#define GL_MAX_TEXTURE_SIZE                                                        0x0D33
+#define GL_MAX_PIXEL_MAP_TABLE                                                     0x0D34
+#define GL_MAX_ATTRIB_STACK_DEPTH                                                  0x0D35
+#define GL_MAX_MODELVIEW_STACK_DEPTH                                               0x0D36
+#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV                                       0x0D36
+#define GL_MAX_NAME_STACK_DEPTH                                                    0x0D37
+#define GL_MAX_PROJECTION_STACK_DEPTH                                              0x0D38
+#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV                                      0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH                                                 0x0D39
+#define GL_MAX_VIEWPORT_DIMS                                                       0x0D3A
+#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH                                           0x0D3B
+#define GL_SUBPIXEL_BITS                                                           0x0D50
+#define GL_INDEX_BITS                                                              0x0D51
+#define GL_RED_BITS                                                                0x0D52
+#define GL_GREEN_BITS                                                              0x0D53
+#define GL_BLUE_BITS                                                               0x0D54
+#define GL_ALPHA_BITS                                                              0x0D55
+#define GL_DEPTH_BITS                                                              0x0D56
+#define GL_STENCIL_BITS                                                            0x0D57
+#define GL_ACCUM_RED_BITS                                                          0x0D58
+#define GL_ACCUM_GREEN_BITS                                                        0x0D59
+#define GL_ACCUM_BLUE_BITS                                                         0x0D5A
+#define GL_ACCUM_ALPHA_BITS                                                        0x0D5B
+#define GL_NAME_STACK_DEPTH                                                        0x0D70
+#define GL_AUTO_NORMAL                                                             0x0D80
+#define GL_MAP1_COLOR_4                                                            0x0D90
+#define GL_MAP1_INDEX                                                              0x0D91
+#define GL_MAP1_NORMAL                                                             0x0D92
+#define GL_MAP1_TEXTURE_COORD_1                                                    0x0D93
+#define GL_MAP1_TEXTURE_COORD_2                                                    0x0D94
+#define GL_MAP1_TEXTURE_COORD_3                                                    0x0D95
+#define GL_MAP1_TEXTURE_COORD_4                                                    0x0D96
+#define GL_MAP1_VERTEX_3                                                           0x0D97
+#define GL_MAP1_VERTEX_4                                                           0x0D98
+#define GL_MAP2_COLOR_4                                                            0x0DB0
+#define GL_MAP2_INDEX                                                              0x0DB1
+#define GL_MAP2_NORMAL                                                             0x0DB2
+#define GL_MAP2_TEXTURE_COORD_1                                                    0x0DB3
+#define GL_MAP2_TEXTURE_COORD_2                                                    0x0DB4
+#define GL_MAP2_TEXTURE_COORD_3                                                    0x0DB5
+#define GL_MAP2_TEXTURE_COORD_4                                                    0x0DB6
+#define GL_MAP2_VERTEX_3                                                           0x0DB7
+#define GL_MAP2_VERTEX_4                                                           0x0DB8
+#define GL_MAP1_GRID_DOMAIN                                                        0x0DD0
+#define GL_MAP1_GRID_SEGMENTS                                                      0x0DD1
+#define GL_MAP2_GRID_DOMAIN                                                        0x0DD2
+#define GL_MAP2_GRID_SEGMENTS                                                      0x0DD3
+#define GL_TEXTURE_1D                                                              0x0DE0
+#define GL_TEXTURE_2D                                                              0x0DE1
+#define GL_FEEDBACK_BUFFER_POINTER                                                 0x0DF0
+#define GL_FEEDBACK_BUFFER_SIZE                                                    0x0DF1
+#define GL_FEEDBACK_BUFFER_TYPE                                                    0x0DF2
+#define GL_SELECTION_BUFFER_POINTER                                                0x0DF3
+#define GL_SELECTION_BUFFER_SIZE                                                   0x0DF4
+#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV                                            0x0E
+#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV                                   0x0F
+#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV                                 0x10
+#define GL_SMOOTH_CUBIC_CURVE_TO_NV                                                0x10
+#define GL_GLYPH_HAS_KERNING_BIT_NV                                                0x100
+#define GL_TEXTURE_WIDTH                                                           0x1000
+#define GL_FONT_HAS_KERNING_BIT_NV                                                 0x10000000
+#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                                            0x10000000
+#define GL_TEXCOORD1_BIT_PGI                                                       0x10000000
+#define GL_TEXTURE_HEIGHT                                                          0x1001
+#define GL_TEXTURE_COMPONENTS                                                      0x1003
+#define GL_TEXTURE_INTERNAL_FORMAT                                                 0x1003
+#define GL_TEXTURE_BORDER_COLOR                                                    0x1004
+#define GL_TEXTURE_BORDER_COLOR_EXT                                                0x1004
+#define GL_TEXTURE_BORDER_COLOR_NV                                                 0x1004
+#define GL_TEXTURE_BORDER_COLOR_OES                                                0x1004
+#define GL_TEXTURE_BORDER                                                          0x1005
+#define GL_TEXTURE_TARGET                                                          0x1006
+#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV                                       0x11
+#define GL_DONT_CARE                                                               0x1100
+#define GL_FASTEST                                                                 0x1101
+#define GL_NICEST                                                                  0x1102
+#define GL_SMALL_CCW_ARC_TO_NV                                                     0x12
+#define GL_AMBIENT                                                                 0x1200
+#define GL_DIFFUSE                                                                 0x1201
+#define GL_SPECULAR                                                                0x1202
+#define GL_POSITION                                                                0x1203
+#define GL_SPOT_DIRECTION                                                          0x1204
+#define GL_SPOT_EXPONENT                                                           0x1205
+#define GL_SPOT_CUTOFF                                                             0x1206
+#define GL_CONSTANT_ATTENUATION                                                    0x1207
+#define GL_LINEAR_ATTENUATION                                                      0x1208
+#define GL_QUADRATIC_ATTENUATION                                                   0x1209
+#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV                                            0x13
+#define GL_COMPILE                                                                 0x1300
+#define GL_COMPILE_AND_EXECUTE                                                     0x1301
+#define GL_SMALL_CW_ARC_TO_NV                                                      0x14
+#define GL_BYTE                                                                    0x1400
+#define GL_UNSIGNED_BYTE                                                           0x1401
+#define GL_SHORT                                                                   0x1402
+#define GL_UNSIGNED_SHORT                                                          0x1403
+#define GL_INT                                                                     0x1404
+#define GL_UNSIGNED_INT                                                            0x1405
+#define GL_FLOAT                                                                   0x1406
+#define GL_2_BYTES                                                                 0x1407
+#define GL_2_BYTES_NV                                                              0x1407
+#define GL_3_BYTES                                                                 0x1408
+#define GL_3_BYTES_NV                                                              0x1408
+#define GL_4_BYTES                                                                 0x1409
+#define GL_4_BYTES_NV                                                              0x1409
+#define GL_DOUBLE                                                                  0x140A
+#define GL_DOUBLE_EXT                                                              0x140A
+#define GL_HALF_APPLE                                                              0x140B
+#define GL_HALF_FLOAT                                                              0x140B
+#define GL_HALF_FLOAT_ARB                                                          0x140B
+#define GL_HALF_FLOAT_NV                                                           0x140B
+#define GL_FIXED                                                                   0x140C
+#define GL_FIXED_OES                                                               0x140C
+#define GL_INT64_ARB                                                               0x140E
+#define GL_INT64_NV                                                                0x140E
+#define GL_UNSIGNED_INT64_ARB                                                      0x140F
+#define GL_UNSIGNED_INT64_NV                                                       0x140F
+#define GL_RELATIVE_SMALL_CW_ARC_TO_NV                                             0x15
+#define GL_CLEAR                                                                   0x1500
+#define GL_AND                                                                     0x1501
+#define GL_AND_REVERSE                                                             0x1502
+#define GL_COPY                                                                    0x1503
+#define GL_AND_INVERTED                                                            0x1504
+#define GL_NOOP                                                                    0x1505
+#define GL_XOR                                                                     0x1506
+#define GL_XOR_NV                                                                  0x1506
+#define GL_OR                                                                      0x1507
+#define GL_NOR                                                                     0x1508
+#define GL_EQUIV                                                                   0x1509
+#define GL_INVERT                                                                  0x150A
+#define GL_OR_REVERSE                                                              0x150B
+#define GL_COPY_INVERTED                                                           0x150C
+#define GL_OR_INVERTED                                                             0x150D
+#define GL_NAND                                                                    0x150E
+#define GL_SET                                                                     0x150F
+#define GL_LARGE_CCW_ARC_TO_NV                                                     0x16
+#define GL_EMISSION                                                                0x1600
+#define GL_SHININESS                                                               0x1601
+#define GL_AMBIENT_AND_DIFFUSE                                                     0x1602
+#define GL_COLOR_INDEXES                                                           0x1603
+#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV                                            0x17
+#define GL_MODELVIEW                                                               0x1700
+#define GL_MODELVIEW0_ARB                                                          0x1700
+#define GL_MODELVIEW0_EXT                                                          0x1700
+#define GL_PATH_MODELVIEW_NV                                                       0x1700
+#define GL_PATH_PROJECTION_NV                                                      0x1701
+#define GL_PROJECTION                                                              0x1701
+#define GL_TEXTURE                                                                 0x1702
+#define GL_LARGE_CW_ARC_TO_NV                                                      0x18
+#define GL_COLOR                                                                   0x1800
+#define GL_COLOR_EXT                                                               0x1800
+#define GL_DEPTH                                                                   0x1801
+#define GL_DEPTH_EXT                                                               0x1801
+#define GL_STENCIL                                                                 0x1802
+#define GL_STENCIL_EXT                                                             0x1802
+#define GL_RELATIVE_LARGE_CW_ARC_TO_NV                                             0x19
+#define GL_COLOR_INDEX                                                             0x1900
+#define GL_STENCIL_INDEX                                                           0x1901
+#define GL_STENCIL_INDEX_OES                                                       0x1901
+#define GL_DEPTH_COMPONENT                                                         0x1902
+#define GL_RED                                                                     0x1903
+#define GL_RED_EXT                                                                 0x1903
+#define GL_RED_NV                                                                  0x1903
+#define GL_GREEN                                                                   0x1904
+#define GL_GREEN_NV                                                                0x1904
+#define GL_BLUE                                                                    0x1905
+#define GL_BLUE_NV                                                                 0x1905
+#define GL_ALPHA                                                                   0x1906
+#define GL_RGB                                                                     0x1907
+#define GL_RGBA                                                                    0x1908
+#define GL_LUMINANCE                                                               0x1909
+#define GL_LUMINANCE_ALPHA                                                         0x190A
+#define GL_RASTER_POSITION_UNCLIPPED_IBM                                           0x19262
+#define GL_CONIC_CURVE_TO_NV                                                       0x1A
+#define GL_BITMAP                                                                  0x1A00
+#define GL_PREFER_DOUBLEBUFFER_HINT_PGI                                            0x1A1F8
+#define GL_CONSERVE_MEMORY_HINT_PGI                                                0x1A1FD
+#define GL_RECLAIM_MEMORY_HINT_PGI                                                 0x1A1FE
+#define GL_NATIVE_GRAPHICS_HANDLE_PGI                                              0x1A202
+#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI                                          0x1A203
+#define GL_NATIVE_GRAPHICS_END_HINT_PGI                                            0x1A204
+#define GL_ALWAYS_FAST_HINT_PGI                                                    0x1A20C
+#define GL_ALWAYS_SOFT_HINT_PGI                                                    0x1A20D
+#define GL_ALLOW_DRAW_OBJ_HINT_PGI                                                 0x1A20E
+#define GL_ALLOW_DRAW_WIN_HINT_PGI                                                 0x1A20F
+#define GL_ALLOW_DRAW_FRG_HINT_PGI                                                 0x1A210
+#define GL_ALLOW_DRAW_MEM_HINT_PGI                                                 0x1A211
+#define GL_STRICT_DEPTHFUNC_HINT_PGI                                               0x1A216
+#define GL_STRICT_LIGHTING_HINT_PGI                                                0x1A217
+#define GL_STRICT_SCISSOR_HINT_PGI                                                 0x1A218
+#define GL_FULL_STIPPLE_HINT_PGI                                                   0x1A219
+#define GL_CLIP_NEAR_HINT_PGI                                                      0x1A220
+#define GL_CLIP_FAR_HINT_PGI                                                       0x1A221
+#define GL_WIDE_LINE_HINT_PGI                                                      0x1A222
+#define GL_BACK_NORMALS_HINT_PGI                                                   0x1A223
+#define GL_VERTEX_DATA_HINT_PGI                                                    0x1A22A
+#define GL_VERTEX_CONSISTENT_HINT_PGI                                              0x1A22B
+#define GL_MATERIAL_SIDE_HINT_PGI                                                  0x1A22C
+#define GL_MAX_VERTEX_HINT_PGI                                                     0x1A22D
+#define GL_RELATIVE_CONIC_CURVE_TO_NV                                              0x1B
+#define GL_POINT                                                                   0x1B00
+#define GL_POINT_NV                                                                0x1B00
+#define GL_LINE                                                                    0x1B01
+#define GL_LINE_NV                                                                 0x1B01
+#define GL_FILL                                                                    0x1B02
+#define GL_FILL_NV                                                                 0x1B02
+#define GL_RENDER                                                                  0x1C00
+#define GL_FEEDBACK                                                                0x1C01
+#define GL_SELECT                                                                  0x1C02
+#define GL_FLAT                                                                    0x1D00
+#define GL_SMOOTH                                                                  0x1D01
+#define GL_KEEP                                                                    0x1E00
+#define GL_REPLACE                                                                 0x1E01
+#define GL_INCR                                                                    0x1E02
+#define GL_DECR                                                                    0x1E03
+#define GL_VENDOR                                                                  0x1F00
+#define GL_RENDERER                                                                0x1F01
+#define GL_VERSION                                                                 0x1F02
+#define GL_EXTENSIONS                                                              0x1F03
+#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV                                         0x20
+#define GL_S                                                                       0x2000
+#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV                                           0x20000000
+#define GL_MULTISAMPLE_BIT                                                         0x20000000
+#define GL_MULTISAMPLE_BIT_3DFX                                                    0x20000000
+#define GL_MULTISAMPLE_BIT_ARB                                                     0x20000000
+#define GL_MULTISAMPLE_BIT_EXT                                                     0x20000000
+#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                                            0x20000000
+#define GL_TEXCOORD2_BIT_PGI                                                       0x20000000
+#define GL_T                                                                       0x2001
+#define GL_R                                                                       0x2002
+#define GL_Q                                                                       0x2003
+#define GL_MODULATE                                                                0x2100
+#define GL_DECAL                                                                   0x2101
+#define GL_TEXTURE_ENV_MODE                                                        0x2200
+#define GL_TEXTURE_ENV_COLOR                                                       0x2201
+#define GL_TEXTURE_ENV                                                             0x2300
+#define GL_EYE_LINEAR                                                              0x2400
+#define GL_EYE_LINEAR_NV                                                           0x2400
+#define GL_OBJECT_LINEAR                                                           0x2401
+#define GL_OBJECT_LINEAR_NV                                                        0x2401
+#define GL_SPHERE_MAP                                                              0x2402
+#define GL_TEXTURE_GEN_MODE                                                        0x2500
+#define GL_TEXTURE_GEN_MODE_OES                                                    0x2500
+#define GL_OBJECT_PLANE                                                            0x2501
+#define GL_EYE_PLANE                                                               0x2502
+#define GL_NEAREST                                                                 0x2600
+#define GL_LINEAR                                                                  0x2601
+#define GL_NEAREST_MIPMAP_NEAREST                                                  0x2700
+#define GL_LINEAR_MIPMAP_NEAREST                                                   0x2701
+#define GL_NEAREST_MIPMAP_LINEAR                                                   0x2702
+#define GL_LINEAR_MIPMAP_LINEAR                                                    0x2703
+#define GL_TEXTURE_MAG_FILTER                                                      0x2800
+#define GL_TEXTURE_MIN_FILTER                                                      0x2801
+#define GL_TEXTURE_WRAP_S                                                          0x2802
+#define GL_TEXTURE_WRAP_T                                                          0x2803
+#define GL_CLAMP                                                                   0x2900
+#define GL_REPEAT                                                                  0x2901
+#define GL_POLYGON_OFFSET_UNITS                                                    0x2A00
+#define GL_POLYGON_OFFSET_POINT                                                    0x2A01
+#define GL_POLYGON_OFFSET_POINT_NV                                                 0x2A01
+#define GL_POLYGON_OFFSET_LINE                                                     0x2A02
+#define GL_POLYGON_OFFSET_LINE_NV                                                  0x2A02
+#define GL_R3_G3_B2                                                                0x2A10
+#define GL_V2F                                                                     0x2A20
+#define GL_V3F                                                                     0x2A21
+#define GL_C4UB_V2F                                                                0x2A22
+#define GL_C4UB_V3F                                                                0x2A23
+#define GL_C3F_V3F                                                                 0x2A24
+#define GL_N3F_V3F                                                                 0x2A25
+#define GL_C4F_N3F_V3F                                                             0x2A26
+#define GL_T2F_V3F                                                                 0x2A27
+#define GL_T4F_V4F                                                                 0x2A28
+#define GL_T2F_C4UB_V3F                                                            0x2A29
+#define GL_T2F_C3F_V3F                                                             0x2A2A
+#define GL_T2F_N3F_V3F                                                             0x2A2B
+#define GL_T2F_C4F_N3F_V3F                                                         0x2A2C
+#define GL_T4F_C4F_N3F_V4F                                                         0x2A2D
+#define GL_CLIP_DISTANCE0                                                          0x3000
+#define GL_CLIP_DISTANCE0_APPLE                                                    0x3000
+#define GL_CLIP_DISTANCE0_EXT                                                      0x3000
+#define GL_CLIP_PLANE0                                                             0x3000
+#define GL_CLIP_PLANE0_IMG                                                         0x3000
+#define GL_CLIP_DISTANCE1                                                          0x3001
+#define GL_CLIP_DISTANCE1_APPLE                                                    0x3001
+#define GL_CLIP_DISTANCE1_EXT                                                      0x3001
+#define GL_CLIP_PLANE1                                                             0x3001
+#define GL_CLIP_PLANE1_IMG                                                         0x3001
+#define GL_CLIP_DISTANCE2                                                          0x3002
+#define GL_CLIP_DISTANCE2_APPLE                                                    0x3002
+#define GL_CLIP_DISTANCE2_EXT                                                      0x3002
+#define GL_CLIP_PLANE2                                                             0x3002
+#define GL_CLIP_PLANE2_IMG                                                         0x3002
+#define GL_CLIP_DISTANCE3                                                          0x3003
+#define GL_CLIP_DISTANCE3_APPLE                                                    0x3003
+#define GL_CLIP_DISTANCE3_EXT                                                      0x3003
+#define GL_CLIP_PLANE3                                                             0x3003
+#define GL_CLIP_PLANE3_IMG                                                         0x3003
+#define GL_CLIP_DISTANCE4                                                          0x3004
+#define GL_CLIP_DISTANCE4_APPLE                                                    0x3004
+#define GL_CLIP_DISTANCE4_EXT                                                      0x3004
+#define GL_CLIP_PLANE4                                                             0x3004
+#define GL_CLIP_PLANE4_IMG                                                         0x3004
+#define GL_CLIP_DISTANCE5                                                          0x3005
+#define GL_CLIP_DISTANCE5_APPLE                                                    0x3005
+#define GL_CLIP_DISTANCE5_EXT                                                      0x3005
+#define GL_CLIP_PLANE5                                                             0x3005
+#define GL_CLIP_PLANE5_IMG                                                         0x3005
+#define GL_CLIP_DISTANCE6                                                          0x3006
+#define GL_CLIP_DISTANCE6_APPLE                                                    0x3006
+#define GL_CLIP_DISTANCE6_EXT                                                      0x3006
+#define GL_CLIP_DISTANCE7                                                          0x3007
+#define GL_CLIP_DISTANCE7_APPLE                                                    0x3007
+#define GL_CLIP_DISTANCE7_EXT                                                      0x3007
+#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV                                         0x40
+#define GL_LIGHT0                                                                  0x4000
+#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                                            0x40000000
+#define GL_TEXCOORD3_BIT_PGI                                                       0x40000000
+#define GL_LIGHT1                                                                  0x4001
+#define GL_LIGHT2                                                                  0x4002
+#define GL_LIGHT3                                                                  0x4003
+#define GL_LIGHT4                                                                  0x4004
+#define GL_LIGHT5                                                                  0x4005
+#define GL_LIGHT6                                                                  0x4006
+#define GL_LIGHT7                                                                  0x4007
+#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV                                   0x80
+#define GL_ABGR_EXT                                                                0x8000
+#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                                            0x80000000
+#define GL_TEXCOORD4_BIT_PGI                                                       0x80000000
+#define GL_CONSTANT_COLOR                                                          0x8001
+#define GL_CONSTANT_COLOR_EXT                                                      0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR                                                0x8002
+#define GL_ONE_MINUS_CONSTANT_COLOR_EXT                                            0x8002
+#define GL_CONSTANT_ALPHA                                                          0x8003
+#define GL_CONSTANT_ALPHA_EXT                                                      0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA                                                0x8004
+#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT                                            0x8004
+#define GL_BLEND_COLOR                                                             0x8005
+#define GL_BLEND_COLOR_EXT                                                         0x8005
+#define GL_FUNC_ADD                                                                0x8006
+#define GL_FUNC_ADD_EXT                                                            0x8006
+#define GL_FUNC_ADD_OES                                                            0x8006
+#define GL_MIN                                                                     0x8007
+#define GL_MIN_EXT                                                                 0x8007
+#define GL_MAX                                                                     0x8008
+#define GL_MAX_EXT                                                                 0x8008
+#define GL_BLEND_EQUATION                                                          0x8009
+#define GL_BLEND_EQUATION_EXT                                                      0x8009
+#define GL_BLEND_EQUATION_OES                                                      0x8009
+#define GL_BLEND_EQUATION_RGB                                                      0x8009
+#define GL_BLEND_EQUATION_RGB_EXT                                                  0x8009
+#define GL_BLEND_EQUATION_RGB_OES                                                  0x8009
+#define GL_FUNC_SUBTRACT                                                           0x800A
+#define GL_FUNC_SUBTRACT_EXT                                                       0x800A
+#define GL_FUNC_SUBTRACT_OES                                                       0x800A
+#define GL_FUNC_REVERSE_SUBTRACT                                                   0x800B
+#define GL_FUNC_REVERSE_SUBTRACT_EXT                                               0x800B
+#define GL_FUNC_REVERSE_SUBTRACT_OES                                               0x800B
+#define GL_CMYK_EXT                                                                0x800C
+#define GL_CMYKA_EXT                                                               0x800D
+#define GL_PACK_CMYK_HINT_EXT                                                      0x800E
+#define GL_UNPACK_CMYK_HINT_EXT                                                    0x800F
+#define GL_CONVOLUTION_1D                                                          0x8010
+#define GL_CONVOLUTION_1D_EXT                                                      0x8010
+#define GL_CONVOLUTION_2D                                                          0x8011
+#define GL_CONVOLUTION_2D_EXT                                                      0x8011
+#define GL_SEPARABLE_2D                                                            0x8012
+#define GL_SEPARABLE_2D_EXT                                                        0x8012
+#define GL_CONVOLUTION_BORDER_MODE                                                 0x8013
+#define GL_CONVOLUTION_BORDER_MODE_EXT                                             0x8013
+#define GL_CONVOLUTION_FILTER_SCALE                                                0x8014
+#define GL_CONVOLUTION_FILTER_SCALE_EXT                                            0x8014
+#define GL_CONVOLUTION_FILTER_BIAS                                                 0x8015
+#define GL_CONVOLUTION_FILTER_BIAS_EXT                                             0x8015
+#define GL_REDUCE                                                                  0x8016
+#define GL_REDUCE_EXT                                                              0x8016
+#define GL_CONVOLUTION_FORMAT                                                      0x8017
+#define GL_CONVOLUTION_FORMAT_EXT                                                  0x8017
+#define GL_CONVOLUTION_WIDTH                                                       0x8018
+#define GL_CONVOLUTION_WIDTH_EXT                                                   0x8018
+#define GL_CONVOLUTION_HEIGHT                                                      0x8019
+#define GL_CONVOLUTION_HEIGHT_EXT                                                  0x8019
+#define GL_MAX_CONVOLUTION_WIDTH                                                   0x801A
+#define GL_MAX_CONVOLUTION_WIDTH_EXT                                               0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT                                                  0x801B
+#define GL_MAX_CONVOLUTION_HEIGHT_EXT                                              0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE                                              0x801C
+#define GL_POST_CONVOLUTION_RED_SCALE_EXT                                          0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE                                            0x801D
+#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT                                        0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE                                             0x801E
+#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT                                         0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE                                            0x801F
+#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT                                        0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS                                               0x8020
+#define GL_POST_CONVOLUTION_RED_BIAS_EXT                                           0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS                                             0x8021
+#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT                                         0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS                                              0x8022
+#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT                                          0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS                                             0x8023
+#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT                                         0x8023
+#define GL_HISTOGRAM                                                               0x8024
+#define GL_HISTOGRAM_EXT                                                           0x8024
+#define GL_PROXY_HISTOGRAM                                                         0x8025
+#define GL_PROXY_HISTOGRAM_EXT                                                     0x8025
+#define GL_HISTOGRAM_WIDTH                                                         0x8026
+#define GL_HISTOGRAM_WIDTH_EXT                                                     0x8026
+#define GL_HISTOGRAM_FORMAT                                                        0x8027
+#define GL_HISTOGRAM_FORMAT_EXT                                                    0x8027
+#define GL_HISTOGRAM_RED_SIZE                                                      0x8028
+#define GL_HISTOGRAM_RED_SIZE_EXT                                                  0x8028
+#define GL_HISTOGRAM_GREEN_SIZE                                                    0x8029
+#define GL_HISTOGRAM_GREEN_SIZE_EXT                                                0x8029
+#define GL_HISTOGRAM_BLUE_SIZE                                                     0x802A
+#define GL_HISTOGRAM_BLUE_SIZE_EXT                                                 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE                                                    0x802B
+#define GL_HISTOGRAM_ALPHA_SIZE_EXT                                                0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE                                                0x802C
+#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT                                            0x802C
+#define GL_HISTOGRAM_SINK                                                          0x802D
+#define GL_HISTOGRAM_SINK_EXT                                                      0x802D
+#define GL_MINMAX                                                                  0x802E
+#define GL_MINMAX_EXT                                                              0x802E
+#define GL_MINMAX_FORMAT                                                           0x802F
+#define GL_MINMAX_FORMAT_EXT                                                       0x802F
+#define GL_MINMAX_SINK                                                             0x8030
+#define GL_MINMAX_SINK_EXT                                                         0x8030
+#define GL_TABLE_TOO_LARGE                                                         0x8031
+#define GL_TABLE_TOO_LARGE_EXT                                                     0x8031
+#define GL_UNSIGNED_BYTE_3_3_2                                                     0x8032
+#define GL_UNSIGNED_BYTE_3_3_2_EXT                                                 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4                                                  0x8033
+#define GL_UNSIGNED_SHORT_4_4_4_4_EXT                                              0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1                                                  0x8034
+#define GL_UNSIGNED_SHORT_5_5_5_1_EXT                                              0x8034
+#define GL_UNSIGNED_INT_8_8_8_8                                                    0x8035
+#define GL_UNSIGNED_INT_8_8_8_8_EXT                                                0x8035
+#define GL_UNSIGNED_INT_10_10_10_2                                                 0x8036
+#define GL_UNSIGNED_INT_10_10_10_2_EXT                                             0x8036
+#define GL_POLYGON_OFFSET_EXT                                                      0x8037
+#define GL_POLYGON_OFFSET_FILL                                                     0x8037
+#define GL_POLYGON_OFFSET_FACTOR                                                   0x8038
+#define GL_POLYGON_OFFSET_FACTOR_EXT                                               0x8038
+#define GL_POLYGON_OFFSET_BIAS_EXT                                                 0x8039
+#define GL_RESCALE_NORMAL                                                          0x803A
+#define GL_RESCALE_NORMAL_EXT                                                      0x803A
+#define GL_ALPHA4                                                                  0x803B
+#define GL_ALPHA4_EXT                                                              0x803B
+#define GL_ALPHA8                                                                  0x803C
+#define GL_ALPHA8_EXT                                                              0x803C
+#define GL_ALPHA8_OES                                                              0x803C
+#define GL_ALPHA12                                                                 0x803D
+#define GL_ALPHA12_EXT                                                             0x803D
+#define GL_ALPHA16                                                                 0x803E
+#define GL_ALPHA16_EXT                                                             0x803E
+#define GL_LUMINANCE4                                                              0x803F
+#define GL_LUMINANCE4_EXT                                                          0x803F
+#define GL_LUMINANCE8                                                              0x8040
+#define GL_LUMINANCE8_EXT                                                          0x8040
+#define GL_LUMINANCE8_OES                                                          0x8040
+#define GL_LUMINANCE12                                                             0x8041
+#define GL_LUMINANCE12_EXT                                                         0x8041
+#define GL_LUMINANCE16                                                             0x8042
+#define GL_LUMINANCE16_EXT                                                         0x8042
+#define GL_LUMINANCE4_ALPHA4                                                       0x8043
+#define GL_LUMINANCE4_ALPHA4_EXT                                                   0x8043
+#define GL_LUMINANCE4_ALPHA4_OES                                                   0x8043
+#define GL_LUMINANCE6_ALPHA2                                                       0x8044
+#define GL_LUMINANCE6_ALPHA2_EXT                                                   0x8044
+#define GL_LUMINANCE8_ALPHA8                                                       0x8045
+#define GL_LUMINANCE8_ALPHA8_EXT                                                   0x8045
+#define GL_LUMINANCE8_ALPHA8_OES                                                   0x8045
+#define GL_LUMINANCE12_ALPHA4                                                      0x8046
+#define GL_LUMINANCE12_ALPHA4_EXT                                                  0x8046
+#define GL_LUMINANCE12_ALPHA12                                                     0x8047
+#define GL_LUMINANCE12_ALPHA12_EXT                                                 0x8047
+#define GL_LUMINANCE16_ALPHA16                                                     0x8048
+#define GL_LUMINANCE16_ALPHA16_EXT                                                 0x8048
+#define GL_INTENSITY                                                               0x8049
+#define GL_INTENSITY_EXT                                                           0x8049
+#define GL_INTENSITY4                                                              0x804A
+#define GL_INTENSITY4_EXT                                                          0x804A
+#define GL_INTENSITY8                                                              0x804B
+#define GL_INTENSITY8_EXT                                                          0x804B
+#define GL_INTENSITY12                                                             0x804C
+#define GL_INTENSITY12_EXT                                                         0x804C
+#define GL_INTENSITY16                                                             0x804D
+#define GL_INTENSITY16_EXT                                                         0x804D
+#define GL_RGB2_EXT                                                                0x804E
+#define GL_RGB4                                                                    0x804F
+#define GL_RGB4_EXT                                                                0x804F
+#define GL_RGB5                                                                    0x8050
+#define GL_RGB5_EXT                                                                0x8050
+#define GL_RGB8                                                                    0x8051
+#define GL_RGB8_EXT                                                                0x8051
+#define GL_RGB8_OES                                                                0x8051
+#define GL_RGB10                                                                   0x8052
+#define GL_RGB10_EXT                                                               0x8052
+#define GL_RGB12                                                                   0x8053
+#define GL_RGB12_EXT                                                               0x8053
+#define GL_RGB16                                                                   0x8054
+#define GL_RGB16_EXT                                                               0x8054
+#define GL_RGBA2                                                                   0x8055
+#define GL_RGBA2_EXT                                                               0x8055
+#define GL_RGBA4                                                                   0x8056
+#define GL_RGBA4_EXT                                                               0x8056
+#define GL_RGBA4_OES                                                               0x8056
+#define GL_RGB5_A1                                                                 0x8057
+#define GL_RGB5_A1_EXT                                                             0x8057
+#define GL_RGB5_A1_OES                                                             0x8057
+#define GL_RGBA8                                                                   0x8058
+#define GL_RGBA8_EXT                                                               0x8058
+#define GL_RGBA8_OES                                                               0x8058
+#define GL_RGB10_A2                                                                0x8059
+#define GL_RGB10_A2_EXT                                                            0x8059
+#define GL_RGBA12                                                                  0x805A
+#define GL_RGBA12_EXT                                                              0x805A
+#define GL_RGBA16                                                                  0x805B
+#define GL_RGBA16_EXT                                                              0x805B
+#define GL_TEXTURE_RED_SIZE                                                        0x805C
+#define GL_TEXTURE_RED_SIZE_EXT                                                    0x805C
+#define GL_TEXTURE_GREEN_SIZE                                                      0x805D
+#define GL_TEXTURE_GREEN_SIZE_EXT                                                  0x805D
+#define GL_TEXTURE_BLUE_SIZE                                                       0x805E
+#define GL_TEXTURE_BLUE_SIZE_EXT                                                   0x805E
+#define GL_TEXTURE_ALPHA_SIZE                                                      0x805F
+#define GL_TEXTURE_ALPHA_SIZE_EXT                                                  0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE                                                  0x8060
+#define GL_TEXTURE_LUMINANCE_SIZE_EXT                                              0x8060
+#define GL_TEXTURE_INTENSITY_SIZE                                                  0x8061
+#define GL_TEXTURE_INTENSITY_SIZE_EXT                                              0x8061
+#define GL_REPLACE_EXT                                                             0x8062
+#define GL_PROXY_TEXTURE_1D                                                        0x8063
+#define GL_PROXY_TEXTURE_1D_EXT                                                    0x8063
+#define GL_PROXY_TEXTURE_2D                                                        0x8064
+#define GL_PROXY_TEXTURE_2D_EXT                                                    0x8064
+#define GL_TEXTURE_TOO_LARGE_EXT                                                   0x8065
+#define GL_TEXTURE_PRIORITY                                                        0x8066
+#define GL_TEXTURE_PRIORITY_EXT                                                    0x8066
+#define GL_TEXTURE_RESIDENT                                                        0x8067
+#define GL_TEXTURE_RESIDENT_EXT                                                    0x8067
+#define GL_TEXTURE_1D_BINDING_EXT                                                  0x8068
+#define GL_TEXTURE_BINDING_1D                                                      0x8068
+#define GL_TEXTURE_2D_BINDING_EXT                                                  0x8069
+#define GL_TEXTURE_BINDING_2D                                                      0x8069
+#define GL_TEXTURE_3D_BINDING_EXT                                                  0x806A
+#define GL_TEXTURE_3D_BINDING_OES                                                  0x806A
+#define GL_TEXTURE_BINDING_3D                                                      0x806A
+#define GL_TEXTURE_BINDING_3D_OES                                                  0x806A
+#define GL_PACK_SKIP_IMAGES                                                        0x806B
+#define GL_PACK_SKIP_IMAGES_EXT                                                    0x806B
+#define GL_PACK_IMAGE_HEIGHT                                                       0x806C
+#define GL_PACK_IMAGE_HEIGHT_EXT                                                   0x806C
+#define GL_UNPACK_SKIP_IMAGES                                                      0x806D
+#define GL_UNPACK_SKIP_IMAGES_EXT                                                  0x806D
+#define GL_UNPACK_IMAGE_HEIGHT                                                     0x806E
+#define GL_UNPACK_IMAGE_HEIGHT_EXT                                                 0x806E
+#define GL_TEXTURE_3D                                                              0x806F
+#define GL_TEXTURE_3D_EXT                                                          0x806F
+#define GL_TEXTURE_3D_OES                                                          0x806F
+#define GL_PROXY_TEXTURE_3D                                                        0x8070
+#define GL_PROXY_TEXTURE_3D_EXT                                                    0x8070
+#define GL_TEXTURE_DEPTH                                                           0x8071
+#define GL_TEXTURE_DEPTH_EXT                                                       0x8071
+#define GL_TEXTURE_WRAP_R                                                          0x8072
+#define GL_TEXTURE_WRAP_R_EXT                                                      0x8072
+#define GL_TEXTURE_WRAP_R_OES                                                      0x8072
+#define GL_MAX_3D_TEXTURE_SIZE                                                     0x8073
+#define GL_MAX_3D_TEXTURE_SIZE_EXT                                                 0x8073
+#define GL_MAX_3D_TEXTURE_SIZE_OES                                                 0x8073
+#define GL_VERTEX_ARRAY                                                            0x8074
+#define GL_VERTEX_ARRAY_EXT                                                        0x8074
+#define GL_VERTEX_ARRAY_KHR                                                        0x8074
+#define GL_NORMAL_ARRAY                                                            0x8075
+#define GL_NORMAL_ARRAY_EXT                                                        0x8075
+#define GL_COLOR_ARRAY                                                             0x8076
+#define GL_COLOR_ARRAY_EXT                                                         0x8076
+#define GL_INDEX_ARRAY                                                             0x8077
+#define GL_INDEX_ARRAY_EXT                                                         0x8077
+#define GL_TEXTURE_COORD_ARRAY                                                     0x8078
+#define GL_TEXTURE_COORD_ARRAY_EXT                                                 0x8078
+#define GL_EDGE_FLAG_ARRAY                                                         0x8079
+#define GL_EDGE_FLAG_ARRAY_EXT                                                     0x8079
+#define GL_VERTEX_ARRAY_SIZE                                                       0x807A
+#define GL_VERTEX_ARRAY_SIZE_EXT                                                   0x807A
+#define GL_VERTEX_ARRAY_TYPE                                                       0x807B
+#define GL_VERTEX_ARRAY_TYPE_EXT                                                   0x807B
+#define GL_VERTEX_ARRAY_STRIDE                                                     0x807C
+#define GL_VERTEX_ARRAY_STRIDE_EXT                                                 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT                                                  0x807D
+#define GL_NORMAL_ARRAY_TYPE                                                       0x807E
+#define GL_NORMAL_ARRAY_TYPE_EXT                                                   0x807E
+#define GL_NORMAL_ARRAY_STRIDE                                                     0x807F
+#define GL_NORMAL_ARRAY_STRIDE_EXT                                                 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT                                                  0x8080
+#define GL_COLOR_ARRAY_SIZE                                                        0x8081
+#define GL_COLOR_ARRAY_SIZE_EXT                                                    0x8081
+#define GL_COLOR_ARRAY_TYPE                                                        0x8082
+#define GL_COLOR_ARRAY_TYPE_EXT                                                    0x8082
+#define GL_COLOR_ARRAY_STRIDE                                                      0x8083
+#define GL_COLOR_ARRAY_STRIDE_EXT                                                  0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT                                                   0x8084
+#define GL_INDEX_ARRAY_TYPE                                                        0x8085
+#define GL_INDEX_ARRAY_TYPE_EXT                                                    0x8085
+#define GL_INDEX_ARRAY_STRIDE                                                      0x8086
+#define GL_INDEX_ARRAY_STRIDE_EXT                                                  0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT                                                   0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE                                                0x8088
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT                                            0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE                                                0x8089
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT                                            0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE                                              0x808A
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT                                          0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT                                           0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE                                                  0x808C
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT                                              0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT                                               0x808D
+#define GL_VERTEX_ARRAY_POINTER                                                    0x808E
+#define GL_VERTEX_ARRAY_POINTER_EXT                                                0x808E
+#define GL_NORMAL_ARRAY_POINTER                                                    0x808F
+#define GL_NORMAL_ARRAY_POINTER_EXT                                                0x808F
+#define GL_COLOR_ARRAY_POINTER                                                     0x8090
+#define GL_COLOR_ARRAY_POINTER_EXT                                                 0x8090
+#define GL_INDEX_ARRAY_POINTER                                                     0x8091
+#define GL_INDEX_ARRAY_POINTER_EXT                                                 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER                                             0x8092
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT                                         0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER                                                 0x8093
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT                                             0x8093
+#define GL_INTERLACE_SGIX                                                          0x8094
+#define GL_DETAIL_TEXTURE_2D_SGIS                                                  0x8095
+#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS                                          0x8096
+#define GL_LINEAR_DETAIL_SGIS                                                      0x8097
+#define GL_LINEAR_DETAIL_ALPHA_SGIS                                                0x8098
+#define GL_LINEAR_DETAIL_COLOR_SGIS                                                0x8099
+#define GL_DETAIL_TEXTURE_LEVEL_SGIS                                               0x809A
+#define GL_DETAIL_TEXTURE_MODE_SGIS                                                0x809B
+#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS                                         0x809C
+#define GL_MULTISAMPLE                                                             0x809D
+#define GL_MULTISAMPLE_ARB                                                         0x809D
+#define GL_MULTISAMPLE_EXT                                                         0x809D
+#define GL_MULTISAMPLE_SGIS                                                        0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE                                                0x809E
+#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB                                            0x809E
+#define GL_SAMPLE_ALPHA_TO_MASK_EXT                                                0x809E
+#define GL_SAMPLE_ALPHA_TO_MASK_SGIS                                               0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE                                                     0x809F
+#define GL_SAMPLE_ALPHA_TO_ONE_ARB                                                 0x809F
+#define GL_SAMPLE_ALPHA_TO_ONE_EXT                                                 0x809F
+#define GL_SAMPLE_ALPHA_TO_ONE_SGIS                                                0x809F
+#define GL_SAMPLE_COVERAGE                                                         0x80A0
+#define GL_SAMPLE_COVERAGE_ARB                                                     0x80A0
+#define GL_SAMPLE_MASK_EXT                                                         0x80A0
+#define GL_SAMPLE_MASK_SGIS                                                        0x80A0
+#define GL_1PASS_EXT                                                               0x80A1
+#define GL_1PASS_SGIS                                                              0x80A1
+#define GL_2PASS_0_EXT                                                             0x80A2
+#define GL_2PASS_0_SGIS                                                            0x80A2
+#define GL_2PASS_1_EXT                                                             0x80A3
+#define GL_2PASS_1_SGIS                                                            0x80A3
+#define GL_4PASS_0_EXT                                                             0x80A4
+#define GL_4PASS_0_SGIS                                                            0x80A4
+#define GL_4PASS_1_EXT                                                             0x80A5
+#define GL_4PASS_1_SGIS                                                            0x80A5
+#define GL_4PASS_2_EXT                                                             0x80A6
+#define GL_4PASS_2_SGIS                                                            0x80A6
+#define GL_4PASS_3_EXT                                                             0x80A7
+#define GL_4PASS_3_SGIS                                                            0x80A7
+#define GL_SAMPLE_BUFFERS                                                          0x80A8
+#define GL_SAMPLE_BUFFERS_ARB                                                      0x80A8
+#define GL_SAMPLE_BUFFERS_EXT                                                      0x80A8
+#define GL_SAMPLE_BUFFERS_SGIS                                                     0x80A8
+#define GL_SAMPLES                                                                 0x80A9
+#define GL_SAMPLES_ARB                                                             0x80A9
+#define GL_SAMPLES_EXT                                                             0x80A9
+#define GL_SAMPLES_SGIS                                                            0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE                                                   0x80AA
+#define GL_SAMPLE_COVERAGE_VALUE_ARB                                               0x80AA
+#define GL_SAMPLE_MASK_VALUE_EXT                                                   0x80AA
+#define GL_SAMPLE_MASK_VALUE_SGIS                                                  0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT                                                  0x80AB
+#define GL_SAMPLE_COVERAGE_INVERT_ARB                                              0x80AB
+#define GL_SAMPLE_MASK_INVERT_EXT                                                  0x80AB
+#define GL_SAMPLE_MASK_INVERT_SGIS                                                 0x80AB
+#define GL_SAMPLE_PATTERN_EXT                                                      0x80AC
+#define GL_SAMPLE_PATTERN_SGIS                                                     0x80AC
+#define GL_LINEAR_SHARPEN_SGIS                                                     0x80AD
+#define GL_LINEAR_SHARPEN_ALPHA_SGIS                                               0x80AE
+#define GL_LINEAR_SHARPEN_COLOR_SGIS                                               0x80AF
+#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS                                        0x80B0
+#define GL_COLOR_MATRIX                                                            0x80B1
+#define GL_COLOR_MATRIX_SGI                                                        0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH                                                0x80B2
+#define GL_COLOR_MATRIX_STACK_DEPTH_SGI                                            0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH                                            0x80B3
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI                                        0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE                                             0x80B4
+#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI                                         0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE                                           0x80B5
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI                                       0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE                                            0x80B6
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI                                        0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE                                           0x80B7
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI                                       0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS                                              0x80B8
+#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI                                          0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS                                            0x80B9
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI                                        0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS                                             0x80BA
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI                                         0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS                                            0x80BB
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI                                        0x80BB
+#define GL_TEXTURE_COLOR_TABLE_SGI                                                 0x80BC
+#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI                                           0x80BD
+#define GL_TEXTURE_ENV_BIAS_SGIX                                                   0x80BE
+#define GL_SHADOW_AMBIENT_SGIX                                                     0x80BF
+#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB                                          0x80BF
+#define GL_BLEND_DST_RGB                                                           0x80C8
+#define GL_BLEND_DST_RGB_EXT                                                       0x80C8
+#define GL_BLEND_DST_RGB_OES                                                       0x80C8
+#define GL_BLEND_SRC_RGB                                                           0x80C9
+#define GL_BLEND_SRC_RGB_EXT                                                       0x80C9
+#define GL_BLEND_SRC_RGB_OES                                                       0x80C9
+#define GL_BLEND_DST_ALPHA                                                         0x80CA
+#define GL_BLEND_DST_ALPHA_EXT                                                     0x80CA
+#define GL_BLEND_DST_ALPHA_OES                                                     0x80CA
+#define GL_BLEND_SRC_ALPHA                                                         0x80CB
+#define GL_BLEND_SRC_ALPHA_EXT                                                     0x80CB
+#define GL_BLEND_SRC_ALPHA_OES                                                     0x80CB
+#define GL_422_EXT                                                                 0x80CC
+#define GL_422_REV_EXT                                                             0x80CD
+#define GL_422_AVERAGE_EXT                                                         0x80CE
+#define GL_422_REV_AVERAGE_EXT                                                     0x80CF
+#define GL_COLOR_TABLE                                                             0x80D0
+#define GL_COLOR_TABLE_SGI                                                         0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE                                            0x80D1
+#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI                                        0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE                                           0x80D2
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI                                       0x80D2
+#define GL_PROXY_COLOR_TABLE                                                       0x80D3
+#define GL_PROXY_COLOR_TABLE_SGI                                                   0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE                                      0x80D4
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI                                  0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE                                     0x80D5
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI                                 0x80D5
+#define GL_COLOR_TABLE_SCALE                                                       0x80D6
+#define GL_COLOR_TABLE_SCALE_SGI                                                   0x80D6
+#define GL_COLOR_TABLE_BIAS                                                        0x80D7
+#define GL_COLOR_TABLE_BIAS_SGI                                                    0x80D7
+#define GL_COLOR_TABLE_FORMAT                                                      0x80D8
+#define GL_COLOR_TABLE_FORMAT_SGI                                                  0x80D8
+#define GL_COLOR_TABLE_WIDTH                                                       0x80D9
+#define GL_COLOR_TABLE_WIDTH_SGI                                                   0x80D9
+#define GL_COLOR_TABLE_RED_SIZE                                                    0x80DA
+#define GL_COLOR_TABLE_RED_SIZE_SGI                                                0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE                                                  0x80DB
+#define GL_COLOR_TABLE_GREEN_SIZE_SGI                                              0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE                                                   0x80DC
+#define GL_COLOR_TABLE_BLUE_SIZE_SGI                                               0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE                                                  0x80DD
+#define GL_COLOR_TABLE_ALPHA_SIZE_SGI                                              0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE                                              0x80DE
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI                                          0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE                                              0x80DF
+#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI                                          0x80DF
+#define GL_BGR                                                                     0x80E0
+#define GL_BGR_EXT                                                                 0x80E0
+#define GL_BGRA                                                                    0x80E1
+#define GL_BGRA_EXT                                                                0x80E1
+#define GL_BGRA_IMG                                                                0x80E1
+#define GL_COLOR_INDEX1_EXT                                                        0x80E2
+#define GL_COLOR_INDEX2_EXT                                                        0x80E3
+#define GL_COLOR_INDEX4_EXT                                                        0x80E4
+#define GL_COLOR_INDEX8_EXT                                                        0x80E5
+#define GL_COLOR_INDEX12_EXT                                                       0x80E6
+#define GL_COLOR_INDEX16_EXT                                                       0x80E7
+#define GL_MAX_ELEMENTS_VERTICES                                                   0x80E8
+#define GL_MAX_ELEMENTS_VERTICES_EXT                                               0x80E8
+#define GL_MAX_ELEMENTS_INDICES                                                    0x80E9
+#define GL_MAX_ELEMENTS_INDICES_EXT                                                0x80E9
+#define GL_PHONG_WIN                                                               0x80EA
+#define GL_PHONG_HINT_WIN                                                          0x80EB
+#define GL_FOG_SPECULAR_TEXTURE_WIN                                                0x80EC
+#define GL_TEXTURE_INDEX_SIZE_EXT                                                  0x80ED
+#define GL_PARAMETER_BUFFER_ARB                                                    0x80EE
+#define GL_PARAMETER_BUFFER_BINDING_ARB                                            0x80EF
+#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT                                           0x80F0
+#define GL_DUAL_ALPHA4_SGIS                                                        0x8110
+#define GL_DUAL_ALPHA8_SGIS                                                        0x8111
+#define GL_DUAL_ALPHA12_SGIS                                                       0x8112
+#define GL_DUAL_ALPHA16_SGIS                                                       0x8113
+#define GL_DUAL_LUMINANCE4_SGIS                                                    0x8114
+#define GL_DUAL_LUMINANCE8_SGIS                                                    0x8115
+#define GL_DUAL_LUMINANCE12_SGIS                                                   0x8116
+#define GL_DUAL_LUMINANCE16_SGIS                                                   0x8117
+#define GL_DUAL_INTENSITY4_SGIS                                                    0x8118
+#define GL_DUAL_INTENSITY8_SGIS                                                    0x8119
+#define GL_DUAL_INTENSITY12_SGIS                                                   0x811A
+#define GL_DUAL_INTENSITY16_SGIS                                                   0x811B
+#define GL_DUAL_LUMINANCE_ALPHA4_SGIS                                              0x811C
+#define GL_DUAL_LUMINANCE_ALPHA8_SGIS                                              0x811D
+#define GL_QUAD_ALPHA4_SGIS                                                        0x811E
+#define GL_QUAD_ALPHA8_SGIS                                                        0x811F
+#define GL_QUAD_LUMINANCE4_SGIS                                                    0x8120
+#define GL_QUAD_LUMINANCE8_SGIS                                                    0x8121
+#define GL_QUAD_INTENSITY4_SGIS                                                    0x8122
+#define GL_QUAD_INTENSITY8_SGIS                                                    0x8123
+#define GL_DUAL_TEXTURE_SELECT_SGIS                                                0x8124
+#define GL_QUAD_TEXTURE_SELECT_SGIS                                                0x8125
+#define GL_POINT_SIZE_MIN                                                          0x8126
+#define GL_POINT_SIZE_MIN_ARB                                                      0x8126
+#define GL_POINT_SIZE_MIN_EXT                                                      0x8126
+#define GL_POINT_SIZE_MIN_SGIS                                                     0x8126
+#define GL_POINT_SIZE_MAX                                                          0x8127
+#define GL_POINT_SIZE_MAX_ARB                                                      0x8127
+#define GL_POINT_SIZE_MAX_EXT                                                      0x8127
+#define GL_POINT_SIZE_MAX_SGIS                                                     0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE                                               0x8128
+#define GL_POINT_FADE_THRESHOLD_SIZE_ARB                                           0x8128
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT                                           0x8128
+#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS                                          0x8128
+#define GL_DISTANCE_ATTENUATION_EXT                                                0x8129
+#define GL_DISTANCE_ATTENUATION_SGIS                                               0x8129
+#define GL_POINT_DISTANCE_ATTENUATION                                              0x8129
+#define GL_POINT_DISTANCE_ATTENUATION_ARB                                          0x8129
+#define GL_FOG_FUNC_SGIS                                                           0x812A
+#define GL_FOG_FUNC_POINTS_SGIS                                                    0x812B
+#define GL_MAX_FOG_FUNC_POINTS_SGIS                                                0x812C
+#define GL_CLAMP_TO_BORDER                                                         0x812D
+#define GL_CLAMP_TO_BORDER_ARB                                                     0x812D
+#define GL_CLAMP_TO_BORDER_EXT                                                     0x812D
+#define GL_CLAMP_TO_BORDER_NV                                                      0x812D
+#define GL_CLAMP_TO_BORDER_OES                                                     0x812D
+#define GL_CLAMP_TO_BORDER_SGIS                                                    0x812D
+#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX                                          0x812E
+#define GL_CLAMP_TO_EDGE                                                           0x812F
+#define GL_CLAMP_TO_EDGE_SGIS                                                      0x812F
+#define GL_PACK_SKIP_VOLUMES_SGIS                                                  0x8130
+#define GL_PACK_IMAGE_DEPTH_SGIS                                                   0x8131
+#define GL_UNPACK_SKIP_VOLUMES_SGIS                                                0x8132
+#define GL_UNPACK_IMAGE_DEPTH_SGIS                                                 0x8133
+#define GL_TEXTURE_4D_SGIS                                                         0x8134
+#define GL_PROXY_TEXTURE_4D_SGIS                                                   0x8135
+#define GL_TEXTURE_4DSIZE_SGIS                                                     0x8136
+#define GL_TEXTURE_WRAP_Q_SGIS                                                     0x8137
+#define GL_MAX_4D_TEXTURE_SIZE_SGIS                                                0x8138
+#define GL_PIXEL_TEX_GEN_SGIX                                                      0x8139
+#define GL_TEXTURE_MIN_LOD                                                         0x813A
+#define GL_TEXTURE_MIN_LOD_SGIS                                                    0x813A
+#define GL_TEXTURE_MAX_LOD                                                         0x813B
+#define GL_TEXTURE_MAX_LOD_SGIS                                                    0x813B
+#define GL_TEXTURE_BASE_LEVEL                                                      0x813C
+#define GL_TEXTURE_BASE_LEVEL_SGIS                                                 0x813C
+#define GL_TEXTURE_MAX_LEVEL                                                       0x813D
+#define GL_TEXTURE_MAX_LEVEL_APPLE                                                 0x813D
+#define GL_TEXTURE_MAX_LEVEL_SGIS                                                  0x813D
+#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX                                          0x813E
+#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX                                         0x813F
+#define GL_PIXEL_TILE_WIDTH_SGIX                                                   0x8140
+#define GL_PIXEL_TILE_HEIGHT_SGIX                                                  0x8141
+#define GL_PIXEL_TILE_GRID_WIDTH_SGIX                                              0x8142
+#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX                                             0x8143
+#define GL_PIXEL_TILE_GRID_DEPTH_SGIX                                              0x8144
+#define GL_PIXEL_TILE_CACHE_SIZE_SGIX                                              0x8145
+#define GL_FILTER4_SGIS                                                            0x8146
+#define GL_TEXTURE_FILTER4_SIZE_SGIS                                               0x8147
+#define GL_SPRITE_SGIX                                                             0x8148
+#define GL_SPRITE_MODE_SGIX                                                        0x8149
+#define GL_SPRITE_AXIS_SGIX                                                        0x814A
+#define GL_SPRITE_TRANSLATION_SGIX                                                 0x814B
+#define GL_SPRITE_AXIAL_SGIX                                                       0x814C
+#define GL_SPRITE_OBJECT_ALIGNED_SGIX                                              0x814D
+#define GL_SPRITE_EYE_ALIGNED_SGIX                                                 0x814E
+#define GL_TEXTURE_4D_BINDING_SGIS                                                 0x814F
+#define GL_IGNORE_BORDER_HP                                                        0x8150
+#define GL_CONSTANT_BORDER                                                         0x8151
+#define GL_CONSTANT_BORDER_HP                                                      0x8151
+#define GL_REPLICATE_BORDER                                                        0x8153
+#define GL_REPLICATE_BORDER_HP                                                     0x8153
+#define GL_CONVOLUTION_BORDER_COLOR                                                0x8154
+#define GL_CONVOLUTION_BORDER_COLOR_HP                                             0x8154
+#define GL_IMAGE_SCALE_X_HP                                                        0x8155
+#define GL_IMAGE_SCALE_Y_HP                                                        0x8156
+#define GL_IMAGE_TRANSLATE_X_HP                                                    0x8157
+#define GL_IMAGE_TRANSLATE_Y_HP                                                    0x8158
+#define GL_IMAGE_ROTATE_ANGLE_HP                                                   0x8159
+#define GL_IMAGE_ROTATE_ORIGIN_X_HP                                                0x815A
+#define GL_IMAGE_ROTATE_ORIGIN_Y_HP                                                0x815B
+#define GL_IMAGE_MAG_FILTER_HP                                                     0x815C
+#define GL_IMAGE_MIN_FILTER_HP                                                     0x815D
+#define GL_IMAGE_CUBIC_WEIGHT_HP                                                   0x815E
+#define GL_CUBIC_HP                                                                0x815F
+#define GL_AVERAGE_HP                                                              0x8160
+#define GL_IMAGE_TRANSFORM_2D_HP                                                   0x8161
+#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP                                     0x8162
+#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP                               0x8163
+#define GL_OCCLUSION_TEST_HP                                                       0x8165
+#define GL_OCCLUSION_TEST_RESULT_HP                                                0x8166
+#define GL_TEXTURE_LIGHTING_MODE_HP                                                0x8167
+#define GL_TEXTURE_POST_SPECULAR_HP                                                0x8168
+#define GL_TEXTURE_PRE_SPECULAR_HP                                                 0x8169
+#define GL_LINEAR_CLIPMAP_LINEAR_SGIX                                              0x8170
+#define GL_TEXTURE_CLIPMAP_CENTER_SGIX                                             0x8171
+#define GL_TEXTURE_CLIPMAP_FRAME_SGIX                                              0x8172
+#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX                                             0x8173
+#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX                                      0x8174
+#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX                                         0x8175
+#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX                                              0x8176
+#define GL_MAX_CLIPMAP_DEPTH_SGIX                                                  0x8177
+#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX                                          0x8178
+#define GL_POST_TEXTURE_FILTER_BIAS_SGIX                                           0x8179
+#define GL_POST_TEXTURE_FILTER_SCALE_SGIX                                          0x817A
+#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX                                     0x817B
+#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX                                    0x817C
+#define GL_REFERENCE_PLANE_SGIX                                                    0x817D
+#define GL_REFERENCE_PLANE_EQUATION_SGIX                                           0x817E
+#define GL_IR_INSTRUMENT1_SGIX                                                     0x817F
+#define GL_INSTRUMENT_BUFFER_POINTER_SGIX                                          0x8180
+#define GL_INSTRUMENT_MEASUREMENTS_SGIX                                            0x8181
+#define GL_LIST_PRIORITY_SGIX                                                      0x8182
+#define GL_CALLIGRAPHIC_FRAGMENT_SGIX                                              0x8183
+#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX                                            0x8184
+#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX                                              0x8185
+#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX                                              0x8186
+#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX                                        0x8187
+#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX                                     0x8188
+#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX                                             0x8189
+#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX                                             0x818A
+#define GL_FRAMEZOOM_SGIX                                                          0x818B
+#define GL_FRAMEZOOM_FACTOR_SGIX                                                   0x818C
+#define GL_MAX_FRAMEZOOM_FACTOR_SGIX                                               0x818D
+#define GL_TEXTURE_LOD_BIAS_S_SGIX                                                 0x818E
+#define GL_TEXTURE_LOD_BIAS_T_SGIX                                                 0x818F
+#define GL_TEXTURE_LOD_BIAS_R_SGIX                                                 0x8190
+#define GL_GENERATE_MIPMAP                                                         0x8191
+#define GL_GENERATE_MIPMAP_SGIS                                                    0x8191
+#define GL_GENERATE_MIPMAP_HINT                                                    0x8192
+#define GL_GENERATE_MIPMAP_HINT_SGIS                                               0x8192
+#define GL_GEOMETRY_DEFORMATION_SGIX                                               0x8194
+#define GL_TEXTURE_DEFORMATION_SGIX                                                0x8195
+#define GL_DEFORMATIONS_MASK_SGIX                                                  0x8196
+#define GL_MAX_DEFORMATION_ORDER_SGIX                                              0x8197
+#define GL_FOG_OFFSET_SGIX                                                         0x8198
+#define GL_FOG_OFFSET_VALUE_SGIX                                                   0x8199
+#define GL_TEXTURE_COMPARE_SGIX                                                    0x819A
+#define GL_TEXTURE_COMPARE_OPERATOR_SGIX                                           0x819B
+#define GL_TEXTURE_LEQUAL_R_SGIX                                                   0x819C
+#define GL_TEXTURE_GEQUAL_R_SGIX                                                   0x819D
+#define GL_DEPTH_COMPONENT16                                                       0x81A5
+#define GL_DEPTH_COMPONENT16_ARB                                                   0x81A5
+#define GL_DEPTH_COMPONENT16_OES                                                   0x81A5
+#define GL_DEPTH_COMPONENT16_SGIX                                                  0x81A5
+#define GL_DEPTH_COMPONENT24                                                       0x81A6
+#define GL_DEPTH_COMPONENT24_ARB                                                   0x81A6
+#define GL_DEPTH_COMPONENT24_OES                                                   0x81A6
+#define GL_DEPTH_COMPONENT24_SGIX                                                  0x81A6
+#define GL_DEPTH_COMPONENT32                                                       0x81A7
+#define GL_DEPTH_COMPONENT32_ARB                                                   0x81A7
+#define GL_DEPTH_COMPONENT32_OES                                                   0x81A7
+#define GL_DEPTH_COMPONENT32_SGIX                                                  0x81A7
+#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT                                            0x81A8
+#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT                                            0x81A9
+#define GL_CULL_VERTEX_EXT                                                         0x81AA
+#define GL_CULL_VERTEX_EYE_POSITION_EXT                                            0x81AB
+#define GL_CULL_VERTEX_OBJECT_POSITION_EXT                                         0x81AC
+#define GL_IUI_V2F_EXT                                                             0x81AD
+#define GL_IUI_V3F_EXT                                                             0x81AE
+#define GL_IUI_N3F_V2F_EXT                                                         0x81AF
+#define GL_IUI_N3F_V3F_EXT                                                         0x81B0
+#define GL_T2F_IUI_V2F_EXT                                                         0x81B1
+#define GL_T2F_IUI_V3F_EXT                                                         0x81B2
+#define GL_T2F_IUI_N3F_V2F_EXT                                                     0x81B3
+#define GL_T2F_IUI_N3F_V3F_EXT                                                     0x81B4
+#define GL_INDEX_TEST_EXT                                                          0x81B5
+#define GL_INDEX_TEST_FUNC_EXT                                                     0x81B6
+#define GL_INDEX_TEST_REF_EXT                                                      0x81B7
+#define GL_INDEX_MATERIAL_EXT                                                      0x81B8
+#define GL_INDEX_MATERIAL_PARAMETER_EXT                                            0x81B9
+#define GL_INDEX_MATERIAL_FACE_EXT                                                 0x81BA
+#define GL_YCRCB_422_SGIX                                                          0x81BB
+#define GL_YCRCB_444_SGIX                                                          0x81BC
+#define GL_WRAP_BORDER_SUN                                                         0x81D4
+#define GL_UNPACK_CONSTANT_DATA_SUNX                                               0x81D5
+#define GL_TEXTURE_CONSTANT_DATA_SUNX                                              0x81D6
+#define GL_TRIANGLE_LIST_SUN                                                       0x81D7
+#define GL_REPLACEMENT_CODE_SUN                                                    0x81D8
+#define GL_GLOBAL_ALPHA_SUN                                                        0x81D9
+#define GL_GLOBAL_ALPHA_FACTOR_SUN                                                 0x81DA
+#define GL_TEXTURE_COLOR_WRITEMASK_SGIS                                            0x81EF
+#define GL_EYE_DISTANCE_TO_POINT_SGIS                                              0x81F0
+#define GL_OBJECT_DISTANCE_TO_POINT_SGIS                                           0x81F1
+#define GL_EYE_DISTANCE_TO_LINE_SGIS                                               0x81F2
+#define GL_OBJECT_DISTANCE_TO_LINE_SGIS                                            0x81F3
+#define GL_EYE_POINT_SGIS                                                          0x81F4
+#define GL_OBJECT_POINT_SGIS                                                       0x81F5
+#define GL_EYE_LINE_SGIS                                                           0x81F6
+#define GL_OBJECT_LINE_SGIS                                                        0x81F7
+#define GL_LIGHT_MODEL_COLOR_CONTROL                                               0x81F8
+#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT                                           0x81F8
+#define GL_SINGLE_COLOR                                                            0x81F9
+#define GL_SINGLE_COLOR_EXT                                                        0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR                                                 0x81FA
+#define GL_SEPARATE_SPECULAR_COLOR_EXT                                             0x81FA
+#define GL_SHARED_TEXTURE_PALETTE_EXT                                              0x81FB
+#define GL_TEXT_FRAGMENT_SHADER_ATI                                                0x8200
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING                                   0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT                               0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE                                   0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT                               0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE                                         0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE                                       0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE                                        0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE                                       0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE                                       0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE                                     0x8217
+#define GL_FRAMEBUFFER_DEFAULT                                                     0x8218
+#define GL_FRAMEBUFFER_UNDEFINED                                                   0x8219
+#define GL_FRAMEBUFFER_UNDEFINED_OES                                               0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT                                                0x821A
+#define GL_MAJOR_VERSION                                                           0x821B
+#define GL_MINOR_VERSION                                                           0x821C
+#define GL_NUM_EXTENSIONS                                                          0x821D
+#define GL_CONTEXT_FLAGS                                                           0x821E
+#define GL_BUFFER_IMMUTABLE_STORAGE                                                0x821F
+#define GL_BUFFER_IMMUTABLE_STORAGE_EXT                                            0x821F
+#define GL_BUFFER_STORAGE_FLAGS                                                    0x8220
+#define GL_BUFFER_STORAGE_FLAGS_EXT                                                0x8220
+#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED                                 0x8221
+#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES                             0x8221
+#define GL_INDEX                                                                   0x8222
+#define GL_COMPRESSED_RED                                                          0x8225
+#define GL_COMPRESSED_RG                                                           0x8226
+#define GL_RG                                                                      0x8227
+#define GL_RG_EXT                                                                  0x8227
+#define GL_RG_INTEGER                                                              0x8228
+#define GL_R8                                                                      0x8229
+#define GL_R8_EXT                                                                  0x8229
+#define GL_R16                                                                     0x822A
+#define GL_R16_EXT                                                                 0x822A
+#define GL_RG8                                                                     0x822B
+#define GL_RG8_EXT                                                                 0x822B
+#define GL_RG16                                                                    0x822C
+#define GL_RG16_EXT                                                                0x822C
+#define GL_R16F                                                                    0x822D
+#define GL_R16F_EXT                                                                0x822D
+#define GL_R32F                                                                    0x822E
+#define GL_R32F_EXT                                                                0x822E
+#define GL_RG16F                                                                   0x822F
+#define GL_RG16F_EXT                                                               0x822F
+#define GL_RG32F                                                                   0x8230
+#define GL_RG32F_EXT                                                               0x8230
+#define GL_R8I                                                                     0x8231
+#define GL_R8UI                                                                    0x8232
+#define GL_R16I                                                                    0x8233
+#define GL_R16UI                                                                   0x8234
+#define GL_R32I                                                                    0x8235
+#define GL_R32UI                                                                   0x8236
+#define GL_RG8I                                                                    0x8237
+#define GL_RG8UI                                                                   0x8238
+#define GL_RG16I                                                                   0x8239
+#define GL_RG16UI                                                                  0x823A
+#define GL_RG32I                                                                   0x823B
+#define GL_RG32UI                                                                  0x823C
+#define GL_SYNC_CL_EVENT_ARB                                                       0x8240
+#define GL_SYNC_CL_EVENT_COMPLETE_ARB                                              0x8241
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS                                                0x8242
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB                                            0x8242
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR                                            0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                                        0x8243
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB                                    0x8243
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR                                    0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION                                                 0x8244
+#define GL_DEBUG_CALLBACK_FUNCTION_ARB                                             0x8244
+#define GL_DEBUG_CALLBACK_FUNCTION_KHR                                             0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM                                               0x8245
+#define GL_DEBUG_CALLBACK_USER_PARAM_ARB                                           0x8245
+#define GL_DEBUG_CALLBACK_USER_PARAM_KHR                                           0x8245
+#define GL_DEBUG_SOURCE_API                                                        0x8246
+#define GL_DEBUG_SOURCE_API_ARB                                                    0x8246
+#define GL_DEBUG_SOURCE_API_KHR                                                    0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM                                              0x8247
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB                                          0x8247
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR                                          0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER                                            0x8248
+#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB                                        0x8248
+#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR                                        0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY                                                0x8249
+#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB                                            0x8249
+#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR                                            0x8249
+#define GL_DEBUG_SOURCE_APPLICATION                                                0x824A
+#define GL_DEBUG_SOURCE_APPLICATION_ARB                                            0x824A
+#define GL_DEBUG_SOURCE_APPLICATION_KHR                                            0x824A
+#define GL_DEBUG_SOURCE_OTHER                                                      0x824B
+#define GL_DEBUG_SOURCE_OTHER_ARB                                                  0x824B
+#define GL_DEBUG_SOURCE_OTHER_KHR                                                  0x824B
+#define GL_DEBUG_TYPE_ERROR                                                        0x824C
+#define GL_DEBUG_TYPE_ERROR_ARB                                                    0x824C
+#define GL_DEBUG_TYPE_ERROR_KHR                                                    0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                                          0x824D
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB                                      0x824D
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR                                      0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                                           0x824E
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB                                       0x824E
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR                                       0x824E
+#define GL_DEBUG_TYPE_PORTABILITY                                                  0x824F
+#define GL_DEBUG_TYPE_PORTABILITY_ARB                                              0x824F
+#define GL_DEBUG_TYPE_PORTABILITY_KHR                                              0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE                                                  0x8250
+#define GL_DEBUG_TYPE_PERFORMANCE_ARB                                              0x8250
+#define GL_DEBUG_TYPE_PERFORMANCE_KHR                                              0x8250
+#define GL_DEBUG_TYPE_OTHER                                                        0x8251
+#define GL_DEBUG_TYPE_OTHER_ARB                                                    0x8251
+#define GL_DEBUG_TYPE_OTHER_KHR                                                    0x8251
+#define GL_LOSE_CONTEXT_ON_RESET                                                   0x8252
+#define GL_LOSE_CONTEXT_ON_RESET_ARB                                               0x8252
+#define GL_LOSE_CONTEXT_ON_RESET_EXT                                               0x8252
+#define GL_LOSE_CONTEXT_ON_RESET_KHR                                               0x8252
+#define GL_GUILTY_CONTEXT_RESET                                                    0x8253
+#define GL_GUILTY_CONTEXT_RESET_ARB                                                0x8253
+#define GL_GUILTY_CONTEXT_RESET_EXT                                                0x8253
+#define GL_GUILTY_CONTEXT_RESET_KHR                                                0x8253
+#define GL_INNOCENT_CONTEXT_RESET                                                  0x8254
+#define GL_INNOCENT_CONTEXT_RESET_ARB                                              0x8254
+#define GL_INNOCENT_CONTEXT_RESET_EXT                                              0x8254
+#define GL_INNOCENT_CONTEXT_RESET_KHR                                              0x8254
+#define GL_UNKNOWN_CONTEXT_RESET                                                   0x8255
+#define GL_UNKNOWN_CONTEXT_RESET_ARB                                               0x8255
+#define GL_UNKNOWN_CONTEXT_RESET_EXT                                               0x8255
+#define GL_UNKNOWN_CONTEXT_RESET_KHR                                               0x8255
+#define GL_RESET_NOTIFICATION_STRATEGY                                             0x8256
+#define GL_RESET_NOTIFICATION_STRATEGY_ARB                                         0x8256
+#define GL_RESET_NOTIFICATION_STRATEGY_EXT                                         0x8256
+#define GL_RESET_NOTIFICATION_STRATEGY_KHR                                         0x8256
+#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT                                         0x8257
+#define GL_PROGRAM_SEPARABLE                                                       0x8258
+#define GL_PROGRAM_SEPARABLE_EXT                                                   0x8258
+#define GL_ACTIVE_PROGRAM                                                          0x8259
+#define GL_PROGRAM_PIPELINE_BINDING                                                0x825A
+#define GL_PROGRAM_PIPELINE_BINDING_EXT                                            0x825A
+#define GL_MAX_VIEWPORTS                                                           0x825B
+#define GL_MAX_VIEWPORTS_NV                                                        0x825B
+#define GL_MAX_VIEWPORTS_OES                                                       0x825B
+#define GL_VIEWPORT_SUBPIXEL_BITS                                                  0x825C
+#define GL_VIEWPORT_SUBPIXEL_BITS_EXT                                              0x825C
+#define GL_VIEWPORT_SUBPIXEL_BITS_NV                                               0x825C
+#define GL_VIEWPORT_SUBPIXEL_BITS_OES                                              0x825C
+#define GL_VIEWPORT_BOUNDS_RANGE                                                   0x825D
+#define GL_VIEWPORT_BOUNDS_RANGE_EXT                                               0x825D
+#define GL_VIEWPORT_BOUNDS_RANGE_NV                                                0x825D
+#define GL_VIEWPORT_BOUNDS_RANGE_OES                                               0x825D
+#define GL_LAYER_PROVOKING_VERTEX                                                  0x825E
+#define GL_LAYER_PROVOKING_VERTEX_EXT                                              0x825E
+#define GL_LAYER_PROVOKING_VERTEX_OES                                              0x825E
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX                                         0x825F
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT                                     0x825F
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV                                      0x825F
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES                                     0x825F
+#define GL_UNDEFINED_VERTEX                                                        0x8260
+#define GL_UNDEFINED_VERTEX_EXT                                                    0x8260
+#define GL_UNDEFINED_VERTEX_OES                                                    0x8260
+#define GL_NO_RESET_NOTIFICATION                                                   0x8261
+#define GL_NO_RESET_NOTIFICATION_ARB                                               0x8261
+#define GL_NO_RESET_NOTIFICATION_EXT                                               0x8261
+#define GL_NO_RESET_NOTIFICATION_KHR                                               0x8261
+#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE                                          0x8262
+#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS                                          0x8263
+#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS                                      0x8264
+#define GL_MAX_COMPUTE_ATOMIC_COUNTERS                                             0x8265
+#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS                                 0x8266
+#define GL_COMPUTE_WORK_GROUP_SIZE                                                 0x8267
+#define GL_DEBUG_TYPE_MARKER                                                       0x8268
+#define GL_DEBUG_TYPE_MARKER_KHR                                                   0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP                                                   0x8269
+#define GL_DEBUG_TYPE_PUSH_GROUP_KHR                                               0x8269
+#define GL_DEBUG_TYPE_POP_GROUP                                                    0x826A
+#define GL_DEBUG_TYPE_POP_GROUP_KHR                                                0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION                                             0x826B
+#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR                                         0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH                                             0x826C
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR                                         0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH                                                 0x826D
+#define GL_DEBUG_GROUP_STACK_DEPTH_KHR                                             0x826D
+#define GL_MAX_UNIFORM_LOCATIONS                                                   0x826E
+#define GL_INTERNALFORMAT_SUPPORTED                                                0x826F
+#define GL_INTERNALFORMAT_PREFERRED                                                0x8270
+#define GL_INTERNALFORMAT_RED_SIZE                                                 0x8271
+#define GL_INTERNALFORMAT_GREEN_SIZE                                               0x8272
+#define GL_INTERNALFORMAT_BLUE_SIZE                                                0x8273
+#define GL_INTERNALFORMAT_ALPHA_SIZE                                               0x8274
+#define GL_INTERNALFORMAT_DEPTH_SIZE                                               0x8275
+#define GL_INTERNALFORMAT_STENCIL_SIZE                                             0x8276
+#define GL_INTERNALFORMAT_SHARED_SIZE                                              0x8277
+#define GL_INTERNALFORMAT_RED_TYPE                                                 0x8278
+#define GL_INTERNALFORMAT_GREEN_TYPE                                               0x8279
+#define GL_INTERNALFORMAT_BLUE_TYPE                                                0x827A
+#define GL_INTERNALFORMAT_ALPHA_TYPE                                               0x827B
+#define GL_INTERNALFORMAT_DEPTH_TYPE                                               0x827C
+#define GL_INTERNALFORMAT_STENCIL_TYPE                                             0x827D
+#define GL_MAX_WIDTH                                                               0x827E
+#define GL_MAX_HEIGHT                                                              0x827F
+#define GL_MAX_DEPTH                                                               0x8280
+#define GL_MAX_LAYERS                                                              0x8281
+#define GL_MAX_COMBINED_DIMENSIONS                                                 0x8282
+#define GL_COLOR_COMPONENTS                                                        0x8283
+#define GL_DEPTH_COMPONENTS                                                        0x8284
+#define GL_STENCIL_COMPONENTS                                                      0x8285
+#define GL_COLOR_RENDERABLE                                                        0x8286
+#define GL_DEPTH_RENDERABLE                                                        0x8287
+#define GL_STENCIL_RENDERABLE                                                      0x8288
+#define GL_FRAMEBUFFER_RENDERABLE                                                  0x8289
+#define GL_FRAMEBUFFER_RENDERABLE_LAYERED                                          0x828A
+#define GL_FRAMEBUFFER_BLEND                                                       0x828B
+#define GL_READ_PIXELS                                                             0x828C
+#define GL_READ_PIXELS_FORMAT                                                      0x828D
+#define GL_READ_PIXELS_TYPE                                                        0x828E
+#define GL_TEXTURE_IMAGE_FORMAT                                                    0x828F
+#define GL_TEXTURE_IMAGE_TYPE                                                      0x8290
+#define GL_GET_TEXTURE_IMAGE_FORMAT                                                0x8291
+#define GL_GET_TEXTURE_IMAGE_TYPE                                                  0x8292
+#define GL_MIPMAP                                                                  0x8293
+#define GL_MANUAL_GENERATE_MIPMAP                                                  0x8294
+#define GL_AUTO_GENERATE_MIPMAP                                                    0x8295
+#define GL_COLOR_ENCODING                                                          0x8296
+#define GL_SRGB_READ                                                               0x8297
+#define GL_SRGB_WRITE                                                              0x8298
+#define GL_SRGB_DECODE_ARB                                                         0x8299
+#define GL_FILTER                                                                  0x829A
+#define GL_VERTEX_TEXTURE                                                          0x829B
+#define GL_TESS_CONTROL_TEXTURE                                                    0x829C
+#define GL_TESS_EVALUATION_TEXTURE                                                 0x829D
+#define GL_GEOMETRY_TEXTURE                                                        0x829E
+#define GL_FRAGMENT_TEXTURE                                                        0x829F
+#define GL_COMPUTE_TEXTURE                                                         0x82A0
+#define GL_TEXTURE_SHADOW                                                          0x82A1
+#define GL_TEXTURE_GATHER                                                          0x82A2
+#define GL_TEXTURE_GATHER_SHADOW                                                   0x82A3
+#define GL_SHADER_IMAGE_LOAD                                                       0x82A4
+#define GL_SHADER_IMAGE_STORE                                                      0x82A5
+#define GL_SHADER_IMAGE_ATOMIC                                                     0x82A6
+#define GL_IMAGE_TEXEL_SIZE                                                        0x82A7
+#define GL_IMAGE_COMPATIBILITY_CLASS                                               0x82A8
+#define GL_IMAGE_PIXEL_FORMAT                                                      0x82A9
+#define GL_IMAGE_PIXEL_TYPE                                                        0x82AA
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST                                     0x82AC
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST                                   0x82AD
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE                                    0x82AE
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE                                  0x82AF
+#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH                                          0x82B1
+#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT                                         0x82B2
+#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE                                           0x82B3
+#define GL_CLEAR_BUFFER                                                            0x82B4
+#define GL_TEXTURE_VIEW                                                            0x82B5
+#define GL_VIEW_COMPATIBILITY_CLASS                                                0x82B6
+#define GL_FULL_SUPPORT                                                            0x82B7
+#define GL_CAVEAT_SUPPORT                                                          0x82B8
+#define GL_IMAGE_CLASS_4_X_32                                                      0x82B9
+#define GL_IMAGE_CLASS_2_X_32                                                      0x82BA
+#define GL_IMAGE_CLASS_1_X_32                                                      0x82BB
+#define GL_IMAGE_CLASS_4_X_16                                                      0x82BC
+#define GL_IMAGE_CLASS_2_X_16                                                      0x82BD
+#define GL_IMAGE_CLASS_1_X_16                                                      0x82BE
+#define GL_IMAGE_CLASS_4_X_8                                                       0x82BF
+#define GL_IMAGE_CLASS_2_X_8                                                       0x82C0
+#define GL_IMAGE_CLASS_1_X_8                                                       0x82C1
+#define GL_IMAGE_CLASS_11_11_10                                                    0x82C2
+#define GL_IMAGE_CLASS_10_10_10_2                                                  0x82C3
+#define GL_VIEW_CLASS_128_BITS                                                     0x82C4
+#define GL_VIEW_CLASS_96_BITS                                                      0x82C5
+#define GL_VIEW_CLASS_64_BITS                                                      0x82C6
+#define GL_VIEW_CLASS_48_BITS                                                      0x82C7
+#define GL_VIEW_CLASS_32_BITS                                                      0x82C8
+#define GL_VIEW_CLASS_24_BITS                                                      0x82C9
+#define GL_VIEW_CLASS_16_BITS                                                      0x82CA
+#define GL_VIEW_CLASS_8_BITS                                                       0x82CB
+#define GL_VIEW_CLASS_S3TC_DXT1_RGB                                                0x82CC
+#define GL_VIEW_CLASS_S3TC_DXT1_RGBA                                               0x82CD
+#define GL_VIEW_CLASS_S3TC_DXT3_RGBA                                               0x82CE
+#define GL_VIEW_CLASS_S3TC_DXT5_RGBA                                               0x82CF
+#define GL_VIEW_CLASS_RGTC1_RED                                                    0x82D0
+#define GL_VIEW_CLASS_RGTC2_RG                                                     0x82D1
+#define GL_VIEW_CLASS_BPTC_UNORM                                                   0x82D2
+#define GL_VIEW_CLASS_BPTC_FLOAT                                                   0x82D3
+#define GL_VERTEX_ATTRIB_BINDING                                                   0x82D4
+#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET                                           0x82D5
+#define GL_VERTEX_BINDING_DIVISOR                                                  0x82D6
+#define GL_VERTEX_BINDING_OFFSET                                                   0x82D7
+#define GL_VERTEX_BINDING_STRIDE                                                   0x82D8
+#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET                                       0x82D9
+#define GL_MAX_VERTEX_ATTRIB_BINDINGS                                              0x82DA
+#define GL_TEXTURE_VIEW_MIN_LEVEL                                                  0x82DB
+#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT                                              0x82DB
+#define GL_TEXTURE_VIEW_MIN_LEVEL_OES                                              0x82DB
+#define GL_TEXTURE_VIEW_NUM_LEVELS                                                 0x82DC
+#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT                                             0x82DC
+#define GL_TEXTURE_VIEW_NUM_LEVELS_OES                                             0x82DC
+#define GL_TEXTURE_VIEW_MIN_LAYER                                                  0x82DD
+#define GL_TEXTURE_VIEW_MIN_LAYER_EXT                                              0x82DD
+#define GL_TEXTURE_VIEW_MIN_LAYER_OES                                              0x82DD
+#define GL_TEXTURE_VIEW_NUM_LAYERS                                                 0x82DE
+#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT                                             0x82DE
+#define GL_TEXTURE_VIEW_NUM_LAYERS_OES                                             0x82DE
+#define GL_TEXTURE_IMMUTABLE_LEVELS                                                0x82DF
+#define GL_BUFFER                                                                  0x82E0
+#define GL_BUFFER_KHR                                                              0x82E0
+#define GL_SHADER                                                                  0x82E1
+#define GL_SHADER_KHR                                                              0x82E1
+#define GL_PROGRAM                                                                 0x82E2
+#define GL_PROGRAM_KHR                                                             0x82E2
+#define GL_QUERY                                                                   0x82E3
+#define GL_QUERY_KHR                                                               0x82E3
+#define GL_PROGRAM_PIPELINE                                                        0x82E4
+#define GL_PROGRAM_PIPELINE_KHR                                                    0x82E4
+#define GL_MAX_VERTEX_ATTRIB_STRIDE                                                0x82E5
+#define GL_SAMPLER                                                                 0x82E6
+#define GL_SAMPLER_KHR                                                             0x82E6
+#define GL_DISPLAY_LIST                                                            0x82E7
+#define GL_MAX_LABEL_LENGTH                                                        0x82E8
+#define GL_MAX_LABEL_LENGTH_KHR                                                    0x82E8
+#define GL_NUM_SHADING_LANGUAGE_VERSIONS                                           0x82E9
+#define GL_QUERY_TARGET                                                            0x82EA
+#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB                                         0x82EC
+#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB                                  0x82ED
+#define GL_VERTICES_SUBMITTED_ARB                                                  0x82EE
+#define GL_PRIMITIVES_SUBMITTED_ARB                                                0x82EF
+#define GL_VERTEX_SHADER_INVOCATIONS_ARB                                           0x82F0
+#define GL_TESS_CONTROL_SHADER_PATCHES_ARB                                         0x82F1
+#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB                                  0x82F2
+#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB                                  0x82F3
+#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB                                         0x82F4
+#define GL_COMPUTE_SHADER_INVOCATIONS_ARB                                          0x82F5
+#define GL_CLIPPING_INPUT_PRIMITIVES_ARB                                           0x82F6
+#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB                                          0x82F7
+#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB                                             0x82F8
+#define GL_MAX_CULL_DISTANCES                                                      0x82F9
+#define GL_MAX_CULL_DISTANCES_EXT                                                  0x82F9
+#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES                                    0x82FA
+#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT                                0x82FA
+#define GL_CONTEXT_RELEASE_BEHAVIOR                                                0x82FB
+#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR                                            0x82FB
+#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH                                          0x82FC
+#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR                                      0x82FC
+#define GL_DEPTH_PASS_INSTRUMENT_SGIX                                              0x8310
+#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX                                     0x8311
+#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX                                          0x8312
+#define GL_FRAGMENTS_INSTRUMENT_SGIX                                               0x8313
+#define GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX                                      0x8314
+#define GL_FRAGMENTS_INSTRUMENT_MAX_SGIX                                           0x8315
+#define GL_CONVOLUTION_HINT_SGIX                                                   0x8316
+#define GL_YCRCB_SGIX                                                              0x8318
+#define GL_YCRCBA_SGIX                                                             0x8319
+#define GL_UNPACK_COMPRESSED_SIZE_SGIX                                             0x831A
+#define GL_PACK_MAX_COMPRESSED_SIZE_SGIX                                           0x831B
+#define GL_PACK_COMPRESSED_SIZE_SGIX                                               0x831C
+#define GL_SLIM8U_SGIX                                                             0x831D
+#define GL_SLIM10U_SGIX                                                            0x831E
+#define GL_SLIM12S_SGIX                                                            0x831F
+#define GL_ALPHA_MIN_SGIX                                                          0x8320
+#define GL_ALPHA_MAX_SGIX                                                          0x8321
+#define GL_SCALEBIAS_HINT_SGIX                                                     0x8322
+#define GL_ASYNC_MARKER_SGIX                                                       0x8329
+#define GL_PIXEL_TEX_GEN_MODE_SGIX                                                 0x832B
+#define GL_ASYNC_HISTOGRAM_SGIX                                                    0x832C
+#define GL_MAX_ASYNC_HISTOGRAM_SGIX                                                0x832D
+#define GL_PIXEL_TRANSFORM_2D_EXT                                                  0x8330
+#define GL_PIXEL_MAG_FILTER_EXT                                                    0x8331
+#define GL_PIXEL_MIN_FILTER_EXT                                                    0x8332
+#define GL_PIXEL_CUBIC_WEIGHT_EXT                                                  0x8333
+#define GL_CUBIC_EXT                                                               0x8334
+#define GL_AVERAGE_EXT                                                             0x8335
+#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT                                      0x8336
+#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT                                  0x8337
+#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT                                           0x8338
+#define GL_FRAGMENT_MATERIAL_EXT                                                   0x8349
+#define GL_FRAGMENT_NORMAL_EXT                                                     0x834A
+#define GL_FRAGMENT_COLOR_EXT                                                      0x834C
+#define GL_ATTENUATION_EXT                                                         0x834D
+#define GL_SHADOW_ATTENUATION_EXT                                                  0x834E
+#define GL_TEXTURE_APPLICATION_MODE_EXT                                            0x834F
+#define GL_TEXTURE_LIGHT_EXT                                                       0x8350
+#define GL_TEXTURE_MATERIAL_FACE_EXT                                               0x8351
+#define GL_TEXTURE_MATERIAL_PARAMETER_EXT                                          0x8352
+#define GL_PIXEL_TEXTURE_SGIS                                                      0x8353
+#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS                                          0x8354
+#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS                                        0x8355
+#define GL_PIXEL_GROUP_COLOR_SGIS                                                  0x8356
+#define GL_LINE_QUALITY_HINT_SGIX                                                  0x835B
+#define GL_ASYNC_TEX_IMAGE_SGIX                                                    0x835C
+#define GL_ASYNC_DRAW_PIXELS_SGIX                                                  0x835D
+#define GL_ASYNC_READ_PIXELS_SGIX                                                  0x835E
+#define GL_MAX_ASYNC_TEX_IMAGE_SGIX                                                0x835F
+#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX                                              0x8360
+#define GL_MAX_ASYNC_READ_PIXELS_SGIX                                              0x8361
+#define GL_UNSIGNED_BYTE_2_3_3_REV                                                 0x8362
+#define GL_UNSIGNED_BYTE_2_3_3_REV_EXT                                             0x8362
+#define GL_UNSIGNED_SHORT_5_6_5                                                    0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_EXT                                                0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV                                                0x8364
+#define GL_UNSIGNED_SHORT_5_6_5_REV_EXT                                            0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV                                              0x8365
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                                          0x8365
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                                          0x8365
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV                                              0x8366
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                                          0x8366
+#define GL_UNSIGNED_INT_8_8_8_8_REV                                                0x8367
+#define GL_UNSIGNED_INT_8_8_8_8_REV_EXT                                            0x8367
+#define GL_UNSIGNED_INT_2_10_10_10_REV                                             0x8368
+#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                                         0x8368
+#define GL_TEXTURE_MAX_CLAMP_S_SGIX                                                0x8369
+#define GL_TEXTURE_MAX_CLAMP_T_SGIX                                                0x836A
+#define GL_TEXTURE_MAX_CLAMP_R_SGIX                                                0x836B
+#define GL_MIRRORED_REPEAT                                                         0x8370
+#define GL_MIRRORED_REPEAT_ARB                                                     0x8370
+#define GL_MIRRORED_REPEAT_IBM                                                     0x8370
+#define GL_MIRRORED_REPEAT_OES                                                     0x8370
+#define GL_RGB_S3TC                                                                0x83A0
+#define GL_RGB4_S3TC                                                               0x83A1
+#define GL_RGBA_S3TC                                                               0x83A2
+#define GL_RGBA4_S3TC                                                              0x83A3
+#define GL_RGBA_DXT5_S3TC                                                          0x83A4
+#define GL_RGBA4_DXT5_S3TC                                                         0x83A5
+#define GL_VERTEX_PRECLIP_SGIX                                                     0x83EE
+#define GL_VERTEX_PRECLIP_HINT_SGIX                                                0x83EF
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                                            0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                                           0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE                                         0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT                                           0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE                                         0x83F3
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT                                           0x83F3
+#define GL_PARALLEL_ARRAYS_INTEL                                                   0x83F4
+#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL                                    0x83F5
+#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL                                    0x83F6
+#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL                                     0x83F7
+#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL                             0x83F8
+#define GL_PERFQUERY_DONOT_FLUSH_INTEL                                             0x83F9
+#define GL_PERFQUERY_FLUSH_INTEL                                                   0x83FA
+#define GL_PERFQUERY_WAIT_INTEL                                                    0x83FB
+#define GL_CONSERVATIVE_RASTERIZATION_INTEL                                        0x83FE
+#define GL_TEXTURE_MEMORY_LAYOUT_INTEL                                             0x83FF
+#define GL_FRAGMENT_LIGHTING_SGIX                                                  0x8400
+#define GL_FRAGMENT_COLOR_MATERIAL_SGIX                                            0x8401
+#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX                                       0x8402
+#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX                                  0x8403
+#define GL_MAX_FRAGMENT_LIGHTS_SGIX                                                0x8404
+#define GL_MAX_ACTIVE_LIGHTS_SGIX                                                  0x8405
+#define GL_CURRENT_RASTER_NORMAL_SGIX                                              0x8406
+#define GL_LIGHT_ENV_MODE_SGIX                                                     0x8407
+#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX                                  0x8408
+#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX                                      0x8409
+#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX                                       0x840A
+#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX                          0x840B
+#define GL_FRAGMENT_LIGHT0_SGIX                                                    0x840C
+#define GL_FRAGMENT_LIGHT1_SGIX                                                    0x840D
+#define GL_FRAGMENT_LIGHT2_SGIX                                                    0x840E
+#define GL_FRAGMENT_LIGHT3_SGIX                                                    0x840F
+#define GL_FRAGMENT_LIGHT4_SGIX                                                    0x8410
+#define GL_FRAGMENT_LIGHT5_SGIX                                                    0x8411
+#define GL_FRAGMENT_LIGHT6_SGIX                                                    0x8412
+#define GL_FRAGMENT_LIGHT7_SGIX                                                    0x8413
+#define GL_PACK_RESAMPLE_SGIX                                                      0x842E
+#define GL_UNPACK_RESAMPLE_SGIX                                                    0x842F
+#define GL_RESAMPLE_DECIMATE_SGIX                                                  0x8430
+#define GL_RESAMPLE_REPLICATE_SGIX                                                 0x8433
+#define GL_RESAMPLE_ZERO_FILL_SGIX                                                 0x8434
+#define GL_TANGENT_ARRAY_EXT                                                       0x8439
+#define GL_BINORMAL_ARRAY_EXT                                                      0x843A
+#define GL_CURRENT_TANGENT_EXT                                                     0x843B
+#define GL_CURRENT_BINORMAL_EXT                                                    0x843C
+#define GL_TANGENT_ARRAY_TYPE_EXT                                                  0x843E
+#define GL_TANGENT_ARRAY_STRIDE_EXT                                                0x843F
+#define GL_BINORMAL_ARRAY_TYPE_EXT                                                 0x8440
+#define GL_BINORMAL_ARRAY_STRIDE_EXT                                               0x8441
+#define GL_TANGENT_ARRAY_POINTER_EXT                                               0x8442
+#define GL_BINORMAL_ARRAY_POINTER_EXT                                              0x8443
+#define GL_MAP1_TANGENT_EXT                                                        0x8444
+#define GL_MAP2_TANGENT_EXT                                                        0x8445
+#define GL_MAP1_BINORMAL_EXT                                                       0x8446
+#define GL_MAP2_BINORMAL_EXT                                                       0x8447
+#define GL_NEAREST_CLIPMAP_NEAREST_SGIX                                            0x844D
+#define GL_NEAREST_CLIPMAP_LINEAR_SGIX                                             0x844E
+#define GL_LINEAR_CLIPMAP_NEAREST_SGIX                                             0x844F
+#define GL_FOG_COORDINATE_SOURCE                                                   0x8450
+#define GL_FOG_COORDINATE_SOURCE_EXT                                               0x8450
+#define GL_FOG_COORD_SRC                                                           0x8450
+#define GL_FOG_COORD                                                               0x8451
+#define GL_FOG_COORDINATE                                                          0x8451
+#define GL_FOG_COORDINATE_EXT                                                      0x8451
+#define GL_FRAGMENT_DEPTH                                                          0x8452
+#define GL_FRAGMENT_DEPTH_EXT                                                      0x8452
+#define GL_CURRENT_FOG_COORD                                                       0x8453
+#define GL_CURRENT_FOG_COORDINATE                                                  0x8453
+#define GL_CURRENT_FOG_COORDINATE_EXT                                              0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE                                               0x8454
+#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT                                           0x8454
+#define GL_FOG_COORD_ARRAY_TYPE                                                    0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE                                             0x8455
+#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT                                         0x8455
+#define GL_FOG_COORD_ARRAY_STRIDE                                                  0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER                                            0x8456
+#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT                                        0x8456
+#define GL_FOG_COORD_ARRAY_POINTER                                                 0x8456
+#define GL_FOG_COORDINATE_ARRAY                                                    0x8457
+#define GL_FOG_COORDINATE_ARRAY_EXT                                                0x8457
+#define GL_FOG_COORD_ARRAY                                                         0x8457
+#define GL_COLOR_SUM                                                               0x8458
+#define GL_COLOR_SUM_ARB                                                           0x8458
+#define GL_COLOR_SUM_EXT                                                           0x8458
+#define GL_CURRENT_SECONDARY_COLOR                                                 0x8459
+#define GL_CURRENT_SECONDARY_COLOR_EXT                                             0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE                                              0x845A
+#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT                                          0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE                                              0x845B
+#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT                                          0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE                                            0x845C
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT                                        0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER                                           0x845D
+#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT                                       0x845D
+#define GL_SECONDARY_COLOR_ARRAY                                                   0x845E
+#define GL_SECONDARY_COLOR_ARRAY_EXT                                               0x845E
+#define GL_CURRENT_RASTER_SECONDARY_COLOR                                          0x845F
+#define GL_ALIASED_POINT_SIZE_RANGE                                                0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE                                                0x846E
+#define GL_SCREEN_COORDINATES_REND                                                 0x8490
+#define GL_INVERTED_SCREEN_W_REND                                                  0x8491
+#define GL_TEXTURE0                                                                0x84C0
+#define GL_TEXTURE0_ARB                                                            0x84C0
+#define GL_TEXTURE1                                                                0x84C1
+#define GL_TEXTURE1_ARB                                                            0x84C1
+#define GL_TEXTURE2                                                                0x84C2
+#define GL_TEXTURE2_ARB                                                            0x84C2
+#define GL_TEXTURE3                                                                0x84C3
+#define GL_TEXTURE3_ARB                                                            0x84C3
+#define GL_TEXTURE4                                                                0x84C4
+#define GL_TEXTURE4_ARB                                                            0x84C4
+#define GL_TEXTURE5                                                                0x84C5
+#define GL_TEXTURE5_ARB                                                            0x84C5
+#define GL_TEXTURE6                                                                0x84C6
+#define GL_TEXTURE6_ARB                                                            0x84C6
+#define GL_TEXTURE7                                                                0x84C7
+#define GL_TEXTURE7_ARB                                                            0x84C7
+#define GL_TEXTURE8                                                                0x84C8
+#define GL_TEXTURE8_ARB                                                            0x84C8
+#define GL_TEXTURE9                                                                0x84C9
+#define GL_TEXTURE9_ARB                                                            0x84C9
+#define GL_TEXTURE10                                                               0x84CA
+#define GL_TEXTURE10_ARB                                                           0x84CA
+#define GL_TEXTURE11                                                               0x84CB
+#define GL_TEXTURE11_ARB                                                           0x84CB
+#define GL_TEXTURE12                                                               0x84CC
+#define GL_TEXTURE12_ARB                                                           0x84CC
+#define GL_TEXTURE13                                                               0x84CD
+#define GL_TEXTURE13_ARB                                                           0x84CD
+#define GL_TEXTURE14                                                               0x84CE
+#define GL_TEXTURE14_ARB                                                           0x84CE
+#define GL_TEXTURE15                                                               0x84CF
+#define GL_TEXTURE15_ARB                                                           0x84CF
+#define GL_TEXTURE16                                                               0x84D0
+#define GL_TEXTURE16_ARB                                                           0x84D0
+#define GL_TEXTURE17                                                               0x84D1
+#define GL_TEXTURE17_ARB                                                           0x84D1
+#define GL_TEXTURE18                                                               0x84D2
+#define GL_TEXTURE18_ARB                                                           0x84D2
+#define GL_TEXTURE19                                                               0x84D3
+#define GL_TEXTURE19_ARB                                                           0x84D3
+#define GL_TEXTURE20                                                               0x84D4
+#define GL_TEXTURE20_ARB                                                           0x84D4
+#define GL_TEXTURE21                                                               0x84D5
+#define GL_TEXTURE21_ARB                                                           0x84D5
+#define GL_TEXTURE22                                                               0x84D6
+#define GL_TEXTURE22_ARB                                                           0x84D6
+#define GL_TEXTURE23                                                               0x84D7
+#define GL_TEXTURE23_ARB                                                           0x84D7
+#define GL_TEXTURE24                                                               0x84D8
+#define GL_TEXTURE24_ARB                                                           0x84D8
+#define GL_TEXTURE25                                                               0x84D9
+#define GL_TEXTURE25_ARB                                                           0x84D9
+#define GL_TEXTURE26                                                               0x84DA
+#define GL_TEXTURE26_ARB                                                           0x84DA
+#define GL_TEXTURE27                                                               0x84DB
+#define GL_TEXTURE27_ARB                                                           0x84DB
+#define GL_TEXTURE28                                                               0x84DC
+#define GL_TEXTURE28_ARB                                                           0x84DC
+#define GL_TEXTURE29                                                               0x84DD
+#define GL_TEXTURE29_ARB                                                           0x84DD
+#define GL_TEXTURE30                                                               0x84DE
+#define GL_TEXTURE30_ARB                                                           0x84DE
+#define GL_TEXTURE31                                                               0x84DF
+#define GL_TEXTURE31_ARB                                                           0x84DF
+#define GL_ACTIVE_TEXTURE                                                          0x84E0
+#define GL_ACTIVE_TEXTURE_ARB                                                      0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE                                                   0x84E1
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB                                               0x84E1
+#define GL_MAX_TEXTURE_UNITS                                                       0x84E2
+#define GL_MAX_TEXTURE_UNITS_ARB                                                   0x84E2
+#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV                                      0x84E3
+#define GL_TRANSPOSE_MODELVIEW_MATRIX                                              0x84E3
+#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB                                          0x84E3
+#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV                                     0x84E4
+#define GL_TRANSPOSE_PROJECTION_MATRIX                                             0x84E4
+#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB                                         0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX                                                0x84E5
+#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB                                            0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX                                                  0x84E6
+#define GL_TRANSPOSE_COLOR_MATRIX_ARB                                              0x84E6
+#define GL_SUBTRACT                                                                0x84E7
+#define GL_SUBTRACT_ARB                                                            0x84E7
+#define GL_MAX_RENDERBUFFER_SIZE                                                   0x84E8
+#define GL_MAX_RENDERBUFFER_SIZE_EXT                                               0x84E8
+#define GL_MAX_RENDERBUFFER_SIZE_OES                                               0x84E8
+#define GL_COMPRESSED_ALPHA                                                        0x84E9
+#define GL_COMPRESSED_ALPHA_ARB                                                    0x84E9
+#define GL_COMPRESSED_LUMINANCE                                                    0x84EA
+#define GL_COMPRESSED_LUMINANCE_ARB                                                0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA                                              0x84EB
+#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB                                          0x84EB
+#define GL_COMPRESSED_INTENSITY                                                    0x84EC
+#define GL_COMPRESSED_INTENSITY_ARB                                                0x84EC
+#define GL_COMPRESSED_RGB                                                          0x84ED
+#define GL_COMPRESSED_RGB_ARB                                                      0x84ED
+#define GL_COMPRESSED_RGBA                                                         0x84EE
+#define GL_COMPRESSED_RGBA_ARB                                                     0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT                                                0x84EF
+#define GL_TEXTURE_COMPRESSION_HINT_ARB                                            0x84EF
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER                         0x84F0
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER                      0x84F1
+#define GL_ALL_COMPLETED_NV                                                        0x84F2
+#define GL_FENCE_STATUS_NV                                                         0x84F3
+#define GL_FENCE_CONDITION_NV                                                      0x84F4
+#define GL_TEXTURE_RECTANGLE                                                       0x84F5
+#define GL_TEXTURE_RECTANGLE_ARB                                                   0x84F5
+#define GL_TEXTURE_RECTANGLE_NV                                                    0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE                                               0x84F6
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB                                           0x84F6
+#define GL_TEXTURE_BINDING_RECTANGLE_NV                                            0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE                                                 0x84F7
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB                                             0x84F7
+#define GL_PROXY_TEXTURE_RECTANGLE_NV                                              0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE                                              0x84F8
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB                                          0x84F8
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV                                           0x84F8
+#define GL_DEPTH_STENCIL                                                           0x84F9
+#define GL_DEPTH_STENCIL_EXT                                                       0x84F9
+#define GL_DEPTH_STENCIL_NV                                                        0x84F9
+#define GL_DEPTH_STENCIL_OES                                                       0x84F9
+#define GL_UNSIGNED_INT_24_8                                                       0x84FA
+#define GL_UNSIGNED_INT_24_8_EXT                                                   0x84FA
+#define GL_UNSIGNED_INT_24_8_NV                                                    0x84FA
+#define GL_UNSIGNED_INT_24_8_OES                                                   0x84FA
+#define GL_MAX_TEXTURE_LOD_BIAS                                                    0x84FD
+#define GL_MAX_TEXTURE_LOD_BIAS_EXT                                                0x84FD
+#define GL_TEXTURE_MAX_ANISOTROPY_EXT                                              0x84FE
+#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                                          0x84FF
+#define GL_TEXTURE_FILTER_CONTROL                                                  0x8500
+#define GL_TEXTURE_FILTER_CONTROL_EXT                                              0x8500
+#define GL_TEXTURE_LOD_BIAS                                                        0x8501
+#define GL_TEXTURE_LOD_BIAS_EXT                                                    0x8501
+#define GL_MODELVIEW1_STACK_DEPTH_EXT                                              0x8502
+#define GL_COMBINE4_NV                                                             0x8503
+#define GL_MAX_SHININESS_NV                                                        0x8504
+#define GL_MAX_SPOT_EXPONENT_NV                                                    0x8505
+#define GL_MODELVIEW1_MATRIX_EXT                                                   0x8506
+#define GL_INCR_WRAP                                                               0x8507
+#define GL_INCR_WRAP_EXT                                                           0x8507
+#define GL_INCR_WRAP_OES                                                           0x8507
+#define GL_DECR_WRAP                                                               0x8508
+#define GL_DECR_WRAP_EXT                                                           0x8508
+#define GL_DECR_WRAP_OES                                                           0x8508
+#define GL_VERTEX_WEIGHTING_EXT                                                    0x8509
+#define GL_MODELVIEW1_ARB                                                          0x850A
+#define GL_MODELVIEW1_EXT                                                          0x850A
+#define GL_CURRENT_VERTEX_WEIGHT_EXT                                               0x850B
+#define GL_VERTEX_WEIGHT_ARRAY_EXT                                                 0x850C
+#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT                                            0x850D
+#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT                                            0x850E
+#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT                                          0x850F
+#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT                                         0x8510
+#define GL_NORMAL_MAP                                                              0x8511
+#define GL_NORMAL_MAP_ARB                                                          0x8511
+#define GL_NORMAL_MAP_EXT                                                          0x8511
+#define GL_NORMAL_MAP_NV                                                           0x8511
+#define GL_NORMAL_MAP_OES                                                          0x8511
+#define GL_REFLECTION_MAP                                                          0x8512
+#define GL_REFLECTION_MAP_ARB                                                      0x8512
+#define GL_REFLECTION_MAP_EXT                                                      0x8512
+#define GL_REFLECTION_MAP_NV                                                       0x8512
+#define GL_REFLECTION_MAP_OES                                                      0x8512
+#define GL_TEXTURE_CUBE_MAP                                                        0x8513
+#define GL_TEXTURE_CUBE_MAP_ARB                                                    0x8513
+#define GL_TEXTURE_CUBE_MAP_EXT                                                    0x8513
+#define GL_TEXTURE_CUBE_MAP_OES                                                    0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP                                                0x8514
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARB                                            0x8514
+#define GL_TEXTURE_BINDING_CUBE_MAP_EXT                                            0x8514
+#define GL_TEXTURE_BINDING_CUBE_MAP_OES                                            0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X                                             0x8515
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB                                         0x8515
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT                                         0x8515
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES                                         0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X                                             0x8516
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB                                         0x8516
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT                                         0x8516
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES                                         0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y                                             0x8517
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB                                         0x8517
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT                                         0x8517
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES                                         0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y                                             0x8518
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB                                         0x8518
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT                                         0x8518
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES                                         0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z                                             0x8519
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB                                         0x8519
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT                                         0x8519
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES                                         0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z                                             0x851A
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB                                         0x851A
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT                                         0x851A
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES                                         0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP                                                  0x851B
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB                                              0x851B
+#define GL_PROXY_TEXTURE_CUBE_MAP_EXT                                              0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE                                               0x851C
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB                                           0x851C
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT                                           0x851C
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES                                           0x851C
+#define GL_VERTEX_ARRAY_RANGE_APPLE                                                0x851D
+#define GL_VERTEX_ARRAY_RANGE_NV                                                   0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE                                         0x851E
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV                                            0x851E
+#define GL_VERTEX_ARRAY_RANGE_VALID_NV                                             0x851F
+#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE                                         0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV                                       0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE                                        0x8521
+#define GL_VERTEX_ARRAY_RANGE_POINTER_NV                                           0x8521
+#define GL_REGISTER_COMBINERS_NV                                                   0x8522
+#define GL_VARIABLE_A_NV                                                           0x8523
+#define GL_VARIABLE_B_NV                                                           0x8524
+#define GL_VARIABLE_C_NV                                                           0x8525
+#define GL_VARIABLE_D_NV                                                           0x8526
+#define GL_VARIABLE_E_NV                                                           0x8527
+#define GL_VARIABLE_F_NV                                                           0x8528
+#define GL_VARIABLE_G_NV                                                           0x8529
+#define GL_CONSTANT_COLOR0_NV                                                      0x852A
+#define GL_CONSTANT_COLOR1_NV                                                      0x852B
+#define GL_PRIMARY_COLOR_NV                                                        0x852C
+#define GL_SECONDARY_COLOR_NV                                                      0x852D
+#define GL_SPARE0_NV                                                               0x852E
+#define GL_SPARE1_NV                                                               0x852F
+#define GL_DISCARD_NV                                                              0x8530
+#define GL_E_TIMES_F_NV                                                            0x8531
+#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV                                          0x8532
+#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV                                     0x8533
+#define GL_MULTISAMPLE_FILTER_HINT_NV                                              0x8534
+#define GL_PER_STAGE_CONSTANTS_NV                                                  0x8535
+#define GL_UNSIGNED_IDENTITY_NV                                                    0x8536
+#define GL_UNSIGNED_INVERT_NV                                                      0x8537
+#define GL_EXPAND_NORMAL_NV                                                        0x8538
+#define GL_EXPAND_NEGATE_NV                                                        0x8539
+#define GL_HALF_BIAS_NORMAL_NV                                                     0x853A
+#define GL_HALF_BIAS_NEGATE_NV                                                     0x853B
+#define GL_SIGNED_IDENTITY_NV                                                      0x853C
+#define GL_SIGNED_NEGATE_NV                                                        0x853D
+#define GL_SCALE_BY_TWO_NV                                                         0x853E
+#define GL_SCALE_BY_FOUR_NV                                                        0x853F
+#define GL_SCALE_BY_ONE_HALF_NV                                                    0x8540
+#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV                                            0x8541
+#define GL_COMBINER_INPUT_NV                                                       0x8542
+#define GL_COMBINER_MAPPING_NV                                                     0x8543
+#define GL_COMBINER_COMPONENT_USAGE_NV                                             0x8544
+#define GL_COMBINER_AB_DOT_PRODUCT_NV                                              0x8545
+#define GL_COMBINER_CD_DOT_PRODUCT_NV                                              0x8546
+#define GL_COMBINER_MUX_SUM_NV                                                     0x8547
+#define GL_COMBINER_SCALE_NV                                                       0x8548
+#define GL_COMBINER_BIAS_NV                                                        0x8549
+#define GL_COMBINER_AB_OUTPUT_NV                                                   0x854A
+#define GL_COMBINER_CD_OUTPUT_NV                                                   0x854B
+#define GL_COMBINER_SUM_OUTPUT_NV                                                  0x854C
+#define GL_MAX_GENERAL_COMBINERS_NV                                                0x854D
+#define GL_NUM_GENERAL_COMBINERS_NV                                                0x854E
+#define GL_COLOR_SUM_CLAMP_NV                                                      0x854F
+#define GL_COMBINER0_NV                                                            0x8550
+#define GL_COMBINER1_NV                                                            0x8551
+#define GL_COMBINER2_NV                                                            0x8552
+#define GL_COMBINER3_NV                                                            0x8553
+#define GL_COMBINER4_NV                                                            0x8554
+#define GL_COMBINER5_NV                                                            0x8555
+#define GL_COMBINER6_NV                                                            0x8556
+#define GL_COMBINER7_NV                                                            0x8557
+#define GL_PRIMITIVE_RESTART_NV                                                    0x8558
+#define GL_PRIMITIVE_RESTART_INDEX_NV                                              0x8559
+#define GL_FOG_DISTANCE_MODE_NV                                                    0x855A
+#define GL_EYE_RADIAL_NV                                                           0x855B
+#define GL_EYE_PLANE_ABSOLUTE_NV                                                   0x855C
+#define GL_EMBOSS_LIGHT_NV                                                         0x855D
+#define GL_EMBOSS_CONSTANT_NV                                                      0x855E
+#define GL_EMBOSS_MAP_NV                                                           0x855F
+#define GL_RED_MIN_CLAMP_INGR                                                      0x8560
+#define GL_GREEN_MIN_CLAMP_INGR                                                    0x8561
+#define GL_BLUE_MIN_CLAMP_INGR                                                     0x8562
+#define GL_ALPHA_MIN_CLAMP_INGR                                                    0x8563
+#define GL_RED_MAX_CLAMP_INGR                                                      0x8564
+#define GL_GREEN_MAX_CLAMP_INGR                                                    0x8565
+#define GL_BLUE_MAX_CLAMP_INGR                                                     0x8566
+#define GL_ALPHA_MAX_CLAMP_INGR                                                    0x8567
+#define GL_INTERLACE_READ_INGR                                                     0x8568
+#define GL_COMBINE                                                                 0x8570
+#define GL_COMBINE_ARB                                                             0x8570
+#define GL_COMBINE_EXT                                                             0x8570
+#define GL_COMBINE_RGB                                                             0x8571
+#define GL_COMBINE_RGB_ARB                                                         0x8571
+#define GL_COMBINE_RGB_EXT                                                         0x8571
+#define GL_COMBINE_ALPHA                                                           0x8572
+#define GL_COMBINE_ALPHA_ARB                                                       0x8572
+#define GL_COMBINE_ALPHA_EXT                                                       0x8572
+#define GL_RGB_SCALE                                                               0x8573
+#define GL_RGB_SCALE_ARB                                                           0x8573
+#define GL_RGB_SCALE_EXT                                                           0x8573
+#define GL_ADD_SIGNED                                                              0x8574
+#define GL_ADD_SIGNED_ARB                                                          0x8574
+#define GL_ADD_SIGNED_EXT                                                          0x8574
+#define GL_INTERPOLATE                                                             0x8575
+#define GL_INTERPOLATE_ARB                                                         0x8575
+#define GL_INTERPOLATE_EXT                                                         0x8575
+#define GL_CONSTANT                                                                0x8576
+#define GL_CONSTANT_ARB                                                            0x8576
+#define GL_CONSTANT_EXT                                                            0x8576
+#define GL_CONSTANT_NV                                                             0x8576
+#define GL_PRIMARY_COLOR                                                           0x8577
+#define GL_PRIMARY_COLOR_ARB                                                       0x8577
+#define GL_PRIMARY_COLOR_EXT                                                       0x8577
+#define GL_PREVIOUS                                                                0x8578
+#define GL_PREVIOUS_ARB                                                            0x8578
+#define GL_PREVIOUS_EXT                                                            0x8578
+#define GL_SOURCE0_RGB                                                             0x8580
+#define GL_SOURCE0_RGB_ARB                                                         0x8580
+#define GL_SOURCE0_RGB_EXT                                                         0x8580
+#define GL_SRC0_RGB                                                                0x8580
+#define GL_SOURCE1_RGB                                                             0x8581
+#define GL_SOURCE1_RGB_ARB                                                         0x8581
+#define GL_SOURCE1_RGB_EXT                                                         0x8581
+#define GL_SRC1_RGB                                                                0x8581
+#define GL_SOURCE2_RGB                                                             0x8582
+#define GL_SOURCE2_RGB_ARB                                                         0x8582
+#define GL_SOURCE2_RGB_EXT                                                         0x8582
+#define GL_SRC2_RGB                                                                0x8582
+#define GL_SOURCE3_RGB_NV                                                          0x8583
+#define GL_SOURCE0_ALPHA                                                           0x8588
+#define GL_SOURCE0_ALPHA_ARB                                                       0x8588
+#define GL_SOURCE0_ALPHA_EXT                                                       0x8588
+#define GL_SRC0_ALPHA                                                              0x8588
+#define GL_SOURCE1_ALPHA                                                           0x8589
+#define GL_SOURCE1_ALPHA_ARB                                                       0x8589
+#define GL_SOURCE1_ALPHA_EXT                                                       0x8589
+#define GL_SRC1_ALPHA                                                              0x8589
+#define GL_SRC1_ALPHA_EXT                                                          0x8589
+#define GL_SOURCE2_ALPHA                                                           0x858A
+#define GL_SOURCE2_ALPHA_ARB                                                       0x858A
+#define GL_SOURCE2_ALPHA_EXT                                                       0x858A
+#define GL_SRC2_ALPHA                                                              0x858A
+#define GL_SOURCE3_ALPHA_NV                                                        0x858B
+#define GL_OPERAND0_RGB                                                            0x8590
+#define GL_OPERAND0_RGB_ARB                                                        0x8590
+#define GL_OPERAND0_RGB_EXT                                                        0x8590
+#define GL_OPERAND1_RGB                                                            0x8591
+#define GL_OPERAND1_RGB_ARB                                                        0x8591
+#define GL_OPERAND1_RGB_EXT                                                        0x8591
+#define GL_OPERAND2_RGB                                                            0x8592
+#define GL_OPERAND2_RGB_ARB                                                        0x8592
+#define GL_OPERAND2_RGB_EXT                                                        0x8592
+#define GL_OPERAND3_RGB_NV                                                         0x8593
+#define GL_OPERAND0_ALPHA                                                          0x8598
+#define GL_OPERAND0_ALPHA_ARB                                                      0x8598
+#define GL_OPERAND0_ALPHA_EXT                                                      0x8598
+#define GL_OPERAND1_ALPHA                                                          0x8599
+#define GL_OPERAND1_ALPHA_ARB                                                      0x8599
+#define GL_OPERAND1_ALPHA_EXT                                                      0x8599
+#define GL_OPERAND2_ALPHA                                                          0x859A
+#define GL_OPERAND2_ALPHA_ARB                                                      0x859A
+#define GL_OPERAND2_ALPHA_EXT                                                      0x859A
+#define GL_OPERAND3_ALPHA_NV                                                       0x859B
+#define GL_PACK_SUBSAMPLE_RATE_SGIX                                                0x85A0
+#define GL_UNPACK_SUBSAMPLE_RATE_SGIX                                              0x85A1
+#define GL_PIXEL_SUBSAMPLE_4444_SGIX                                               0x85A2
+#define GL_PIXEL_SUBSAMPLE_2424_SGIX                                               0x85A3
+#define GL_PIXEL_SUBSAMPLE_4242_SGIX                                               0x85A4
+#define GL_PERTURB_EXT                                                             0x85AE
+#define GL_TEXTURE_NORMAL_EXT                                                      0x85AF
+#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE                                       0x85B0
+#define GL_TRANSFORM_HINT_APPLE                                                    0x85B1
+#define GL_UNPACK_CLIENT_STORAGE_APPLE                                             0x85B2
+#define GL_BUFFER_OBJECT_APPLE                                                     0x85B3
+#define GL_STORAGE_CLIENT_APPLE                                                    0x85B4
+#define GL_VERTEX_ARRAY_BINDING                                                    0x85B5
+#define GL_VERTEX_ARRAY_BINDING_APPLE                                              0x85B5
+#define GL_VERTEX_ARRAY_BINDING_OES                                                0x85B5
+#define GL_TEXTURE_RANGE_LENGTH_APPLE                                              0x85B7
+#define GL_TEXTURE_RANGE_POINTER_APPLE                                             0x85B8
+#define GL_YCBCR_422_APPLE                                                         0x85B9
+#define GL_UNSIGNED_SHORT_8_8_APPLE                                                0x85BA
+#define GL_UNSIGNED_SHORT_8_8_MESA                                                 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE                                            0x85BB
+#define GL_UNSIGNED_SHORT_8_8_REV_MESA                                             0x85BB
+#define GL_TEXTURE_STORAGE_HINT_APPLE                                              0x85BC
+#define GL_STORAGE_PRIVATE_APPLE                                                   0x85BD
+#define GL_STORAGE_CACHED_APPLE                                                    0x85BE
+#define GL_STORAGE_SHARED_APPLE                                                    0x85BF
+#define GL_REPLACEMENT_CODE_ARRAY_SUN                                              0x85C0
+#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN                                         0x85C1
+#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN                                       0x85C2
+#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN                                      0x85C3
+#define GL_R1UI_V3F_SUN                                                            0x85C4
+#define GL_R1UI_C4UB_V3F_SUN                                                       0x85C5
+#define GL_R1UI_C3F_V3F_SUN                                                        0x85C6
+#define GL_R1UI_N3F_V3F_SUN                                                        0x85C7
+#define GL_R1UI_C4F_N3F_V3F_SUN                                                    0x85C8
+#define GL_R1UI_T2F_V3F_SUN                                                        0x85C9
+#define GL_R1UI_T2F_N3F_V3F_SUN                                                    0x85CA
+#define GL_R1UI_T2F_C4F_N3F_V3F_SUN                                                0x85CB
+#define GL_SLICE_ACCUM_SUN                                                         0x85CC
+#define GL_QUAD_MESH_SUN                                                           0x8614
+#define GL_TRIANGLE_MESH_SUN                                                       0x8615
+#define GL_VERTEX_PROGRAM_ARB                                                      0x8620
+#define GL_VERTEX_PROGRAM_NV                                                       0x8620
+#define GL_VERTEX_STATE_PROGRAM_NV                                                 0x8621
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED                                             0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB                                         0x8622
+#define GL_ATTRIB_ARRAY_SIZE_NV                                                    0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE                                                0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB                                            0x8623
+#define GL_ATTRIB_ARRAY_STRIDE_NV                                                  0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE                                              0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB                                          0x8624
+#define GL_ATTRIB_ARRAY_TYPE_NV                                                    0x8625
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE                                                0x8625
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB                                            0x8625
+#define GL_CURRENT_ATTRIB_NV                                                       0x8626
+#define GL_CURRENT_VERTEX_ATTRIB                                                   0x8626
+#define GL_CURRENT_VERTEX_ATTRIB_ARB                                               0x8626
+#define GL_PROGRAM_LENGTH_ARB                                                      0x8627
+#define GL_PROGRAM_LENGTH_NV                                                       0x8627
+#define GL_PROGRAM_STRING_ARB                                                      0x8628
+#define GL_PROGRAM_STRING_NV                                                       0x8628
+#define GL_MODELVIEW_PROJECTION_NV                                                 0x8629
+#define GL_IDENTITY_NV                                                             0x862A
+#define GL_INVERSE_NV                                                              0x862B
+#define GL_TRANSPOSE_NV                                                            0x862C
+#define GL_INVERSE_TRANSPOSE_NV                                                    0x862D
+#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB                                      0x862E
+#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV                                         0x862E
+#define GL_MAX_PROGRAM_MATRICES_ARB                                                0x862F
+#define GL_MAX_TRACK_MATRICES_NV                                                   0x862F
+#define GL_MATRIX0_NV                                                              0x8630
+#define GL_MATRIX1_NV                                                              0x8631
+#define GL_MATRIX2_NV                                                              0x8632
+#define GL_MATRIX3_NV                                                              0x8633
+#define GL_MATRIX4_NV                                                              0x8634
+#define GL_MATRIX5_NV                                                              0x8635
+#define GL_MATRIX6_NV                                                              0x8636
+#define GL_MATRIX7_NV                                                              0x8637
+#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB                                          0x8640
+#define GL_CURRENT_MATRIX_STACK_DEPTH_NV                                           0x8640
+#define GL_CURRENT_MATRIX_ARB                                                      0x8641
+#define GL_CURRENT_MATRIX_NV                                                       0x8641
+#define GL_PROGRAM_POINT_SIZE                                                      0x8642
+#define GL_PROGRAM_POINT_SIZE_ARB                                                  0x8642
+#define GL_PROGRAM_POINT_SIZE_EXT                                                  0x8642
+#define GL_VERTEX_PROGRAM_POINT_SIZE                                               0x8642
+#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB                                           0x8642
+#define GL_VERTEX_PROGRAM_POINT_SIZE_NV                                            0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE                                                 0x8643
+#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB                                             0x8643
+#define GL_VERTEX_PROGRAM_TWO_SIDE_NV                                              0x8643
+#define GL_PROGRAM_PARAMETER_NV                                                    0x8644
+#define GL_ATTRIB_ARRAY_POINTER_NV                                                 0x8645
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER                                             0x8645
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB                                         0x8645
+#define GL_PROGRAM_TARGET_NV                                                       0x8646
+#define GL_PROGRAM_RESIDENT_NV                                                     0x8647
+#define GL_TRACK_MATRIX_NV                                                         0x8648
+#define GL_TRACK_MATRIX_TRANSFORM_NV                                               0x8649
+#define GL_VERTEX_PROGRAM_BINDING_NV                                               0x864A
+#define GL_PROGRAM_ERROR_POSITION_ARB                                              0x864B
+#define GL_PROGRAM_ERROR_POSITION_NV                                               0x864B
+#define GL_OFFSET_TEXTURE_RECTANGLE_NV                                             0x864C
+#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV                                       0x864D
+#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV                                        0x864E
+#define GL_DEPTH_CLAMP                                                             0x864F
+#define GL_DEPTH_CLAMP_NV                                                          0x864F
+#define GL_VERTEX_ATTRIB_ARRAY0_NV                                                 0x8650
+#define GL_VERTEX_ATTRIB_ARRAY1_NV                                                 0x8651
+#define GL_VERTEX_ATTRIB_ARRAY2_NV                                                 0x8652
+#define GL_VERTEX_ATTRIB_ARRAY3_NV                                                 0x8653
+#define GL_VERTEX_ATTRIB_ARRAY4_NV                                                 0x8654
+#define GL_VERTEX_ATTRIB_ARRAY5_NV                                                 0x8655
+#define GL_VERTEX_ATTRIB_ARRAY6_NV                                                 0x8656
+#define GL_VERTEX_ATTRIB_ARRAY7_NV                                                 0x8657
+#define GL_VERTEX_ATTRIB_ARRAY8_NV                                                 0x8658
+#define GL_VERTEX_ATTRIB_ARRAY9_NV                                                 0x8659
+#define GL_VERTEX_ATTRIB_ARRAY10_NV                                                0x865A
+#define GL_VERTEX_ATTRIB_ARRAY11_NV                                                0x865B
+#define GL_VERTEX_ATTRIB_ARRAY12_NV                                                0x865C
+#define GL_VERTEX_ATTRIB_ARRAY13_NV                                                0x865D
+#define GL_VERTEX_ATTRIB_ARRAY14_NV                                                0x865E
+#define GL_VERTEX_ATTRIB_ARRAY15_NV                                                0x865F
+#define GL_MAP1_VERTEX_ATTRIB0_4_NV                                                0x8660
+#define GL_MAP1_VERTEX_ATTRIB1_4_NV                                                0x8661
+#define GL_MAP1_VERTEX_ATTRIB2_4_NV                                                0x8662
+#define GL_MAP1_VERTEX_ATTRIB3_4_NV                                                0x8663
+#define GL_MAP1_VERTEX_ATTRIB4_4_NV                                                0x8664
+#define GL_MAP1_VERTEX_ATTRIB5_4_NV                                                0x8665
+#define GL_MAP1_VERTEX_ATTRIB6_4_NV                                                0x8666
+#define GL_MAP1_VERTEX_ATTRIB7_4_NV                                                0x8667
+#define GL_MAP1_VERTEX_ATTRIB8_4_NV                                                0x8668
+#define GL_MAP1_VERTEX_ATTRIB9_4_NV                                                0x8669
+#define GL_MAP1_VERTEX_ATTRIB10_4_NV                                               0x866A
+#define GL_MAP1_VERTEX_ATTRIB11_4_NV                                               0x866B
+#define GL_MAP1_VERTEX_ATTRIB12_4_NV                                               0x866C
+#define GL_MAP1_VERTEX_ATTRIB13_4_NV                                               0x866D
+#define GL_MAP1_VERTEX_ATTRIB14_4_NV                                               0x866E
+#define GL_MAP1_VERTEX_ATTRIB15_4_NV                                               0x866F
+#define GL_MAP2_VERTEX_ATTRIB0_4_NV                                                0x8670
+#define GL_MAP2_VERTEX_ATTRIB1_4_NV                                                0x8671
+#define GL_MAP2_VERTEX_ATTRIB2_4_NV                                                0x8672
+#define GL_MAP2_VERTEX_ATTRIB3_4_NV                                                0x8673
+#define GL_MAP2_VERTEX_ATTRIB4_4_NV                                                0x8674
+#define GL_MAP2_VERTEX_ATTRIB5_4_NV                                                0x8675
+#define GL_MAP2_VERTEX_ATTRIB6_4_NV                                                0x8676
+#define GL_MAP2_VERTEX_ATTRIB7_4_NV                                                0x8677
+#define GL_PROGRAM_BINDING_ARB                                                     0x8677
+#define GL_MAP2_VERTEX_ATTRIB8_4_NV                                                0x8678
+#define GL_MAP2_VERTEX_ATTRIB9_4_NV                                                0x8679
+#define GL_MAP2_VERTEX_ATTRIB10_4_NV                                               0x867A
+#define GL_MAP2_VERTEX_ATTRIB11_4_NV                                               0x867B
+#define GL_MAP2_VERTEX_ATTRIB12_4_NV                                               0x867C
+#define GL_MAP2_VERTEX_ATTRIB13_4_NV                                               0x867D
+#define GL_MAP2_VERTEX_ATTRIB14_4_NV                                               0x867E
+#define GL_MAP2_VERTEX_ATTRIB15_4_NV                                               0x867F
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE                                           0x86A0
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB                                       0x86A0
+#define GL_TEXTURE_COMPRESSED                                                      0x86A1
+#define GL_TEXTURE_COMPRESSED_ARB                                                  0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS                                          0x86A2
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB                                      0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS                                              0x86A3
+#define GL_COMPRESSED_TEXTURE_FORMATS_ARB                                          0x86A3
+#define GL_MAX_VERTEX_UNITS_ARB                                                    0x86A4
+#define GL_MAX_VERTEX_UNITS_OES                                                    0x86A4
+#define GL_ACTIVE_VERTEX_UNITS_ARB                                                 0x86A5
+#define GL_WEIGHT_SUM_UNITY_ARB                                                    0x86A6
+#define GL_VERTEX_BLEND_ARB                                                        0x86A7
+#define GL_CURRENT_WEIGHT_ARB                                                      0x86A8
+#define GL_WEIGHT_ARRAY_TYPE_ARB                                                   0x86A9
+#define GL_WEIGHT_ARRAY_TYPE_OES                                                   0x86A9
+#define GL_WEIGHT_ARRAY_STRIDE_ARB                                                 0x86AA
+#define GL_WEIGHT_ARRAY_STRIDE_OES                                                 0x86AA
+#define GL_WEIGHT_ARRAY_SIZE_ARB                                                   0x86AB
+#define GL_WEIGHT_ARRAY_SIZE_OES                                                   0x86AB
+#define GL_WEIGHT_ARRAY_POINTER_ARB                                                0x86AC
+#define GL_WEIGHT_ARRAY_POINTER_OES                                                0x86AC
+#define GL_WEIGHT_ARRAY_ARB                                                        0x86AD
+#define GL_WEIGHT_ARRAY_OES                                                        0x86AD
+#define GL_DOT3_RGB                                                                0x86AE
+#define GL_DOT3_RGB_ARB                                                            0x86AE
+#define GL_DOT3_RGBA                                                               0x86AF
+#define GL_DOT3_RGBA_ARB                                                           0x86AF
+#define GL_DOT3_RGBA_IMG                                                           0x86AF
+#define GL_COMPRESSED_RGB_FXT1_3DFX                                                0x86B0
+#define GL_COMPRESSED_RGBA_FXT1_3DFX                                               0x86B1
+#define GL_MULTISAMPLE_3DFX                                                        0x86B2
+#define GL_SAMPLE_BUFFERS_3DFX                                                     0x86B3
+#define GL_SAMPLES_3DFX                                                            0x86B4
+#define GL_EVAL_2D_NV                                                              0x86C0
+#define GL_EVAL_TRIANGULAR_2D_NV                                                   0x86C1
+#define GL_MAP_TESSELLATION_NV                                                     0x86C2
+#define GL_MAP_ATTRIB_U_ORDER_NV                                                   0x86C3
+#define GL_MAP_ATTRIB_V_ORDER_NV                                                   0x86C4
+#define GL_EVAL_FRACTIONAL_TESSELLATION_NV                                         0x86C5
+#define GL_EVAL_VERTEX_ATTRIB0_NV                                                  0x86C6
+#define GL_EVAL_VERTEX_ATTRIB1_NV                                                  0x86C7
+#define GL_EVAL_VERTEX_ATTRIB2_NV                                                  0x86C8
+#define GL_EVAL_VERTEX_ATTRIB3_NV                                                  0x86C9
+#define GL_EVAL_VERTEX_ATTRIB4_NV                                                  0x86CA
+#define GL_EVAL_VERTEX_ATTRIB5_NV                                                  0x86CB
+#define GL_EVAL_VERTEX_ATTRIB6_NV                                                  0x86CC
+#define GL_EVAL_VERTEX_ATTRIB7_NV                                                  0x86CD
+#define GL_EVAL_VERTEX_ATTRIB8_NV                                                  0x86CE
+#define GL_EVAL_VERTEX_ATTRIB9_NV                                                  0x86CF
+#define GL_EVAL_VERTEX_ATTRIB10_NV                                                 0x86D0
+#define GL_EVAL_VERTEX_ATTRIB11_NV                                                 0x86D1
+#define GL_EVAL_VERTEX_ATTRIB12_NV                                                 0x86D2
+#define GL_EVAL_VERTEX_ATTRIB13_NV                                                 0x86D3
+#define GL_EVAL_VERTEX_ATTRIB14_NV                                                 0x86D4
+#define GL_EVAL_VERTEX_ATTRIB15_NV                                                 0x86D5
+#define GL_MAX_MAP_TESSELLATION_NV                                                 0x86D6
+#define GL_MAX_RATIONAL_EVAL_ORDER_NV                                              0x86D7
+#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV                                            0x86D8
+#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV                                    0x86D9
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV                                               0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV                                           0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV                                                   0x86DC
+#define GL_SHADER_CONSISTENT_NV                                                    0x86DD
+#define GL_TEXTURE_SHADER_NV                                                       0x86DE
+#define GL_SHADER_OPERATION_NV                                                     0x86DF
+#define GL_CULL_MODES_NV                                                           0x86E0
+#define GL_OFFSET_TEXTURE_2D_MATRIX_NV                                             0x86E1
+#define GL_OFFSET_TEXTURE_MATRIX_NV                                                0x86E1
+#define GL_OFFSET_TEXTURE_2D_SCALE_NV                                              0x86E2
+#define GL_OFFSET_TEXTURE_SCALE_NV                                                 0x86E2
+#define GL_OFFSET_TEXTURE_2D_BIAS_NV                                               0x86E3
+#define GL_OFFSET_TEXTURE_BIAS_NV                                                  0x86E3
+#define GL_PREVIOUS_TEXTURE_INPUT_NV                                               0x86E4
+#define GL_CONST_EYE_NV                                                            0x86E5
+#define GL_PASS_THROUGH_NV                                                         0x86E6
+#define GL_CULL_FRAGMENT_NV                                                        0x86E7
+#define GL_OFFSET_TEXTURE_2D_NV                                                    0x86E8
+#define GL_DEPENDENT_AR_TEXTURE_2D_NV                                              0x86E9
+#define GL_DEPENDENT_GB_TEXTURE_2D_NV                                              0x86EA
+#define GL_SURFACE_STATE_NV                                                        0x86EB
+#define GL_DOT_PRODUCT_NV                                                          0x86EC
+#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV                                            0x86ED
+#define GL_DOT_PRODUCT_TEXTURE_2D_NV                                               0x86EE
+#define GL_DOT_PRODUCT_TEXTURE_3D_NV                                               0x86EF
+#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV                                         0x86F0
+#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV                                         0x86F1
+#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV                                         0x86F2
+#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV                               0x86F3
+#define GL_HILO_NV                                                                 0x86F4
+#define GL_DSDT_NV                                                                 0x86F5
+#define GL_DSDT_MAG_NV                                                             0x86F6
+#define GL_DSDT_MAG_VIB_NV                                                         0x86F7
+#define GL_HILO16_NV                                                               0x86F8
+#define GL_SIGNED_HILO_NV                                                          0x86F9
+#define GL_SIGNED_HILO16_NV                                                        0x86FA
+#define GL_SIGNED_RGBA_NV                                                          0x86FB
+#define GL_SIGNED_RGBA8_NV                                                         0x86FC
+#define GL_SURFACE_REGISTERED_NV                                                   0x86FD
+#define GL_SIGNED_RGB_NV                                                           0x86FE
+#define GL_SIGNED_RGB8_NV                                                          0x86FF
+#define GL_SURFACE_MAPPED_NV                                                       0x8700
+#define GL_SIGNED_LUMINANCE_NV                                                     0x8701
+#define GL_SIGNED_LUMINANCE8_NV                                                    0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV                                               0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV                                             0x8704
+#define GL_SIGNED_ALPHA_NV                                                         0x8705
+#define GL_SIGNED_ALPHA8_NV                                                        0x8706
+#define GL_SIGNED_INTENSITY_NV                                                     0x8707
+#define GL_SIGNED_INTENSITY8_NV                                                    0x8708
+#define GL_DSDT8_NV                                                                0x8709
+#define GL_DSDT8_MAG8_NV                                                           0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV                                                0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV                                            0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV                                          0x870D
+#define GL_HI_SCALE_NV                                                             0x870E
+#define GL_LO_SCALE_NV                                                             0x870F
+#define GL_DS_SCALE_NV                                                             0x8710
+#define GL_DT_SCALE_NV                                                             0x8711
+#define GL_MAGNITUDE_SCALE_NV                                                      0x8712
+#define GL_VIBRANCE_SCALE_NV                                                       0x8713
+#define GL_HI_BIAS_NV                                                              0x8714
+#define GL_LO_BIAS_NV                                                              0x8715
+#define GL_DS_BIAS_NV                                                              0x8716
+#define GL_DT_BIAS_NV                                                              0x8717
+#define GL_MAGNITUDE_BIAS_NV                                                       0x8718
+#define GL_VIBRANCE_BIAS_NV                                                        0x8719
+#define GL_TEXTURE_BORDER_VALUES_NV                                                0x871A
+#define GL_TEXTURE_HI_SIZE_NV                                                      0x871B
+#define GL_TEXTURE_LO_SIZE_NV                                                      0x871C
+#define GL_TEXTURE_DS_SIZE_NV                                                      0x871D
+#define GL_TEXTURE_DT_SIZE_NV                                                      0x871E
+#define GL_TEXTURE_MAG_SIZE_NV                                                     0x871F
+#define GL_MODELVIEW2_ARB                                                          0x8722
+#define GL_MODELVIEW3_ARB                                                          0x8723
+#define GL_MODELVIEW4_ARB                                                          0x8724
+#define GL_MODELVIEW5_ARB                                                          0x8725
+#define GL_MODELVIEW6_ARB                                                          0x8726
+#define GL_MODELVIEW7_ARB                                                          0x8727
+#define GL_MODELVIEW8_ARB                                                          0x8728
+#define GL_MODELVIEW9_ARB                                                          0x8729
+#define GL_MODELVIEW10_ARB                                                         0x872A
+#define GL_MODELVIEW11_ARB                                                         0x872B
+#define GL_MODELVIEW12_ARB                                                         0x872C
+#define GL_MODELVIEW13_ARB                                                         0x872D
+#define GL_MODELVIEW14_ARB                                                         0x872E
+#define GL_MODELVIEW15_ARB                                                         0x872F
+#define GL_MODELVIEW16_ARB                                                         0x8730
+#define GL_MODELVIEW17_ARB                                                         0x8731
+#define GL_MODELVIEW18_ARB                                                         0x8732
+#define GL_MODELVIEW19_ARB                                                         0x8733
+#define GL_MODELVIEW20_ARB                                                         0x8734
+#define GL_MODELVIEW21_ARB                                                         0x8735
+#define GL_MODELVIEW22_ARB                                                         0x8736
+#define GL_MODELVIEW23_ARB                                                         0x8737
+#define GL_MODELVIEW24_ARB                                                         0x8738
+#define GL_MODELVIEW25_ARB                                                         0x8739
+#define GL_MODELVIEW26_ARB                                                         0x873A
+#define GL_MODELVIEW27_ARB                                                         0x873B
+#define GL_MODELVIEW28_ARB                                                         0x873C
+#define GL_MODELVIEW29_ARB                                                         0x873D
+#define GL_MODELVIEW30_ARB                                                         0x873E
+#define GL_MODELVIEW31_ARB                                                         0x873F
+#define GL_DOT3_RGB_EXT                                                            0x8740
+#define GL_Z400_BINARY_AMD                                                         0x8740
+#define GL_DOT3_RGBA_EXT                                                           0x8741
+#define GL_PROGRAM_BINARY_LENGTH                                                   0x8741
+#define GL_PROGRAM_BINARY_LENGTH_OES                                               0x8741
+#define GL_MIRROR_CLAMP_ATI                                                        0x8742
+#define GL_MIRROR_CLAMP_EXT                                                        0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE                                                    0x8743
+#define GL_MIRROR_CLAMP_TO_EDGE_ATI                                                0x8743
+#define GL_MIRROR_CLAMP_TO_EDGE_EXT                                                0x8743
+#define GL_MODULATE_ADD_ATI                                                        0x8744
+#define GL_MODULATE_SIGNED_ADD_ATI                                                 0x8745
+#define GL_MODULATE_SUBTRACT_ATI                                                   0x8746
+#define GL_SET_AMD                                                                 0x874A
+#define GL_REPLACE_VALUE_AMD                                                       0x874B
+#define GL_STENCIL_OP_VALUE_AMD                                                    0x874C
+#define GL_STENCIL_BACK_OP_VALUE_AMD                                               0x874D
+#define GL_VERTEX_ATTRIB_ARRAY_LONG                                                0x874E
+#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD                                          0x874F
+#define GL_DEPTH_STENCIL_MESA                                                      0x8750
+#define GL_UNSIGNED_INT_24_8_MESA                                                  0x8751
+#define GL_UNSIGNED_INT_8_24_REV_MESA                                              0x8752
+#define GL_UNSIGNED_SHORT_15_1_MESA                                                0x8753
+#define GL_UNSIGNED_SHORT_1_15_REV_MESA                                            0x8754
+#define GL_TRACE_MASK_MESA                                                         0x8755
+#define GL_TRACE_NAME_MESA                                                         0x8756
+#define GL_YCBCR_MESA                                                              0x8757
+#define GL_PACK_INVERT_MESA                                                        0x8758
+#define GL_DEBUG_OBJECT_MESA                                                       0x8759
+#define GL_TEXTURE_1D_STACK_MESAX                                                  0x8759
+#define GL_DEBUG_PRINT_MESA                                                        0x875A
+#define GL_TEXTURE_2D_STACK_MESAX                                                  0x875A
+#define GL_DEBUG_ASSERT_MESA                                                       0x875B
+#define GL_PROXY_TEXTURE_1D_STACK_MESAX                                            0x875B
+#define GL_PROXY_TEXTURE_2D_STACK_MESAX                                            0x875C
+#define GL_TEXTURE_1D_STACK_BINDING_MESAX                                          0x875D
+#define GL_TEXTURE_2D_STACK_BINDING_MESAX                                          0x875E
+#define GL_STATIC_ATI                                                              0x8760
+#define GL_DYNAMIC_ATI                                                             0x8761
+#define GL_PRESERVE_ATI                                                            0x8762
+#define GL_DISCARD_ATI                                                             0x8763
+#define GL_BUFFER_SIZE                                                             0x8764
+#define GL_BUFFER_SIZE_ARB                                                         0x8764
+#define GL_OBJECT_BUFFER_SIZE_ATI                                                  0x8764
+#define GL_BUFFER_USAGE                                                            0x8765
+#define GL_BUFFER_USAGE_ARB                                                        0x8765
+#define GL_OBJECT_BUFFER_USAGE_ATI                                                 0x8765
+#define GL_ARRAY_OBJECT_BUFFER_ATI                                                 0x8766
+#define GL_ARRAY_OBJECT_OFFSET_ATI                                                 0x8767
+#define GL_ELEMENT_ARRAY_ATI                                                       0x8768
+#define GL_ELEMENT_ARRAY_TYPE_ATI                                                  0x8769
+#define GL_ELEMENT_ARRAY_POINTER_ATI                                               0x876A
+#define GL_MAX_VERTEX_STREAMS_ATI                                                  0x876B
+#define GL_VERTEX_STREAM0_ATI                                                      0x876C
+#define GL_VERTEX_STREAM1_ATI                                                      0x876D
+#define GL_VERTEX_STREAM2_ATI                                                      0x876E
+#define GL_VERTEX_STREAM3_ATI                                                      0x876F
+#define GL_VERTEX_STREAM4_ATI                                                      0x8770
+#define GL_VERTEX_STREAM5_ATI                                                      0x8771
+#define GL_VERTEX_STREAM6_ATI                                                      0x8772
+#define GL_VERTEX_STREAM7_ATI                                                      0x8773
+#define GL_VERTEX_SOURCE_ATI                                                       0x8774
+#define GL_BUMP_ROT_MATRIX_ATI                                                     0x8775
+#define GL_BUMP_ROT_MATRIX_SIZE_ATI                                                0x8776
+#define GL_BUMP_NUM_TEX_UNITS_ATI                                                  0x8777
+#define GL_BUMP_TEX_UNITS_ATI                                                      0x8778
+#define GL_DUDV_ATI                                                                0x8779
+#define GL_DU8DV8_ATI                                                              0x877A
+#define GL_BUMP_ENVMAP_ATI                                                         0x877B
+#define GL_BUMP_TARGET_ATI                                                         0x877C
+#define GL_VERTEX_SHADER_EXT                                                       0x8780
+#define GL_VERTEX_SHADER_BINDING_EXT                                               0x8781
+#define GL_OP_INDEX_EXT                                                            0x8782
+#define GL_OP_NEGATE_EXT                                                           0x8783
+#define GL_OP_DOT3_EXT                                                             0x8784
+#define GL_OP_DOT4_EXT                                                             0x8785
+#define GL_OP_MUL_EXT                                                              0x8786
+#define GL_OP_ADD_EXT                                                              0x8787
+#define GL_OP_MADD_EXT                                                             0x8788
+#define GL_OP_FRAC_EXT                                                             0x8789
+#define GL_OP_MAX_EXT                                                              0x878A
+#define GL_OP_MIN_EXT                                                              0x878B
+#define GL_OP_SET_GE_EXT                                                           0x878C
+#define GL_OP_SET_LT_EXT                                                           0x878D
+#define GL_OP_CLAMP_EXT                                                            0x878E
+#define GL_OP_FLOOR_EXT                                                            0x878F
+#define GL_OP_ROUND_EXT                                                            0x8790
+#define GL_OP_EXP_BASE_2_EXT                                                       0x8791
+#define GL_OP_LOG_BASE_2_EXT                                                       0x8792
+#define GL_OP_POWER_EXT                                                            0x8793
+#define GL_OP_RECIP_EXT                                                            0x8794
+#define GL_OP_RECIP_SQRT_EXT                                                       0x8795
+#define GL_OP_SUB_EXT                                                              0x8796
+#define GL_OP_CROSS_PRODUCT_EXT                                                    0x8797
+#define GL_OP_MULTIPLY_MATRIX_EXT                                                  0x8798
+#define GL_OP_MOV_EXT                                                              0x8799
+#define GL_OUTPUT_VERTEX_EXT                                                       0x879A
+#define GL_OUTPUT_COLOR0_EXT                                                       0x879B
+#define GL_OUTPUT_COLOR1_EXT                                                       0x879C
+#define GL_OUTPUT_TEXTURE_COORD0_EXT                                               0x879D
+#define GL_OUTPUT_TEXTURE_COORD1_EXT                                               0x879E
+#define GL_OUTPUT_TEXTURE_COORD2_EXT                                               0x879F
+#define GL_OUTPUT_TEXTURE_COORD3_EXT                                               0x87A0
+#define GL_OUTPUT_TEXTURE_COORD4_EXT                                               0x87A1
+#define GL_OUTPUT_TEXTURE_COORD5_EXT                                               0x87A2
+#define GL_OUTPUT_TEXTURE_COORD6_EXT                                               0x87A3
+#define GL_OUTPUT_TEXTURE_COORD7_EXT                                               0x87A4
+#define GL_OUTPUT_TEXTURE_COORD8_EXT                                               0x87A5
+#define GL_OUTPUT_TEXTURE_COORD9_EXT                                               0x87A6
+#define GL_OUTPUT_TEXTURE_COORD10_EXT                                              0x87A7
+#define GL_OUTPUT_TEXTURE_COORD11_EXT                                              0x87A8
+#define GL_OUTPUT_TEXTURE_COORD12_EXT                                              0x87A9
+#define GL_OUTPUT_TEXTURE_COORD13_EXT                                              0x87AA
+#define GL_OUTPUT_TEXTURE_COORD14_EXT                                              0x87AB
+#define GL_OUTPUT_TEXTURE_COORD15_EXT                                              0x87AC
+#define GL_OUTPUT_TEXTURE_COORD16_EXT                                              0x87AD
+#define GL_OUTPUT_TEXTURE_COORD17_EXT                                              0x87AE
+#define GL_OUTPUT_TEXTURE_COORD18_EXT                                              0x87AF
+#define GL_OUTPUT_TEXTURE_COORD19_EXT                                              0x87B0
+#define GL_OUTPUT_TEXTURE_COORD20_EXT                                              0x87B1
+#define GL_OUTPUT_TEXTURE_COORD21_EXT                                              0x87B2
+#define GL_OUTPUT_TEXTURE_COORD22_EXT                                              0x87B3
+#define GL_OUTPUT_TEXTURE_COORD23_EXT                                              0x87B4
+#define GL_OUTPUT_TEXTURE_COORD24_EXT                                              0x87B5
+#define GL_OUTPUT_TEXTURE_COORD25_EXT                                              0x87B6
+#define GL_OUTPUT_TEXTURE_COORD26_EXT                                              0x87B7
+#define GL_OUTPUT_TEXTURE_COORD27_EXT                                              0x87B8
+#define GL_OUTPUT_TEXTURE_COORD28_EXT                                              0x87B9
+#define GL_OUTPUT_TEXTURE_COORD29_EXT                                              0x87BA
+#define GL_OUTPUT_TEXTURE_COORD30_EXT                                              0x87BB
+#define GL_OUTPUT_TEXTURE_COORD31_EXT                                              0x87BC
+#define GL_OUTPUT_FOG_EXT                                                          0x87BD
+#define GL_SCALAR_EXT                                                              0x87BE
+#define GL_VECTOR_EXT                                                              0x87BF
+#define GL_MATRIX_EXT                                                              0x87C0
+#define GL_VARIANT_EXT                                                             0x87C1
+#define GL_INVARIANT_EXT                                                           0x87C2
+#define GL_LOCAL_CONSTANT_EXT                                                      0x87C3
+#define GL_LOCAL_EXT                                                               0x87C4
+#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT                                      0x87C5
+#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                                          0x87C6
+#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                                        0x87C7
+#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                                   0x87C8
+#define GL_MAX_VERTEX_SHADER_LOCALS_EXT                                            0x87C9
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT                            0x87CA
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT                                0x87CB
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                         0x87CC
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT                              0x87CD
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT                                  0x87CE
+#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                                          0x87CF
+#define GL_VERTEX_SHADER_VARIANTS_EXT                                              0x87D0
+#define GL_VERTEX_SHADER_INVARIANTS_EXT                                            0x87D1
+#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                                       0x87D2
+#define GL_VERTEX_SHADER_LOCALS_EXT                                                0x87D3
+#define GL_VERTEX_SHADER_OPTIMIZED_EXT                                             0x87D4
+#define GL_X_EXT                                                                   0x87D5
+#define GL_Y_EXT                                                                   0x87D6
+#define GL_Z_EXT                                                                   0x87D7
+#define GL_W_EXT                                                                   0x87D8
+#define GL_NEGATIVE_X_EXT                                                          0x87D9
+#define GL_NEGATIVE_Y_EXT                                                          0x87DA
+#define GL_NEGATIVE_Z_EXT                                                          0x87DB
+#define GL_NEGATIVE_W_EXT                                                          0x87DC
+#define GL_ZERO_EXT                                                                0x87DD
+#define GL_ONE_EXT                                                                 0x87DE
+#define GL_NEGATIVE_ONE_EXT                                                        0x87DF
+#define GL_NORMALIZED_RANGE_EXT                                                    0x87E0
+#define GL_FULL_RANGE_EXT                                                          0x87E1
+#define GL_CURRENT_VERTEX_EXT                                                      0x87E2
+#define GL_MVP_MATRIX_EXT                                                          0x87E3
+#define GL_VARIANT_VALUE_EXT                                                       0x87E4
+#define GL_VARIANT_DATATYPE_EXT                                                    0x87E5
+#define GL_VARIANT_ARRAY_STRIDE_EXT                                                0x87E6
+#define GL_VARIANT_ARRAY_TYPE_EXT                                                  0x87E7
+#define GL_VARIANT_ARRAY_EXT                                                       0x87E8
+#define GL_VARIANT_ARRAY_POINTER_EXT                                               0x87E9
+#define GL_INVARIANT_VALUE_EXT                                                     0x87EA
+#define GL_INVARIANT_DATATYPE_EXT                                                  0x87EB
+#define GL_LOCAL_CONSTANT_VALUE_EXT                                                0x87EC
+#define GL_LOCAL_CONSTANT_DATATYPE_EXT                                             0x87ED
+#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                                         0x87EE
+#define GL_PN_TRIANGLES_ATI                                                        0x87F0
+#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI                                  0x87F1
+#define GL_PN_TRIANGLES_POINT_MODE_ATI                                             0x87F2
+#define GL_PN_TRIANGLES_NORMAL_MODE_ATI                                            0x87F3
+#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI                                      0x87F4
+#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI                                      0x87F5
+#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI                                       0x87F6
+#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI                                     0x87F7
+#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI                                  0x87F8
+#define GL_3DC_X_AMD                                                               0x87F9
+#define GL_3DC_XY_AMD                                                              0x87FA
+#define GL_VBO_FREE_MEMORY_ATI                                                     0x87FB
+#define GL_TEXTURE_FREE_MEMORY_ATI                                                 0x87FC
+#define GL_RENDERBUFFER_FREE_MEMORY_ATI                                            0x87FD
+#define GL_NUM_PROGRAM_BINARY_FORMATS                                              0x87FE
+#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                                          0x87FE
+#define GL_PROGRAM_BINARY_FORMATS                                                  0x87FF
+#define GL_PROGRAM_BINARY_FORMATS_OES                                              0x87FF
+#define GL_STENCIL_BACK_FUNC                                                       0x8800
+#define GL_STENCIL_BACK_FUNC_ATI                                                   0x8800
+#define GL_STENCIL_BACK_FAIL                                                       0x8801
+#define GL_STENCIL_BACK_FAIL_ATI                                                   0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL                                            0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI                                        0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS                                            0x8803
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI                                        0x8803
+#define GL_FRAGMENT_PROGRAM_ARB                                                    0x8804
+#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB                                            0x8805
+#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB                                            0x8806
+#define GL_PROGRAM_TEX_INDIRECTIONS_ARB                                            0x8807
+#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB                                     0x8808
+#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB                                     0x8809
+#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB                                     0x880A
+#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB                                        0x880B
+#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB                                        0x880C
+#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB                                        0x880D
+#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB                                 0x880E
+#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB                                 0x880F
+#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB                                 0x8810
+#define GL_RGBA32F                                                                 0x8814
+#define GL_RGBA32F_ARB                                                             0x8814
+#define GL_RGBA32F_EXT                                                             0x8814
+#define GL_RGBA_FLOAT32_APPLE                                                      0x8814
+#define GL_RGBA_FLOAT32_ATI                                                        0x8814
+#define GL_RGB32F                                                                  0x8815
+#define GL_RGB32F_ARB                                                              0x8815
+#define GL_RGB32F_EXT                                                              0x8815
+#define GL_RGB_FLOAT32_APPLE                                                       0x8815
+#define GL_RGB_FLOAT32_ATI                                                         0x8815
+#define GL_ALPHA32F_ARB                                                            0x8816
+#define GL_ALPHA32F_EXT                                                            0x8816
+#define GL_ALPHA_FLOAT32_APPLE                                                     0x8816
+#define GL_ALPHA_FLOAT32_ATI                                                       0x8816
+#define GL_INTENSITY32F_ARB                                                        0x8817
+#define GL_INTENSITY_FLOAT32_APPLE                                                 0x8817
+#define GL_INTENSITY_FLOAT32_ATI                                                   0x8817
+#define GL_LUMINANCE32F_ARB                                                        0x8818
+#define GL_LUMINANCE32F_EXT                                                        0x8818
+#define GL_LUMINANCE_FLOAT32_APPLE                                                 0x8818
+#define GL_LUMINANCE_FLOAT32_ATI                                                   0x8818
+#define GL_LUMINANCE_ALPHA32F_ARB                                                  0x8819
+#define GL_LUMINANCE_ALPHA32F_EXT                                                  0x8819
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE                                           0x8819
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI                                             0x8819
+#define GL_RGBA16F                                                                 0x881A
+#define GL_RGBA16F_ARB                                                             0x881A
+#define GL_RGBA16F_EXT                                                             0x881A
+#define GL_RGBA_FLOAT16_APPLE                                                      0x881A
+#define GL_RGBA_FLOAT16_ATI                                                        0x881A
+#define GL_RGB16F                                                                  0x881B
+#define GL_RGB16F_ARB                                                              0x881B
+#define GL_RGB16F_EXT                                                              0x881B
+#define GL_RGB_FLOAT16_APPLE                                                       0x881B
+#define GL_RGB_FLOAT16_ATI                                                         0x881B
+#define GL_ALPHA16F_ARB                                                            0x881C
+#define GL_ALPHA16F_EXT                                                            0x881C
+#define GL_ALPHA_FLOAT16_APPLE                                                     0x881C
+#define GL_ALPHA_FLOAT16_ATI                                                       0x881C
+#define GL_INTENSITY16F_ARB                                                        0x881D
+#define GL_INTENSITY_FLOAT16_APPLE                                                 0x881D
+#define GL_INTENSITY_FLOAT16_ATI                                                   0x881D
+#define GL_LUMINANCE16F_ARB                                                        0x881E
+#define GL_LUMINANCE16F_EXT                                                        0x881E
+#define GL_LUMINANCE_FLOAT16_APPLE                                                 0x881E
+#define GL_LUMINANCE_FLOAT16_ATI                                                   0x881E
+#define GL_LUMINANCE_ALPHA16F_ARB                                                  0x881F
+#define GL_LUMINANCE_ALPHA16F_EXT                                                  0x881F
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE                                           0x881F
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI                                             0x881F
+#define GL_RGBA_FLOAT_MODE_ARB                                                     0x8820
+#define GL_RGBA_FLOAT_MODE_ATI                                                     0x8820
+#define GL_WRITEONLY_RENDERING_QCOM                                                0x8823
+#define GL_MAX_DRAW_BUFFERS                                                        0x8824
+#define GL_MAX_DRAW_BUFFERS_ARB                                                    0x8824
+#define GL_MAX_DRAW_BUFFERS_ATI                                                    0x8824
+#define GL_MAX_DRAW_BUFFERS_EXT                                                    0x8824
+#define GL_MAX_DRAW_BUFFERS_NV                                                     0x8824
+#define GL_DRAW_BUFFER0                                                            0x8825
+#define GL_DRAW_BUFFER0_ARB                                                        0x8825
+#define GL_DRAW_BUFFER0_ATI                                                        0x8825
+#define GL_DRAW_BUFFER0_EXT                                                        0x8825
+#define GL_DRAW_BUFFER0_NV                                                         0x8825
+#define GL_DRAW_BUFFER1                                                            0x8826
+#define GL_DRAW_BUFFER1_ARB                                                        0x8826
+#define GL_DRAW_BUFFER1_ATI                                                        0x8826
+#define GL_DRAW_BUFFER1_EXT                                                        0x8826
+#define GL_DRAW_BUFFER1_NV                                                         0x8826
+#define GL_DRAW_BUFFER2                                                            0x8827
+#define GL_DRAW_BUFFER2_ARB                                                        0x8827
+#define GL_DRAW_BUFFER2_ATI                                                        0x8827
+#define GL_DRAW_BUFFER2_EXT                                                        0x8827
+#define GL_DRAW_BUFFER2_NV                                                         0x8827
+#define GL_DRAW_BUFFER3                                                            0x8828
+#define GL_DRAW_BUFFER3_ARB                                                        0x8828
+#define GL_DRAW_BUFFER3_ATI                                                        0x8828
+#define GL_DRAW_BUFFER3_EXT                                                        0x8828
+#define GL_DRAW_BUFFER3_NV                                                         0x8828
+#define GL_DRAW_BUFFER4                                                            0x8829
+#define GL_DRAW_BUFFER4_ARB                                                        0x8829
+#define GL_DRAW_BUFFER4_ATI                                                        0x8829
+#define GL_DRAW_BUFFER4_EXT                                                        0x8829
+#define GL_DRAW_BUFFER4_NV                                                         0x8829
+#define GL_DRAW_BUFFER5                                                            0x882A
+#define GL_DRAW_BUFFER5_ARB                                                        0x882A
+#define GL_DRAW_BUFFER5_ATI                                                        0x882A
+#define GL_DRAW_BUFFER5_EXT                                                        0x882A
+#define GL_DRAW_BUFFER5_NV                                                         0x882A
+#define GL_DRAW_BUFFER6                                                            0x882B
+#define GL_DRAW_BUFFER6_ARB                                                        0x882B
+#define GL_DRAW_BUFFER6_ATI                                                        0x882B
+#define GL_DRAW_BUFFER6_EXT                                                        0x882B
+#define GL_DRAW_BUFFER6_NV                                                         0x882B
+#define GL_DRAW_BUFFER7                                                            0x882C
+#define GL_DRAW_BUFFER7_ARB                                                        0x882C
+#define GL_DRAW_BUFFER7_ATI                                                        0x882C
+#define GL_DRAW_BUFFER7_EXT                                                        0x882C
+#define GL_DRAW_BUFFER7_NV                                                         0x882C
+#define GL_DRAW_BUFFER8                                                            0x882D
+#define GL_DRAW_BUFFER8_ARB                                                        0x882D
+#define GL_DRAW_BUFFER8_ATI                                                        0x882D
+#define GL_DRAW_BUFFER8_EXT                                                        0x882D
+#define GL_DRAW_BUFFER8_NV                                                         0x882D
+#define GL_DRAW_BUFFER9                                                            0x882E
+#define GL_DRAW_BUFFER9_ARB                                                        0x882E
+#define GL_DRAW_BUFFER9_ATI                                                        0x882E
+#define GL_DRAW_BUFFER9_EXT                                                        0x882E
+#define GL_DRAW_BUFFER9_NV                                                         0x882E
+#define GL_DRAW_BUFFER10                                                           0x882F
+#define GL_DRAW_BUFFER10_ARB                                                       0x882F
+#define GL_DRAW_BUFFER10_ATI                                                       0x882F
+#define GL_DRAW_BUFFER10_EXT                                                       0x882F
+#define GL_DRAW_BUFFER10_NV                                                        0x882F
+#define GL_DRAW_BUFFER11                                                           0x8830
+#define GL_DRAW_BUFFER11_ARB                                                       0x8830
+#define GL_DRAW_BUFFER11_ATI                                                       0x8830
+#define GL_DRAW_BUFFER11_EXT                                                       0x8830
+#define GL_DRAW_BUFFER11_NV                                                        0x8830
+#define GL_DRAW_BUFFER12                                                           0x8831
+#define GL_DRAW_BUFFER12_ARB                                                       0x8831
+#define GL_DRAW_BUFFER12_ATI                                                       0x8831
+#define GL_DRAW_BUFFER12_EXT                                                       0x8831
+#define GL_DRAW_BUFFER12_NV                                                        0x8831
+#define GL_DRAW_BUFFER13                                                           0x8832
+#define GL_DRAW_BUFFER13_ARB                                                       0x8832
+#define GL_DRAW_BUFFER13_ATI                                                       0x8832
+#define GL_DRAW_BUFFER13_EXT                                                       0x8832
+#define GL_DRAW_BUFFER13_NV                                                        0x8832
+#define GL_DRAW_BUFFER14                                                           0x8833
+#define GL_DRAW_BUFFER14_ARB                                                       0x8833
+#define GL_DRAW_BUFFER14_ATI                                                       0x8833
+#define GL_DRAW_BUFFER14_EXT                                                       0x8833
+#define GL_DRAW_BUFFER14_NV                                                        0x8833
+#define GL_DRAW_BUFFER15                                                           0x8834
+#define GL_DRAW_BUFFER15_ARB                                                       0x8834
+#define GL_DRAW_BUFFER15_ATI                                                       0x8834
+#define GL_DRAW_BUFFER15_EXT                                                       0x8834
+#define GL_DRAW_BUFFER15_NV                                                        0x8834
+#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI                                         0x8835
+#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI                                      0x8837
+#define GL_BLEND_EQUATION_ALPHA                                                    0x883D
+#define GL_BLEND_EQUATION_ALPHA_EXT                                                0x883D
+#define GL_BLEND_EQUATION_ALPHA_OES                                                0x883D
+#define GL_SUBSAMPLE_DISTANCE_AMD                                                  0x883F
+#define GL_MATRIX_PALETTE_ARB                                                      0x8840
+#define GL_MATRIX_PALETTE_OES                                                      0x8840
+#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB                                      0x8841
+#define GL_MAX_PALETTE_MATRICES_ARB                                                0x8842
+#define GL_MAX_PALETTE_MATRICES_OES                                                0x8842
+#define GL_CURRENT_PALETTE_MATRIX_ARB                                              0x8843
+#define GL_CURRENT_PALETTE_MATRIX_OES                                              0x8843
+#define GL_MATRIX_INDEX_ARRAY_ARB                                                  0x8844
+#define GL_MATRIX_INDEX_ARRAY_OES                                                  0x8844
+#define GL_CURRENT_MATRIX_INDEX_ARB                                                0x8845
+#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB                                             0x8846
+#define GL_MATRIX_INDEX_ARRAY_SIZE_OES                                             0x8846
+#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB                                             0x8847
+#define GL_MATRIX_INDEX_ARRAY_TYPE_OES                                             0x8847
+#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB                                           0x8848
+#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES                                           0x8848
+#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB                                          0x8849
+#define GL_MATRIX_INDEX_ARRAY_POINTER_OES                                          0x8849
+#define GL_TEXTURE_DEPTH_SIZE                                                      0x884A
+#define GL_TEXTURE_DEPTH_SIZE_ARB                                                  0x884A
+#define GL_DEPTH_TEXTURE_MODE                                                      0x884B
+#define GL_DEPTH_TEXTURE_MODE_ARB                                                  0x884B
+#define GL_TEXTURE_COMPARE_MODE                                                    0x884C
+#define GL_TEXTURE_COMPARE_MODE_ARB                                                0x884C
+#define GL_TEXTURE_COMPARE_MODE_EXT                                                0x884C
+#define GL_TEXTURE_COMPARE_FUNC                                                    0x884D
+#define GL_TEXTURE_COMPARE_FUNC_ARB                                                0x884D
+#define GL_TEXTURE_COMPARE_FUNC_EXT                                                0x884D
+#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT                                        0x884E
+#define GL_COMPARE_REF_TO_TEXTURE                                                  0x884E
+#define GL_COMPARE_REF_TO_TEXTURE_EXT                                              0x884E
+#define GL_COMPARE_R_TO_TEXTURE                                                    0x884E
+#define GL_COMPARE_R_TO_TEXTURE_ARB                                                0x884E
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS                                               0x884F
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV                                         0x8850
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV                                   0x8851
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV                                  0x8852
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV                            0x8853
+#define GL_OFFSET_HILO_TEXTURE_2D_NV                                               0x8854
+#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV                                        0x8855
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV                                    0x8856
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV                             0x8857
+#define GL_DEPENDENT_HILO_TEXTURE_2D_NV                                            0x8858
+#define GL_DEPENDENT_RGB_TEXTURE_3D_NV                                             0x8859
+#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV                                       0x885A
+#define GL_DOT_PRODUCT_PASS_THROUGH_NV                                             0x885B
+#define GL_DOT_PRODUCT_TEXTURE_1D_NV                                               0x885C
+#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV                                     0x885D
+#define GL_HILO8_NV                                                                0x885E
+#define GL_SIGNED_HILO8_NV                                                         0x885F
+#define GL_FORCE_BLUE_TO_ONE_NV                                                    0x8860
+#define GL_POINT_SPRITE                                                            0x8861
+#define GL_POINT_SPRITE_ARB                                                        0x8861
+#define GL_POINT_SPRITE_NV                                                         0x8861
+#define GL_POINT_SPRITE_OES                                                        0x8861
+#define GL_COORD_REPLACE                                                           0x8862
+#define GL_COORD_REPLACE_ARB                                                       0x8862
+#define GL_COORD_REPLACE_NV                                                        0x8862
+#define GL_COORD_REPLACE_OES                                                       0x8862
+#define GL_POINT_SPRITE_R_MODE_NV                                                  0x8863
+#define GL_PIXEL_COUNTER_BITS_NV                                                   0x8864
+#define GL_QUERY_COUNTER_BITS                                                      0x8864
+#define GL_QUERY_COUNTER_BITS_ARB                                                  0x8864
+#define GL_QUERY_COUNTER_BITS_EXT                                                  0x8864
+#define GL_CURRENT_OCCLUSION_QUERY_ID_NV                                           0x8865
+#define GL_CURRENT_QUERY                                                           0x8865
+#define GL_CURRENT_QUERY_ARB                                                       0x8865
+#define GL_CURRENT_QUERY_EXT                                                       0x8865
+#define GL_PIXEL_COUNT_NV                                                          0x8866
+#define GL_QUERY_RESULT                                                            0x8866
+#define GL_QUERY_RESULT_ARB                                                        0x8866
+#define GL_QUERY_RESULT_EXT                                                        0x8866
+#define GL_PIXEL_COUNT_AVAILABLE_NV                                                0x8867
+#define GL_QUERY_RESULT_AVAILABLE                                                  0x8867
+#define GL_QUERY_RESULT_AVAILABLE_ARB                                              0x8867
+#define GL_QUERY_RESULT_AVAILABLE_EXT                                              0x8867
+#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV                                0x8868
+#define GL_MAX_VERTEX_ATTRIBS                                                      0x8869
+#define GL_MAX_VERTEX_ATTRIBS_ARB                                                  0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED                                          0x886A
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB                                      0x886A
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS                                       0x886C
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT                                   0x886C
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES                                   0x886C
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS                                    0x886D
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT                                0x886D
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES                                0x886D
+#define GL_DEPTH_STENCIL_TO_RGBA_NV                                                0x886E
+#define GL_DEPTH_STENCIL_TO_BGRA_NV                                                0x886F
+#define GL_FRAGMENT_PROGRAM_NV                                                     0x8870
+#define GL_MAX_TEXTURE_COORDS                                                      0x8871
+#define GL_MAX_TEXTURE_COORDS_ARB                                                  0x8871
+#define GL_MAX_TEXTURE_COORDS_NV                                                   0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS                                                 0x8872
+#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB                                             0x8872
+#define GL_MAX_TEXTURE_IMAGE_UNITS_NV                                              0x8872
+#define GL_FRAGMENT_PROGRAM_BINDING_NV                                             0x8873
+#define GL_PROGRAM_ERROR_STRING_ARB                                                0x8874
+#define GL_PROGRAM_ERROR_STRING_NV                                                 0x8874
+#define GL_PROGRAM_FORMAT_ASCII_ARB                                                0x8875
+#define GL_PROGRAM_FORMAT_ARB                                                      0x8876
+#define GL_WRITE_PIXEL_DATA_RANGE_NV                                               0x8878
+#define GL_READ_PIXEL_DATA_RANGE_NV                                                0x8879
+#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV                                        0x887A
+#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV                                         0x887B
+#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV                                       0x887C
+#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV                                        0x887D
+#define GL_GEOMETRY_SHADER_INVOCATIONS                                             0x887F
+#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT                                         0x887F
+#define GL_GEOMETRY_SHADER_INVOCATIONS_OES                                         0x887F
+#define GL_FLOAT_R_NV                                                              0x8880
+#define GL_FLOAT_RG_NV                                                             0x8881
+#define GL_FLOAT_RGB_NV                                                            0x8882
+#define GL_FLOAT_RGBA_NV                                                           0x8883
+#define GL_FLOAT_R16_NV                                                            0x8884
+#define GL_FLOAT_R32_NV                                                            0x8885
+#define GL_FLOAT_RG16_NV                                                           0x8886
+#define GL_FLOAT_RG32_NV                                                           0x8887
+#define GL_FLOAT_RGB16_NV                                                          0x8888
+#define GL_FLOAT_RGB32_NV                                                          0x8889
+#define GL_FLOAT_RGBA16_NV                                                         0x888A
+#define GL_FLOAT_RGBA32_NV                                                         0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV                                             0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV                                              0x888D
+#define GL_FLOAT_RGBA_MODE_NV                                                      0x888E
+#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV                                          0x888F
+#define GL_DEPTH_BOUNDS_TEST_EXT                                                   0x8890
+#define GL_DEPTH_BOUNDS_EXT                                                        0x8891
+#define GL_ARRAY_BUFFER                                                            0x8892
+#define GL_ARRAY_BUFFER_ARB                                                        0x8892
+#define GL_ELEMENT_ARRAY_BUFFER                                                    0x8893
+#define GL_ELEMENT_ARRAY_BUFFER_ARB                                                0x8893
+#define GL_ARRAY_BUFFER_BINDING                                                    0x8894
+#define GL_ARRAY_BUFFER_BINDING_ARB                                                0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING                                            0x8895
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB                                        0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING                                             0x8896
+#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB                                         0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING                                             0x8897
+#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB                                         0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING                                              0x8898
+#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB                                          0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING                                              0x8899
+#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB                                          0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING                                      0x889A
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB                                  0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING                                          0x889B
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB                                      0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING                                    0x889C
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB                                0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING                                     0x889D
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB                                 0x889D
+#define GL_FOG_COORD_ARRAY_BUFFER_BINDING                                          0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING                                             0x889E
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB                                         0x889E
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES                                         0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING                                      0x889F
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB                                  0x889F
+#define GL_PROGRAM_INSTRUCTIONS_ARB                                                0x88A0
+#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB                                            0x88A1
+#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB                                         0x88A2
+#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB                                     0x88A3
+#define GL_PROGRAM_TEMPORARIES_ARB                                                 0x88A4
+#define GL_MAX_PROGRAM_TEMPORARIES_ARB                                             0x88A5
+#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB                                          0x88A6
+#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB                                      0x88A7
+#define GL_PROGRAM_PARAMETERS_ARB                                                  0x88A8
+#define GL_MAX_PROGRAM_PARAMETERS_ARB                                              0x88A9
+#define GL_PROGRAM_NATIVE_PARAMETERS_ARB                                           0x88AA
+#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB                                       0x88AB
+#define GL_PROGRAM_ATTRIBS_ARB                                                     0x88AC
+#define GL_MAX_PROGRAM_ATTRIBS_ARB                                                 0x88AD
+#define GL_PROGRAM_NATIVE_ATTRIBS_ARB                                              0x88AE
+#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB                                          0x88AF
+#define GL_PROGRAM_ADDRESS_REGISTERS_ARB                                           0x88B0
+#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB                                       0x88B1
+#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB                                    0x88B2
+#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB                                0x88B3
+#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB                                        0x88B4
+#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB                                          0x88B5
+#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB                                         0x88B6
+#define GL_TRANSPOSE_CURRENT_MATRIX_ARB                                            0x88B7
+#define GL_READ_ONLY                                                               0x88B8
+#define GL_READ_ONLY_ARB                                                           0x88B8
+#define GL_WRITE_ONLY                                                              0x88B9
+#define GL_WRITE_ONLY_ARB                                                          0x88B9
+#define GL_WRITE_ONLY_OES                                                          0x88B9
+#define GL_READ_WRITE                                                              0x88BA
+#define GL_READ_WRITE_ARB                                                          0x88BA
+#define GL_BUFFER_ACCESS                                                           0x88BB
+#define GL_BUFFER_ACCESS_ARB                                                       0x88BB
+#define GL_BUFFER_ACCESS_OES                                                       0x88BB
+#define GL_BUFFER_MAPPED                                                           0x88BC
+#define GL_BUFFER_MAPPED_ARB                                                       0x88BC
+#define GL_BUFFER_MAPPED_OES                                                       0x88BC
+#define GL_BUFFER_MAP_POINTER                                                      0x88BD
+#define GL_BUFFER_MAP_POINTER_ARB                                                  0x88BD
+#define GL_BUFFER_MAP_POINTER_OES                                                  0x88BD
+#define GL_WRITE_DISCARD_NV                                                        0x88BE
+#define GL_TIME_ELAPSED                                                            0x88BF
+#define GL_TIME_ELAPSED_EXT                                                        0x88BF
+#define GL_MATRIX0_ARB                                                             0x88C0
+#define GL_MATRIX1_ARB                                                             0x88C1
+#define GL_MATRIX2_ARB                                                             0x88C2
+#define GL_MATRIX3_ARB                                                             0x88C3
+#define GL_MATRIX4_ARB                                                             0x88C4
+#define GL_MATRIX5_ARB                                                             0x88C5
+#define GL_MATRIX6_ARB                                                             0x88C6
+#define GL_MATRIX7_ARB                                                             0x88C7
+#define GL_MATRIX8_ARB                                                             0x88C8
+#define GL_MATRIX9_ARB                                                             0x88C9
+#define GL_MATRIX10_ARB                                                            0x88CA
+#define GL_MATRIX11_ARB                                                            0x88CB
+#define GL_MATRIX12_ARB                                                            0x88CC
+#define GL_MATRIX13_ARB                                                            0x88CD
+#define GL_MATRIX14_ARB                                                            0x88CE
+#define GL_MATRIX15_ARB                                                            0x88CF
+#define GL_MATRIX16_ARB                                                            0x88D0
+#define GL_MATRIX17_ARB                                                            0x88D1
+#define GL_MATRIX18_ARB                                                            0x88D2
+#define GL_MATRIX19_ARB                                                            0x88D3
+#define GL_MATRIX20_ARB                                                            0x88D4
+#define GL_MATRIX21_ARB                                                            0x88D5
+#define GL_MATRIX22_ARB                                                            0x88D6
+#define GL_MATRIX23_ARB                                                            0x88D7
+#define GL_MATRIX24_ARB                                                            0x88D8
+#define GL_MATRIX25_ARB                                                            0x88D9
+#define GL_MATRIX26_ARB                                                            0x88DA
+#define GL_MATRIX27_ARB                                                            0x88DB
+#define GL_MATRIX28_ARB                                                            0x88DC
+#define GL_MATRIX29_ARB                                                            0x88DD
+#define GL_MATRIX30_ARB                                                            0x88DE
+#define GL_MATRIX31_ARB                                                            0x88DF
+#define GL_STREAM_DRAW                                                             0x88E0
+#define GL_STREAM_DRAW_ARB                                                         0x88E0
+#define GL_STREAM_READ                                                             0x88E1
+#define GL_STREAM_READ_ARB                                                         0x88E1
+#define GL_STREAM_COPY                                                             0x88E2
+#define GL_STREAM_COPY_ARB                                                         0x88E2
+#define GL_STATIC_DRAW                                                             0x88E4
+#define GL_STATIC_DRAW_ARB                                                         0x88E4
+#define GL_STATIC_READ                                                             0x88E5
+#define GL_STATIC_READ_ARB                                                         0x88E5
+#define GL_STATIC_COPY                                                             0x88E6
+#define GL_STATIC_COPY_ARB                                                         0x88E6
+#define GL_DYNAMIC_DRAW                                                            0x88E8
+#define GL_DYNAMIC_DRAW_ARB                                                        0x88E8
+#define GL_DYNAMIC_READ                                                            0x88E9
+#define GL_DYNAMIC_READ_ARB                                                        0x88E9
+#define GL_DYNAMIC_COPY                                                            0x88EA
+#define GL_DYNAMIC_COPY_ARB                                                        0x88EA
+#define GL_PIXEL_PACK_BUFFER                                                       0x88EB
+#define GL_PIXEL_PACK_BUFFER_ARB                                                   0x88EB
+#define GL_PIXEL_PACK_BUFFER_EXT                                                   0x88EB
+#define GL_PIXEL_UNPACK_BUFFER                                                     0x88EC
+#define GL_PIXEL_UNPACK_BUFFER_ARB                                                 0x88EC
+#define GL_PIXEL_UNPACK_BUFFER_EXT                                                 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING                                               0x88ED
+#define GL_PIXEL_PACK_BUFFER_BINDING_ARB                                           0x88ED
+#define GL_PIXEL_PACK_BUFFER_BINDING_EXT                                           0x88ED
+#define GL_ETC1_SRGB8_NV                                                           0x88EE
+#define GL_PIXEL_UNPACK_BUFFER_BINDING                                             0x88EF
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB                                         0x88EF
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT                                         0x88EF
+#define GL_DEPTH24_STENCIL8                                                        0x88F0
+#define GL_DEPTH24_STENCIL8_EXT                                                    0x88F0
+#define GL_DEPTH24_STENCIL8_OES                                                    0x88F0
+#define GL_TEXTURE_STENCIL_SIZE                                                    0x88F1
+#define GL_TEXTURE_STENCIL_SIZE_EXT                                                0x88F1
+#define GL_STENCIL_TAG_BITS_EXT                                                    0x88F2
+#define GL_STENCIL_CLEAR_TAG_VALUE_EXT                                             0x88F3
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV                                        0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV                                               0x88F5
+#define GL_MAX_PROGRAM_IF_DEPTH_NV                                                 0x88F6
+#define GL_MAX_PROGRAM_LOOP_DEPTH_NV                                               0x88F7
+#define GL_MAX_PROGRAM_LOOP_COUNT_NV                                               0x88F8
+#define GL_SRC1_COLOR                                                              0x88F9
+#define GL_SRC1_COLOR_EXT                                                          0x88F9
+#define GL_ONE_MINUS_SRC1_COLOR                                                    0x88FA
+#define GL_ONE_MINUS_SRC1_COLOR_EXT                                                0x88FA
+#define GL_ONE_MINUS_SRC1_ALPHA                                                    0x88FB
+#define GL_ONE_MINUS_SRC1_ALPHA_EXT                                                0x88FB
+#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS                                            0x88FC
+#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT                                        0x88FC
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER                                             0x88FD
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT                                         0x88FD
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV                                          0x88FD
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR                                             0x88FE
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE                                       0x88FE
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB                                         0x88FE
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT                                         0x88FE
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV                                          0x88FE
+#define GL_MAX_ARRAY_TEXTURE_LAYERS                                                0x88FF
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT                                            0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET                                                0x8904
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT                                            0x8904
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV                                             0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET                                                0x8905
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT                                            0x8905
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV                                             0x8905
+#define GL_PROGRAM_ATTRIB_COMPONENTS_NV                                            0x8906
+#define GL_PROGRAM_RESULT_COMPONENTS_NV                                            0x8907
+#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV                                        0x8908
+#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV                                        0x8909
+#define GL_STENCIL_TEST_TWO_SIDE_EXT                                               0x8910
+#define GL_ACTIVE_STENCIL_FACE_EXT                                                 0x8911
+#define GL_MIRROR_CLAMP_TO_BORDER_EXT                                              0x8912
+#define GL_SAMPLES_PASSED                                                          0x8914
+#define GL_SAMPLES_PASSED_ARB                                                      0x8914
+#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT                                        0x8916
+#define GL_GEOMETRY_LINKED_VERTICES_OUT_OES                                        0x8916
+#define GL_GEOMETRY_VERTICES_OUT                                                   0x8916
+#define GL_GEOMETRY_INPUT_TYPE                                                     0x8917
+#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT                                          0x8917
+#define GL_GEOMETRY_LINKED_INPUT_TYPE_OES                                          0x8917
+#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT                                         0x8918
+#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES                                         0x8918
+#define GL_GEOMETRY_OUTPUT_TYPE                                                    0x8918
+#define GL_SAMPLER_BINDING                                                         0x8919
+#define GL_CLAMP_VERTEX_COLOR                                                      0x891A
+#define GL_CLAMP_VERTEX_COLOR_ARB                                                  0x891A
+#define GL_CLAMP_FRAGMENT_COLOR                                                    0x891B
+#define GL_CLAMP_FRAGMENT_COLOR_ARB                                                0x891B
+#define GL_CLAMP_READ_COLOR                                                        0x891C
+#define GL_CLAMP_READ_COLOR_ARB                                                    0x891C
+#define GL_FIXED_ONLY                                                              0x891D
+#define GL_FIXED_ONLY_ARB                                                          0x891D
+#define GL_TESS_CONTROL_PROGRAM_NV                                                 0x891E
+#define GL_TESS_EVALUATION_PROGRAM_NV                                              0x891F
+#define GL_FRAGMENT_SHADER_ATI                                                     0x8920
+#define GL_REG_0_ATI                                                               0x8921
+#define GL_REG_1_ATI                                                               0x8922
+#define GL_REG_2_ATI                                                               0x8923
+#define GL_REG_3_ATI                                                               0x8924
+#define GL_REG_4_ATI                                                               0x8925
+#define GL_REG_5_ATI                                                               0x8926
+#define GL_REG_6_ATI                                                               0x8927
+#define GL_REG_7_ATI                                                               0x8928
+#define GL_REG_8_ATI                                                               0x8929
+#define GL_REG_9_ATI                                                               0x892A
+#define GL_REG_10_ATI                                                              0x892B
+#define GL_REG_11_ATI                                                              0x892C
+#define GL_REG_12_ATI                                                              0x892D
+#define GL_REG_13_ATI                                                              0x892E
+#define GL_REG_14_ATI                                                              0x892F
+#define GL_REG_15_ATI                                                              0x8930
+#define GL_REG_16_ATI                                                              0x8931
+#define GL_REG_17_ATI                                                              0x8932
+#define GL_REG_18_ATI                                                              0x8933
+#define GL_REG_19_ATI                                                              0x8934
+#define GL_REG_20_ATI                                                              0x8935
+#define GL_REG_21_ATI                                                              0x8936
+#define GL_REG_22_ATI                                                              0x8937
+#define GL_REG_23_ATI                                                              0x8938
+#define GL_REG_24_ATI                                                              0x8939
+#define GL_REG_25_ATI                                                              0x893A
+#define GL_REG_26_ATI                                                              0x893B
+#define GL_REG_27_ATI                                                              0x893C
+#define GL_REG_28_ATI                                                              0x893D
+#define GL_REG_29_ATI                                                              0x893E
+#define GL_REG_30_ATI                                                              0x893F
+#define GL_REG_31_ATI                                                              0x8940
+#define GL_CON_0_ATI                                                               0x8941
+#define GL_CON_1_ATI                                                               0x8942
+#define GL_CON_2_ATI                                                               0x8943
+#define GL_CON_3_ATI                                                               0x8944
+#define GL_CON_4_ATI                                                               0x8945
+#define GL_CON_5_ATI                                                               0x8946
+#define GL_CON_6_ATI                                                               0x8947
+#define GL_CON_7_ATI                                                               0x8948
+#define GL_CON_8_ATI                                                               0x8949
+#define GL_CON_9_ATI                                                               0x894A
+#define GL_CON_10_ATI                                                              0x894B
+#define GL_CON_11_ATI                                                              0x894C
+#define GL_CON_12_ATI                                                              0x894D
+#define GL_CON_13_ATI                                                              0x894E
+#define GL_CON_14_ATI                                                              0x894F
+#define GL_CON_15_ATI                                                              0x8950
+#define GL_CON_16_ATI                                                              0x8951
+#define GL_CON_17_ATI                                                              0x8952
+#define GL_CON_18_ATI                                                              0x8953
+#define GL_CON_19_ATI                                                              0x8954
+#define GL_CON_20_ATI                                                              0x8955
+#define GL_CON_21_ATI                                                              0x8956
+#define GL_CON_22_ATI                                                              0x8957
+#define GL_CON_23_ATI                                                              0x8958
+#define GL_CON_24_ATI                                                              0x8959
+#define GL_CON_25_ATI                                                              0x895A
+#define GL_CON_26_ATI                                                              0x895B
+#define GL_CON_27_ATI                                                              0x895C
+#define GL_CON_28_ATI                                                              0x895D
+#define GL_CON_29_ATI                                                              0x895E
+#define GL_CON_30_ATI                                                              0x895F
+#define GL_CON_31_ATI                                                              0x8960
+#define GL_MOV_ATI                                                                 0x8961
+#define GL_ADD_ATI                                                                 0x8963
+#define GL_MUL_ATI                                                                 0x8964
+#define GL_SUB_ATI                                                                 0x8965
+#define GL_DOT3_ATI                                                                0x8966
+#define GL_DOT4_ATI                                                                0x8967
+#define GL_MAD_ATI                                                                 0x8968
+#define GL_LERP_ATI                                                                0x8969
+#define GL_CND_ATI                                                                 0x896A
+#define GL_CND0_ATI                                                                0x896B
+#define GL_DOT2_ADD_ATI                                                            0x896C
+#define GL_SECONDARY_INTERPOLATOR_ATI                                              0x896D
+#define GL_NUM_FRAGMENT_REGISTERS_ATI                                              0x896E
+#define GL_NUM_FRAGMENT_CONSTANTS_ATI                                              0x896F
+#define GL_NUM_PASSES_ATI                                                          0x8970
+#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI                                           0x8971
+#define GL_NUM_INSTRUCTIONS_TOTAL_ATI                                              0x8972
+#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI                                   0x8973
+#define GL_NUM_LOOPBACK_COMPONENTS_ATI                                             0x8974
+#define GL_COLOR_ALPHA_PAIRING_ATI                                                 0x8975
+#define GL_SWIZZLE_STR_ATI                                                         0x8976
+#define GL_SWIZZLE_STQ_ATI                                                         0x8977
+#define GL_SWIZZLE_STR_DR_ATI                                                      0x8978
+#define GL_SWIZZLE_STQ_DQ_ATI                                                      0x8979
+#define GL_SWIZZLE_STRQ_ATI                                                        0x897A
+#define GL_SWIZZLE_STRQ_DQ_ATI                                                     0x897B
+#define GL_INTERLACE_OML                                                           0x8980
+#define GL_INTERLACE_READ_OML                                                      0x8981
+#define GL_FORMAT_SUBSAMPLE_24_24_OML                                              0x8982
+#define GL_FORMAT_SUBSAMPLE_244_244_OML                                            0x8983
+#define GL_PACK_RESAMPLE_OML                                                       0x8984
+#define GL_UNPACK_RESAMPLE_OML                                                     0x8985
+#define GL_RESAMPLE_REPLICATE_OML                                                  0x8986
+#define GL_RESAMPLE_ZERO_FILL_OML                                                  0x8987
+#define GL_RESAMPLE_AVERAGE_OML                                                    0x8988
+#define GL_RESAMPLE_DECIMATE_OML                                                   0x8989
+#define GL_POINT_SIZE_ARRAY_TYPE_OES                                               0x898A
+#define GL_POINT_SIZE_ARRAY_STRIDE_OES                                             0x898B
+#define GL_POINT_SIZE_ARRAY_POINTER_OES                                            0x898C
+#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES                                  0x898D
+#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES                                 0x898E
+#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES                                    0x898F
+#define GL_VERTEX_ATTRIB_MAP1_APPLE                                                0x8A00
+#define GL_VERTEX_ATTRIB_MAP2_APPLE                                                0x8A01
+#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE                                           0x8A02
+#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE                                          0x8A03
+#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE                                          0x8A04
+#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE                                         0x8A05
+#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE                                           0x8A06
+#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE                                          0x8A07
+#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE                                          0x8A08
+#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE                                         0x8A09
+#define GL_DRAW_PIXELS_APPLE                                                       0x8A0A
+#define GL_FENCE_APPLE                                                             0x8A0B
+#define GL_ELEMENT_ARRAY_APPLE                                                     0x8A0C
+#define GL_ELEMENT_ARRAY_TYPE_APPLE                                                0x8A0D
+#define GL_ELEMENT_ARRAY_POINTER_APPLE                                             0x8A0E
+#define GL_COLOR_FLOAT_APPLE                                                       0x8A0F
+#define GL_UNIFORM_BUFFER                                                          0x8A11
+#define GL_BUFFER_SERIALIZED_MODIFY_APPLE                                          0x8A12
+#define GL_BUFFER_FLUSHING_UNMAP_APPLE                                             0x8A13
+#define GL_AUX_DEPTH_STENCIL_APPLE                                                 0x8A14
+#define GL_PACK_ROW_BYTES_APPLE                                                    0x8A15
+#define GL_UNPACK_ROW_BYTES_APPLE                                                  0x8A16
+#define GL_RELEASED_APPLE                                                          0x8A19
+#define GL_VOLATILE_APPLE                                                          0x8A1A
+#define GL_RETAINED_APPLE                                                          0x8A1B
+#define GL_UNDEFINED_APPLE                                                         0x8A1C
+#define GL_PURGEABLE_APPLE                                                         0x8A1D
+#define GL_RGB_422_APPLE                                                           0x8A1F
+#define GL_UNIFORM_BUFFER_BINDING                                                  0x8A28
+#define GL_UNIFORM_BUFFER_START                                                    0x8A29
+#define GL_UNIFORM_BUFFER_SIZE                                                     0x8A2A
+#define GL_MAX_VERTEX_UNIFORM_BLOCKS                                               0x8A2B
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS                                             0x8A2C
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT                                         0x8A2C
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES                                         0x8A2C
+#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS                                             0x8A2D
+#define GL_MAX_COMBINED_UNIFORM_BLOCKS                                             0x8A2E
+#define GL_MAX_UNIFORM_BUFFER_BINDINGS                                             0x8A2F
+#define GL_MAX_UNIFORM_BLOCK_SIZE                                                  0x8A30
+#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS                                  0x8A31
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS                                0x8A32
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT                            0x8A32
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES                            0x8A32
+#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS                                0x8A33
+#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT                                         0x8A34
+#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH                                    0x8A35
+#define GL_ACTIVE_UNIFORM_BLOCKS                                                   0x8A36
+#define GL_UNIFORM_TYPE                                                            0x8A37
+#define GL_UNIFORM_SIZE                                                            0x8A38
+#define GL_UNIFORM_NAME_LENGTH                                                     0x8A39
+#define GL_UNIFORM_BLOCK_INDEX                                                     0x8A3A
+#define GL_UNIFORM_OFFSET                                                          0x8A3B
+#define GL_UNIFORM_ARRAY_STRIDE                                                    0x8A3C
+#define GL_UNIFORM_MATRIX_STRIDE                                                   0x8A3D
+#define GL_UNIFORM_IS_ROW_MAJOR                                                    0x8A3E
+#define GL_UNIFORM_BLOCK_BINDING                                                   0x8A3F
+#define GL_UNIFORM_BLOCK_DATA_SIZE                                                 0x8A40
+#define GL_UNIFORM_BLOCK_NAME_LENGTH                                               0x8A41
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS                                           0x8A42
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES                                    0x8A43
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER                               0x8A44
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER                             0x8A45
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER                             0x8A46
+#define GL_TEXTURE_SRGB_DECODE_EXT                                                 0x8A48
+#define GL_DECODE_EXT                                                              0x8A49
+#define GL_SKIP_DECODE_EXT                                                         0x8A4A
+#define GL_PROGRAM_PIPELINE_OBJECT_EXT                                             0x8A4F
+#define GL_RGB_RAW_422_APPLE                                                       0x8A51
+#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT                                    0x8A52
+#define GL_SYNC_OBJECT_APPLE                                                       0x8A53
+#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT                                        0x8A54
+#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT                                        0x8A55
+#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT                                  0x8A56
+#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT                                  0x8A57
+#define GL_FRAGMENT_SHADER                                                         0x8B30
+#define GL_FRAGMENT_SHADER_ARB                                                     0x8B30
+#define GL_VERTEX_SHADER                                                           0x8B31
+#define GL_VERTEX_SHADER_ARB                                                       0x8B31
+#define GL_PROGRAM_OBJECT_ARB                                                      0x8B40
+#define GL_PROGRAM_OBJECT_EXT                                                      0x8B40
+#define GL_SHADER_OBJECT_ARB                                                       0x8B48
+#define GL_SHADER_OBJECT_EXT                                                       0x8B48
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS                                         0x8B49
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB                                     0x8B49
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS                                           0x8B4A
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB                                       0x8B4A
+#define GL_MAX_VARYING_COMPONENTS                                                  0x8B4B
+#define GL_MAX_VARYING_COMPONENTS_EXT                                              0x8B4B
+#define GL_MAX_VARYING_FLOATS                                                      0x8B4B
+#define GL_MAX_VARYING_FLOATS_ARB                                                  0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS                                          0x8B4C
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB                                      0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS                                        0x8B4D
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB                                    0x8B4D
+#define GL_OBJECT_TYPE_ARB                                                         0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB                                                      0x8B4F
+#define GL_SHADER_TYPE                                                             0x8B4F
+#define GL_FLOAT_VEC2                                                              0x8B50
+#define GL_FLOAT_VEC2_ARB                                                          0x8B50
+#define GL_FLOAT_VEC3                                                              0x8B51
+#define GL_FLOAT_VEC3_ARB                                                          0x8B51
+#define GL_FLOAT_VEC4                                                              0x8B52
+#define GL_FLOAT_VEC4_ARB                                                          0x8B52
+#define GL_INT_VEC2                                                                0x8B53
+#define GL_INT_VEC2_ARB                                                            0x8B53
+#define GL_INT_VEC3                                                                0x8B54
+#define GL_INT_VEC3_ARB                                                            0x8B54
+#define GL_INT_VEC4                                                                0x8B55
+#define GL_INT_VEC4_ARB                                                            0x8B55
+#define GL_BOOL                                                                    0x8B56
+#define GL_BOOL_ARB                                                                0x8B56
+#define GL_BOOL_VEC2                                                               0x8B57
+#define GL_BOOL_VEC2_ARB                                                           0x8B57
+#define GL_BOOL_VEC3                                                               0x8B58
+#define GL_BOOL_VEC3_ARB                                                           0x8B58
+#define GL_BOOL_VEC4                                                               0x8B59
+#define GL_BOOL_VEC4_ARB                                                           0x8B59
+#define GL_FLOAT_MAT2                                                              0x8B5A
+#define GL_FLOAT_MAT2_ARB                                                          0x8B5A
+#define GL_FLOAT_MAT3                                                              0x8B5B
+#define GL_FLOAT_MAT3_ARB                                                          0x8B5B
+#define GL_FLOAT_MAT4                                                              0x8B5C
+#define GL_FLOAT_MAT4_ARB                                                          0x8B5C
+#define GL_SAMPLER_1D                                                              0x8B5D
+#define GL_SAMPLER_1D_ARB                                                          0x8B5D
+#define GL_SAMPLER_2D                                                              0x8B5E
+#define GL_SAMPLER_2D_ARB                                                          0x8B5E
+#define GL_SAMPLER_3D                                                              0x8B5F
+#define GL_SAMPLER_3D_ARB                                                          0x8B5F
+#define GL_SAMPLER_3D_OES                                                          0x8B5F
+#define GL_SAMPLER_CUBE                                                            0x8B60
+#define GL_SAMPLER_CUBE_ARB                                                        0x8B60
+#define GL_SAMPLER_1D_SHADOW                                                       0x8B61
+#define GL_SAMPLER_1D_SHADOW_ARB                                                   0x8B61
+#define GL_SAMPLER_2D_SHADOW                                                       0x8B62
+#define GL_SAMPLER_2D_SHADOW_ARB                                                   0x8B62
+#define GL_SAMPLER_2D_SHADOW_EXT                                                   0x8B62
+#define GL_SAMPLER_2D_RECT                                                         0x8B63
+#define GL_SAMPLER_2D_RECT_ARB                                                     0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW                                                  0x8B64
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB                                              0x8B64
+#define GL_FLOAT_MAT2x3                                                            0x8B65
+#define GL_FLOAT_MAT2x3_NV                                                         0x8B65
+#define GL_FLOAT_MAT2x4                                                            0x8B66
+#define GL_FLOAT_MAT2x4_NV                                                         0x8B66
+#define GL_FLOAT_MAT3x2                                                            0x8B67
+#define GL_FLOAT_MAT3x2_NV                                                         0x8B67
+#define GL_FLOAT_MAT3x4                                                            0x8B68
+#define GL_FLOAT_MAT3x4_NV                                                         0x8B68
+#define GL_FLOAT_MAT4x2                                                            0x8B69
+#define GL_FLOAT_MAT4x2_NV                                                         0x8B69
+#define GL_FLOAT_MAT4x3                                                            0x8B6A
+#define GL_FLOAT_MAT4x3_NV                                                         0x8B6A
+#define GL_DELETE_STATUS                                                           0x8B80
+#define GL_OBJECT_DELETE_STATUS_ARB                                                0x8B80
+#define GL_COMPILE_STATUS                                                          0x8B81
+#define GL_OBJECT_COMPILE_STATUS_ARB                                               0x8B81
+#define GL_LINK_STATUS                                                             0x8B82
+#define GL_OBJECT_LINK_STATUS_ARB                                                  0x8B82
+#define GL_OBJECT_VALIDATE_STATUS_ARB                                              0x8B83
+#define GL_VALIDATE_STATUS                                                         0x8B83
+#define GL_INFO_LOG_LENGTH                                                         0x8B84
+#define GL_OBJECT_INFO_LOG_LENGTH_ARB                                              0x8B84
+#define GL_ATTACHED_SHADERS                                                        0x8B85
+#define GL_OBJECT_ATTACHED_OBJECTS_ARB                                             0x8B85
+#define GL_ACTIVE_UNIFORMS                                                         0x8B86
+#define GL_OBJECT_ACTIVE_UNIFORMS_ARB                                              0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH                                               0x8B87
+#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB                                    0x8B87
+#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB                                         0x8B88
+#define GL_SHADER_SOURCE_LENGTH                                                    0x8B88
+#define GL_ACTIVE_ATTRIBUTES                                                       0x8B89
+#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB                                            0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH                                             0x8B8A
+#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB                                  0x8B8A
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT                                         0x8B8B
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB                                     0x8B8B
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                                     0x8B8B
+#define GL_SHADING_LANGUAGE_VERSION                                                0x8B8C
+#define GL_SHADING_LANGUAGE_VERSION_ARB                                            0x8B8C
+#define GL_ACTIVE_PROGRAM_EXT                                                      0x8B8D
+#define GL_CURRENT_PROGRAM                                                         0x8B8D
+#define GL_PALETTE4_RGB8_OES                                                       0x8B90
+#define GL_PALETTE4_RGBA8_OES                                                      0x8B91
+#define GL_PALETTE4_R5_G6_B5_OES                                                   0x8B92
+#define GL_PALETTE4_RGBA4_OES                                                      0x8B93
+#define GL_PALETTE4_RGB5_A1_OES                                                    0x8B94
+#define GL_PALETTE8_RGB8_OES                                                       0x8B95
+#define GL_PALETTE8_RGBA8_OES                                                      0x8B96
+#define GL_PALETTE8_R5_G6_B5_OES                                                   0x8B97
+#define GL_PALETTE8_RGBA4_OES                                                      0x8B98
+#define GL_PALETTE8_RGB5_A1_OES                                                    0x8B99
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE                                          0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES                                      0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT                                        0x8B9B
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES                                    0x8B9B
+#define GL_POINT_SIZE_ARRAY_OES                                                    0x8B9C
+#define GL_TEXTURE_CROP_RECT_OES                                                   0x8B9D
+#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES                                   0x8B9E
+#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES                                     0x8B9F
+#define GL_FRAGMENT_PROGRAM_POSITION_MESA                                          0x8BB0
+#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA                                          0x8BB1
+#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA                                     0x8BB2
+#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA                                     0x8BB3
+#define GL_VERTEX_PROGRAM_POSITION_MESA                                            0x8BB4
+#define GL_VERTEX_PROGRAM_CALLBACK_MESA                                            0x8BB5
+#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA                                       0x8BB6
+#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA                                       0x8BB7
+#define GL_COUNTER_TYPE_AMD                                                        0x8BC0
+#define GL_COUNTER_RANGE_AMD                                                       0x8BC1
+#define GL_UNSIGNED_INT64_AMD                                                      0x8BC2
+#define GL_PERCENTAGE_AMD                                                          0x8BC3
+#define GL_PERFMON_RESULT_AVAILABLE_AMD                                            0x8BC4
+#define GL_PERFMON_RESULT_SIZE_AMD                                                 0x8BC5
+#define GL_PERFMON_RESULT_AMD                                                      0x8BC6
+#define GL_TEXTURE_WIDTH_QCOM                                                      0x8BD2
+#define GL_TEXTURE_HEIGHT_QCOM                                                     0x8BD3
+#define GL_TEXTURE_DEPTH_QCOM                                                      0x8BD4
+#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                                            0x8BD5
+#define GL_TEXTURE_FORMAT_QCOM                                                     0x8BD6
+#define GL_TEXTURE_TYPE_QCOM                                                       0x8BD7
+#define GL_TEXTURE_IMAGE_VALID_QCOM                                                0x8BD8
+#define GL_TEXTURE_NUM_LEVELS_QCOM                                                 0x8BD9
+#define GL_TEXTURE_TARGET_QCOM                                                     0x8BDA
+#define GL_TEXTURE_OBJECT_VALID_QCOM                                               0x8BDB
+#define GL_STATE_RESTORE                                                           0x8BDC
+#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT                                             0x8BE7
+#define GL_TEXTURE_PROTECTED_EXT                                                   0x8BFA
+#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                                         0x8C00
+#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                                         0x8C01
+#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                                        0x8C02
+#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                                        0x8C03
+#define GL_MODULATE_COLOR_IMG                                                      0x8C04
+#define GL_RECIP_ADD_SIGNED_ALPHA_IMG                                              0x8C05
+#define GL_TEXTURE_ALPHA_MODULATE_IMG                                              0x8C06
+#define GL_FACTOR_ALPHA_MODULATE_IMG                                               0x8C07
+#define GL_FRAGMENT_ALPHA_MODULATE_IMG                                             0x8C08
+#define GL_ADD_BLEND_IMG                                                           0x8C09
+#define GL_SGX_BINARY_IMG                                                          0x8C0A
+#define GL_TEXTURE_RED_TYPE                                                        0x8C10
+#define GL_TEXTURE_RED_TYPE_ARB                                                    0x8C10
+#define GL_TEXTURE_GREEN_TYPE                                                      0x8C11
+#define GL_TEXTURE_GREEN_TYPE_ARB                                                  0x8C11
+#define GL_TEXTURE_BLUE_TYPE                                                       0x8C12
+#define GL_TEXTURE_BLUE_TYPE_ARB                                                   0x8C12
+#define GL_TEXTURE_ALPHA_TYPE                                                      0x8C13
+#define GL_TEXTURE_ALPHA_TYPE_ARB                                                  0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE                                                  0x8C14
+#define GL_TEXTURE_LUMINANCE_TYPE_ARB                                              0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE                                                  0x8C15
+#define GL_TEXTURE_INTENSITY_TYPE_ARB                                              0x8C15
+#define GL_TEXTURE_DEPTH_TYPE                                                      0x8C16
+#define GL_TEXTURE_DEPTH_TYPE_ARB                                                  0x8C16
+#define GL_UNSIGNED_NORMALIZED                                                     0x8C17
+#define GL_UNSIGNED_NORMALIZED_ARB                                                 0x8C17
+#define GL_UNSIGNED_NORMALIZED_EXT                                                 0x8C17
+#define GL_TEXTURE_1D_ARRAY                                                        0x8C18
+#define GL_TEXTURE_1D_ARRAY_EXT                                                    0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY                                                  0x8C19
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT                                              0x8C19
+#define GL_TEXTURE_2D_ARRAY                                                        0x8C1A
+#define GL_TEXTURE_2D_ARRAY_EXT                                                    0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY                                                  0x8C1B
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT                                              0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY                                                0x8C1C
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT                                            0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY                                                0x8C1D
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT                                            0x8C1D
+#define GL_GEOMETRY_PROGRAM_NV                                                     0x8C26
+#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV                                          0x8C27
+#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV                                  0x8C28
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS                                        0x8C29
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB                                    0x8C29
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT                                    0x8C29
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES                                    0x8C29
+#define GL_TEXTURE_BUFFER                                                          0x8C2A
+#define GL_TEXTURE_BUFFER_ARB                                                      0x8C2A
+#define GL_TEXTURE_BUFFER_BINDING                                                  0x8C2A
+#define GL_TEXTURE_BUFFER_BINDING_EXT                                              0x8C2A
+#define GL_TEXTURE_BUFFER_BINDING_OES                                              0x8C2A
+#define GL_TEXTURE_BUFFER_EXT                                                      0x8C2A
+#define GL_TEXTURE_BUFFER_OES                                                      0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE                                                 0x8C2B
+#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB                                             0x8C2B
+#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT                                             0x8C2B
+#define GL_MAX_TEXTURE_BUFFER_SIZE_OES                                             0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER                                                  0x8C2C
+#define GL_TEXTURE_BINDING_BUFFER_ARB                                              0x8C2C
+#define GL_TEXTURE_BINDING_BUFFER_EXT                                              0x8C2C
+#define GL_TEXTURE_BINDING_BUFFER_OES                                              0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING                                       0x8C2D
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB                                   0x8C2D
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT                                   0x8C2D
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES                                   0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_ARB                                               0x8C2E
+#define GL_TEXTURE_BUFFER_FORMAT_EXT                                               0x8C2E
+#define GL_ANY_SAMPLES_PASSED                                                      0x8C2F
+#define GL_ANY_SAMPLES_PASSED_EXT                                                  0x8C2F
+#define GL_SAMPLE_SHADING                                                          0x8C36
+#define GL_SAMPLE_SHADING_ARB                                                      0x8C36
+#define GL_SAMPLE_SHADING_OES                                                      0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE                                                0x8C37
+#define GL_MIN_SAMPLE_SHADING_VALUE_ARB                                            0x8C37
+#define GL_MIN_SAMPLE_SHADING_VALUE_OES                                            0x8C37
+#define GL_R11F_G11F_B10F                                                          0x8C3A
+#define GL_R11F_G11F_B10F_APPLE                                                    0x8C3A
+#define GL_R11F_G11F_B10F_EXT                                                      0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV                                            0x8C3B
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE                                      0x8C3B
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT                                        0x8C3B
+#define GL_RGBA_SIGNED_COMPONENTS_EXT                                              0x8C3C
+#define GL_RGB9_E5                                                                 0x8C3D
+#define GL_RGB9_E5_APPLE                                                           0x8C3D
+#define GL_RGB9_E5_EXT                                                             0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV                                                0x8C3E
+#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE                                          0x8C3E
+#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT                                            0x8C3E
+#define GL_TEXTURE_SHARED_SIZE                                                     0x8C3F
+#define GL_TEXTURE_SHARED_SIZE_EXT                                                 0x8C3F
+#define GL_SRGB                                                                    0x8C40
+#define GL_SRGB_EXT                                                                0x8C40
+#define GL_SRGB8                                                                   0x8C41
+#define GL_SRGB8_EXT                                                               0x8C41
+#define GL_SRGB8_NV                                                                0x8C41
+#define GL_SRGB_ALPHA                                                              0x8C42
+#define GL_SRGB_ALPHA_EXT                                                          0x8C42
+#define GL_SRGB8_ALPHA8                                                            0x8C43
+#define GL_SRGB8_ALPHA8_EXT                                                        0x8C43
+#define GL_SLUMINANCE_ALPHA                                                        0x8C44
+#define GL_SLUMINANCE_ALPHA_EXT                                                    0x8C44
+#define GL_SLUMINANCE_ALPHA_NV                                                     0x8C44
+#define GL_SLUMINANCE8_ALPHA8                                                      0x8C45
+#define GL_SLUMINANCE8_ALPHA8_EXT                                                  0x8C45
+#define GL_SLUMINANCE8_ALPHA8_NV                                                   0x8C45
+#define GL_SLUMINANCE                                                              0x8C46
+#define GL_SLUMINANCE_EXT                                                          0x8C46
+#define GL_SLUMINANCE_NV                                                           0x8C46
+#define GL_SLUMINANCE8                                                             0x8C47
+#define GL_SLUMINANCE8_EXT                                                         0x8C47
+#define GL_SLUMINANCE8_NV                                                          0x8C47
+#define GL_COMPRESSED_SRGB                                                         0x8C48
+#define GL_COMPRESSED_SRGB_EXT                                                     0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA                                                   0x8C49
+#define GL_COMPRESSED_SRGB_ALPHA_EXT                                               0x8C49
+#define GL_COMPRESSED_SLUMINANCE                                                   0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_EXT                                               0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA                                             0x8C4B
+#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT                                         0x8C4B
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT                                           0x8C4C
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV                                            0x8C4C
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT                                     0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV                                      0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT                                     0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV                                      0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT                                     0x8C4F
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV                                      0x8C4F
+#define GL_COMPRESSED_LUMINANCE_LATC1_EXT                                          0x8C70
+#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT                                   0x8C71
+#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT                                    0x8C72
+#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT                             0x8C73
+#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV                                0x8C74
+#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV                             0x8C75
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH                                   0x8C76
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT                               0x8C76
+#define GL_BACK_PRIMARY_COLOR_NV                                                   0x8C77
+#define GL_BACK_SECONDARY_COLOR_NV                                                 0x8C78
+#define GL_TEXTURE_COORD_NV                                                        0x8C79
+#define GL_CLIP_DISTANCE_NV                                                        0x8C7A
+#define GL_VERTEX_ID_NV                                                            0x8C7B
+#define GL_PRIMITIVE_ID_NV                                                         0x8C7C
+#define GL_GENERIC_ATTRIB_NV                                                       0x8C7D
+#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV                                           0x8C7E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE                                          0x8C7F
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT                                      0x8C7F
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV                                       0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS                              0x8C80
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT                          0x8C80
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV                           0x8C80
+#define GL_ACTIVE_VARYINGS_NV                                                      0x8C81
+#define GL_ACTIVE_VARYING_MAX_LENGTH_NV                                            0x8C82
+#define GL_TRANSFORM_FEEDBACK_VARYINGS                                             0x8C83
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT                                         0x8C83
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV                                          0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START                                         0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT                                     0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV                                      0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                                          0x8C85
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT                                      0x8C85
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV                                       0x8C85
+#define GL_TRANSFORM_FEEDBACK_RECORD_NV                                            0x8C86
+#define GL_PRIMITIVES_GENERATED                                                    0x8C87
+#define GL_PRIMITIVES_GENERATED_EXT                                                0x8C87
+#define GL_PRIMITIVES_GENERATED_NV                                                 0x8C87
+#define GL_PRIMITIVES_GENERATED_OES                                                0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN                                   0x8C88
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT                               0x8C88
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV                                0x8C88
+#define GL_RASTERIZER_DISCARD                                                      0x8C89
+#define GL_RASTERIZER_DISCARD_EXT                                                  0x8C89
+#define GL_RASTERIZER_DISCARD_NV                                                   0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS                           0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT                       0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV                        0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS                                 0x8C8B
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT                             0x8C8B
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV                              0x8C8B
+#define GL_INTERLEAVED_ATTRIBS                                                     0x8C8C
+#define GL_INTERLEAVED_ATTRIBS_EXT                                                 0x8C8C
+#define GL_INTERLEAVED_ATTRIBS_NV                                                  0x8C8C
+#define GL_SEPARATE_ATTRIBS                                                        0x8C8D
+#define GL_SEPARATE_ATTRIBS_EXT                                                    0x8C8D
+#define GL_SEPARATE_ATTRIBS_NV                                                     0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER                                               0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT                                           0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_NV                                            0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING                                       0x8C8F
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT                                   0x8C8F
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV                                    0x8C8F
+#define GL_ATC_RGB_AMD                                                             0x8C92
+#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                                             0x8C93
+#define GL_POINT_SPRITE_COORD_ORIGIN                                               0x8CA0
+#define GL_LOWER_LEFT                                                              0x8CA1
+#define GL_UPPER_LEFT                                                              0x8CA2
+#define GL_STENCIL_BACK_REF                                                        0x8CA3
+#define GL_STENCIL_BACK_VALUE_MASK                                                 0x8CA4
+#define GL_STENCIL_BACK_WRITEMASK                                                  0x8CA5
+#define GL_DRAW_FRAMEBUFFER_BINDING                                                0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE                                          0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE                                          0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT                                            0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING_NV                                             0x8CA6
+#define GL_FRAMEBUFFER_BINDING                                                     0x8CA6
+#define GL_FRAMEBUFFER_BINDING_ANGLE                                               0x8CA6
+#define GL_FRAMEBUFFER_BINDING_EXT                                                 0x8CA6
+#define GL_FRAMEBUFFER_BINDING_OES                                                 0x8CA6
+#define GL_RENDERBUFFER_BINDING                                                    0x8CA7
+#define GL_RENDERBUFFER_BINDING_ANGLE                                              0x8CA7
+#define GL_RENDERBUFFER_BINDING_EXT                                                0x8CA7
+#define GL_RENDERBUFFER_BINDING_OES                                                0x8CA7
+#define GL_READ_FRAMEBUFFER                                                        0x8CA8
+#define GL_READ_FRAMEBUFFER_ANGLE                                                  0x8CA8
+#define GL_READ_FRAMEBUFFER_APPLE                                                  0x8CA8
+#define GL_READ_FRAMEBUFFER_EXT                                                    0x8CA8
+#define GL_READ_FRAMEBUFFER_NV                                                     0x8CA8
+#define GL_DRAW_FRAMEBUFFER                                                        0x8CA9
+#define GL_DRAW_FRAMEBUFFER_ANGLE                                                  0x8CA9
+#define GL_DRAW_FRAMEBUFFER_APPLE                                                  0x8CA9
+#define GL_DRAW_FRAMEBUFFER_EXT                                                    0x8CA9
+#define GL_DRAW_FRAMEBUFFER_NV                                                     0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING                                                0x8CAA
+#define GL_READ_FRAMEBUFFER_BINDING_ANGLE                                          0x8CAA
+#define GL_READ_FRAMEBUFFER_BINDING_APPLE                                          0x8CAA
+#define GL_READ_FRAMEBUFFER_BINDING_EXT                                            0x8CAA
+#define GL_READ_FRAMEBUFFER_BINDING_NV                                             0x8CAA
+#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV                                        0x8CAB
+#define GL_RENDERBUFFER_SAMPLES                                                    0x8CAB
+#define GL_RENDERBUFFER_SAMPLES_ANGLE                                              0x8CAB
+#define GL_RENDERBUFFER_SAMPLES_APPLE                                              0x8CAB
+#define GL_RENDERBUFFER_SAMPLES_EXT                                                0x8CAB
+#define GL_RENDERBUFFER_SAMPLES_NV                                                 0x8CAB
+#define GL_DEPTH_COMPONENT32F                                                      0x8CAC
+#define GL_DEPTH32F_STENCIL8                                                       0x8CAD
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE                                      0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT                                  0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES                                  0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME                                      0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT                                  0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES                                  0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL                                    0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT                                0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES                                0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE                            0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT                        0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES                        0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT                           0x8CD4
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES                           0x8CD4
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER                                    0x8CD4
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT                                0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE                                                    0x8CD5
+#define GL_FRAMEBUFFER_COMPLETE_EXT                                                0x8CD5
+#define GL_FRAMEBUFFER_COMPLETE_OES                                                0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT                                       0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT                                   0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES                                   0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT                               0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT                           0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES                           0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS                                       0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT                                   0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES                                   0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT                                      0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES                                      0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER                                      0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT                                  0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES                                  0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER                                      0x8CDC
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT                                  0x8CDC
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES                                  0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED                                                 0x8CDD
+#define GL_FRAMEBUFFER_UNSUPPORTED_EXT                                             0x8CDD
+#define GL_FRAMEBUFFER_UNSUPPORTED_OES                                             0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS                                                   0x8CDF
+#define GL_MAX_COLOR_ATTACHMENTS_EXT                                               0x8CDF
+#define GL_MAX_COLOR_ATTACHMENTS_NV                                                0x8CDF
+#define GL_COLOR_ATTACHMENT0                                                       0x8CE0
+#define GL_COLOR_ATTACHMENT0_EXT                                                   0x8CE0
+#define GL_COLOR_ATTACHMENT0_NV                                                    0x8CE0
+#define GL_COLOR_ATTACHMENT0_OES                                                   0x8CE0
+#define GL_COLOR_ATTACHMENT1                                                       0x8CE1
+#define GL_COLOR_ATTACHMENT1_EXT                                                   0x8CE1
+#define GL_COLOR_ATTACHMENT1_NV                                                    0x8CE1
+#define GL_COLOR_ATTACHMENT2                                                       0x8CE2
+#define GL_COLOR_ATTACHMENT2_EXT                                                   0x8CE2
+#define GL_COLOR_ATTACHMENT2_NV                                                    0x8CE2
+#define GL_COLOR_ATTACHMENT3                                                       0x8CE3
+#define GL_COLOR_ATTACHMENT3_EXT                                                   0x8CE3
+#define GL_COLOR_ATTACHMENT3_NV                                                    0x8CE3
+#define GL_COLOR_ATTACHMENT4                                                       0x8CE4
+#define GL_COLOR_ATTACHMENT4_EXT                                                   0x8CE4
+#define GL_COLOR_ATTACHMENT4_NV                                                    0x8CE4
+#define GL_COLOR_ATTACHMENT5                                                       0x8CE5
+#define GL_COLOR_ATTACHMENT5_EXT                                                   0x8CE5
+#define GL_COLOR_ATTACHMENT5_NV                                                    0x8CE5
+#define GL_COLOR_ATTACHMENT6                                                       0x8CE6
+#define GL_COLOR_ATTACHMENT6_EXT                                                   0x8CE6
+#define GL_COLOR_ATTACHMENT6_NV                                                    0x8CE6
+#define GL_COLOR_ATTACHMENT7                                                       0x8CE7
+#define GL_COLOR_ATTACHMENT7_EXT                                                   0x8CE7
+#define GL_COLOR_ATTACHMENT7_NV                                                    0x8CE7
+#define GL_COLOR_ATTACHMENT8                                                       0x8CE8
+#define GL_COLOR_ATTACHMENT8_EXT                                                   0x8CE8
+#define GL_COLOR_ATTACHMENT8_NV                                                    0x8CE8
+#define GL_COLOR_ATTACHMENT9                                                       0x8CE9
+#define GL_COLOR_ATTACHMENT9_EXT                                                   0x8CE9
+#define GL_COLOR_ATTACHMENT9_NV                                                    0x8CE9
+#define GL_COLOR_ATTACHMENT10                                                      0x8CEA
+#define GL_COLOR_ATTACHMENT10_EXT                                                  0x8CEA
+#define GL_COLOR_ATTACHMENT10_NV                                                   0x8CEA
+#define GL_COLOR_ATTACHMENT11                                                      0x8CEB
+#define GL_COLOR_ATTACHMENT11_EXT                                                  0x8CEB
+#define GL_COLOR_ATTACHMENT11_NV                                                   0x8CEB
+#define GL_COLOR_ATTACHMENT12                                                      0x8CEC
+#define GL_COLOR_ATTACHMENT12_EXT                                                  0x8CEC
+#define GL_COLOR_ATTACHMENT12_NV                                                   0x8CEC
+#define GL_COLOR_ATTACHMENT13                                                      0x8CED
+#define GL_COLOR_ATTACHMENT13_EXT                                                  0x8CED
+#define GL_COLOR_ATTACHMENT13_NV                                                   0x8CED
+#define GL_COLOR_ATTACHMENT14                                                      0x8CEE
+#define GL_COLOR_ATTACHMENT14_EXT                                                  0x8CEE
+#define GL_COLOR_ATTACHMENT14_NV                                                   0x8CEE
+#define GL_COLOR_ATTACHMENT15                                                      0x8CEF
+#define GL_COLOR_ATTACHMENT15_EXT                                                  0x8CEF
+#define GL_COLOR_ATTACHMENT15_NV                                                   0x8CEF
+#define GL_COLOR_ATTACHMENT16                                                      0x8CF0
+#define GL_COLOR_ATTACHMENT17                                                      0x8CF1
+#define GL_COLOR_ATTACHMENT18                                                      0x8CF2
+#define GL_COLOR_ATTACHMENT19                                                      0x8CF3
+#define GL_COLOR_ATTACHMENT20                                                      0x8CF4
+#define GL_COLOR_ATTACHMENT21                                                      0x8CF5
+#define GL_COLOR_ATTACHMENT22                                                      0x8CF6
+#define GL_COLOR_ATTACHMENT23                                                      0x8CF7
+#define GL_COLOR_ATTACHMENT24                                                      0x8CF8
+#define GL_COLOR_ATTACHMENT25                                                      0x8CF9
+#define GL_COLOR_ATTACHMENT26                                                      0x8CFA
+#define GL_COLOR_ATTACHMENT27                                                      0x8CFB
+#define GL_COLOR_ATTACHMENT28                                                      0x8CFC
+#define GL_COLOR_ATTACHMENT29                                                      0x8CFD
+#define GL_COLOR_ATTACHMENT30                                                      0x8CFE
+#define GL_COLOR_ATTACHMENT31                                                      0x8CFF
+#define GL_DEPTH_ATTACHMENT                                                        0x8D00
+#define GL_DEPTH_ATTACHMENT_EXT                                                    0x8D00
+#define GL_DEPTH_ATTACHMENT_OES                                                    0x8D00
+#define GL_STENCIL_ATTACHMENT                                                      0x8D20
+#define GL_STENCIL_ATTACHMENT_EXT                                                  0x8D20
+#define GL_STENCIL_ATTACHMENT_OES                                                  0x8D20
+#define GL_FRAMEBUFFER                                                             0x8D40
+#define GL_FRAMEBUFFER_EXT                                                         0x8D40
+#define GL_FRAMEBUFFER_OES                                                         0x8D40
+#define GL_RENDERBUFFER                                                            0x8D41
+#define GL_RENDERBUFFER_EXT                                                        0x8D41
+#define GL_RENDERBUFFER_OES                                                        0x8D41
+#define GL_RENDERBUFFER_WIDTH                                                      0x8D42
+#define GL_RENDERBUFFER_WIDTH_EXT                                                  0x8D42
+#define GL_RENDERBUFFER_WIDTH_OES                                                  0x8D42
+#define GL_RENDERBUFFER_HEIGHT                                                     0x8D43
+#define GL_RENDERBUFFER_HEIGHT_EXT                                                 0x8D43
+#define GL_RENDERBUFFER_HEIGHT_OES                                                 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT                                            0x8D44
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT                                        0x8D44
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES                                        0x8D44
+#define GL_STENCIL_INDEX1                                                          0x8D46
+#define GL_STENCIL_INDEX1_EXT                                                      0x8D46
+#define GL_STENCIL_INDEX1_OES                                                      0x8D46
+#define GL_STENCIL_INDEX4                                                          0x8D47
+#define GL_STENCIL_INDEX4_EXT                                                      0x8D47
+#define GL_STENCIL_INDEX4_OES                                                      0x8D47
+#define GL_STENCIL_INDEX8                                                          0x8D48
+#define GL_STENCIL_INDEX8_EXT                                                      0x8D48
+#define GL_STENCIL_INDEX8_OES                                                      0x8D48
+#define GL_STENCIL_INDEX16                                                         0x8D49
+#define GL_STENCIL_INDEX16_EXT                                                     0x8D49
+#define GL_RENDERBUFFER_RED_SIZE                                                   0x8D50
+#define GL_RENDERBUFFER_RED_SIZE_EXT                                               0x8D50
+#define GL_RENDERBUFFER_RED_SIZE_OES                                               0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE                                                 0x8D51
+#define GL_RENDERBUFFER_GREEN_SIZE_EXT                                             0x8D51
+#define GL_RENDERBUFFER_GREEN_SIZE_OES                                             0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE                                                  0x8D52
+#define GL_RENDERBUFFER_BLUE_SIZE_EXT                                              0x8D52
+#define GL_RENDERBUFFER_BLUE_SIZE_OES                                              0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE                                                 0x8D53
+#define GL_RENDERBUFFER_ALPHA_SIZE_EXT                                             0x8D53
+#define GL_RENDERBUFFER_ALPHA_SIZE_OES                                             0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE                                                 0x8D54
+#define GL_RENDERBUFFER_DEPTH_SIZE_EXT                                             0x8D54
+#define GL_RENDERBUFFER_DEPTH_SIZE_OES                                             0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE                                               0x8D55
+#define GL_RENDERBUFFER_STENCIL_SIZE_EXT                                           0x8D55
+#define GL_RENDERBUFFER_STENCIL_SIZE_OES                                           0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE                                      0x8D56
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE                                0x8D56
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE                                0x8D56
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT                                  0x8D56
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV                                   0x8D56
+#define GL_MAX_SAMPLES                                                             0x8D57
+#define GL_MAX_SAMPLES_ANGLE                                                       0x8D57
+#define GL_MAX_SAMPLES_APPLE                                                       0x8D57
+#define GL_MAX_SAMPLES_EXT                                                         0x8D57
+#define GL_MAX_SAMPLES_NV                                                          0x8D57
+#define GL_TEXTURE_GEN_STR_OES                                                     0x8D60
+#define GL_HALF_FLOAT_OES                                                          0x8D61
+#define GL_RGB565                                                                  0x8D62
+#define GL_RGB565_OES                                                              0x8D62
+#define GL_ETC1_RGB8_OES                                                           0x8D64
+#define GL_TEXTURE_EXTERNAL_OES                                                    0x8D65
+#define GL_SAMPLER_EXTERNAL_OES                                                    0x8D66
+#define GL_TEXTURE_BINDING_EXTERNAL_OES                                            0x8D67
+#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES                                        0x8D68
+#define GL_PRIMITIVE_RESTART_FIXED_INDEX                                           0x8D69
+#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE                                         0x8D6A
+#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT                                     0x8D6A
+#define GL_MAX_ELEMENT_INDEX                                                       0x8D6B
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT                              0x8D6C
+#define GL_RGBA32UI                                                                0x8D70
+#define GL_RGBA32UI_EXT                                                            0x8D70
+#define GL_RGB32UI                                                                 0x8D71
+#define GL_RGB32UI_EXT                                                             0x8D71
+#define GL_ALPHA32UI_EXT                                                           0x8D72
+#define GL_INTENSITY32UI_EXT                                                       0x8D73
+#define GL_LUMINANCE32UI_EXT                                                       0x8D74
+#define GL_LUMINANCE_ALPHA32UI_EXT                                                 0x8D75
+#define GL_RGBA16UI                                                                0x8D76
+#define GL_RGBA16UI_EXT                                                            0x8D76
+#define GL_RGB16UI                                                                 0x8D77
+#define GL_RGB16UI_EXT                                                             0x8D77
+#define GL_ALPHA16UI_EXT                                                           0x8D78
+#define GL_INTENSITY16UI_EXT                                                       0x8D79
+#define GL_LUMINANCE16UI_EXT                                                       0x8D7A
+#define GL_LUMINANCE_ALPHA16UI_EXT                                                 0x8D7B
+#define GL_RGBA8UI                                                                 0x8D7C
+#define GL_RGBA8UI_EXT                                                             0x8D7C
+#define GL_RGB8UI                                                                  0x8D7D
+#define GL_RGB8UI_EXT                                                              0x8D7D
+#define GL_ALPHA8UI_EXT                                                            0x8D7E
+#define GL_INTENSITY8UI_EXT                                                        0x8D7F
+#define GL_LUMINANCE8UI_EXT                                                        0x8D80
+#define GL_LUMINANCE_ALPHA8UI_EXT                                                  0x8D81
+#define GL_RGBA32I                                                                 0x8D82
+#define GL_RGBA32I_EXT                                                             0x8D82
+#define GL_RGB32I                                                                  0x8D83
+#define GL_RGB32I_EXT                                                              0x8D83
+#define GL_ALPHA32I_EXT                                                            0x8D84
+#define GL_INTENSITY32I_EXT                                                        0x8D85
+#define GL_LUMINANCE32I_EXT                                                        0x8D86
+#define GL_LUMINANCE_ALPHA32I_EXT                                                  0x8D87
+#define GL_RGBA16I                                                                 0x8D88
+#define GL_RGBA16I_EXT                                                             0x8D88
+#define GL_RGB16I                                                                  0x8D89
+#define GL_RGB16I_EXT                                                              0x8D89
+#define GL_ALPHA16I_EXT                                                            0x8D8A
+#define GL_INTENSITY16I_EXT                                                        0x8D8B
+#define GL_LUMINANCE16I_EXT                                                        0x8D8C
+#define GL_LUMINANCE_ALPHA16I_EXT                                                  0x8D8D
+#define GL_RGBA8I                                                                  0x8D8E
+#define GL_RGBA8I_EXT                                                              0x8D8E
+#define GL_RGB8I                                                                   0x8D8F
+#define GL_RGB8I_EXT                                                               0x8D8F
+#define GL_ALPHA8I_EXT                                                             0x8D90
+#define GL_INTENSITY8I_EXT                                                         0x8D91
+#define GL_LUMINANCE8I_EXT                                                         0x8D92
+#define GL_LUMINANCE_ALPHA8I_EXT                                                   0x8D93
+#define GL_RED_INTEGER                                                             0x8D94
+#define GL_RED_INTEGER_EXT                                                         0x8D94
+#define GL_GREEN_INTEGER                                                           0x8D95
+#define GL_GREEN_INTEGER_EXT                                                       0x8D95
+#define GL_BLUE_INTEGER                                                            0x8D96
+#define GL_BLUE_INTEGER_EXT                                                        0x8D96
+#define GL_ALPHA_INTEGER                                                           0x8D97
+#define GL_ALPHA_INTEGER_EXT                                                       0x8D97
+#define GL_RGB_INTEGER                                                             0x8D98
+#define GL_RGB_INTEGER_EXT                                                         0x8D98
+#define GL_RGBA_INTEGER                                                            0x8D99
+#define GL_RGBA_INTEGER_EXT                                                        0x8D99
+#define GL_BGR_INTEGER                                                             0x8D9A
+#define GL_BGR_INTEGER_EXT                                                         0x8D9A
+#define GL_BGRA_INTEGER                                                            0x8D9B
+#define GL_BGRA_INTEGER_EXT                                                        0x8D9B
+#define GL_LUMINANCE_INTEGER_EXT                                                   0x8D9C
+#define GL_LUMINANCE_ALPHA_INTEGER_EXT                                             0x8D9D
+#define GL_RGBA_INTEGER_MODE_EXT                                                   0x8D9E
+#define GL_INT_2_10_10_10_REV                                                      0x8D9F
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV                                0x8DA0
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV                                    0x8DA1
+#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV                                      0x8DA2
+#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV                                    0x8DA3
+#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV                                    0x8DA4
+#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV                                          0x8DA5
+#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV                                          0x8DA6
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED                                          0x8DA7
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB                                      0x8DA7
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT                                      0x8DA7
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES                                      0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS                                    0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB                                0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT                                0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES                                0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB                                  0x8DA9
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT                                  0x8DA9
+#define GL_LAYER_NV                                                                0x8DAA
+#define GL_DEPTH_COMPONENT32F_NV                                                   0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV                                                    0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV                                          0x8DAD
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV                                       0x8DAD
+#define GL_SHADER_INCLUDE_ARB                                                      0x8DAE
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV                                              0x8DAF
+#define GL_FRAMEBUFFER_SRGB                                                        0x8DB9
+#define GL_FRAMEBUFFER_SRGB_EXT                                                    0x8DB9
+#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT                                            0x8DBA
+#define GL_COMPRESSED_RED_RGTC1                                                    0x8DBB
+#define GL_COMPRESSED_RED_RGTC1_EXT                                                0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1                                             0x8DBC
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT                                         0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT                                          0x8DBD
+#define GL_COMPRESSED_RG_RGTC2                                                     0x8DBD
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT                                   0x8DBE
+#define GL_COMPRESSED_SIGNED_RG_RGTC2                                              0x8DBE
+#define GL_SAMPLER_1D_ARRAY                                                        0x8DC0
+#define GL_SAMPLER_1D_ARRAY_EXT                                                    0x8DC0
+#define GL_SAMPLER_2D_ARRAY                                                        0x8DC1
+#define GL_SAMPLER_2D_ARRAY_EXT                                                    0x8DC1
+#define GL_SAMPLER_BUFFER                                                          0x8DC2
+#define GL_SAMPLER_BUFFER_EXT                                                      0x8DC2
+#define GL_SAMPLER_BUFFER_OES                                                      0x8DC2
+#define GL_SAMPLER_1D_ARRAY_SHADOW                                                 0x8DC3
+#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT                                             0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW                                                 0x8DC4
+#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT                                             0x8DC4
+#define GL_SAMPLER_2D_ARRAY_SHADOW_NV                                              0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW                                                     0x8DC5
+#define GL_SAMPLER_CUBE_SHADOW_EXT                                                 0x8DC5
+#define GL_SAMPLER_CUBE_SHADOW_NV                                                  0x8DC5
+#define GL_UNSIGNED_INT_VEC2                                                       0x8DC6
+#define GL_UNSIGNED_INT_VEC2_EXT                                                   0x8DC6
+#define GL_UNSIGNED_INT_VEC3                                                       0x8DC7
+#define GL_UNSIGNED_INT_VEC3_EXT                                                   0x8DC7
+#define GL_UNSIGNED_INT_VEC4                                                       0x8DC8
+#define GL_UNSIGNED_INT_VEC4_EXT                                                   0x8DC8
+#define GL_INT_SAMPLER_1D                                                          0x8DC9
+#define GL_INT_SAMPLER_1D_EXT                                                      0x8DC9
+#define GL_INT_SAMPLER_2D                                                          0x8DCA
+#define GL_INT_SAMPLER_2D_EXT                                                      0x8DCA
+#define GL_INT_SAMPLER_3D                                                          0x8DCB
+#define GL_INT_SAMPLER_3D_EXT                                                      0x8DCB
+#define GL_INT_SAMPLER_CUBE                                                        0x8DCC
+#define GL_INT_SAMPLER_CUBE_EXT                                                    0x8DCC
+#define GL_INT_SAMPLER_2D_RECT                                                     0x8DCD
+#define GL_INT_SAMPLER_2D_RECT_EXT                                                 0x8DCD
+#define GL_INT_SAMPLER_1D_ARRAY                                                    0x8DCE
+#define GL_INT_SAMPLER_1D_ARRAY_EXT                                                0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY                                                    0x8DCF
+#define GL_INT_SAMPLER_2D_ARRAY_EXT                                                0x8DCF
+#define GL_INT_SAMPLER_BUFFER                                                      0x8DD0
+#define GL_INT_SAMPLER_BUFFER_EXT                                                  0x8DD0
+#define GL_INT_SAMPLER_BUFFER_OES                                                  0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_1D                                                 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_1D_EXT                                             0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D                                                 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_2D_EXT                                             0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D                                                 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_3D_EXT                                             0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE                                               0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT                                           0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT                                            0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT                                        0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY                                           0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT                                       0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                                           0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT                                       0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER                                             0x8DD8
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT                                         0x8DD8
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_OES                                         0x8DD8
+#define GL_GEOMETRY_SHADER                                                         0x8DD9
+#define GL_GEOMETRY_SHADER_ARB                                                     0x8DD9
+#define GL_GEOMETRY_SHADER_EXT                                                     0x8DD9
+#define GL_GEOMETRY_SHADER_OES                                                     0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB                                               0x8DDA
+#define GL_GEOMETRY_VERTICES_OUT_EXT                                               0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB                                                 0x8DDB
+#define GL_GEOMETRY_INPUT_TYPE_EXT                                                 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB                                                0x8DDC
+#define GL_GEOMETRY_OUTPUT_TYPE_EXT                                                0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB                                     0x8DDD
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT                                     0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB                                       0x8DDE
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT                                       0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS                                         0x8DDF
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB                                     0x8DDF
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT                                     0x8DDF
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES                                     0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES                                            0x8DE0
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB                                        0x8DE0
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT                                        0x8DE0
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES                                        0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS                                    0x8DE1
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB                                0x8DE1
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT                                0x8DE1
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES                                0x8DE1
+#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT                                        0x8DE2
+#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT                                      0x8DE3
+#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT                                      0x8DE4
+#define GL_ACTIVE_SUBROUTINES                                                      0x8DE5
+#define GL_ACTIVE_SUBROUTINE_UNIFORMS                                              0x8DE6
+#define GL_MAX_SUBROUTINES                                                         0x8DE7
+#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS                                        0x8DE8
+#define GL_NAMED_STRING_LENGTH_ARB                                                 0x8DE9
+#define GL_NAMED_STRING_TYPE_ARB                                                   0x8DEA
+#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT                                           0x8DED
+#define GL_UNIFORM_BUFFER_EXT                                                      0x8DEE
+#define GL_UNIFORM_BUFFER_BINDING_EXT                                              0x8DEF
+#define GL_LOW_FLOAT                                                               0x8DF0
+#define GL_MEDIUM_FLOAT                                                            0x8DF1
+#define GL_HIGH_FLOAT                                                              0x8DF2
+#define GL_LOW_INT                                                                 0x8DF3
+#define GL_MEDIUM_INT                                                              0x8DF4
+#define GL_HIGH_INT                                                                0x8DF5
+#define GL_UNSIGNED_INT_10_10_10_2_OES                                             0x8DF6
+#define GL_INT_10_10_10_2_OES                                                      0x8DF7
+#define GL_SHADER_BINARY_FORMATS                                                   0x8DF8
+#define GL_NUM_SHADER_BINARY_FORMATS                                               0x8DF9
+#define GL_SHADER_COMPILER                                                         0x8DFA
+#define GL_MAX_VERTEX_UNIFORM_VECTORS                                              0x8DFB
+#define GL_MAX_VARYING_VECTORS                                                     0x8DFC
+#define GL_MAX_FRAGMENT_UNIFORM_VECTORS                                            0x8DFD
+#define GL_RENDERBUFFER_COLOR_SAMPLES_NV                                           0x8E10
+#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV                                       0x8E11
+#define GL_MULTISAMPLE_COVERAGE_MODES_NV                                           0x8E12
+#define GL_QUERY_WAIT                                                              0x8E13
+#define GL_QUERY_WAIT_NV                                                           0x8E13
+#define GL_QUERY_NO_WAIT                                                           0x8E14
+#define GL_QUERY_NO_WAIT_NV                                                        0x8E14
+#define GL_QUERY_BY_REGION_WAIT                                                    0x8E15
+#define GL_QUERY_BY_REGION_WAIT_NV                                                 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT                                                 0x8E16
+#define GL_QUERY_BY_REGION_NO_WAIT_NV                                              0x8E16
+#define GL_QUERY_WAIT_INVERTED                                                     0x8E17
+#define GL_QUERY_NO_WAIT_INVERTED                                                  0x8E18
+#define GL_QUERY_BY_REGION_WAIT_INVERTED                                           0x8E19
+#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED                                        0x8E1A
+#define GL_POLYGON_OFFSET_CLAMP_EXT                                                0x8E1B
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS                            0x8E1E
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT                        0x8E1E
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES                        0x8E1E
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS                         0x8E1F
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT                     0x8E1F
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES                     0x8E1F
+#define GL_COLOR_SAMPLES_NV                                                        0x8E20
+#define GL_TRANSFORM_FEEDBACK                                                      0x8E22
+#define GL_TRANSFORM_FEEDBACK_NV                                                   0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED                                        0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV                                     0x8E23
+#define GL_TRANSFORM_FEEDBACK_PAUSED                                               0x8E23
+#define GL_TRANSFORM_FEEDBACK_ACTIVE                                               0x8E24
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE                                        0x8E24
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV                                     0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING                                              0x8E25
+#define GL_TRANSFORM_FEEDBACK_BINDING_NV                                           0x8E25
+#define GL_FRAME_NV                                                                0x8E26
+#define GL_FIELDS_NV                                                               0x8E27
+#define GL_CURRENT_TIME_NV                                                         0x8E28
+#define GL_TIMESTAMP                                                               0x8E28
+#define GL_TIMESTAMP_EXT                                                           0x8E28
+#define GL_NUM_FILL_STREAMS_NV                                                     0x8E29
+#define GL_PRESENT_TIME_NV                                                         0x8E2A
+#define GL_PRESENT_DURATION_NV                                                     0x8E2B
+#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                                          0x8E2C
+#define GL_PROGRAM_MATRIX_EXT                                                      0x8E2D
+#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT                                            0x8E2E
+#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT                                          0x8E2F
+#define GL_TEXTURE_SWIZZLE_R                                                       0x8E42
+#define GL_TEXTURE_SWIZZLE_R_EXT                                                   0x8E42
+#define GL_TEXTURE_SWIZZLE_G                                                       0x8E43
+#define GL_TEXTURE_SWIZZLE_G_EXT                                                   0x8E43
+#define GL_TEXTURE_SWIZZLE_B                                                       0x8E44
+#define GL_TEXTURE_SWIZZLE_B_EXT                                                   0x8E44
+#define GL_TEXTURE_SWIZZLE_A                                                       0x8E45
+#define GL_TEXTURE_SWIZZLE_A_EXT                                                   0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA                                                    0x8E46
+#define GL_TEXTURE_SWIZZLE_RGBA_EXT                                                0x8E46
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS                                     0x8E47
+#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH                                            0x8E48
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH                                    0x8E49
+#define GL_NUM_COMPATIBLE_SUBROUTINES                                              0x8E4A
+#define GL_COMPATIBLE_SUBROUTINES                                                  0x8E4B
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION                                0x8E4C
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT                            0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION                                                 0x8E4D
+#define GL_FIRST_VERTEX_CONVENTION_EXT                                             0x8E4D
+#define GL_FIRST_VERTEX_CONVENTION_OES                                             0x8E4D
+#define GL_LAST_VERTEX_CONVENTION                                                  0x8E4E
+#define GL_LAST_VERTEX_CONVENTION_EXT                                              0x8E4E
+#define GL_LAST_VERTEX_CONVENTION_OES                                              0x8E4E
+#define GL_PROVOKING_VERTEX                                                        0x8E4F
+#define GL_PROVOKING_VERTEX_EXT                                                    0x8E4F
+#define GL_SAMPLE_LOCATION_ARB                                                     0x8E50
+#define GL_SAMPLE_LOCATION_NV                                                      0x8E50
+#define GL_SAMPLE_POSITION                                                         0x8E50
+#define GL_SAMPLE_POSITION_NV                                                      0x8E50
+#define GL_SAMPLE_MASK                                                             0x8E51
+#define GL_SAMPLE_MASK_NV                                                          0x8E51
+#define GL_SAMPLE_MASK_VALUE                                                       0x8E52
+#define GL_SAMPLE_MASK_VALUE_NV                                                    0x8E52
+#define GL_TEXTURE_BINDING_RENDERBUFFER_NV                                         0x8E53
+#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV                              0x8E54
+#define GL_TEXTURE_RENDERBUFFER_NV                                                 0x8E55
+#define GL_SAMPLER_RENDERBUFFER_NV                                                 0x8E56
+#define GL_INT_SAMPLER_RENDERBUFFER_NV                                             0x8E57
+#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV                                    0x8E58
+#define GL_MAX_SAMPLE_MASK_WORDS                                                   0x8E59
+#define GL_MAX_SAMPLE_MASK_WORDS_NV                                                0x8E59
+#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV                                     0x8E5A
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS                                         0x8E5A
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT                                     0x8E5A
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES                                     0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET                                       0x8E5B
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV                                    0x8E5B
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES                                   0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET                                       0x8E5C
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV                                    0x8E5C
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES                                   0x8E5C
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS                                      0x8E5D
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES                                  0x8E5D
+#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV                           0x8E5D
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET                                       0x8E5E
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB                                   0x8E5E
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV                                    0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET                                       0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB                                   0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV                                    0x8E5F
+#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS                                          0x8E70
+#define GL_MAX_VERTEX_STREAMS                                                      0x8E71
+#define GL_PATCH_VERTICES                                                          0x8E72
+#define GL_PATCH_VERTICES_EXT                                                      0x8E72
+#define GL_PATCH_VERTICES_OES                                                      0x8E72
+#define GL_PATCH_DEFAULT_INNER_LEVEL                                               0x8E73
+#define GL_PATCH_DEFAULT_INNER_LEVEL_EXT                                           0x8E73
+#define GL_PATCH_DEFAULT_OUTER_LEVEL                                               0x8E74
+#define GL_PATCH_DEFAULT_OUTER_LEVEL_EXT                                           0x8E74
+#define GL_TESS_CONTROL_OUTPUT_VERTICES                                            0x8E75
+#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT                                        0x8E75
+#define GL_TESS_CONTROL_OUTPUT_VERTICES_OES                                        0x8E75
+#define GL_TESS_GEN_MODE                                                           0x8E76
+#define GL_TESS_GEN_MODE_EXT                                                       0x8E76
+#define GL_TESS_GEN_MODE_OES                                                       0x8E76
+#define GL_TESS_GEN_SPACING                                                        0x8E77
+#define GL_TESS_GEN_SPACING_EXT                                                    0x8E77
+#define GL_TESS_GEN_SPACING_OES                                                    0x8E77
+#define GL_TESS_GEN_VERTEX_ORDER                                                   0x8E78
+#define GL_TESS_GEN_VERTEX_ORDER_EXT                                               0x8E78
+#define GL_TESS_GEN_VERTEX_ORDER_OES                                               0x8E78
+#define GL_TESS_GEN_POINT_MODE                                                     0x8E79
+#define GL_TESS_GEN_POINT_MODE_EXT                                                 0x8E79
+#define GL_TESS_GEN_POINT_MODE_OES                                                 0x8E79
+#define GL_ISOLINES                                                                0x8E7A
+#define GL_ISOLINES_EXT                                                            0x8E7A
+#define GL_ISOLINES_OES                                                            0x8E7A
+#define GL_FRACTIONAL_ODD                                                          0x8E7B
+#define GL_FRACTIONAL_ODD_EXT                                                      0x8E7B
+#define GL_FRACTIONAL_ODD_OES                                                      0x8E7B
+#define GL_FRACTIONAL_EVEN                                                         0x8E7C
+#define GL_FRACTIONAL_EVEN_EXT                                                     0x8E7C
+#define GL_FRACTIONAL_EVEN_OES                                                     0x8E7C
+#define GL_MAX_PATCH_VERTICES                                                      0x8E7D
+#define GL_MAX_PATCH_VERTICES_EXT                                                  0x8E7D
+#define GL_MAX_PATCH_VERTICES_OES                                                  0x8E7D
+#define GL_MAX_TESS_GEN_LEVEL                                                      0x8E7E
+#define GL_MAX_TESS_GEN_LEVEL_EXT                                                  0x8E7E
+#define GL_MAX_TESS_GEN_LEVEL_OES                                                  0x8E7E
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS                                     0x8E7F
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT                                 0x8E7F
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES                                 0x8E7F
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS                                  0x8E80
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT                              0x8E80
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES                              0x8E80
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS                                    0x8E81
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT                                0x8E81
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES                                0x8E81
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS                                 0x8E82
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT                             0x8E82
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES                             0x8E82
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS                                      0x8E83
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT                                  0x8E83
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES                                  0x8E83
+#define GL_MAX_TESS_PATCH_COMPONENTS                                               0x8E84
+#define GL_MAX_TESS_PATCH_COMPONENTS_EXT                                           0x8E84
+#define GL_MAX_TESS_PATCH_COMPONENTS_OES                                           0x8E84
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS                                0x8E85
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT                            0x8E85
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES                            0x8E85
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS                                   0x8E86
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT                               0x8E86
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES                               0x8E86
+#define GL_TESS_EVALUATION_SHADER                                                  0x8E87
+#define GL_TESS_EVALUATION_SHADER_EXT                                              0x8E87
+#define GL_TESS_EVALUATION_SHADER_OES                                              0x8E87
+#define GL_TESS_CONTROL_SHADER                                                     0x8E88
+#define GL_TESS_CONTROL_SHADER_EXT                                                 0x8E88
+#define GL_TESS_CONTROL_SHADER_OES                                                 0x8E88
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS                                         0x8E89
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT                                     0x8E89
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES                                     0x8E89
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS                                      0x8E8A
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT                                  0x8E8A
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES                                  0x8E8A
+#define GL_COMPRESSED_RGBA_BPTC_UNORM                                              0x8E8C
+#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB                                          0x8E8C
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM                                        0x8E8D
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB                                    0x8E8D
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT                                        0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB                                    0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT                                      0x8E8F
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB                                  0x8E8F
+#define GL_COVERAGE_COMPONENT_NV                                                   0x8ED0
+#define GL_COVERAGE_COMPONENT4_NV                                                  0x8ED1
+#define GL_COVERAGE_ATTACHMENT_NV                                                  0x8ED2
+#define GL_COVERAGE_BUFFERS_NV                                                     0x8ED3
+#define GL_COVERAGE_SAMPLES_NV                                                     0x8ED4
+#define GL_COVERAGE_ALL_FRAGMENTS_NV                                               0x8ED5
+#define GL_COVERAGE_EDGE_FRAGMENTS_NV                                              0x8ED6
+#define GL_COVERAGE_AUTOMATIC_NV                                                   0x8ED7
+#define GL_INCLUSIVE_EXT                                                           0x8F10
+#define GL_EXCLUSIVE_EXT                                                           0x8F11
+#define GL_WINDOW_RECTANGLE_EXT                                                    0x8F12
+#define GL_WINDOW_RECTANGLE_MODE_EXT                                               0x8F13
+#define GL_MAX_WINDOW_RECTANGLES_EXT                                               0x8F14
+#define GL_NUM_WINDOW_RECTANGLES_EXT                                               0x8F15
+#define GL_BUFFER_GPU_ADDRESS_NV                                                   0x8F1D
+#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV                                          0x8F1E
+#define GL_ELEMENT_ARRAY_UNIFIED_NV                                                0x8F1F
+#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV                                          0x8F20
+#define GL_VERTEX_ARRAY_ADDRESS_NV                                                 0x8F21
+#define GL_NORMAL_ARRAY_ADDRESS_NV                                                 0x8F22
+#define GL_COLOR_ARRAY_ADDRESS_NV                                                  0x8F23
+#define GL_INDEX_ARRAY_ADDRESS_NV                                                  0x8F24
+#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV                                          0x8F25
+#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV                                              0x8F26
+#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV                                        0x8F27
+#define GL_FOG_COORD_ARRAY_ADDRESS_NV                                              0x8F28
+#define GL_ELEMENT_ARRAY_ADDRESS_NV                                                0x8F29
+#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV                                           0x8F2A
+#define GL_VERTEX_ARRAY_LENGTH_NV                                                  0x8F2B
+#define GL_NORMAL_ARRAY_LENGTH_NV                                                  0x8F2C
+#define GL_COLOR_ARRAY_LENGTH_NV                                                   0x8F2D
+#define GL_INDEX_ARRAY_LENGTH_NV                                                   0x8F2E
+#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV                                           0x8F2F
+#define GL_EDGE_FLAG_ARRAY_LENGTH_NV                                               0x8F30
+#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV                                         0x8F31
+#define GL_FOG_COORD_ARRAY_LENGTH_NV                                               0x8F32
+#define GL_ELEMENT_ARRAY_LENGTH_NV                                                 0x8F33
+#define GL_GPU_ADDRESS_NV                                                          0x8F34
+#define GL_MAX_SHADER_BUFFER_ADDRESS_NV                                            0x8F35
+#define GL_COPY_READ_BUFFER                                                        0x8F36
+#define GL_COPY_READ_BUFFER_BINDING                                                0x8F36
+#define GL_COPY_READ_BUFFER_NV                                                     0x8F36
+#define GL_COPY_WRITE_BUFFER                                                       0x8F37
+#define GL_COPY_WRITE_BUFFER_BINDING                                               0x8F37
+#define GL_COPY_WRITE_BUFFER_NV                                                    0x8F37
+#define GL_MAX_IMAGE_UNITS                                                         0x8F38
+#define GL_MAX_IMAGE_UNITS_EXT                                                     0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS                           0x8F39
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT                       0x8F39
+#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES                                    0x8F39
+#define GL_IMAGE_BINDING_NAME                                                      0x8F3A
+#define GL_IMAGE_BINDING_NAME_EXT                                                  0x8F3A
+#define GL_IMAGE_BINDING_LEVEL                                                     0x8F3B
+#define GL_IMAGE_BINDING_LEVEL_EXT                                                 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED                                                   0x8F3C
+#define GL_IMAGE_BINDING_LAYERED_EXT                                               0x8F3C
+#define GL_IMAGE_BINDING_LAYER                                                     0x8F3D
+#define GL_IMAGE_BINDING_LAYER_EXT                                                 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS                                                    0x8F3E
+#define GL_IMAGE_BINDING_ACCESS_EXT                                                0x8F3E
+#define GL_DRAW_INDIRECT_BUFFER                                                    0x8F3F
+#define GL_DRAW_INDIRECT_UNIFIED_NV                                                0x8F40
+#define GL_DRAW_INDIRECT_ADDRESS_NV                                                0x8F41
+#define GL_DRAW_INDIRECT_LENGTH_NV                                                 0x8F42
+#define GL_DRAW_INDIRECT_BUFFER_BINDING                                            0x8F43
+#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV                                    0x8F44
+#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV                                           0x8F45
+#define GL_DOUBLE_MAT2                                                             0x8F46
+#define GL_DOUBLE_MAT2_EXT                                                         0x8F46
+#define GL_DOUBLE_MAT3                                                             0x8F47
+#define GL_DOUBLE_MAT3_EXT                                                         0x8F47
+#define GL_DOUBLE_MAT4                                                             0x8F48
+#define GL_DOUBLE_MAT4_EXT                                                         0x8F48
+#define GL_DOUBLE_MAT2x3                                                           0x8F49
+#define GL_DOUBLE_MAT2x3_EXT                                                       0x8F49
+#define GL_DOUBLE_MAT2x4                                                           0x8F4A
+#define GL_DOUBLE_MAT2x4_EXT                                                       0x8F4A
+#define GL_DOUBLE_MAT3x2                                                           0x8F4B
+#define GL_DOUBLE_MAT3x2_EXT                                                       0x8F4B
+#define GL_DOUBLE_MAT3x4                                                           0x8F4C
+#define GL_DOUBLE_MAT3x4_EXT                                                       0x8F4C
+#define GL_DOUBLE_MAT4x2                                                           0x8F4D
+#define GL_DOUBLE_MAT4x2_EXT                                                       0x8F4D
+#define GL_DOUBLE_MAT4x3                                                           0x8F4E
+#define GL_DOUBLE_MAT4x3_EXT                                                       0x8F4E
+#define GL_VERTEX_BINDING_BUFFER                                                   0x8F4F
+#define GL_MALI_SHADER_BINARY_ARM                                                  0x8F60
+#define GL_MALI_PROGRAM_BINARY_ARM                                                 0x8F61
+#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT                            0x8F63
+#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT                                          0x8F64
+#define GL_FETCH_PER_SAMPLE_ARM                                                    0x8F65
+#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM                               0x8F66
+#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT                                 0x8F67
+#define GL_RED_SNORM                                                               0x8F90
+#define GL_RG_SNORM                                                                0x8F91
+#define GL_RGB_SNORM                                                               0x8F92
+#define GL_RGBA_SNORM                                                              0x8F93
+#define GL_R8_SNORM                                                                0x8F94
+#define GL_RG8_SNORM                                                               0x8F95
+#define GL_RGB8_SNORM                                                              0x8F96
+#define GL_RGBA8_SNORM                                                             0x8F97
+#define GL_R16_SNORM                                                               0x8F98
+#define GL_R16_SNORM_EXT                                                           0x8F98
+#define GL_RG16_SNORM                                                              0x8F99
+#define GL_RG16_SNORM_EXT                                                          0x8F99
+#define GL_RGB16_SNORM                                                             0x8F9A
+#define GL_RGB16_SNORM_EXT                                                         0x8F9A
+#define GL_RGBA16_SNORM                                                            0x8F9B
+#define GL_RGBA16_SNORM_EXT                                                        0x8F9B
+#define GL_SIGNED_NORMALIZED                                                       0x8F9C
+#define GL_PRIMITIVE_RESTART                                                       0x8F9D
+#define GL_PRIMITIVE_RESTART_INDEX                                                 0x8F9E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB                               0x8F9F
+#define GL_PERFMON_GLOBAL_MODE_QCOM                                                0x8FA0
+#define GL_BINNING_CONTROL_HINT_QCOM                                               0x8FB0
+#define GL_CPU_OPTIMIZED_QCOM                                                      0x8FB1
+#define GL_GPU_OPTIMIZED_QCOM                                                      0x8FB2
+#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM                                       0x8FB3
+#define GL_GPU_DISJOINT_EXT                                                        0x8FBB
+#define GL_SR8_EXT                                                                 0x8FBD
+#define GL_SRG8_EXT                                                                0x8FBE
+#define GL_SHADER_BINARY_VIV                                                       0x8FC4
+#define GL_INT8_NV                                                                 0x8FE0
+#define GL_INT8_VEC2_NV                                                            0x8FE1
+#define GL_INT8_VEC3_NV                                                            0x8FE2
+#define GL_INT8_VEC4_NV                                                            0x8FE3
+#define GL_INT16_NV                                                                0x8FE4
+#define GL_INT16_VEC2_NV                                                           0x8FE5
+#define GL_INT16_VEC3_NV                                                           0x8FE6
+#define GL_INT16_VEC4_NV                                                           0x8FE7
+#define GL_INT64_VEC2_ARB                                                          0x8FE9
+#define GL_INT64_VEC2_NV                                                           0x8FE9
+#define GL_INT64_VEC3_ARB                                                          0x8FEA
+#define GL_INT64_VEC3_NV                                                           0x8FEA
+#define GL_INT64_VEC4_ARB                                                          0x8FEB
+#define GL_INT64_VEC4_NV                                                           0x8FEB
+#define GL_UNSIGNED_INT8_NV                                                        0x8FEC
+#define GL_UNSIGNED_INT8_VEC2_NV                                                   0x8FED
+#define GL_UNSIGNED_INT8_VEC3_NV                                                   0x8FEE
+#define GL_UNSIGNED_INT8_VEC4_NV                                                   0x8FEF
+#define GL_UNSIGNED_INT16_NV                                                       0x8FF0
+#define GL_UNSIGNED_INT16_VEC2_NV                                                  0x8FF1
+#define GL_UNSIGNED_INT16_VEC3_NV                                                  0x8FF2
+#define GL_UNSIGNED_INT16_VEC4_NV                                                  0x8FF3
+#define GL_UNSIGNED_INT64_VEC2_ARB                                                 0x8FF5
+#define GL_UNSIGNED_INT64_VEC2_NV                                                  0x8FF5
+#define GL_UNSIGNED_INT64_VEC3_ARB                                                 0x8FF6
+#define GL_UNSIGNED_INT64_VEC3_NV                                                  0x8FF6
+#define GL_UNSIGNED_INT64_VEC4_ARB                                                 0x8FF7
+#define GL_UNSIGNED_INT64_VEC4_NV                                                  0x8FF7
+#define GL_FLOAT16_NV                                                              0x8FF8
+#define GL_FLOAT16_VEC2_NV                                                         0x8FF9
+#define GL_FLOAT16_VEC3_NV                                                         0x8FFA
+#define GL_FLOAT16_VEC4_NV                                                         0x8FFB
+#define GL_DOUBLE_VEC2                                                             0x8FFC
+#define GL_DOUBLE_VEC2_EXT                                                         0x8FFC
+#define GL_DOUBLE_VEC3                                                             0x8FFD
+#define GL_DOUBLE_VEC3_EXT                                                         0x8FFD
+#define GL_DOUBLE_VEC4                                                             0x8FFE
+#define GL_DOUBLE_VEC4_EXT                                                         0x8FFE
+#define GL_SAMPLER_BUFFER_AMD                                                      0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD                                                  0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD                                         0x9003
+#define GL_TESSELLATION_MODE_AMD                                                   0x9004
+#define GL_TESSELLATION_FACTOR_AMD                                                 0x9005
+#define GL_DISCRETE_AMD                                                            0x9006
+#define GL_CONTINUOUS_AMD                                                          0x9007
+#define GL_TEXTURE_CUBE_MAP_ARRAY                                                  0x9009
+#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB                                              0x9009
+#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT                                              0x9009
+#define GL_TEXTURE_CUBE_MAP_ARRAY_OES                                              0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY                                          0x900A
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB                                      0x900A
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT                                      0x900A
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES                                      0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY                                            0x900B
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB                                        0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY                                                  0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB                                              0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT                                              0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_OES                                              0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW                                           0x900D
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB                                       0x900D
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT                                       0x900D
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES                                       0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY                                              0x900E
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB                                          0x900E
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT                                          0x900E
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES                                          0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY                                     0x900F
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB                                 0x900F
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT                                 0x900F
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES                                 0x900F
+#define GL_ALPHA_SNORM                                                             0x9010
+#define GL_LUMINANCE_SNORM                                                         0x9011
+#define GL_LUMINANCE_ALPHA_SNORM                                                   0x9012
+#define GL_INTENSITY_SNORM                                                         0x9013
+#define GL_ALPHA8_SNORM                                                            0x9014
+#define GL_LUMINANCE8_SNORM                                                        0x9015
+#define GL_LUMINANCE8_ALPHA8_SNORM                                                 0x9016
+#define GL_INTENSITY8_SNORM                                                        0x9017
+#define GL_ALPHA16_SNORM                                                           0x9018
+#define GL_LUMINANCE16_SNORM                                                       0x9019
+#define GL_LUMINANCE16_ALPHA16_SNORM                                               0x901A
+#define GL_INTENSITY16_SNORM                                                       0x901B
+#define GL_FACTOR_MIN_AMD                                                          0x901C
+#define GL_FACTOR_MAX_AMD                                                          0x901D
+#define GL_DEPTH_CLAMP_NEAR_AMD                                                    0x901E
+#define GL_DEPTH_CLAMP_FAR_AMD                                                     0x901F
+#define GL_VIDEO_BUFFER_NV                                                         0x9020
+#define GL_VIDEO_BUFFER_BINDING_NV                                                 0x9021
+#define GL_FIELD_UPPER_NV                                                          0x9022
+#define GL_FIELD_LOWER_NV                                                          0x9023
+#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV                                            0x9024
+#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV                                     0x9025
+#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV                                       0x9026
+#define GL_LAST_VIDEO_CAPTURE_STATUS_NV                                            0x9027
+#define GL_VIDEO_BUFFER_PITCH_NV                                                   0x9028
+#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV                                        0x9029
+#define GL_VIDEO_COLOR_CONVERSION_MAX_NV                                           0x902A
+#define GL_VIDEO_COLOR_CONVERSION_MIN_NV                                           0x902B
+#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV                                        0x902C
+#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV                                         0x902D
+#define GL_PARTIAL_SUCCESS_NV                                                      0x902E
+#define GL_SUCCESS_NV                                                              0x902F
+#define GL_FAILURE_NV                                                              0x9030
+#define GL_YCBYCR8_422_NV                                                          0x9031
+#define GL_YCBAYCR8A_4224_NV                                                       0x9032
+#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV                                           0x9033
+#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV                                0x9034
+#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV                                           0x9035
+#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV                                0x9036
+#define GL_Z4Y12Z4CB12Z4CR12_444_NV                                                0x9037
+#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV                                            0x9038
+#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV                                           0x9039
+#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV                                     0x903A
+#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV                                     0x903B
+#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV                                         0x903C
+#define GL_TEXTURE_COVERAGE_SAMPLES_NV                                             0x9045
+#define GL_TEXTURE_COLOR_SAMPLES_NV                                                0x9046
+#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX                                    0x9047
+#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX                              0x9048
+#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX                            0x9049
+#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX                                      0x904A
+#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX                                      0x904B
+#define GL_IMAGE_1D                                                                0x904C
+#define GL_IMAGE_1D_EXT                                                            0x904C
+#define GL_IMAGE_2D                                                                0x904D
+#define GL_IMAGE_2D_EXT                                                            0x904D
+#define GL_IMAGE_3D                                                                0x904E
+#define GL_IMAGE_3D_EXT                                                            0x904E
+#define GL_IMAGE_2D_RECT                                                           0x904F
+#define GL_IMAGE_2D_RECT_EXT                                                       0x904F
+#define GL_IMAGE_CUBE                                                              0x9050
+#define GL_IMAGE_CUBE_EXT                                                          0x9050
+#define GL_IMAGE_BUFFER                                                            0x9051
+#define GL_IMAGE_BUFFER_EXT                                                        0x9051
+#define GL_IMAGE_BUFFER_OES                                                        0x9051
+#define GL_IMAGE_1D_ARRAY                                                          0x9052
+#define GL_IMAGE_1D_ARRAY_EXT                                                      0x9052
+#define GL_IMAGE_2D_ARRAY                                                          0x9053
+#define GL_IMAGE_2D_ARRAY_EXT                                                      0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY                                                    0x9054
+#define GL_IMAGE_CUBE_MAP_ARRAY_EXT                                                0x9054
+#define GL_IMAGE_CUBE_MAP_ARRAY_OES                                                0x9054
+#define GL_IMAGE_2D_MULTISAMPLE                                                    0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_EXT                                                0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY                                              0x9056
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                                          0x9056
+#define GL_INT_IMAGE_1D                                                            0x9057
+#define GL_INT_IMAGE_1D_EXT                                                        0x9057
+#define GL_INT_IMAGE_2D                                                            0x9058
+#define GL_INT_IMAGE_2D_EXT                                                        0x9058
+#define GL_INT_IMAGE_3D                                                            0x9059
+#define GL_INT_IMAGE_3D_EXT                                                        0x9059
+#define GL_INT_IMAGE_2D_RECT                                                       0x905A
+#define GL_INT_IMAGE_2D_RECT_EXT                                                   0x905A
+#define GL_INT_IMAGE_CUBE                                                          0x905B
+#define GL_INT_IMAGE_CUBE_EXT                                                      0x905B
+#define GL_INT_IMAGE_BUFFER                                                        0x905C
+#define GL_INT_IMAGE_BUFFER_EXT                                                    0x905C
+#define GL_INT_IMAGE_BUFFER_OES                                                    0x905C
+#define GL_INT_IMAGE_1D_ARRAY                                                      0x905D
+#define GL_INT_IMAGE_1D_ARRAY_EXT                                                  0x905D
+#define GL_INT_IMAGE_2D_ARRAY                                                      0x905E
+#define GL_INT_IMAGE_2D_ARRAY_EXT                                                  0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY                                                0x905F
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT                                            0x905F
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY_OES                                            0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE                                                0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT                                            0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY                                          0x9061
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                                      0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D                                                   0x9062
+#define GL_UNSIGNED_INT_IMAGE_1D_EXT                                               0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D                                                   0x9063
+#define GL_UNSIGNED_INT_IMAGE_2D_EXT                                               0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D                                                   0x9064
+#define GL_UNSIGNED_INT_IMAGE_3D_EXT                                               0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT                                              0x9065
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT                                          0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE                                                 0x9066
+#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT                                             0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER                                               0x9067
+#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT                                           0x9067
+#define GL_UNSIGNED_INT_IMAGE_BUFFER_OES                                           0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY                                             0x9068
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT                                         0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY                                             0x9069
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT                                         0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY                                       0x906A
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT                                   0x906A
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES                                   0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE                                       0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT                                   0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY                                 0x906C
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT                             0x906C
+#define GL_MAX_IMAGE_SAMPLES                                                       0x906D
+#define GL_MAX_IMAGE_SAMPLES_EXT                                                   0x906D
+#define GL_IMAGE_BINDING_FORMAT                                                    0x906E
+#define GL_IMAGE_BINDING_FORMAT_EXT                                                0x906E
+#define GL_RGB10_A2UI                                                              0x906F
+#define GL_PATH_FORMAT_SVG_NV                                                      0x9070
+#define GL_PATH_FORMAT_PS_NV                                                       0x9071
+#define GL_STANDARD_FONT_NAME_NV                                                   0x9072
+#define GL_SYSTEM_FONT_NAME_NV                                                     0x9073
+#define GL_FILE_NAME_NV                                                            0x9074
+#define GL_PATH_STROKE_WIDTH_NV                                                    0x9075
+#define GL_PATH_END_CAPS_NV                                                        0x9076
+#define GL_PATH_INITIAL_END_CAP_NV                                                 0x9077
+#define GL_PATH_TERMINAL_END_CAP_NV                                                0x9078
+#define GL_PATH_JOIN_STYLE_NV                                                      0x9079
+#define GL_PATH_MITER_LIMIT_NV                                                     0x907A
+#define GL_PATH_DASH_CAPS_NV                                                       0x907B
+#define GL_PATH_INITIAL_DASH_CAP_NV                                                0x907C
+#define GL_PATH_TERMINAL_DASH_CAP_NV                                               0x907D
+#define GL_PATH_DASH_OFFSET_NV                                                     0x907E
+#define GL_PATH_CLIENT_LENGTH_NV                                                   0x907F
+#define GL_PATH_FILL_MODE_NV                                                       0x9080
+#define GL_PATH_FILL_MASK_NV                                                       0x9081
+#define GL_PATH_FILL_COVER_MODE_NV                                                 0x9082
+#define GL_PATH_STROKE_COVER_MODE_NV                                               0x9083
+#define GL_PATH_STROKE_MASK_NV                                                     0x9084
+#define GL_COUNT_UP_NV                                                             0x9088
+#define GL_COUNT_DOWN_NV                                                           0x9089
+#define GL_PATH_OBJECT_BOUNDING_BOX_NV                                             0x908A
+#define GL_CONVEX_HULL_NV                                                          0x908B
+#define GL_BOUNDING_BOX_NV                                                         0x908D
+#define GL_TRANSLATE_X_NV                                                          0x908E
+#define GL_TRANSLATE_Y_NV                                                          0x908F
+#define GL_TRANSLATE_2D_NV                                                         0x9090
+#define GL_TRANSLATE_3D_NV                                                         0x9091
+#define GL_AFFINE_2D_NV                                                            0x9092
+#define GL_AFFINE_3D_NV                                                            0x9094
+#define GL_TRANSPOSE_AFFINE_2D_NV                                                  0x9096
+#define GL_TRANSPOSE_AFFINE_3D_NV                                                  0x9098
+#define GL_UTF8_NV                                                                 0x909A
+#define GL_UTF16_NV                                                                0x909B
+#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV                                       0x909C
+#define GL_PATH_COMMAND_COUNT_NV                                                   0x909D
+#define GL_PATH_COORD_COUNT_NV                                                     0x909E
+#define GL_PATH_DASH_ARRAY_COUNT_NV                                                0x909F
+#define GL_PATH_COMPUTED_LENGTH_NV                                                 0x90A0
+#define GL_PATH_FILL_BOUNDING_BOX_NV                                               0x90A1
+#define GL_PATH_STROKE_BOUNDING_BOX_NV                                             0x90A2
+#define GL_SQUARE_NV                                                               0x90A3
+#define GL_ROUND_NV                                                                0x90A4
+#define GL_TRIANGULAR_NV                                                           0x90A5
+#define GL_BEVEL_NV                                                                0x90A6
+#define GL_MITER_REVERT_NV                                                         0x90A7
+#define GL_MITER_TRUNCATE_NV                                                       0x90A8
+#define GL_SKIP_MISSING_GLYPH_NV                                                   0x90A9
+#define GL_USE_MISSING_GLYPH_NV                                                    0x90AA
+#define GL_PATH_ERROR_POSITION_NV                                                  0x90AB
+#define GL_PATH_FOG_GEN_MODE_NV                                                    0x90AC
+#define GL_ACCUM_ADJACENT_PAIRS_NV                                                 0x90AD
+#define GL_ADJACENT_PAIRS_NV                                                       0x90AE
+#define GL_FIRST_TO_REST_NV                                                        0x90AF
+#define GL_PATH_GEN_MODE_NV                                                        0x90B0
+#define GL_PATH_GEN_COEFF_NV                                                       0x90B1
+#define GL_PATH_GEN_COLOR_FORMAT_NV                                                0x90B2
+#define GL_PATH_GEN_COMPONENTS_NV                                                  0x90B3
+#define GL_PATH_DASH_OFFSET_RESET_NV                                               0x90B4
+#define GL_MOVE_TO_RESETS_NV                                                       0x90B5
+#define GL_MOVE_TO_CONTINUES_NV                                                    0x90B6
+#define GL_PATH_STENCIL_FUNC_NV                                                    0x90B7
+#define GL_PATH_STENCIL_REF_NV                                                     0x90B8
+#define GL_PATH_STENCIL_VALUE_MASK_NV                                              0x90B9
+#define GL_SCALED_RESOLVE_FASTEST_EXT                                              0x90BA
+#define GL_SCALED_RESOLVE_NICEST_EXT                                               0x90BB
+#define GL_MIN_MAP_BUFFER_ALIGNMENT                                                0x90BC
+#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV                                     0x90BD
+#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV                                      0x90BE
+#define GL_PATH_COVER_DEPTH_FUNC_NV                                                0x90BF
+#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE                                         0x90C7
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE                                      0x90C8
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS                                     0x90C9
+#define GL_MAX_VERTEX_IMAGE_UNIFORMS                                               0x90CA
+#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS                                         0x90CB
+#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT                                     0x90CB
+#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES                                     0x90CB
+#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS                                      0x90CC
+#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT                                  0x90CC
+#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES                                  0x90CC
+#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS                                             0x90CD
+#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT                                         0x90CD
+#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES                                         0x90CD
+#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS                                             0x90CE
+#define GL_MAX_COMBINED_IMAGE_UNIFORMS                                             0x90CF
+#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV                                     0x90D0
+#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV                                            0x90D1
+#define GL_SHADER_STORAGE_BUFFER                                                   0x90D2
+#define GL_SHADER_STORAGE_BUFFER_BINDING                                           0x90D3
+#define GL_SHADER_STORAGE_BUFFER_START                                             0x90D4
+#define GL_SHADER_STORAGE_BUFFER_SIZE                                              0x90D5
+#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS                                        0x90D6
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS                                      0x90D7
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT                                  0x90D7
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES                                  0x90D7
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS                                  0x90D8
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT                              0x90D8
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES                              0x90D8
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS                               0x90D9
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT                           0x90D9
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES                           0x90D9
+#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS                                      0x90DA
+#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS                                       0x90DB
+#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS                                      0x90DC
+#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS                                      0x90DD
+#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE                                           0x90DE
+#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT                                  0x90DF
+#define GL_SYNC_X11_FENCE_EXT                                                      0x90E1
+#define GL_DEPTH_STENCIL_TEXTURE_MODE                                              0x90EA
+#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB                                 0x90EB
+#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS                                      0x90EB
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER                              0x90EC
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER                      0x90ED
+#define GL_DISPATCH_INDIRECT_BUFFER                                                0x90EE
+#define GL_DISPATCH_INDIRECT_BUFFER_BINDING                                        0x90EF
+#define GL_COLOR_ATTACHMENT_EXT                                                    0x90F0
+#define GL_MULTIVIEW_EXT                                                           0x90F1
+#define GL_MAX_MULTIVIEW_BUFFERS_EXT                                               0x90F2
+#define GL_CONTEXT_ROBUST_ACCESS                                                   0x90F3
+#define GL_CONTEXT_ROBUST_ACCESS_EXT                                               0x90F3
+#define GL_CONTEXT_ROBUST_ACCESS_KHR                                               0x90F3
+#define GL_COMPUTE_PROGRAM_NV                                                      0x90FB
+#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV                                     0x90FC
+#define GL_TEXTURE_2D_MULTISAMPLE                                                  0x9100
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE                                            0x9101
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY                                            0x9102
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES                                        0x9102
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY                                      0x9103
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE                                          0x9104
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY                                    0x9105
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES                                0x9105
+#define GL_TEXTURE_SAMPLES                                                         0x9106
+#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS                                          0x9107
+#define GL_SAMPLER_2D_MULTISAMPLE                                                  0x9108
+#define GL_INT_SAMPLER_2D_MULTISAMPLE                                              0x9109
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE                                     0x910A
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY                                            0x910B
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                                        0x910B
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY                                        0x910C
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                                    0x910C
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY                               0x910D
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES                           0x910D
+#define GL_MAX_COLOR_TEXTURE_SAMPLES                                               0x910E
+#define GL_MAX_DEPTH_TEXTURE_SAMPLES                                               0x910F
+#define GL_MAX_INTEGER_SAMPLES                                                     0x9110
+#define GL_MAX_SERVER_WAIT_TIMEOUT                                                 0x9111
+#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE                                           0x9111
+#define GL_OBJECT_TYPE                                                             0x9112
+#define GL_OBJECT_TYPE_APPLE                                                       0x9112
+#define GL_SYNC_CONDITION                                                          0x9113
+#define GL_SYNC_CONDITION_APPLE                                                    0x9113
+#define GL_SYNC_STATUS                                                             0x9114
+#define GL_SYNC_STATUS_APPLE                                                       0x9114
+#define GL_SYNC_FLAGS                                                              0x9115
+#define GL_SYNC_FLAGS_APPLE                                                        0x9115
+#define GL_SYNC_FENCE                                                              0x9116
+#define GL_SYNC_FENCE_APPLE                                                        0x9116
+#define GL_SYNC_GPU_COMMANDS_COMPLETE                                              0x9117
+#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE                                        0x9117
+#define GL_UNSIGNALED                                                              0x9118
+#define GL_UNSIGNALED_APPLE                                                        0x9118
+#define GL_SIGNALED                                                                0x9119
+#define GL_SIGNALED_APPLE                                                          0x9119
+#define GL_ALREADY_SIGNALED                                                        0x911A
+#define GL_ALREADY_SIGNALED_APPLE                                                  0x911A
+#define GL_TIMEOUT_EXPIRED                                                         0x911B
+#define GL_TIMEOUT_EXPIRED_APPLE                                                   0x911B
+#define GL_CONDITION_SATISFIED                                                     0x911C
+#define GL_CONDITION_SATISFIED_APPLE                                               0x911C
+#define GL_WAIT_FAILED                                                             0x911D
+#define GL_WAIT_FAILED_APPLE                                                       0x911D
+#define GL_BUFFER_ACCESS_FLAGS                                                     0x911F
+#define GL_BUFFER_MAP_LENGTH                                                       0x9120
+#define GL_BUFFER_MAP_OFFSET                                                       0x9121
+#define GL_MAX_VERTEX_OUTPUT_COMPONENTS                                            0x9122
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS                                           0x9123
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT                                       0x9123
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES                                       0x9123
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS                                          0x9124
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT                                      0x9124
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES                                      0x9124
+#define GL_MAX_FRAGMENT_INPUT_COMPONENTS                                           0x9125
+#define GL_CONTEXT_PROFILE_MASK                                                    0x9126
+#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH                                           0x9127
+#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT                                          0x9128
+#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH                                           0x9129
+#define GL_UNPACK_COMPRESSED_BLOCK_SIZE                                            0x912A
+#define GL_PACK_COMPRESSED_BLOCK_WIDTH                                             0x912B
+#define GL_PACK_COMPRESSED_BLOCK_HEIGHT                                            0x912C
+#define GL_PACK_COMPRESSED_BLOCK_DEPTH                                             0x912D
+#define GL_PACK_COMPRESSED_BLOCK_SIZE                                              0x912E
+#define GL_TEXTURE_IMMUTABLE_FORMAT                                                0x912F
+#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT                                            0x912F
+#define GL_SGX_PROGRAM_BINARY_IMG                                                  0x9130
+#define GL_RENDERBUFFER_SAMPLES_IMG                                                0x9133
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG                                  0x9134
+#define GL_MAX_SAMPLES_IMG                                                         0x9135
+#define GL_TEXTURE_SAMPLES_IMG                                                     0x9136
+#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG                                        0x9137
+#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG                                        0x9138
+#define GL_CUBIC_IMG                                                               0x9139
+#define GL_CUBIC_MIPMAP_NEAREST_IMG                                                0x913A
+#define GL_CUBIC_MIPMAP_LINEAR_IMG                                                 0x913B
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG                   0x913C
+#define GL_NUM_DOWNSAMPLE_SCALES_IMG                                               0x913D
+#define GL_DOWNSAMPLE_SCALES_IMG                                                   0x913E
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG                                0x913F
+#define GL_MAX_DEBUG_MESSAGE_LENGTH                                                0x9143
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD                                            0x9143
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB                                            0x9143
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR                                            0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES                                               0x9144
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD                                           0x9144
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB                                           0x9144
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR                                           0x9144
+#define GL_DEBUG_LOGGED_MESSAGES                                                   0x9145
+#define GL_DEBUG_LOGGED_MESSAGES_AMD                                               0x9145
+#define GL_DEBUG_LOGGED_MESSAGES_ARB                                               0x9145
+#define GL_DEBUG_LOGGED_MESSAGES_KHR                                               0x9145
+#define GL_DEBUG_SEVERITY_HIGH                                                     0x9146
+#define GL_DEBUG_SEVERITY_HIGH_AMD                                                 0x9146
+#define GL_DEBUG_SEVERITY_HIGH_ARB                                                 0x9146
+#define GL_DEBUG_SEVERITY_HIGH_KHR                                                 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM                                                   0x9147
+#define GL_DEBUG_SEVERITY_MEDIUM_AMD                                               0x9147
+#define GL_DEBUG_SEVERITY_MEDIUM_ARB                                               0x9147
+#define GL_DEBUG_SEVERITY_MEDIUM_KHR                                               0x9147
+#define GL_DEBUG_SEVERITY_LOW                                                      0x9148
+#define GL_DEBUG_SEVERITY_LOW_AMD                                                  0x9148
+#define GL_DEBUG_SEVERITY_LOW_ARB                                                  0x9148
+#define GL_DEBUG_SEVERITY_LOW_KHR                                                  0x9148
+#define GL_DEBUG_CATEGORY_API_ERROR_AMD                                            0x9149
+#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD                                        0x914A
+#define GL_DEBUG_CATEGORY_DEPRECATION_AMD                                          0x914B
+#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD                                   0x914C
+#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD                                          0x914D
+#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD                                      0x914E
+#define GL_DEBUG_CATEGORY_APPLICATION_AMD                                          0x914F
+#define GL_DEBUG_CATEGORY_OTHER_AMD                                                0x9150
+#define GL_BUFFER_OBJECT_EXT                                                       0x9151
+#define GL_DATA_BUFFER_AMD                                                         0x9151
+#define GL_PERFORMANCE_MONITOR_AMD                                                 0x9152
+#define GL_QUERY_OBJECT_AMD                                                        0x9153
+#define GL_QUERY_OBJECT_EXT                                                        0x9153
+#define GL_VERTEX_ARRAY_OBJECT_AMD                                                 0x9154
+#define GL_VERTEX_ARRAY_OBJECT_EXT                                                 0x9154
+#define GL_SAMPLER_OBJECT_AMD                                                      0x9155
+#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD                                      0x9160
+#define GL_QUERY_BUFFER                                                            0x9192
+#define GL_QUERY_BUFFER_AMD                                                        0x9192
+#define GL_QUERY_BUFFER_BINDING                                                    0x9193
+#define GL_QUERY_BUFFER_BINDING_AMD                                                0x9193
+#define GL_QUERY_RESULT_NO_WAIT                                                    0x9194
+#define GL_QUERY_RESULT_NO_WAIT_AMD                                                0x9194
+#define GL_VIRTUAL_PAGE_SIZE_X_AMD                                                 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_X_ARB                                                 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_X_EXT                                                 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_Y_AMD                                                 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Y_ARB                                                 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Y_EXT                                                 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Z_AMD                                                 0x9197
+#define GL_VIRTUAL_PAGE_SIZE_Z_ARB                                                 0x9197
+#define GL_VIRTUAL_PAGE_SIZE_Z_EXT                                                 0x9197
+#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD                                             0x9198
+#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB                                             0x9198
+#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT                                             0x9198
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD                                          0x9199
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB                                          0x9199
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT                                          0x9199
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS                                         0x919A
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB                                     0x919A
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT                                     0x919A
+#define GL_MIN_SPARSE_LEVEL_AMD                                                    0x919B
+#define GL_MIN_LOD_WARNING_AMD                                                     0x919C
+#define GL_TEXTURE_BUFFER_OFFSET                                                   0x919D
+#define GL_TEXTURE_BUFFER_OFFSET_EXT                                               0x919D
+#define GL_TEXTURE_BUFFER_OFFSET_OES                                               0x919D
+#define GL_TEXTURE_BUFFER_SIZE                                                     0x919E
+#define GL_TEXTURE_BUFFER_SIZE_EXT                                                 0x919E
+#define GL_TEXTURE_BUFFER_SIZE_OES                                                 0x919E
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT                                         0x919F
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT                                     0x919F
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES                                     0x919F
+#define GL_STREAM_RASTERIZATION_AMD                                                0x91A0
+#define GL_VERTEX_ELEMENT_SWIZZLE_AMD                                              0x91A4
+#define GL_VERTEX_ID_SWIZZLE_AMD                                                   0x91A5
+#define GL_TEXTURE_SPARSE_ARB                                                      0x91A6
+#define GL_TEXTURE_SPARSE_EXT                                                      0x91A6
+#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                                             0x91A7
+#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT                                             0x91A7
+#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB                                              0x91A8
+#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT                                              0x91A8
+#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB                              0x91A9
+#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT                              0x91A9
+#define GL_NUM_SPARSE_LEVELS_ARB                                                   0x91AA
+#define GL_NUM_SPARSE_LEVELS_EXT                                                   0x91AA
+#define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD                                         0x91AE
+#define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD                                         0x91AF
+#define GL_MAX_SHADER_COMPILER_THREADS_ARB                                         0x91B0
+#define GL_COMPLETION_STATUS_ARB                                                   0x91B1
+#define GL_COMPUTE_SHADER                                                          0x91B9
+#define GL_MAX_COMPUTE_UNIFORM_BLOCKS                                              0x91BB
+#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS                                         0x91BC
+#define GL_MAX_COMPUTE_IMAGE_UNIFORMS                                              0x91BD
+#define GL_MAX_COMPUTE_WORK_GROUP_COUNT                                            0x91BE
+#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB                                        0x91BF
+#define GL_MAX_COMPUTE_WORK_GROUP_SIZE                                             0x91BF
+#define GL_FLOAT16_MAT2_AMD                                                        0x91C5
+#define GL_FLOAT16_MAT3_AMD                                                        0x91C6
+#define GL_FLOAT16_MAT4_AMD                                                        0x91C7
+#define GL_FLOAT16_MAT2x3_AMD                                                      0x91C8
+#define GL_FLOAT16_MAT2x4_AMD                                                      0x91C9
+#define GL_FLOAT16_MAT3x2_AMD                                                      0x91CA
+#define GL_FLOAT16_MAT3x4_AMD                                                      0x91CB
+#define GL_FLOAT16_MAT4x2_AMD                                                      0x91CC
+#define GL_FLOAT16_MAT4x3_AMD                                                      0x91CD
+#define GL_UNPACK_FLIP_Y_WEBGL                                                     0x9240
+#define GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL                                          0x9241
+#define GL_CONTEXT_LOST_WEBGL                                                      0x9242
+#define GL_UNPACK_COLORSPACE_CONVERSION_WEBGL                                      0x9243
+#define GL_BROWSER_DEFAULT_WEBGL                                                   0x9244
+#define GL_SHADER_BINARY_DMP                                                       0x9250
+#define GL_SMAPHS30_PROGRAM_BINARY_DMP                                             0x9251
+#define GL_SMAPHS_PROGRAM_BINARY_DMP                                               0x9252
+#define GL_DMP_PROGRAM_BINARY_DMP                                                  0x9253
+#define GL_GCCSO_SHADER_BINARY_FJ                                                  0x9260
+#define GL_COMPRESSED_R11_EAC                                                      0x9270
+#define GL_COMPRESSED_R11_EAC_OES                                                  0x9270
+#define GL_COMPRESSED_SIGNED_R11_EAC                                               0x9271
+#define GL_COMPRESSED_SIGNED_R11_EAC_OES                                           0x9271
+#define GL_COMPRESSED_RG11_EAC                                                     0x9272
+#define GL_COMPRESSED_RG11_EAC_OES                                                 0x9272
+#define GL_COMPRESSED_SIGNED_RG11_EAC                                              0x9273
+#define GL_COMPRESSED_SIGNED_RG11_EAC_OES                                          0x9273
+#define GL_COMPRESSED_RGB8_ETC2                                                    0x9274
+#define GL_COMPRESSED_RGB8_ETC2_OES                                                0x9274
+#define GL_COMPRESSED_SRGB8_ETC2                                                   0x9275
+#define GL_COMPRESSED_SRGB8_ETC2_OES                                               0x9275
+#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2                                0x9276
+#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES                            0x9276
+#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2                               0x9277
+#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES                           0x9277
+#define GL_COMPRESSED_RGBA8_ETC2_EAC                                               0x9278
+#define GL_COMPRESSED_RGBA8_ETC2_EAC_OES                                           0x9278
+#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC                                        0x9279
+#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES                                    0x9279
+#define GL_BLEND_PREMULTIPLIED_SRC_NV                                              0x9280
+#define GL_BLEND_OVERLAP_NV                                                        0x9281
+#define GL_UNCORRELATED_NV                                                         0x9282
+#define GL_DISJOINT_NV                                                             0x9283
+#define GL_CONJOINT_NV                                                             0x9284
+#define GL_BLEND_ADVANCED_COHERENT_KHR                                             0x9285
+#define GL_BLEND_ADVANCED_COHERENT_NV                                              0x9285
+#define GL_SRC_NV                                                                  0x9286
+#define GL_DST_NV                                                                  0x9287
+#define GL_SRC_OVER_NV                                                             0x9288
+#define GL_DST_OVER_NV                                                             0x9289
+#define GL_SRC_IN_NV                                                               0x928A
+#define GL_DST_IN_NV                                                               0x928B
+#define GL_SRC_OUT_NV                                                              0x928C
+#define GL_DST_OUT_NV                                                              0x928D
+#define GL_SRC_ATOP_NV                                                             0x928E
+#define GL_DST_ATOP_NV                                                             0x928F
+#define GL_PLUS_NV                                                                 0x9291
+#define GL_PLUS_DARKER_NV                                                          0x9292
+#define GL_MULTIPLY                                                                0x9294
+#define GL_MULTIPLY_KHR                                                            0x9294
+#define GL_MULTIPLY_NV                                                             0x9294
+#define GL_SCREEN                                                                  0x9295
+#define GL_SCREEN_KHR                                                              0x9295
+#define GL_SCREEN_NV                                                               0x9295
+#define GL_OVERLAY                                                                 0x9296
+#define GL_OVERLAY_KHR                                                             0x9296
+#define GL_OVERLAY_NV                                                              0x9296
+#define GL_DARKEN                                                                  0x9297
+#define GL_DARKEN_KHR                                                              0x9297
+#define GL_DARKEN_NV                                                               0x9297
+#define GL_LIGHTEN                                                                 0x9298
+#define GL_LIGHTEN_KHR                                                             0x9298
+#define GL_LIGHTEN_NV                                                              0x9298
+#define GL_COLORDODGE                                                              0x9299
+#define GL_COLORDODGE_KHR                                                          0x9299
+#define GL_COLORDODGE_NV                                                           0x9299
+#define GL_COLORBURN                                                               0x929A
+#define GL_COLORBURN_KHR                                                           0x929A
+#define GL_COLORBURN_NV                                                            0x929A
+#define GL_HARDLIGHT                                                               0x929B
+#define GL_HARDLIGHT_KHR                                                           0x929B
+#define GL_HARDLIGHT_NV                                                            0x929B
+#define GL_SOFTLIGHT                                                               0x929C
+#define GL_SOFTLIGHT_KHR                                                           0x929C
+#define GL_SOFTLIGHT_NV                                                            0x929C
+#define GL_DIFFERENCE                                                              0x929E
+#define GL_DIFFERENCE_KHR                                                          0x929E
+#define GL_DIFFERENCE_NV                                                           0x929E
+#define GL_MINUS_NV                                                                0x929F
+#define GL_EXCLUSION                                                               0x92A0
+#define GL_EXCLUSION_KHR                                                           0x92A0
+#define GL_EXCLUSION_NV                                                            0x92A0
+#define GL_CONTRAST_NV                                                             0x92A1
+#define GL_INVERT_RGB_NV                                                           0x92A3
+#define GL_LINEARDODGE_NV                                                          0x92A4
+#define GL_LINEARBURN_NV                                                           0x92A5
+#define GL_VIVIDLIGHT_NV                                                           0x92A6
+#define GL_LINEARLIGHT_NV                                                          0x92A7
+#define GL_PINLIGHT_NV                                                             0x92A8
+#define GL_HARDMIX_NV                                                              0x92A9
+#define GL_HSL_HUE                                                                 0x92AD
+#define GL_HSL_HUE_KHR                                                             0x92AD
+#define GL_HSL_HUE_NV                                                              0x92AD
+#define GL_HSL_SATURATION                                                          0x92AE
+#define GL_HSL_SATURATION_KHR                                                      0x92AE
+#define GL_HSL_SATURATION_NV                                                       0x92AE
+#define GL_HSL_COLOR                                                               0x92AF
+#define GL_HSL_COLOR_KHR                                                           0x92AF
+#define GL_HSL_COLOR_NV                                                            0x92AF
+#define GL_HSL_LUMINOSITY                                                          0x92B0
+#define GL_HSL_LUMINOSITY_KHR                                                      0x92B0
+#define GL_HSL_LUMINOSITY_NV                                                       0x92B0
+#define GL_PLUS_CLAMPED_NV                                                         0x92B1
+#define GL_PLUS_CLAMPED_ALPHA_NV                                                   0x92B2
+#define GL_MINUS_CLAMPED_NV                                                        0x92B3
+#define GL_INVERT_OVG_NV                                                           0x92B4
+#define GL_PURGED_CONTEXT_RESET_NV                                                 0x92BB
+#define GL_PRIMITIVE_BOUNDING_BOX                                                  0x92BE
+#define GL_PRIMITIVE_BOUNDING_BOX_ARB                                              0x92BE
+#define GL_PRIMITIVE_BOUNDING_BOX_EXT                                              0x92BE
+#define GL_PRIMITIVE_BOUNDING_BOX_OES                                              0x92BE
+#define GL_ATOMIC_COUNTER_BUFFER                                                   0x92C0
+#define GL_ATOMIC_COUNTER_BUFFER_BINDING                                           0x92C1
+#define GL_ATOMIC_COUNTER_BUFFER_START                                             0x92C2
+#define GL_ATOMIC_COUNTER_BUFFER_SIZE                                              0x92C3
+#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE                                         0x92C4
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS                            0x92C5
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES                     0x92C6
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER                       0x92C7
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER                 0x92C8
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER              0x92C9
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER                     0x92CA
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER                     0x92CB
+#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS                                       0x92CC
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS                                 0x92CD
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT                             0x92CD
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES                             0x92CD
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS                              0x92CE
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT                          0x92CE
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES                          0x92CE
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS                                     0x92CF
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT                                 0x92CF
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES                                 0x92CF
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS                                     0x92D0
+#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS                                     0x92D1
+#define GL_MAX_VERTEX_ATOMIC_COUNTERS                                              0x92D2
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS                                        0x92D3
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT                                    0x92D3
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES                                    0x92D3
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS                                     0x92D4
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT                                 0x92D4
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES                                 0x92D4
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS                                            0x92D5
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT                                        0x92D5
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES                                        0x92D5
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS                                            0x92D6
+#define GL_MAX_COMBINED_ATOMIC_COUNTERS                                            0x92D7
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE                                          0x92D8
+#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS                                           0x92D9
+#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                                     0x92DA
+#define GL_UNSIGNED_INT_ATOMIC_COUNTER                                             0x92DB
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS                                      0x92DC
+#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV                                           0x92DD
+#define GL_FRAGMENT_COVERAGE_COLOR_NV                                              0x92DE
+#define GL_DEBUG_OUTPUT                                                            0x92E0
+#define GL_DEBUG_OUTPUT_KHR                                                        0x92E0
+#define GL_UNIFORM                                                                 0x92E1
+#define GL_UNIFORM_BLOCK                                                           0x92E2
+#define GL_PROGRAM_INPUT                                                           0x92E3
+#define GL_PROGRAM_OUTPUT                                                          0x92E4
+#define GL_BUFFER_VARIABLE                                                         0x92E5
+#define GL_SHADER_STORAGE_BLOCK                                                    0x92E6
+#define GL_IS_PER_PATCH                                                            0x92E7
+#define GL_IS_PER_PATCH_EXT                                                        0x92E7
+#define GL_IS_PER_PATCH_OES                                                        0x92E7
+#define GL_VERTEX_SUBROUTINE                                                       0x92E8
+#define GL_TESS_CONTROL_SUBROUTINE                                                 0x92E9
+#define GL_TESS_EVALUATION_SUBROUTINE                                              0x92EA
+#define GL_GEOMETRY_SUBROUTINE                                                     0x92EB
+#define GL_FRAGMENT_SUBROUTINE                                                     0x92EC
+#define GL_COMPUTE_SUBROUTINE                                                      0x92ED
+#define GL_VERTEX_SUBROUTINE_UNIFORM                                               0x92EE
+#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM                                         0x92EF
+#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM                                      0x92F0
+#define GL_GEOMETRY_SUBROUTINE_UNIFORM                                             0x92F1
+#define GL_FRAGMENT_SUBROUTINE_UNIFORM                                             0x92F2
+#define GL_COMPUTE_SUBROUTINE_UNIFORM                                              0x92F3
+#define GL_TRANSFORM_FEEDBACK_VARYING                                              0x92F4
+#define GL_ACTIVE_RESOURCES                                                        0x92F5
+#define GL_MAX_NAME_LENGTH                                                         0x92F6
+#define GL_MAX_NUM_ACTIVE_VARIABLES                                                0x92F7
+#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES                                          0x92F8
+#define GL_NAME_LENGTH                                                             0x92F9
+#define GL_TYPE                                                                    0x92FA
+#define GL_ARRAY_SIZE                                                              0x92FB
+#define GL_OFFSET                                                                  0x92FC
+#define GL_BLOCK_INDEX                                                             0x92FD
+#define GL_ARRAY_STRIDE                                                            0x92FE
+#define GL_MATRIX_STRIDE                                                           0x92FF
+#define GL_IS_ROW_MAJOR                                                            0x9300
+#define GL_ATOMIC_COUNTER_BUFFER_INDEX                                             0x9301
+#define GL_BUFFER_BINDING                                                          0x9302
+#define GL_BUFFER_DATA_SIZE                                                        0x9303
+#define GL_NUM_ACTIVE_VARIABLES                                                    0x9304
+#define GL_ACTIVE_VARIABLES                                                        0x9305
+#define GL_REFERENCED_BY_VERTEX_SHADER                                             0x9306
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER                                       0x9307
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT                                   0x9307
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES                                   0x9307
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER                                    0x9308
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT                                0x9308
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES                                0x9308
+#define GL_REFERENCED_BY_GEOMETRY_SHADER                                           0x9309
+#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT                                       0x9309
+#define GL_REFERENCED_BY_GEOMETRY_SHADER_OES                                       0x9309
+#define GL_REFERENCED_BY_FRAGMENT_SHADER                                           0x930A
+#define GL_REFERENCED_BY_COMPUTE_SHADER                                            0x930B
+#define GL_TOP_LEVEL_ARRAY_SIZE                                                    0x930C
+#define GL_TOP_LEVEL_ARRAY_STRIDE                                                  0x930D
+#define GL_LOCATION                                                                0x930E
+#define GL_LOCATION_INDEX                                                          0x930F
+#define GL_LOCATION_INDEX_EXT                                                      0x930F
+#define GL_FRAMEBUFFER_DEFAULT_WIDTH                                               0x9310
+#define GL_FRAMEBUFFER_DEFAULT_HEIGHT                                              0x9311
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS                                              0x9312
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT                                          0x9312
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS_OES                                          0x9312
+#define GL_FRAMEBUFFER_DEFAULT_SAMPLES                                             0x9313
+#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS                              0x9314
+#define GL_MAX_FRAMEBUFFER_WIDTH                                                   0x9315
+#define GL_MAX_FRAMEBUFFER_HEIGHT                                                  0x9316
+#define GL_MAX_FRAMEBUFFER_LAYERS                                                  0x9317
+#define GL_MAX_FRAMEBUFFER_LAYERS_EXT                                              0x9317
+#define GL_MAX_FRAMEBUFFER_LAYERS_OES                                              0x9317
+#define GL_MAX_FRAMEBUFFER_SAMPLES                                                 0x9318
+#define GL_RASTER_MULTISAMPLE_EXT                                                  0x9327
+#define GL_RASTER_SAMPLES_EXT                                                      0x9328
+#define GL_MAX_RASTER_SAMPLES_EXT                                                  0x9329
+#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT                                       0x932A
+#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT                                   0x932B
+#define GL_EFFECTIVE_RASTER_SAMPLES_EXT                                            0x932C
+#define GL_DEPTH_SAMPLES_NV                                                        0x932D
+#define GL_STENCIL_SAMPLES_NV                                                      0x932E
+#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV                                        0x932F
+#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV                                      0x9330
+#define GL_COVERAGE_MODULATION_TABLE_NV                                            0x9331
+#define GL_COVERAGE_MODULATION_NV                                                  0x9332
+#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV                                       0x9333
+#define GL_WARP_SIZE_NV                                                            0x9339
+#define GL_WARPS_PER_SM_NV                                                         0x933A
+#define GL_SM_COUNT_NV                                                             0x933B
+#define GL_FILL_RECTANGLE_NV                                                       0x933C
+#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB                                       0x933D
+#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV                                        0x933D
+#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB                                    0x933E
+#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV                                     0x933E
+#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB                                   0x933F
+#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV                                    0x933F
+#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB                             0x9340
+#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV                              0x9340
+#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB                                        0x9341
+#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV                                         0x9341
+#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB                           0x9342
+#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV                            0x9342
+#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB                              0x9343
+#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV                               0x9343
+#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB                              0x9344
+#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB                                     0x9345
+#define GL_CONSERVATIVE_RASTERIZATION_NV                                           0x9346
+#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV                                       0x9347
+#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV                                       0x9348
+#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV                                     0x9349
+#define GL_LOCATION_COMPONENT                                                      0x934A
+#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX                                         0x934B
+#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE                                        0x934C
+#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV                                          0x9350
+#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV                                          0x9351
+#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV                                          0x9352
+#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV                                          0x9353
+#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV                                          0x9354
+#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV                                          0x9355
+#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV                                          0x9356
+#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV                                          0x9357
+#define GL_VIEWPORT_SWIZZLE_X_NV                                                   0x9358
+#define GL_VIEWPORT_SWIZZLE_Y_NV                                                   0x9359
+#define GL_VIEWPORT_SWIZZLE_Z_NV                                                   0x935A
+#define GL_VIEWPORT_SWIZZLE_W_NV                                                   0x935B
+#define GL_CLIP_ORIGIN                                                             0x935C
+#define GL_CLIP_DEPTH_MODE                                                         0x935D
+#define GL_NEGATIVE_ONE_TO_ONE                                                     0x935E
+#define GL_ZERO_TO_ONE                                                             0x935F
+#define GL_CLEAR_TEXTURE                                                           0x9365
+#define GL_TEXTURE_REDUCTION_MODE_ARB                                              0x9366
+#define GL_WEIGHTED_AVERAGE_ARB                                                    0x9367
+#define GL_FONT_GLYPHS_AVAILABLE_NV                                                0x9368
+#define GL_FONT_TARGET_UNAVAILABLE_NV                                              0x9369
+#define GL_FONT_UNAVAILABLE_NV                                                     0x936A
+#define GL_FONT_UNINTELLIGIBLE_NV                                                  0x936B
+#define GL_STANDARD_FONT_FORMAT_NV                                                 0x936C
+#define GL_FRAGMENT_INPUT_NV                                                       0x936D
+#define GL_UNIFORM_BUFFER_UNIFIED_NV                                               0x936E
+#define GL_UNIFORM_BUFFER_ADDRESS_NV                                               0x936F
+#define GL_UNIFORM_BUFFER_LENGTH_NV                                                0x9370
+#define GL_MULTISAMPLES_NV                                                         0x9371
+#define GL_SUPERSAMPLE_SCALE_X_NV                                                  0x9372
+#define GL_SUPERSAMPLE_SCALE_Y_NV                                                  0x9373
+#define GL_CONFORMANT_NV                                                           0x9374
+#define GL_CONSERVATIVE_RASTER_DILATE_NV                                           0x9379
+#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV                                     0x937A
+#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV                               0x937B
+#define GL_VIEWPORT_POSITION_W_SCALE_NV                                            0x937C
+#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV                                    0x937D
+#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV                                    0x937E
+#define GL_NUM_SAMPLE_COUNTS                                                       0x9380
+#define GL_MULTISAMPLE_LINE_WIDTH_RANGE                                            0x9381
+#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB                                        0x9381
+#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY                                      0x9382
+#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB                                  0x9382
+#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE                                   0x93A0
+#define GL_BGRA8_EXT                                                               0x93A1
+#define GL_TEXTURE_USAGE_ANGLE                                                     0x93A2
+#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE                                            0x93A3
+#define GL_PACK_REVERSE_ROW_ORDER_ANGLE                                            0x93A4
+#define GL_PROGRAM_BINARY_ANGLE                                                    0x93A6
+#define GL_COMPRESSED_RGBA_ASTC_4x4                                                0x93B0
+#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR                                            0x93B0
+#define GL_COMPRESSED_RGBA_ASTC_5x4                                                0x93B1
+#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR                                            0x93B1
+#define GL_COMPRESSED_RGBA_ASTC_5x5                                                0x93B2
+#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR                                            0x93B2
+#define GL_COMPRESSED_RGBA_ASTC_6x5                                                0x93B3
+#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR                                            0x93B3
+#define GL_COMPRESSED_RGBA_ASTC_6x6                                                0x93B4
+#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR                                            0x93B4
+#define GL_COMPRESSED_RGBA_ASTC_8x5                                                0x93B5
+#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR                                            0x93B5
+#define GL_COMPRESSED_RGBA_ASTC_8x6                                                0x93B6
+#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR                                            0x93B6
+#define GL_COMPRESSED_RGBA_ASTC_8x8                                                0x93B7
+#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR                                            0x93B7
+#define GL_COMPRESSED_RGBA_ASTC_10x5                                               0x93B8
+#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR                                           0x93B8
+#define GL_COMPRESSED_RGBA_ASTC_10x6                                               0x93B9
+#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR                                           0x93B9
+#define GL_COMPRESSED_RGBA_ASTC_10x8                                               0x93BA
+#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR                                           0x93BA
+#define GL_COMPRESSED_RGBA_ASTC_10x10                                              0x93BB
+#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR                                          0x93BB
+#define GL_COMPRESSED_RGBA_ASTC_12x10                                              0x93BC
+#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR                                          0x93BC
+#define GL_COMPRESSED_RGBA_ASTC_12x12                                              0x93BD
+#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR                                          0x93BD
+#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES                                          0x93C0
+#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES                                          0x93C1
+#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES                                          0x93C2
+#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES                                          0x93C3
+#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES                                          0x93C4
+#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES                                          0x93C5
+#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES                                          0x93C6
+#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES                                          0x93C7
+#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES                                          0x93C8
+#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES                                          0x93C9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4                                        0x93D0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR                                    0x93D0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4                                        0x93D1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR                                    0x93D1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5                                        0x93D2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR                                    0x93D2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5                                        0x93D3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR                                    0x93D3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6                                        0x93D4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR                                    0x93D4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5                                        0x93D5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR                                    0x93D5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6                                        0x93D6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR                                    0x93D6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8                                        0x93D7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR                                    0x93D7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5                                       0x93D8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR                                   0x93D8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6                                       0x93D9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR                                   0x93D9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8                                       0x93DA
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR                                   0x93DA
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10                                      0x93DB
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR                                  0x93DB
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10                                      0x93DC
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR                                  0x93DC
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12                                      0x93DD
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR                                  0x93DD
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES                                  0x93E0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES                                  0x93E1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES                                  0x93E2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES                                  0x93E3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES                                  0x93E4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES                                  0x93E5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES                                  0x93E6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES                                  0x93E7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES                                  0x93E8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES                                  0x93E9
+#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG                                  0x93F0
+#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG                                  0x93F1
+#define GL_PERFQUERY_COUNTER_EVENT_INTEL                                           0x94F0
+#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL                                   0x94F1
+#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL                                    0x94F2
+#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL                                      0x94F3
+#define GL_PERFQUERY_COUNTER_RAW_INTEL                                             0x94F4
+#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL                                       0x94F5
+#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL                                     0x94F8
+#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL                                     0x94F9
+#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL                                      0x94FA
+#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL                                     0x94FB
+#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL                                     0x94FC
+#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL                                   0x94FD
+#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL                                 0x94FE
+#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL                                 0x94FF
+#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL                                   0x9500
+#define GL_CONSERVATIVE_RASTER_MODE_NV                                             0x954D
+#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV                                   0x954E
+#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV                          0x954F
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR                            0x9630
+#define GL_MAX_VIEWS_OVR                                                           0x9631
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR                      0x9632
+#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR                                 0x9633
+#define GL_GS_SHADER_BINARY_MTK                                                    0x9640
+#define GL_GS_PROGRAM_BINARY_MTK                                                   0x9641
+#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT                         0x9650
+#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT                              0x9651
+#define GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT   0x9652
+#define GL_SHARED_EDGE_NV                                                          0xC0
+#define GL_ROUNDED_RECT_NV                                                         0xE8
+#define GL_RELATIVE_ROUNDED_RECT_NV                                                0xE9
+#define GL_ROUNDED_RECT2_NV                                                        0xEA
+#define GL_RELATIVE_ROUNDED_RECT2_NV                                               0xEB
+#define GL_ROUNDED_RECT4_NV                                                        0xEC
+#define GL_RELATIVE_ROUNDED_RECT4_NV                                               0xED
+#define GL_ROUNDED_RECT8_NV                                                        0xEE
+#define GL_RELATIVE_ROUNDED_RECT8_NV                                               0xEF
+#define GL_RESTART_PATH_NV                                                         0xF0
+#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV                                             0xF2
+#define GL_DUP_LAST_CUBIC_CURVE_TO_NV                                              0xF4
+#define GL_RECT_NV                                                                 0xF6
+#define GL_RELATIVE_RECT_NV                                                        0xF7
+#define GL_CIRCULAR_CCW_ARC_TO_NV                                                  0xF8
+#define GL_CIRCULAR_CW_ARC_TO_NV                                                   0xFA
+#define GL_CIRCULAR_TANGENT_ARC_TO_NV                                              0xFC
+#define GL_ARC_TO_NV                                                               0xFE
+#define GL_RELATIVE_ARC_TO_NV                                                      0xFF
+#define GL_TRACE_ALL_BITS_MESA                                                     0xFFFF
+#define GL_ALL_BARRIER_BITS                                                        0xFFFFFFFF
+#define GL_ALL_BARRIER_BITS_EXT                                                    0xFFFFFFFF
+#define GL_ALL_PIXELS_AMD                                                          0xFFFFFFFF
+#define GL_ALL_SHADER_BITS                                                         0xFFFFFFFF
+#define GL_ALL_SHADER_BITS_EXT                                                     0xFFFFFFFF
+#define GL_CLIENT_ALL_ATTRIB_BITS                                                  0xFFFFFFFF
+#define GL_INVALID_INDEX                                                           0xFFFFFFFF
+#define GL_QUERY_ALL_EVENT_BITS_AMD                                                0xFFFFFFFF
+#define GL_TIMEOUT_IGNORED                                                         0xFFFFFFFFFFFFFFFF
+#define GL_TIMEOUT_IGNORED_APPLE                                                   0xFFFFFFFFFFFFFFFF
+#define GL_LAYOUT_LINEAR_INTEL                                                     1
+#define GL_ONE                                                                     1
+#define GL_TRUE                                                                    1
+#define GL_VERSION_ES_CL_1_0                                                       1
+#define GL_VERSION_ES_CL_1_1                                                       1
+#define GL_VERSION_ES_CM_1_1                                                       1
+#define GL_CULL_VERTEX_IBM                                                         103050
+#define GL_ALL_STATIC_DATA_IBM                                                     103060
+#define GL_STATIC_VERTEX_ARRAY_IBM                                                 103061
+#define GL_VERTEX_ARRAY_LIST_IBM                                                   103070
+#define GL_NORMAL_ARRAY_LIST_IBM                                                   103071
+#define GL_COLOR_ARRAY_LIST_IBM                                                    103072
+#define GL_INDEX_ARRAY_LIST_IBM                                                    103073
+#define GL_TEXTURE_COORD_ARRAY_LIST_IBM                                            103074
+#define GL_EDGE_FLAG_ARRAY_LIST_IBM                                                103075
+#define GL_FOG_COORDINATE_ARRAY_LIST_IBM                                           103076
+#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM                                          103077
+#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM                                            103080
+#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM                                            103081
+#define GL_COLOR_ARRAY_LIST_STRIDE_IBM                                             103082
+#define GL_INDEX_ARRAY_LIST_STRIDE_IBM                                             103083
+#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM                                     103084
+#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM                                         103085
+#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM                                    103086
+#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM                                   103087
+#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL                                          2
 
 typedef void (GLAPIENTRY *PFNGLACCUMPROC)(GLenum op, GLfloat value);
 typedef void (GLAPIENTRY *PFNGLACCUMXOESPROC)(GLenum op, GLfixed value);
@@ -6376,6 +6567,7 @@
 typedef void (GLAPIENTRY *PFNGLALPHAFUNCQCOMPROC)(GLenum func, GLclampf ref);
 typedef void (GLAPIENTRY *PFNGLALPHAFUNCXPROC)(GLenum func, GLfixed ref);
 typedef void (GLAPIENTRY *PFNGLALPHAFUNCXOESPROC)(GLenum func, GLfixed ref);
+typedef void (GLAPIENTRY *PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC)(void);
 typedef void (GLAPIENTRY *PFNGLAPPLYTEXTUREEXTPROC)(GLenum mode);
 typedef GLboolean (GLAPIENTRY *PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei n, const GLuint * programs, GLboolean * residences);
 typedef GLboolean (GLAPIENTRY *PFNGLARETEXTURESRESIDENTPROC)(GLsizei n, const GLuint * textures, GLboolean * residences);
@@ -6420,6 +6612,7 @@
 typedef void (GLAPIENTRY *PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar * name);
 typedef void (GLAPIENTRY *PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint program, GLuint color, const GLchar * name);
 typedef void (GLAPIENTRY *PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
+typedef void (GLAPIENTRY *PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
 typedef void (GLAPIENTRY *PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);
 typedef void (GLAPIENTRY *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
 typedef void (GLAPIENTRY *PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum target, GLuint framebuffer);
@@ -6469,6 +6662,7 @@
 typedef void (GLAPIENTRY *PFNGLBINORMALPOINTEREXTPROC)(GLenum type, GLsizei stride, const void * pointer);
 typedef void (GLAPIENTRY *PFNGLBITMAPPROC)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap);
 typedef void (GLAPIENTRY *PFNGLBITMAPXOESPROC)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte * bitmap);
+typedef void (GLAPIENTRY *PFNGLBLENDBARRIERPROC)(void);
 typedef void (GLAPIENTRY *PFNGLBLENDBARRIERKHRPROC)(void);
 typedef void (GLAPIENTRY *PFNGLBLENDBARRIERNVPROC)(void);
 typedef void (GLAPIENTRY *PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
@@ -6555,13 +6749,16 @@
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
-typedef void (GLAPIENTRY *PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
+typedef void (GLAPIENTRY *PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value);
+typedef void (GLAPIENTRY *PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC)(GLsizei offset, GLsizei n, const GLuint * values);
 typedef void (GLAPIENTRY *PFNGLCLEARSTENCILPROC)(GLint s);
 typedef void (GLAPIENTRY *PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
+typedef void (GLAPIENTRY *PFNGLCLEARTEXIMAGEEXTPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
 typedef void (GLAPIENTRY *PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
+typedef void (GLAPIENTRY *PFNGLCLEARTEXSUBIMAGEEXTPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
 typedef void (GLAPIENTRY *PFNGLCLIENTACTIVETEXTUREPROC)(GLenum texture);
 typedef void (GLAPIENTRY *PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum texture);
 typedef void (GLAPIENTRY *PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)(GLenum stream);
@@ -6693,6 +6890,8 @@
 typedef void (GLAPIENTRY *PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits);
 typedef void (GLAPIENTRY *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
 typedef void (GLAPIENTRY *PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits);
+typedef void (GLAPIENTRY *PFNGLCONSERVATIVERASTERPARAMETERFNVPROC)(GLenum pname, GLfloat value);
+typedef void (GLAPIENTRY *PFNGLCONSERVATIVERASTERPARAMETERINVPROC)(GLenum pname, GLint param);
 typedef void (GLAPIENTRY *PFNGLCONVOLUTIONFILTER1DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
 typedef void (GLAPIENTRY *PFNGLCONVOLUTIONFILTER1DEXTPROC)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
 typedef void (GLAPIENTRY *PFNGLCONVOLUTIONFILTER2DPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * image);
@@ -6845,9 +7044,11 @@
 typedef void (GLAPIENTRY *PFNGLDEPTHMASKPROC)(GLboolean flag);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEPROC)(GLdouble hither, GLdouble yon);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEARRAYFVNVPROC)(GLuint first, GLsizei count, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLDEPTHRANGEARRAYFVOESPROC)(GLuint first, GLsizei count, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLdouble * v);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEINDEXEDFNVPROC)(GLuint index, GLfloat n, GLfloat f);
+typedef void (GLAPIENTRY *PFNGLDEPTHRANGEINDEXEDFOESPROC)(GLuint index, GLfloat n, GLfloat f);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEDNVPROC)(GLdouble zNear, GLdouble zFar);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);
 typedef void (GLAPIENTRY *PFNGLDEPTHRANGEFOESPROC)(GLclampf n, GLclampf f);
@@ -6936,7 +7137,9 @@
 typedef void (GLAPIENTRY *PFNGLDRAWTEXXOESPROC)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
 typedef void (GLAPIENTRY *PFNGLDRAWTEXXVOESPROC)(const GLfixed * coords);
 typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint id);
+typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKEXTPROC)(GLenum mode, GLuint id);
 typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei instancecount);
+typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDEXTPROC)(GLenum mode, GLuint id, GLsizei instancecount);
 typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum mode, GLuint id);
 typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream);
 typedef void (GLAPIENTRY *PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
@@ -7003,6 +7206,7 @@
 typedef void (GLAPIENTRY *PFNGLEVALMESH2PROC)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
 typedef void (GLAPIENTRY *PFNGLEVALPOINT1PROC)(GLint i);
 typedef void (GLAPIENTRY *PFNGLEVALPOINT2PROC)(GLint i, GLint j);
+typedef void (GLAPIENTRY *PFNGLEVALUATEDEPTHVALUESARBPROC)(void);
 typedef void (GLAPIENTRY *PFNGLEXECUTEPROGRAMNVPROC)(GLenum target, GLuint id, const GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLEXTGETBUFFERPOINTERVQCOMPROC)(GLenum target, void ** params);
 typedef void (GLAPIENTRY *PFNGLEXTGETBUFFERSQCOMPROC)(GLuint * buffers, GLint maxBuffers, GLint * numBuffers);
@@ -7081,15 +7285,19 @@
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint framebuffer, GLsizei n, const GLenum * bufs);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target, GLsizei size);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint framebuffer, GLenum mode);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERRENDERBUFFEROESPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)(GLenum target, GLuint start, GLsizei count, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)(GLenum target, GLuint start, GLsizei count, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)(GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat * values);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE2DDOWNSAMPLEIMGPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
@@ -7103,7 +7311,9 @@
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURELAYERDOWNSAMPLEIMGPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
 typedef void (GLAPIENTRY *PFNGLFRAMEBUFFERTEXTUREOESPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLFREEOBJECTBUFFERATIPROC)(GLuint buffer);
@@ -7240,9 +7450,11 @@
 typedef void (GLAPIENTRY *PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat * data);
 typedef void (GLAPIENTRY *PFNGLGETFLOATI_VEXTPROC)(GLenum pname, GLuint index, GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLGETFLOATI_VNVPROC)(GLenum target, GLuint index, GLfloat * data);
+typedef void (GLAPIENTRY *PFNGLGETFLOATI_VOESPROC)(GLenum target, GLuint index, GLfloat * data);
 typedef void (GLAPIENTRY *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat * data);
 typedef void (GLAPIENTRY *PFNGLGETFOGFUNCSGISPROC)(GLfloat * points);
 typedef GLint (GLAPIENTRY *PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar * name);
+typedef GLint (GLAPIENTRY *PFNGLGETFRAGDATAINDEXEXTPROC)(GLuint program, const GLchar * name);
 typedef GLint (GLAPIENTRY *PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar * name);
 typedef GLint (GLAPIENTRY *PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint program, const GLchar * name);
 typedef void (GLAPIENTRY *PFNGLGETFRAGMENTLIGHTFVSGIXPROC)(GLenum light, GLenum pname, GLfloat * params);
@@ -7252,8 +7464,10 @@
 typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC)(GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat * values);
 typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint * params);
+typedef GLsizei (GLAPIENTRY *PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target);
 typedef GLenum (GLAPIENTRY *PFNGLGETGRAPHICSRESETSTATUSPROC)(void);
 typedef GLenum (GLAPIENTRY *PFNGLGETGRAPHICSRESETSTATUSARBPROC)(void);
 typedef GLenum (GLAPIENTRY *PFNGLGETGRAPHICSRESETSTATUSEXTPROC)(void);
@@ -7341,6 +7555,7 @@
 typedef void (GLAPIENTRY *PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
 typedef void (GLAPIENTRY *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
+typedef void (GLAPIENTRY *PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC)(GLenum framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat * values);
 typedef void (GLAPIENTRY *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)(GLuint framebuffer, GLenum pname, GLint * param);
 typedef void (GLAPIENTRY *PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint framebuffer, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint program, GLenum target, GLuint index, GLint * params);
@@ -7426,6 +7641,7 @@
 typedef GLuint (GLAPIENTRY *PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar * name);
 typedef GLint (GLAPIENTRY *PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar * name);
 typedef GLint (GLAPIENTRY *PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar * name);
+typedef GLint (GLAPIENTRY *PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)(GLuint program, GLenum programInterface, const GLchar * name);
 typedef void (GLAPIENTRY *PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
 typedef void (GLAPIENTRY *PFNGLGETPROGRAMRESOURCEFVNVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params);
@@ -7509,6 +7725,7 @@
 typedef void (GLAPIENTRY *PFNGLGETTEXPARAMETERXVPROC)(GLenum target, GLenum pname, GLfixed * params);
 typedef void (GLAPIENTRY *PFNGLGETTEXPARAMETERXVOESPROC)(GLenum target, GLenum pname, GLfixed * params);
 typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTUREHANDLEARBPROC)(GLuint texture);
+typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTUREHANDLEIMGPROC)(GLuint texture);
 typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTUREHANDLENVPROC)(GLuint texture);
 typedef void (GLAPIENTRY *PFNGLGETTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
 typedef void (GLAPIENTRY *PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
@@ -7525,6 +7742,7 @@
 typedef void (GLAPIENTRY *PFNGLGETTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint texture, GLenum target, GLenum pname, GLint * params);
 typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint texture, GLuint sampler);
+typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTURESAMPLERHANDLEIMGPROC)(GLuint texture, GLuint sampler);
 typedef GLuint64 (GLAPIENTRY *PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint texture, GLuint sampler);
 typedef void (GLAPIENTRY *PFNGLGETTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
 typedef void (GLAPIENTRY *PFNGLGETTRACKMATRIXIVNVPROC)(GLenum target, GLuint address, GLenum pname, GLint * params);
@@ -7545,9 +7763,11 @@
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat * params);
+typedef void (GLAPIENTRY *PFNGLGETUNIFORMI64VARBPROC)(GLuint program, GLint location, GLint64 * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMI64VNVPROC)(GLuint program, GLint location, GLint64EXT * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint * params);
+typedef void (GLAPIENTRY *PFNGLGETUNIFORMUI64VARBPROC)(GLuint program, GLint location, GLuint64 * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMUI64VNVPROC)(GLuint program, GLint location, GLuint64EXT * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint * params);
 typedef void (GLAPIENTRY *PFNGLGETUNIFORMUIVEXTPROC)(GLuint program, GLint location, GLuint * params);
@@ -7630,10 +7850,12 @@
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMFVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMFVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMFVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
+typedef void (GLAPIENTRY *PFNGLGETNUNIFORMI64VARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint64 * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMIVEXTPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMIVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
+typedef void (GLAPIENTRY *PFNGLGETNUNIFORMUI64VARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint64 * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMUIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMUIVARBPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
 typedef void (GLAPIENTRY *PFNGLGETNUNIFORMUIVKHRPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
@@ -7869,6 +8091,7 @@
 typedef void (GLAPIENTRY *PFNGLMATRIXSCALEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
 typedef void (GLAPIENTRY *PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
 typedef void (GLAPIENTRY *PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY *PFNGLMAXSHADERCOMPILERTHREADSARBPROC)(GLuint count);
 typedef void (GLAPIENTRY *PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);
 typedef void (GLAPIENTRY *PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers);
 typedef void (GLAPIENTRY *PFNGLMEMORYBARRIEREXTPROC)(GLbitfield barriers);
@@ -8047,7 +8270,9 @@
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)(GLuint framebuffer, GLenum src);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC)(GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat * values);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef void (GLAPIENTRY *PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
@@ -8215,6 +8440,8 @@
 typedef void (GLAPIENTRY *PFNGLPOPNAMEPROC)(void);
 typedef void (GLAPIENTRY *PFNGLPRESENTFRAMEDUALFILLNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
 typedef void (GLAPIENTRY *PFNGLPRESENTFRAMEKEYEDNVPROC)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+typedef void (GLAPIENTRY *PFNGLPRIMITIVEBOUNDINGBOXPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
+typedef void (GLAPIENTRY *PFNGLPRIMITIVEBOUNDINGBOXARBPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 typedef void (GLAPIENTRY *PFNGLPRIMITIVEBOUNDINGBOXEXTPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 typedef void (GLAPIENTRY *PFNGLPRIMITIVEBOUNDINGBOXOESPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 typedef void (GLAPIENTRY *PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);
@@ -8275,13 +8502,17 @@
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1I64ARBPROC)(GLuint program, GLint location, GLint64 x);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1I64NVPROC)(GLuint program, GLint location, GLint64EXT x);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint program, GLint location, GLint v0);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UI64ARBPROC)(GLuint program, GLint location, GLuint64 x);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint program, GLint location, GLuint v0);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value);
@@ -8295,13 +8526,17 @@
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value);
@@ -8315,13 +8550,17 @@
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value);
@@ -8335,20 +8574,26 @@
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4I64ARBPROC)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4I64NVPROC)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4I64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4I64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UI64ARBPROC)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UI64NVPROC)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint program, GLint location, GLuint64 value);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64IMGPROC)(GLuint program, GLint location, GLuint64 value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint program, GLint location, GLuint64 value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
+typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64VIMGPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 typedef void (GLAPIENTRY *PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
@@ -8531,10 +8776,13 @@
 typedef void (GLAPIENTRY *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
 typedef void (GLAPIENTRY *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint * v);
 typedef void (GLAPIENTRY *PFNGLSCISSORARRAYVNVPROC)(GLuint first, GLsizei count, const GLint * v);
+typedef void (GLAPIENTRY *PFNGLSCISSORARRAYVOESPROC)(GLuint first, GLsizei count, const GLint * v);
 typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDNVPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDOESPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint * v);
 typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDVNVPROC)(GLuint index, const GLint * v);
+typedef void (GLAPIENTRY *PFNGLSCISSORINDEXEDVOESPROC)(GLuint index, const GLint * v);
 typedef void (GLAPIENTRY *PFNGLSECONDARYCOLOR3BPROC)(GLbyte red, GLbyte green, GLbyte blue);
 typedef void (GLAPIENTRY *PFNGLSECONDARYCOLOR3BEXTPROC)(GLbyte red, GLbyte green, GLbyte blue);
 typedef void (GLAPIENTRY *PFNGLSECONDARYCOLOR3BVPROC)(const GLbyte * v);
@@ -8872,13 +9120,17 @@
 typedef void (GLAPIENTRY *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
+typedef void (GLAPIENTRY *PFNGLUNIFORM1I64ARBPROC)(GLint location, GLint64 x);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1I64NVPROC)(GLint location, GLint64EXT x);
+typedef void (GLAPIENTRY *PFNGLUNIFORM1I64VARBPROC)(GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);
+typedef void (GLAPIENTRY *PFNGLUNIFORM1UI64ARBPROC)(GLint location, GLuint64 x);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1UI64NVPROC)(GLint location, GLuint64EXT x);
+typedef void (GLAPIENTRY *PFNGLUNIFORM1UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1UIEXTPROC)(GLint location, GLuint v0);
 typedef void (GLAPIENTRY *PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint * value);
@@ -8890,13 +9142,17 @@
 typedef void (GLAPIENTRY *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRY *PFNGLUNIFORM2I64ARBPROC)(GLint location, GLint64 x, GLint64 y);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (GLAPIENTRY *PFNGLUNIFORM2I64VARBPROC)(GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRY *PFNGLUNIFORM2UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (GLAPIENTRY *PFNGLUNIFORM2UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2UIEXTPROC)(GLint location, GLuint v0, GLuint v1);
 typedef void (GLAPIENTRY *PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint * value);
@@ -8908,13 +9164,17 @@
 typedef void (GLAPIENTRY *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRY *PFNGLUNIFORM3I64ARBPROC)(GLint location, GLint64 x, GLint64 y, GLint64 z);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (GLAPIENTRY *PFNGLUNIFORM3I64VARBPROC)(GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRY *PFNGLUNIFORM3UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (GLAPIENTRY *PFNGLUNIFORM3UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
 typedef void (GLAPIENTRY *PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint * value);
@@ -8926,13 +9186,17 @@
 typedef void (GLAPIENTRY *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRY *PFNGLUNIFORM4I64ARBPROC)(GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4I64NVPROC)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (GLAPIENTRY *PFNGLUNIFORM4I64VARBPROC)(GLint location, GLsizei count, const GLint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4I64VNVPROC)(GLint location, GLsizei count, const GLint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRY *PFNGLUNIFORM4UI64ARBPROC)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4UI64NVPROC)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (GLAPIENTRY *PFNGLUNIFORM4UI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4UI64VNVPROC)(GLint location, GLsizei count, const GLuint64EXT * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4UIEXTPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 typedef void (GLAPIENTRY *PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint * value);
@@ -8940,8 +9204,10 @@
 typedef void (GLAPIENTRY *PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
 typedef void (GLAPIENTRY *PFNGLUNIFORMBUFFEREXTPROC)(GLuint program, GLint location, GLuint buffer);
 typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint location, GLuint64 value);
+typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64IMGPROC)(GLint location, GLuint64 value);
 typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64NVPROC)(GLint location, GLuint64 value);
 typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint location, GLsizei count, const GLuint64 * value);
+typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64VIMGPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint location, GLsizei count, const GLuint64 * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 typedef void (GLAPIENTRY *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
@@ -9368,10 +9634,15 @@
 typedef void (GLAPIENTRY *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTARRAYVNVPROC)(GLuint first, GLsizei count, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLVIEWPORTARRAYVOESPROC)(GLuint first, GLsizei count, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFNVPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFOESPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat * v);
 typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFVNVPROC)(GLuint index, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLVIEWPORTINDEXEDFVOESPROC)(GLuint index, const GLfloat * v);
+typedef void (GLAPIENTRY *PFNGLVIEWPORTPOSITIONWSCALENVPROC)(GLuint index, GLfloat xcoeff, GLfloat ycoeff);
+typedef void (GLAPIENTRY *PFNGLVIEWPORTSWIZZLENVPROC)(GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
 typedef void (GLAPIENTRY *PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
 typedef void (GLAPIENTRY *PFNGLWAITSYNCAPPLEPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
 typedef void (GLAPIENTRY *PFNGLWEIGHTPATHSNVPROC)(GLuint resultPath, GLsizei numPaths, const GLuint * paths, const GLfloat * weights);
@@ -9441,6170 +9712,6333 @@
 typedef void (GLAPIENTRY *PFNGLWINDOWPOS4IVMESAPROC)(const GLint * v);
 typedef void (GLAPIENTRY *PFNGLWINDOWPOS4SMESAPROC)(GLshort x, GLshort y, GLshort z, GLshort w);
 typedef void (GLAPIENTRY *PFNGLWINDOWPOS4SVMESAPROC)(const GLshort * v);
+typedef void (GLAPIENTRY *PFNGLWINDOWRECTANGLESEXTPROC)(GLenum mode, GLsizei count, const GLint * box);
 typedef void (GLAPIENTRY *PFNGLWRITEMASKEXTPROC)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAccum)(GLenum op, GLfloat value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAccum)(GLenum op, GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAccumxOES)(GLenum op, GLfixed value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAccumxOES)(GLenum op, GLfixed value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveProgramEXT)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveProgramEXT)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveShaderProgram)(GLuint pipeline, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveShaderProgram)(GLuint pipeline, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveShaderProgramEXT)(GLuint pipeline, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveShaderProgramEXT)(GLuint pipeline, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveStencilFaceEXT)(GLenum face);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveStencilFaceEXT)(GLenum face);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveTexture)(GLenum texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveTexture)(GLenum texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveTextureARB)(GLenum texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveTextureARB)(GLenum texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glActiveVaryingNV)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glActiveVaryingNV)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFunc)(GLenum func, GLfloat ref);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFunc)(GLenum func, GLfloat ref);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFuncQCOM)(GLenum func, GLclampf ref);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFuncQCOM)(GLenum func, GLclampf ref);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFuncx)(GLenum func, GLfixed ref);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFuncx)(GLenum func, GLfixed ref);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAlphaFuncxOES)(GLenum func, GLfixed ref);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAlphaFuncxOES)(GLenum func, GLfixed ref);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glApplyTextureEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glApplyFramebufferAttachmentCMAAINTEL)(void);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glAreProgramsResidentNV)(GLsizei n, const GLuint * programs, GLboolean * residences);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glApplyTextureEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glAreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glAreProgramsResidentNV)(GLsizei n, const GLuint * programs, GLboolean * residences);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glAreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glAreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glArrayElement)(GLint i);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glAreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glArrayElementEXT)(GLint i);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glArrayElement)(GLint i);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glArrayObjectATI)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glArrayElementEXT)(GLint i);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAsyncMarkerSGIX)(GLuint marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glArrayObjectATI)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAsyncMarkerSGIX)(GLuint marker);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glAttachShader)(GLuint program, GLuint shader);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBegin)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glAttachShader)(GLuint program, GLuint shader);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRender)(GLuint id, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBegin)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRenderNV)(GLuint id, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRender)(GLuint id, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRenderNVX)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRenderNV)(GLuint id, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginFragmentShaderATI)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginConditionalRenderNVX)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginOcclusionQueryNV)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginFragmentShaderATI)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginPerfMonitorAMD)(GLuint monitor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginOcclusionQueryNV)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginPerfQueryINTEL)(GLuint queryHandle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginPerfMonitorAMD)(GLuint monitor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginQuery)(GLenum target, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginPerfQueryINTEL)(GLuint queryHandle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginQueryARB)(GLenum target, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginQuery)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginQueryEXT)(GLenum target, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginQueryARB)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginQueryIndexed)(GLenum target, GLuint index, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginQueryEXT)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedback)(GLenum primitiveMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginQueryIndexed)(GLenum target, GLuint index, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedbackEXT)(GLenum primitiveMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedback)(GLenum primitiveMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedbackNV)(GLenum primitiveMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedbackEXT)(GLenum primitiveMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginVertexShaderEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginTransformFeedbackNV)(GLenum primitiveMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBeginVideoCaptureNV)(GLuint video_capture_slot);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginVertexShaderEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindAttribLocation)(GLuint program, GLuint index, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBeginVideoCaptureNV)(GLuint video_capture_slot);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindAttribLocation)(GLuint program, GLuint index, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBuffer)(GLenum target, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferARB)(GLenum target, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBuffer)(GLenum target, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferBase)(GLenum target, GLuint index, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferARB)(GLenum target, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferBase)(GLenum target, GLuint index, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferBaseNV)(GLenum target, GLuint index, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferBaseNV)(GLenum target, GLuint index, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferOffsetNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferOffsetNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBufferRangeNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBuffersBase)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBufferRangeNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindBuffersRange)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBuffersBase)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocation)(GLuint program, GLuint color, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindBuffersRange)(GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocationEXT)(GLuint program, GLuint color, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocation)(GLuint program, GLuint color, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocationEXT)(GLuint program, GLuint color, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFragmentShaderATI)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFramebuffer)(GLenum target, GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFragDataLocationIndexedEXT)(GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFramebufferEXT)(GLenum target, GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFragmentShaderATI)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindFramebufferOES)(GLenum target, GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFramebuffer)(GLenum target, GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFramebufferEXT)(GLenum target, GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindImageTextureEXT)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindFramebufferOES)(GLenum target, GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindImageTextures)(GLuint first, GLsizei count, const GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glBindLightParameterEXT)(GLenum light, GLenum value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindImageTextureEXT)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glBindMaterialParameterEXT)(GLenum face, GLenum value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindImageTextures)(GLuint first, GLsizei count, const GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindMultiTextureEXT)(GLenum texunit, GLenum target, GLuint texture);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glBindLightParameterEXT)(GLenum light, GLenum value);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glBindParameterEXT)(GLenum value);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glBindMaterialParameterEXT)(GLenum face, GLenum value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindProgramARB)(GLenum target, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindMultiTextureEXT)(GLenum texunit, GLenum target, GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindProgramNV)(GLenum target, GLuint id);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glBindParameterEXT)(GLenum value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindProgramPipeline)(GLuint pipeline);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindProgramARB)(GLenum target, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindProgramPipelineEXT)(GLuint pipeline);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindProgramNV)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindRenderbuffer)(GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindProgramPipeline)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindRenderbufferEXT)(GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindProgramPipelineEXT)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindRenderbufferOES)(GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindRenderbuffer)(GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindSampler)(GLuint unit, GLuint sampler);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindRenderbufferEXT)(GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindSamplers)(GLuint first, GLsizei count, const GLuint * samplers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindRenderbufferOES)(GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glBindTexGenParameterEXT)(GLenum unit, GLenum coord, GLenum value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindSampler)(GLuint unit, GLuint sampler);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTexture)(GLenum target, GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindSamplers)(GLuint first, GLsizei count, const GLuint * samplers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTextureEXT)(GLenum target, GLuint texture);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glBindTexGenParameterEXT)(GLenum unit, GLenum coord, GLenum value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTextureUnit)(GLuint unit, GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTexture)(GLenum target, GLuint texture);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glBindTextureUnitParameterEXT)(GLenum unit, GLenum value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTextureEXT)(GLenum target, GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTextures)(GLuint first, GLsizei count, const GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTextureUnit)(GLuint unit, GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTransformFeedback)(GLenum target, GLuint id);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glBindTextureUnitParameterEXT)(GLenum unit, GLenum value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindTransformFeedbackNV)(GLenum target, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTextures)(GLuint first, GLsizei count, const GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexArray)(GLuint array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTransformFeedback)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexArrayAPPLE)(GLuint array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindTransformFeedbackNV)(GLenum target, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexArrayOES)(GLuint array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexArray)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexArrayAPPLE)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexBuffers)(GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexArrayOES)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVertexShaderEXT)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVideoCaptureStreamBufferNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexBuffers)(GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBindVideoCaptureStreamTextureNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVertexShaderEXT)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3bEXT)(GLbyte bx, GLbyte by, GLbyte bz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVideoCaptureStreamBufferNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3bvEXT)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBindVideoCaptureStreamTextureNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3dEXT)(GLdouble bx, GLdouble by, GLdouble bz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3bEXT)(GLbyte bx, GLbyte by, GLbyte bz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3dvEXT)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3bvEXT)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3fEXT)(GLfloat bx, GLfloat by, GLfloat bz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3dEXT)(GLdouble bx, GLdouble by, GLdouble bz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3fvEXT)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3dvEXT)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3iEXT)(GLint bx, GLint by, GLint bz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3fEXT)(GLfloat bx, GLfloat by, GLfloat bz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3ivEXT)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3fvEXT)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3sEXT)(GLshort bx, GLshort by, GLshort bz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3iEXT)(GLint bx, GLint by, GLint bz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormal3svEXT)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3ivEXT)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBinormalPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3sEXT)(GLshort bx, GLshort by, GLshort bz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormal3svEXT)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBitmapxOES)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte * bitmap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBinormalPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendBarrierKHR)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendBarrierNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBitmapxOES)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte * bitmap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendBarrier)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendColorEXT)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendBarrierKHR)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendBarrierNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquation)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendColorEXT)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationIndexedAMD)(GLuint buf, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationOES)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquation)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationIndexedAMD)(GLuint buf, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateIndexedAMD)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationOES)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateOES)(GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateIndexedAMD)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiEXT)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateOES)(GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiOES)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationi)(GLuint buf, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationiARB)(GLuint buf, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiEXT)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationiEXT)(GLuint buf, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationSeparateiOES)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendEquationiOES)(GLuint buf, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationi)(GLuint buf, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFunc)(GLenum sfactor, GLenum dfactor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationiARB)(GLuint buf, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncIndexedAMD)(GLuint buf, GLenum src, GLenum dst);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationiEXT)(GLuint buf, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendEquationiOES)(GLuint buf, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFunc)(GLenum sfactor, GLenum dfactor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncIndexedAMD)(GLuint buf, GLenum src, GLenum dst);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateIndexedAMD)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateOES)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparatei)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateIndexedAMD)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiEXT)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateOES)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiOES)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparatei)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFunci)(GLuint buf, GLenum src, GLenum dst);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFunciARB)(GLuint buf, GLenum src, GLenum dst);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiEXT)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFunciEXT)(GLuint buf, GLenum src, GLenum dst);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFuncSeparateiOES)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendFunciOES)(GLuint buf, GLenum src, GLenum dst);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFunci)(GLuint buf, GLenum src, GLenum dst);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlendParameteriNV)(GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFunciARB)(GLuint buf, GLenum src, GLenum dst);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFunciEXT)(GLuint buf, GLenum src, GLenum dst);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferANGLE)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendFunciOES)(GLuint buf, GLenum src, GLenum dst);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlendParameteriNV)(GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferNV)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBlitNamedFramebuffer)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferANGLE)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferAddressRangeNV)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferData)(GLenum target, GLsizeiptr size, const void * data, GLenum usage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlitFramebufferNV)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferDataARB)(GLenum target, GLsizeiptrARB size, const void * data, GLenum usage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBlitNamedFramebuffer)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferPageCommitmentARB)(GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferAddressRangeNV)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferData)(GLenum target, GLsizeiptr size, const void * data, GLenum usage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferStorage)(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferDataARB)(GLenum target, GLsizeiptrARB size, const void * data, GLenum usage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferStorageEXT)(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferPageCommitmentARB)(GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferStorage)(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCallCommandListNV)(GLuint list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferStorageEXT)(GLenum target, GLsizeiptr size, const void * data, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCallList)(GLuint list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCallLists)(GLsizei n, GLenum type, const void * lists);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void * data);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatus)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCallCommandListNV)(GLuint list);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatusEXT)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCallList)(GLuint list);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatusOES)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCallLists)(GLsizei n, GLenum type, const void * lists);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glCheckNamedFramebufferStatus)(GLuint framebuffer, GLenum target);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatus)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glCheckNamedFramebufferStatusEXT)(GLuint framebuffer, GLenum target);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatusEXT)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClampColor)(GLenum target, GLenum clamp);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glCheckFramebufferStatusOES)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClampColorARB)(GLenum target, GLenum clamp);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glCheckNamedFramebufferStatus)(GLuint framebuffer, GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClear)(GLbitfield mask);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glCheckNamedFramebufferStatusEXT)(GLuint framebuffer, GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClampColor)(GLenum target, GLenum clamp);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearAccumxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClampColorARB)(GLenum target, GLenum clamp);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClear)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearAccumxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearColorIiEXT)(GLint red, GLint green, GLint blue, GLint alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearColorIuiEXT)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearColorx)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearColorIiEXT)(GLint red, GLint green, GLint blue, GLint alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepth)(GLdouble depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearColorIuiEXT)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepthdNV)(GLdouble depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearColorx)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepthf)(GLfloat d);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepthfOES)(GLclampf depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepth)(GLdouble depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepthx)(GLfixed depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepthdNV)(GLdouble depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearDepthxOES)(GLfixed depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepthf)(GLfloat d);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearIndex)(GLfloat c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepthfOES)(GLclampf depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferData)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepthx)(GLfixed depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferDataEXT)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearDepthxOES)(GLfixed depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferSubData)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearIndex)(GLfloat c);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferSubDataEXT)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferData)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferfi)(GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferDataEXT)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferfv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferSubData)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedBufferSubDataEXT)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferuiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferfi)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearStencil)(GLint s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferfv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearTexImage)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClearTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearNamedFramebufferuiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClientActiveTexture)(GLenum texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearPixelLocalStorageuiEXT)(GLsizei offset, GLsizei n, const GLuint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClientActiveTextureARB)(GLenum texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearStencil)(GLint s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClientActiveVertexStreamATI)(GLenum stream);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearTexImage)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClientAttribDefaultEXT)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearTexImageEXT)(GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glClientWaitSyncAPPLE)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClearTexSubImageEXT)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipControl)(GLenum origin, GLenum depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClientActiveTexture)(GLenum texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlane)(GLenum plane, const GLdouble * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClientActiveTextureARB)(GLenum texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanef)(GLenum p, const GLfloat * eqn);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClientActiveVertexStreamATI)(GLenum stream);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanefIMG)(GLenum p, const GLfloat * eqn);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClientAttribDefaultEXT)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanefOES)(GLenum plane, const GLfloat * equation);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanex)(GLenum plane, const GLfixed * equation);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glClientWaitSyncAPPLE)(GLsync sync, GLbitfield flags, GLuint64 timeout);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanexIMG)(GLenum p, const GLfixed * eqn);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipControl)(GLenum origin, GLenum depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glClipPlanexOES)(GLenum plane, const GLfixed * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlane)(GLenum plane, const GLdouble * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3b)(GLbyte red, GLbyte green, GLbyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanef)(GLenum p, const GLfloat * eqn);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3bv)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanefIMG)(GLenum p, const GLfloat * eqn);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3d)(GLdouble red, GLdouble green, GLdouble blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanefOES)(GLenum plane, const GLfloat * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanex)(GLenum plane, const GLfixed * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3f)(GLfloat red, GLfloat green, GLfloat blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanexIMG)(GLenum p, const GLfixed * eqn);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glClipPlanexOES)(GLenum plane, const GLfixed * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3fVertex3fvSUN)(const GLfloat * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3b)(GLbyte red, GLbyte green, GLbyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3bv)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3d)(GLdouble red, GLdouble green, GLdouble blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3i)(GLint red, GLint green, GLint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3f)(GLfloat red, GLfloat green, GLfloat blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3s)(GLshort red, GLshort green, GLshort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3fVertex3fvSUN)(const GLfloat * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3ubv)(const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3ui)(GLuint red, GLuint green, GLuint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3i)(GLint red, GLint green, GLint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3uiv)(const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3us)(GLushort red, GLushort green, GLushort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3s)(GLshort red, GLshort green, GLshort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3usv)(const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3xOES)(GLfixed red, GLfixed green, GLfixed blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor3xvOES)(const GLfixed * components);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3ubv)(const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3ui)(GLuint red, GLuint green, GLuint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4bv)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3uiv)(const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3us)(GLushort red, GLushort green, GLushort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3usv)(const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3xOES)(GLfixed red, GLfixed green, GLfixed blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4fNormal3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor3xvOES)(const GLfixed * components);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4fNormal3fVertex3fvSUN)(const GLfloat * c, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4bv)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4i)(GLint red, GLint green, GLint blue, GLint alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4fNormal3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4fNormal3fVertex3fvSUN)(const GLfloat * c, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex2fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex2fvSUN)(const GLubyte * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4i)(GLint red, GLint green, GLint blue, GLint alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex3fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex3fvSUN)(const GLubyte * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ubv)(const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4uiv)(const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex2fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex2fvSUN)(const GLubyte * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4usv)(const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex3fSUN)(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4x)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ubVertex3fvSUN)(const GLubyte * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4xOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ubv)(const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColor4xvOES)(const GLfixed * components);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorFormatNV)(GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4uiv)(const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4usv)(const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4x)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4xOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMaskIndexedEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColor4xvOES)(const GLfixed * components);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMaski)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorFormatNV)(GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMaskiEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMaskiOES)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorMaterial)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorP3ui)(GLenum type, GLuint color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorP3uiv)(GLenum type, const GLuint * color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMaskIndexedEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorP4ui)(GLenum type, GLuint color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMaski)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorP4uiv)(GLenum type, const GLuint * color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMaskiEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMaskiOES)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorMaterial)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorP3ui)(GLenum type, GLuint color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorPointervINTEL)(GLint size, GLenum type, const void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorP3uiv)(GLenum type, const GLuint * color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorP4ui)(GLenum type, GLuint color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorP4uiv)(GLenum type, const GLuint * color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableParameterfvSGI)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorPointervINTEL)(GLint size, GLenum type, const void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableParameterivSGI)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glColorTableSGI)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerParameterfNV)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableParameterfvSGI)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerParameterfvNV)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerParameteriNV)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableParameterivSGI)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerParameterivNV)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glColorTableSGI)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCombinerStageParameterfvNV)(GLenum stage, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCommandListSegmentsNV)(GLuint list, GLuint segments);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompileCommandListNV)(GLuint list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerParameterfNV)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompileShader)(GLuint shader);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerParameterfvNV)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompileShaderARB)(GLhandleARB shaderObj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerParameteriNV)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompileShaderIncludeARB)(GLuint shader, GLsizei count, const GLchar *const* path, const GLint * length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerParameterivNV)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCombinerStageParameterfvNV)(GLenum stage, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCommandListSegmentsNV)(GLuint list, GLuint segments);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompileCommandListNV)(GLuint list);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompileShader)(GLuint shader);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompileShaderARB)(GLhandleARB shaderObj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompileShaderIncludeARB)(GLuint shader, GLsizei count, const GLchar *const* path, const GLint * length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCompressedTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * bits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConservativeRasterParameterfNV)(GLenum pname, GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConservativeRasterParameteriNV)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteri)(GLenum target, GLenum pname, GLint params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterxOES)(GLenum target, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterxvOES)(GLenum target, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyBufferSubDataNV)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteri)(GLenum target, GLenum pname, GLint params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyColorTableSGI)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterxOES)(GLenum target, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glConvolutionParameterxvOES)(GLenum target, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyBufferSubDataNV)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataEXT)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataNV)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataOES)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyColorTableSGI)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyNamedBufferSubData)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataEXT)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyPathNV)(GLuint resultPath, GLuint srcPath);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataNV)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyImageSubDataOES)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyNamedBufferSubData)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyPathNV)(GLuint resultPath, GLuint srcPath);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureLevelsAPPLE)(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverFillPathNV)(GLuint path, GLenum coverMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureLevelsAPPLE)(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverStrokePathNV)(GLuint path, GLenum coverMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverageMaskNV)(GLboolean mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverageModulationNV)(GLenum components);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverageModulationTableNV)(GLsizei n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCoverageOperationNV)(GLenum operation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCopyTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateBuffers)(GLsizei n, GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateCommandListsNV)(GLsizei n, GLuint * lists);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverFillPathNV)(GLuint path, GLenum coverMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateFramebuffers)(GLsizei n, GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreatePerfQueryINTEL)(GLuint queryId, GLuint * queryHandle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverStrokePathNV)(GLuint path, GLenum coverMode);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glCreateProgram)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverageMaskNV)(GLboolean mask);
 
-extern EPOXY_IMPORTEXPORT GLhandleARB (EPOXY_CALLSPEC *epoxy_glCreateProgramObjectARB)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverageModulationNV)(GLenum components);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateProgramPipelines)(GLsizei n, GLuint * pipelines);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverageModulationTableNV)(GLsizei n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateQueries)(GLenum target, GLsizei n, GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCoverageOperationNV)(GLenum operation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateRenderbuffers)(GLsizei n, GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateBuffers)(GLsizei n, GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateSamplers)(GLsizei n, GLuint * samplers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateCommandListsNV)(GLsizei n, GLuint * lists);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glCreateShader)(GLenum type);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateFramebuffers)(GLsizei n, GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT GLhandleARB (EPOXY_CALLSPEC *epoxy_glCreateShaderObjectARB)(GLenum shaderType);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreatePerfQueryINTEL)(GLuint queryId, GLuint * queryHandle);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramEXT)(GLenum type, const GLchar * string);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glCreateProgram)(void);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const* strings);
+EPOXY_PUBLIC GLhandleARB (EPOXY_CALLSPEC *epoxy_glCreateProgramObjectARB)(void);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramvEXT)(GLenum type, GLsizei count, const GLchar ** strings);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateProgramPipelines)(GLsizei n, GLuint * pipelines);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateStatesNV)(GLsizei n, GLuint * states);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateQueries)(GLenum target, GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT GLsync (EPOXY_CALLSPEC *epoxy_glCreateSyncFromCLeventARB)(struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateRenderbuffers)(GLsizei n, GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateTextures)(GLenum target, GLsizei n, GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateSamplers)(GLsizei n, GLuint * samplers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateTransformFeedbacks)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glCreateShader)(GLenum type);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCreateVertexArrays)(GLsizei n, GLuint * arrays);
+EPOXY_PUBLIC GLhandleARB (EPOXY_CALLSPEC *epoxy_glCreateShaderObjectARB)(GLenum shaderType);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCullFace)(GLenum mode);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramEXT)(GLenum type, const GLchar * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCullParameterdvEXT)(GLenum pname, GLdouble * params);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const* strings);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCullParameterfvEXT)(GLenum pname, GLfloat * params);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glCreateShaderProgramvEXT)(GLenum type, GLsizei count, const GLchar ** strings);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCurrentPaletteMatrixARB)(GLint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateStatesNV)(GLsizei n, GLuint * states);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glCurrentPaletteMatrixOES)(GLuint matrixpaletteindex);
+EPOXY_PUBLIC GLsync (EPOXY_CALLSPEC *epoxy_glCreateSyncFromCLeventARB)(struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallback)(GLDEBUGPROC callback, const void * userParam);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateTextures)(GLenum target, GLsizei n, GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackAMD)(GLDEBUGPROCAMD callback, void * userParam);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateTransformFeedbacks)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackARB)(GLDEBUGPROCARB callback, const void * userParam);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCreateVertexArrays)(GLsizei n, GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackKHR)(GLDEBUGPROCKHR callback, const void * userParam);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCullFace)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCullParameterdvEXT)(GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCullParameterfvEXT)(GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageControlKHR)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCurrentPaletteMatrixARB)(GLint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageEnableAMD)(GLenum category, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glCurrentPaletteMatrixOES)(GLuint matrixpaletteindex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallback)(GLDEBUGPROC callback, const void * userParam);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertAMD)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar * buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackAMD)(GLDEBUGPROCAMD callback, void * userParam);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackARB)(GLDEBUGPROCARB callback, const void * userParam);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageCallbackKHR)(GLDEBUGPROCKHR callback, const void * userParam);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeformSGIX)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeformationMap3dSGIX)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeformationMap3fSGIX)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageControlKHR)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteAsyncMarkersSGIX)(GLuint marker, GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageEnableAMD)(GLenum category, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteBuffers)(GLsizei n, const GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteBuffersARB)(GLsizei n, const GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertAMD)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar * buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteCommandListsNV)(GLsizei n, const GLuint * lists);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFencesAPPLE)(GLsizei n, const GLuint * fences);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDebugMessageInsertKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFencesNV)(GLsizei n, const GLuint * fences);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeformSGIX)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFragmentShaderATI)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeformationMap3dSGIX)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffers)(GLsizei n, const GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeformationMap3fSGIX)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteAsyncMarkersSGIX)(GLuint marker, GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffersOES)(GLsizei n, const GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteBuffers)(GLsizei n, const GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteLists)(GLuint list, GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteBuffersARB)(GLsizei n, const GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteNamedStringARB)(GLint namelen, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteCommandListsNV)(GLsizei n, const GLuint * lists);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteNamesAMD)(GLenum identifier, GLuint num, const GLuint * names);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFencesAPPLE)(GLsizei n, const GLuint * fences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteObjectARB)(GLhandleARB obj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFencesNV)(GLsizei n, const GLuint * fences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteOcclusionQueriesNV)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFragmentShaderATI)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeletePathsNV)(GLuint path, GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffers)(GLsizei n, const GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeletePerfMonitorsAMD)(GLsizei n, GLuint * monitors);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeletePerfQueryINTEL)(GLuint queryHandle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteFramebuffersOES)(GLsizei n, const GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteProgram)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteLists)(GLuint list, GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteProgramPipelines)(GLsizei n, const GLuint * pipelines);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteNamedStringARB)(GLint namelen, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteProgramPipelinesEXT)(GLsizei n, const GLuint * pipelines);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteNamesAMD)(GLenum identifier, GLuint num, const GLuint * names);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteProgramsARB)(GLsizei n, const GLuint * programs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteObjectARB)(GLhandleARB obj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteProgramsNV)(GLsizei n, const GLuint * programs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteOcclusionQueriesNV)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteQueries)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeletePathsNV)(GLuint path, GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteQueriesARB)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeletePerfMonitorsAMD)(GLsizei n, GLuint * monitors);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteQueriesEXT)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeletePerfQueryINTEL)(GLuint queryHandle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffers)(GLsizei n, const GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteProgram)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteProgramPipelines)(GLsizei n, const GLuint * pipelines);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffersOES)(GLsizei n, const GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteProgramPipelinesEXT)(GLsizei n, const GLuint * pipelines);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteSamplers)(GLsizei count, const GLuint * samplers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteProgramsARB)(GLsizei n, const GLuint * programs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteShader)(GLuint shader);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteProgramsNV)(GLsizei n, const GLuint * programs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteStatesNV)(GLsizei n, const GLuint * states);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteQueries)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteSync)(GLsync sync);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteQueriesARB)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteSyncAPPLE)(GLsync sync);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteQueriesEXT)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteTextures)(GLsizei n, const GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffers)(GLsizei n, const GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteTexturesEXT)(GLsizei n, const GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteTransformFeedbacks)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteRenderbuffersOES)(GLsizei n, const GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteTransformFeedbacksNV)(GLsizei n, const GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteSamplers)(GLsizei count, const GLuint * samplers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArrays)(GLsizei n, const GLuint * arrays);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteShader)(GLuint shader);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteStatesNV)(GLsizei n, const GLuint * states);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArraysOES)(GLsizei n, const GLuint * arrays);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteSync)(GLsync sync);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDeleteVertexShaderEXT)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteSyncAPPLE)(GLsync sync);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthBoundsEXT)(GLclampd zmin, GLclampd zmax);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteTextures)(GLsizei n, const GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthBoundsdNV)(GLdouble zmin, GLdouble zmax);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteTexturesEXT)(GLsizei n, const GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthFunc)(GLenum func);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteTransformFeedbacks)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthMask)(GLboolean flag);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteTransformFeedbacksNV)(GLsizei n, const GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRange)(GLdouble hither, GLdouble yon);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArrays)(GLsizei n, const GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangeArrayfvNV)(GLuint first, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangeArrayv)(GLuint first, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteVertexArraysOES)(GLsizei n, const GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangeIndexed)(GLuint index, GLdouble n, GLdouble f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDeleteVertexShaderEXT)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangeIndexedfNV)(GLuint index, GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthBoundsEXT)(GLclampd zmin, GLclampd zmax);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangedNV)(GLdouble zNear, GLdouble zFar);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthBoundsdNV)(GLdouble zmin, GLdouble zmax);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangef)(GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthFunc)(GLenum func);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangefOES)(GLclampf n, GLclampf f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthMask)(GLboolean flag);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangex)(GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRange)(GLdouble hither, GLdouble yon);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDepthRangexOES)(GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeArrayfvNV)(GLuint first, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeArrayfvOES)(GLuint first, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDetachShader)(GLuint program, GLuint shader);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeArrayv)(GLuint first, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeIndexed)(GLuint index, GLdouble n, GLdouble f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisable)(GLenum cap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeIndexedfNV)(GLuint index, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableClientState)(GLenum array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangeIndexedfOES)(GLuint index, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableClientStateIndexedEXT)(GLenum array, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangedNV)(GLdouble zNear, GLdouble zFar);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableClientStateiEXT)(GLenum array, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangef)(GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableDriverControlQCOM)(GLuint driverControl);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangefOES)(GLclampf n, GLclampf f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableIndexedEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangex)(GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVariantClientStateEXT)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDepthRangexOES)(GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayAttrib)(GLuint vaobj, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDetachShader)(GLuint program, GLuint shader);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayEXT)(GLuint vaobj, GLenum array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribAPPLE)(GLuint index, GLenum pname);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisable)(GLenum cap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribArray)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableClientState)(GLenum array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribArrayARB)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableClientStateIndexedEXT)(GLenum array, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisablei)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableClientStateiEXT)(GLenum array, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableiEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableDriverControlQCOM)(GLuint driverControl);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableiNV)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableIndexedEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDisableiOES)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVariantClientStateEXT)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDiscardFramebufferEXT)(GLenum target, GLsizei numAttachments, const GLenum * attachments);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayAttrib)(GLuint vaobj, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDispatchComputeGroupSizeARB)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexArrayEXT)(GLuint vaobj, GLenum array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDispatchComputeIndirect)(GLintptr indirect);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribAPPLE)(GLuint index, GLenum pname);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArrays)(GLenum mode, GLint first, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribArray)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysEXT)(GLenum mode, GLint first, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableVertexAttribArrayARB)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysIndirect)(GLenum mode, const void * indirect);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisablei)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableiEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedANGLE)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableiNV)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDisableiOES)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDiscardFramebufferEXT)(GLenum target, GLsizei numAttachments, const GLenum * attachments);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedBaseInstanceEXT)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedEXT)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDispatchComputeGroupSizeARB)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedNV)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDispatchComputeIndirect)(GLintptr indirect);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffer)(GLenum buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArrays)(GLenum mode, GLint first, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffers)(GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysEXT)(GLenum mode, GLint first, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffersARB)(GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysIndirect)(GLenum mode, const void * indirect);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffersATI)(GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffersEXT)(GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedANGLE)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffersIndexedEXT)(GLint n, const GLenum * location, const GLint * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawBuffersNV)(GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawCommandsAddressNV)(GLenum primitiveMode, const GLuint64 * indirects, const GLsizei * sizes, GLuint count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedBaseInstanceEXT)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawCommandsNV)(GLenum primitiveMode, GLuint buffer, const GLintptr * indirects, const GLsizei * sizes, GLuint count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedEXT)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawCommandsStatesAddressNV)(const GLuint64 * indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawArraysInstancedNV)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawCommandsStatesNV)(GLuint buffer, const GLintptr * indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffer)(GLenum buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementArrayAPPLE)(GLenum mode, GLint first, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffers)(GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementArrayATI)(GLenum mode, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffersARB)(GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElements)(GLenum mode, GLsizei count, GLenum type, const void * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffersATI)(GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffersEXT)(GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertexEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffersIndexedEXT)(GLint n, const GLenum * location, const GLint * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertexOES)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawBuffersNV)(GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsIndirect)(GLenum mode, GLenum type, const void * indirect);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawCommandsAddressNV)(GLenum primitiveMode, const GLuint64 * indirects, const GLsizei * sizes, GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawCommandsNV)(GLenum primitiveMode, GLuint buffer, const GLintptr * indirects, const GLsizei * sizes, GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedANGLE)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawCommandsStatesAddressNV)(const GLuint64 * indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawCommandsStatesNV)(GLuint buffer, const GLintptr * indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementArrayAPPLE)(GLenum mode, GLint first, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseInstanceEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementArrayATI)(GLenum mode, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElements)(GLenum mode, GLsizei count, GLenum type, const void * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexBaseInstanceEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertexEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsBaseVertexOES)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexOES)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsIndirect)(GLenum mode, GLenum type, const void * indirect);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedNV)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedANGLE)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawMeshArraysSUN)(GLenum mode, GLint first, GLsizei count, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseInstanceEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementArrayATI)(GLenum mode, GLuint start, GLuint end, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexBaseInstanceEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertexEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertexOES)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedBaseVertexOES)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexfOES)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawElementsInstancedNV)(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexfvOES)(const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawMeshArraysSUN)(GLenum mode, GLint first, GLsizei count, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexiOES)(GLint x, GLint y, GLint z, GLint width, GLint height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexivOES)(const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexsOES)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementArrayATI)(GLenum mode, GLuint start, GLuint end, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexsvOES)(const GLshort * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTextureNV)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexxOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertexEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTexxvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsBaseVertexOES)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedback)(GLenum mode, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei instancecount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexfOES)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackNV)(GLenum mode, GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexfvOES)(const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexiOES)(GLint x, GLint y, GLint z, GLint width, GLint height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexivOES)(const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexsOES)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexsvOES)(const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlag)(GLboolean flag);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTextureNV)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlagFormatNV)(GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexxOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointer)(GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTexxvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedback)(GLenum mode, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointerListIBM)(GLint stride, const GLboolean ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackEXT)(GLenum mode, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEdgeFlagv)(const GLboolean * flag);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei instancecount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glElementPointerAPPLE)(GLenum type, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackInstancedEXT)(GLenum mode, GLuint id, GLsizei instancecount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glElementPointerATI)(GLenum type, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackNV)(GLenum mode, GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnable)(GLenum cap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableClientState)(GLenum array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glDrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableClientStateIndexedEXT)(GLenum array, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableClientStateiEXT)(GLenum array, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableDriverControlQCOM)(GLuint driverControl);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlag)(GLboolean flag);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableIndexedEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlagFormatNV)(GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVariantClientStateEXT)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointer)(GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayAttrib)(GLuint vaobj, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlagPointerListIBM)(GLint stride, const GLboolean ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayEXT)(GLuint vaobj, GLenum array);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEdgeFlagv)(const GLboolean * flag);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribAPPLE)(GLuint index, GLenum pname);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glElementPointerAPPLE)(GLenum type, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribArray)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glElementPointerATI)(GLenum type, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribArrayARB)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnable)(GLenum cap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnablei)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableClientState)(GLenum array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableiEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableClientStateIndexedEXT)(GLenum array, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableiNV)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableClientStateiEXT)(GLenum array, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnableiOES)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableDriverControlQCOM)(GLuint driverControl);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEnd)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableIndexedEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndConditionalRender)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVariantClientStateEXT)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndConditionalRenderNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayAttrib)(GLuint vaobj, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndConditionalRenderNVX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndFragmentShaderATI)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexArrayEXT)(GLuint vaobj, GLenum array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndList)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribAPPLE)(GLuint index, GLenum pname);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndOcclusionQueryNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribArray)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndPerfMonitorAMD)(GLuint monitor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableVertexAttribArrayARB)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndPerfQueryINTEL)(GLuint queryHandle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnablei)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndQuery)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableiEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndQueryARB)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableiNV)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndQueryEXT)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnableiOES)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndQueryIndexed)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEnd)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndTilingQCOM)(GLbitfield preserveMask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndConditionalRender)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedback)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndConditionalRenderNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedbackEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndConditionalRenderNVX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedbackNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndFragmentShaderATI)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndVertexShaderEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndList)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEndVideoCaptureNV)(GLuint video_capture_slot);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndOcclusionQueryNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1d)(GLdouble u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndPerfMonitorAMD)(GLuint monitor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1dv)(const GLdouble * u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndPerfQueryINTEL)(GLuint queryHandle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1f)(GLfloat u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndQuery)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1fv)(const GLfloat * u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndQueryARB)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1xOES)(GLfixed u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndQueryEXT)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord1xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndQueryIndexed)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2d)(GLdouble u, GLdouble v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndTilingQCOM)(GLbitfield preserveMask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2dv)(const GLdouble * u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedback)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2f)(GLfloat u, GLfloat v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedbackEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2fv)(const GLfloat * u);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndTransformFeedbackNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2xOES)(GLfixed u, GLfixed v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndVertexShaderEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalCoord2xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEndVideoCaptureNV)(GLuint video_capture_slot);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalMapsNV)(GLenum target, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1d)(GLdouble u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalMesh1)(GLenum mode, GLint i1, GLint i2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1dv)(const GLdouble * u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1f)(GLfloat u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalPoint1)(GLint i);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1fv)(const GLfloat * u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glEvalPoint2)(GLint i, GLint j);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1xOES)(GLfixed u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord1xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetBufferPointervQCOM)(GLenum target, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2d)(GLdouble u, GLdouble v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetBuffersQCOM)(GLuint * buffers, GLint maxBuffers, GLint * numBuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2dv)(const GLdouble * u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetFramebuffersQCOM)(GLuint * framebuffers, GLint maxFramebuffers, GLint * numFramebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2f)(GLfloat u, GLfloat v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetProgramBinarySourceQCOM)(GLuint program, GLenum shadertype, GLchar * source, GLint * length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2fv)(const GLfloat * u);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetProgramsQCOM)(GLuint * programs, GLint maxPrograms, GLint * numPrograms);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2xOES)(GLfixed u, GLfixed v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetRenderbuffersQCOM)(GLuint * renderbuffers, GLint maxRenderbuffers, GLint * numRenderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalCoord2xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetShadersQCOM)(GLuint * shaders, GLint maxShaders, GLint * numShaders);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalMapsNV)(GLenum target, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetTexLevelParameterivQCOM)(GLuint texture, GLenum face, GLint level, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalMesh1)(GLenum mode, GLint i1, GLint i2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetTexSubImageQCOM)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void * texels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtGetTexturesQCOM)(GLuint * textures, GLint maxTextures, GLint * numTextures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalPoint1)(GLint i);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glExtIsProgramBinaryQCOM)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvalPoint2)(GLint i, GLint j);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtTexObjectStateOverrideiQCOM)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glEvaluateDepthValuesARB)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glExtractComponentEXT)(GLuint res, GLuint src, GLuint num);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetBufferPointervQCOM)(GLenum target, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFeedbackBufferxOES)(GLsizei n, GLenum type, const GLfixed * buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetBuffersQCOM)(GLuint * buffers, GLint maxBuffers, GLint * numBuffers);
 
-extern EPOXY_IMPORTEXPORT GLsync (EPOXY_CALLSPEC *epoxy_glFenceSync)(GLenum condition, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetFramebuffersQCOM)(GLuint * framebuffers, GLint maxFramebuffers, GLint * numFramebuffers);
 
-extern EPOXY_IMPORTEXPORT GLsync (EPOXY_CALLSPEC *epoxy_glFenceSyncAPPLE)(GLenum condition, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetProgramBinarySourceQCOM)(GLuint program, GLenum shadertype, GLchar * source, GLint * length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetProgramsQCOM)(GLuint * programs, GLint maxPrograms, GLint * numPrograms);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinish)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetRenderbuffersQCOM)(GLuint * renderbuffers, GLint maxRenderbuffers, GLint * numRenderbuffers);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glFinishAsyncSGIX)(GLuint * markerp);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetShadersQCOM)(GLuint * shaders, GLint maxShaders, GLint * numShaders);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinishFenceAPPLE)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetTexLevelParameterivQCOM)(GLuint texture, GLenum face, GLint level, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinishFenceNV)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetTexSubImageQCOM)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void * texels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinishObjectAPPLE)(GLenum object, GLint name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtGetTexturesQCOM)(GLuint * textures, GLint maxTextures, GLint * numTextures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFinishTextureSUNX)(void);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glExtIsProgramBinaryQCOM)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlush)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtTexObjectStateOverrideiQCOM)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glExtractComponentEXT)(GLuint res, GLuint src, GLuint num);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRangeEXT)(GLenum target, GLintptr offset, GLsizeiptr length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFeedbackBufferxOES)(GLsizei n, GLenum type, const GLfixed * buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushMappedNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length);
+EPOXY_PUBLIC GLsync (EPOXY_CALLSPEC *epoxy_glFenceSync)(GLenum condition, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushMappedNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length);
+EPOXY_PUBLIC GLsync (EPOXY_CALLSPEC *epoxy_glFenceSyncAPPLE)(GLenum condition, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushPixelDataRangeNV)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushRasterSGIX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinish)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushStaticDataIBM)(GLenum target);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glFinishAsyncSGIX)(GLuint * markerp);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushVertexArrayRangeAPPLE)(GLsizei length, void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinishFenceAPPLE)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFlushVertexArrayRangeNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinishFenceNV)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordFormatNV)(GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinishObjectAPPLE)(GLenum object, GLint name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordPointer)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFinishTextureSUNX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlush)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordd)(GLdouble coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoorddEXT)(GLdouble coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushMappedBufferRangeEXT)(GLenum target, GLintptr offset, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoorddv)(const GLdouble * coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushMappedNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoorddvEXT)(const GLdouble * coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushMappedNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordf)(GLfloat coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushPixelDataRangeNV)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordfEXT)(GLfloat coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushRasterSGIX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordfv)(const GLfloat * coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushStaticDataIBM)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordfvEXT)(const GLfloat * coord);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushVertexArrayRangeAPPLE)(GLsizei length, void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordhNV)(GLhalfNV fog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFlushVertexArrayRangeNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogCoordhvNV)(const GLhalfNV * fog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordFormatNV)(GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogFuncSGIS)(GLsizei n, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordPointer)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogf)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogfv)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogi)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordd)(GLdouble coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogiv)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoorddEXT)(GLdouble coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogx)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoorddv)(const GLdouble * coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogxOES)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoorddvEXT)(const GLdouble * coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogxv)(GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordf)(GLfloat coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFogxvOES)(GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordfEXT)(GLfloat coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentColorMaterialSGIX)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordfv)(const GLfloat * coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentCoverageColorNV)(GLuint color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordfvEXT)(const GLfloat * coord);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelfSGIX)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordhNV)(GLhalfNV fog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelfvSGIX)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogCoordhvNV)(const GLhalfNV * fog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightModeliSGIX)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogFuncSGIS)(GLsizei n, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelivSGIX)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogf)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightfSGIX)(GLenum light, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogfv)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightfvSGIX)(GLenum light, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogi)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightiSGIX)(GLenum light, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogiv)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentLightivSGIX)(GLenum light, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogx)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialfSGIX)(GLenum face, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogxOES)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialfvSGIX)(GLenum face, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogxv)(GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialiSGIX)(GLenum face, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFogxvOES)(GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialivSGIX)(GLenum face, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentColorMaterialSGIX)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrameTerminatorGREMEDY)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentCoverageColorNV)(GLuint color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrameZoomSGIX)(GLint factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelfSGIX)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferDrawBufferEXT)(GLuint framebuffer, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelfvSGIX)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferDrawBuffersEXT)(GLuint framebuffer, GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightModeliSGIX)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferParameteri)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightModelivSGIX)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferReadBufferEXT)(GLuint framebuffer, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightfSGIX)(GLenum light, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightfvSGIX)(GLenum light, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightiSGIX)(GLenum light, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbufferOES)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentLightivSGIX)(GLenum light, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferSampleLocationsfvNV)(GLenum target, GLuint start, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialfSGIX)(GLenum face, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialfvSGIX)(GLenum face, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialiSGIX)(GLenum face, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFragmentMaterialivSGIX)(GLenum face, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrameTerminatorGREMEDY)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrameZoomSGIX)(GLint factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DMultisampleEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferDrawBufferEXT)(GLuint framebuffer, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DMultisampleIMG)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferDrawBuffersEXT)(GLuint framebuffer, GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferParameteri)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferPixelLocalStorageSizeEXT)(GLuint target, GLsizei size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferReadBufferEXT)(GLuint framebuffer, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferRenderbufferOES)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferSampleLocationsfvARB)(GLenum target, GLuint start, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureFaceEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferSampleLocationsfvNV)(GLenum target, GLuint start, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferSamplePositionsfvAMD)(GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayerARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureMultiviewOVR)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureOES)(GLenum target, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFreeObjectBufferATI)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DDownsampleIMG)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrontFace)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DMultisampleEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrustumf)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DMultisampleIMG)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrustumfOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture2DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrustumx)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glFrustumxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenAsyncMarkersSGIX)(GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenBuffers)(GLsizei n, GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenBuffersARB)(GLsizei n, GLuint * buffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenFencesAPPLE)(GLsizei n, GLuint * fences);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenFencesNV)(GLsizei n, GLuint * fences);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureFaceEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenFragmentShadersATI)(GLuint range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenFramebuffers)(GLsizei n, GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayerARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenFramebuffersEXT)(GLsizei n, GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayerDownsampleIMG)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenFramebuffersOES)(GLsizei n, GLuint * framebuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenLists)(GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureMultisampleMultiviewOVR)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenNamesAMD)(GLenum identifier, GLuint num, GLuint * names);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureMultiviewOVR)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenOcclusionQueriesNV)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFramebufferTextureOES)(GLenum target, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenPathsNV)(GLsizei range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFreeObjectBufferATI)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenPerfMonitorsAMD)(GLsizei n, GLuint * monitors);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrontFace)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenProgramPipelines)(GLsizei n, GLuint * pipelines);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenProgramPipelinesEXT)(GLsizei n, GLuint * pipelines);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrustumf)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenProgramsARB)(GLsizei n, GLuint * programs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrustumfOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenProgramsNV)(GLsizei n, GLuint * programs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrustumx)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenQueries)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glFrustumxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenQueriesARB)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenAsyncMarkersSGIX)(GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenQueriesEXT)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenBuffers)(GLsizei n, GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffers)(GLsizei n, GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenBuffersARB)(GLsizei n, GLuint * buffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenFencesAPPLE)(GLsizei n, GLuint * fences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffersOES)(GLsizei n, GLuint * renderbuffers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenFencesNV)(GLsizei n, GLuint * fences);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenSamplers)(GLsizei count, GLuint * samplers);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenFragmentShadersATI)(GLuint range);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenSymbolsEXT)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenFramebuffers)(GLsizei n, GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenTextures)(GLsizei n, GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenFramebuffersEXT)(GLsizei n, GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenTexturesEXT)(GLsizei n, GLuint * textures);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenFramebuffersOES)(GLsizei n, GLuint * framebuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenTransformFeedbacks)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenLists)(GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenTransformFeedbacksNV)(GLsizei n, GLuint * ids);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenNamesAMD)(GLenum identifier, GLuint num, GLuint * names);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenVertexArrays)(GLsizei n, GLuint * arrays);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenOcclusionQueriesNV)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenVertexArraysAPPLE)(GLsizei n, GLuint * arrays);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenPathsNV)(GLsizei range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenVertexArraysOES)(GLsizei n, GLuint * arrays);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenPerfMonitorsAMD)(GLsizei n, GLuint * monitors);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGenVertexShadersEXT)(GLuint range);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenProgramPipelines)(GLsizei n, GLuint * pipelines);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateMipmap)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenProgramPipelinesEXT)(GLsizei n, GLuint * pipelines);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateMipmapEXT)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenProgramsARB)(GLsizei n, GLuint * programs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateMipmapOES)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenProgramsNV)(GLsizei n, GLuint * programs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateMultiTexMipmapEXT)(GLenum texunit, GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenQueries)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateTextureMipmap)(GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenQueriesARB)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGenerateTextureMipmapEXT)(GLuint texture, GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenQueriesEXT)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveAtomicCounterBufferiv)(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffers)(GLsizei n, GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenRenderbuffersOES)(GLsizei n, GLuint * renderbuffers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenSamplers)(GLsizei count, GLuint * samplers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineUniformName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenSymbolsEXT)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineUniformiv)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenTextures)(GLsizei n, GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenTexturesEXT)(GLsizei n, GLuint * textures);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenTransformFeedbacks)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenTransformFeedbacksNV)(GLsizei n, GLuint * ids);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenVertexArrays)(GLsizei n, GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenVertexArraysAPPLE)(GLsizei n, GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenVertexArraysOES)(GLsizei n, GLuint * arrays);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetActiveVaryingNV)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGenVertexShadersEXT)(GLuint range);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetArrayObjectfvATI)(GLenum array, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateMipmap)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetArrayObjectivATI)(GLenum array, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateMipmapEXT)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateMipmapOES)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateMultiTexMipmapEXT)(GLenum texunit, GLenum target);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetAttribLocation)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateTextureMipmap)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetAttribLocationARB)(GLhandleARB programObj, const GLcharARB * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGenerateTextureMipmapEXT)(GLuint texture, GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBooleanIndexedvEXT)(GLenum target, GLuint index, GLboolean * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveAtomicCounterBufferiv)(GLuint program, GLuint bufferIndex, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBooleani_v)(GLenum target, GLuint index, GLboolean * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBooleanv)(GLenum pname, GLboolean * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineUniformName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei * length, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveSubroutineUniformiv)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferParameterui64vNV)(GLenum target, GLenum pname, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferPointerv)(GLenum target, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferPointervARB)(GLenum target, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferPointervOES)(GLenum target, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetClipPlane)(GLenum plane, GLdouble * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetActiveVaryingNV)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetClipPlanef)(GLenum plane, GLfloat * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetArrayObjectfvATI)(GLenum array, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetClipPlanefOES)(GLenum plane, GLfloat * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetArrayObjectivATI)(GLenum array, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetClipPlanex)(GLenum plane, GLfixed * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxCount, GLsizei * count, GLhandleARB * obj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetClipPlanexOES)(GLenum plane, GLfixed * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTable)(GLenum target, GLenum format, GLenum type, void * table);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetAttribLocation)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableEXT)(GLenum target, GLenum format, GLenum type, void * data);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetAttribLocationARB)(GLhandleARB programObj, const GLcharARB * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBooleanIndexedvEXT)(GLenum target, GLuint index, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBooleani_v)(GLenum target, GLuint index, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBooleanv)(GLenum pname, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetColorTableSGI)(GLenum target, GLenum format, GLenum type, void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferParameterui64vNV)(GLenum target, GLenum pname, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferPointerv)(GLenum target, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferPointervARB)(GLenum target, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferPointervOES)(GLenum target, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCombinerStageParameterfvNV)(GLenum stage, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetCommandHeaderNV)(GLenum tokenID, GLuint size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetClipPlane)(GLenum plane, GLdouble * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedMultiTexImageEXT)(GLenum texunit, GLenum target, GLint lod, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetClipPlanef)(GLenum plane, GLfloat * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedTexImage)(GLenum target, GLint level, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetClipPlanefOES)(GLenum plane, GLfloat * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedTexImageARB)(GLenum target, GLint level, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetClipPlanex)(GLenum plane, GLfixed * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureImage)(GLuint texture, GLint level, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetClipPlanexOES)(GLenum plane, GLfixed * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureImageEXT)(GLuint texture, GLenum target, GLint lod, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTable)(GLenum target, GLenum format, GLenum type, void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableEXT)(GLenum target, GLenum format, GLenum type, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionFilter)(GLenum target, GLenum format, GLenum type, void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetColorTableSGI)(GLenum target, GLenum format, GLenum type, void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetCoverageModulationTableNV)(GLsizei bufsize, GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLog)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogAMD)(GLuint count, GLsizei bufsize, GLenum * categories, GLuint * severities, GLuint * ids, GLsizei * lengths, GLchar * message);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogARB)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogKHR)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCombinerStageParameterfvNV)(GLenum stage, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDetailTexFuncSGIS)(GLenum target, GLfloat * points);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetCommandHeaderNV)(GLenum tokenID, GLuint size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDoubleIndexedvEXT)(GLenum target, GLuint index, GLdouble * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedMultiTexImageEXT)(GLenum texunit, GLenum target, GLint lod, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDoublei_v)(GLenum target, GLuint index, GLdouble * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedTexImage)(GLenum target, GLint level, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDoublei_vEXT)(GLenum pname, GLuint index, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedTexImageARB)(GLenum target, GLint level, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDoublev)(GLenum pname, GLdouble * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureImage)(GLuint texture, GLint level, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDriverControlStringQCOM)(GLuint driverControl, GLsizei bufSize, GLsizei * length, GLchar * driverControlString);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureImageEXT)(GLuint texture, GLenum target, GLint lod, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetDriverControlsQCOM)(GLint * num, GLsizei size, GLuint * driverControls);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCompressedTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glGetError)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionFilter)(GLenum target, GLenum format, GLenum type, void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFenceivNV)(GLuint fence, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFirstPerfQueryIdINTEL)(GLuint * queryId);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFixedv)(GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFixedvOES)(GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetConvolutionParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFloatIndexedvEXT)(GLenum target, GLuint index, GLfloat * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetCoverageModulationTableNV)(GLsizei bufsize, GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFloati_v)(GLenum target, GLuint index, GLfloat * data);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLog)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFloati_vEXT)(GLenum pname, GLuint index, GLfloat * params);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogAMD)(GLuint count, GLsizei bufsize, GLenum * categories, GLuint * severities, GLuint * ids, GLsizei * lengths, GLchar * message);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFloati_vNV)(GLenum target, GLuint index, GLfloat * data);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogARB)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFloatv)(GLenum pname, GLfloat * data);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetDebugMessageLogKHR)(GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFogFuncSGIS)(GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDetailTexFuncSGIS)(GLenum target, GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataIndex)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDoubleIndexedvEXT)(GLenum target, GLuint index, GLdouble * data);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataLocation)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDoublei_v)(GLenum target, GLuint index, GLdouble * data);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataLocationEXT)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDoublei_vEXT)(GLenum pname, GLuint index, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFragmentLightfvSGIX)(GLenum light, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDoublev)(GLenum pname, GLdouble * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFragmentLightivSGIX)(GLenum light, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDriverControlStringQCOM)(GLuint driverControl, GLsizei bufSize, GLsizei * length, GLchar * driverControlString);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFragmentMaterialfvSGIX)(GLenum face, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetDriverControlsQCOM)(GLint * num, GLsizei size, GLuint * driverControls);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFragmentMaterialivSGIX)(GLenum face, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glGetError)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFenceivNV)(GLuint fence, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameterivOES)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFramebufferParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFirstPerfQueryIdINTEL)(GLuint * queryId);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFixedv)(GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatus)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFixedvOES)(GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusARB)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloatIndexedvEXT)(GLenum target, GLuint index, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloati_v)(GLenum target, GLuint index, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusKHR)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloati_vEXT)(GLenum pname, GLuint index, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLhandleARB (EPOXY_CALLSPEC *epoxy_glGetHandleARB)(GLenum pname);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloati_vNV)(GLenum target, GLuint index, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloati_vOES)(GLenum target, GLuint index, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFloatv)(GLenum pname, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFogFuncSGIS)(GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataIndex)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataIndexEXT)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataLocation)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetFragDataLocationEXT)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetImageHandleARB)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFragmentLightfvSGIX)(GLenum light, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetImageHandleNV)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFragmentLightivSGIX)(GLenum light, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetImageTransformParameterfvHP)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFragmentMaterialfvSGIX)(GLenum face, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetImageTransformParameterivHP)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFragmentMaterialivSGIX)(GLenum face, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetInstrumentsSGIX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInteger64i_v)(GLenum target, GLuint index, GLint64 * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferAttachmentParameterivOES)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInteger64v)(GLenum pname, GLint64 * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferParameterfvAMD)(GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInteger64vAPPLE)(GLenum pname, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegerIndexedvEXT)(GLenum target, GLuint index, GLint * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegeri_v)(GLenum target, GLuint index, GLint * data);
+EPOXY_PUBLIC GLsizei (EPOXY_CALLSPEC *epoxy_glGetFramebufferPixelLocalStorageSizeEXT)(GLuint target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegeri_vEXT)(GLenum target, GLuint index, GLint * data);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatus)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegerui64i_vNV)(GLenum value, GLuint index, GLuint64EXT * result);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusARB)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegerui64vNV)(GLenum value, GLuint64EXT * result);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetIntegerv)(GLenum pname, GLint * data);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glGetGraphicsResetStatusKHR)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInternalformatSampleivNV)(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC GLhandleARB (EPOXY_CALLSPEC *epoxy_glGetHandleARB)(GLenum pname);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInternalformati64v)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInvariantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInvariantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetInvariantIntegervEXT)(GLuint id, GLenum value, GLint * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLightfv)(GLenum light, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLightiv)(GLenum light, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetHistogramParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLightxOES)(GLenum light, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetImageHandleARB)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLightxv)(GLenum light, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetImageHandleNV)(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLightxvOES)(GLenum light, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetImageTransformParameterfvHP)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetListParameterfvSGIX)(GLuint list, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetImageTransformParameterivHP)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetListParameterivSGIX)(GLuint list, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetInstrumentsSGIX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInteger64i_v)(GLenum target, GLuint index, GLint64 * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantIntegervEXT)(GLuint id, GLenum value, GLint * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInteger64v)(GLenum pname, GLint64 * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapAttribParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInteger64vAPPLE)(GLenum pname, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapAttribParameterivNV)(GLenum target, GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegerIndexedvEXT)(GLenum target, GLuint index, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegeri_v)(GLenum target, GLuint index, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapParameterfvNV)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegeri_vEXT)(GLenum target, GLuint index, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapParameterivNV)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegerui64i_vNV)(GLenum value, GLuint index, GLuint64EXT * result);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapdv)(GLenum target, GLenum query, GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegerui64vNV)(GLenum value, GLuint64EXT * result);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapfv)(GLenum target, GLenum query, GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetIntegerv)(GLenum pname, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapiv)(GLenum target, GLenum query, GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInternalformatSampleivNV)(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMapxvOES)(GLenum target, GLenum query, GLfixed * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInternalformati64v)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMaterialfv)(GLenum face, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMaterialiv)(GLenum face, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInvariantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMaterialxOES)(GLenum face, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInvariantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMaterialxv)(GLenum face, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetInvariantIntegervEXT)(GLuint id, GLenum value, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMaterialxvOES)(GLenum face, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLightfv)(GLenum light, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLightiv)(GLenum light, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLightxOES)(GLenum light, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLightxv)(GLenum light, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLightxvOES)(GLenum light, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetListParameterfvSGIX)(GLuint list, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetListParameterivSGIX)(GLuint list, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetLocalConstantIntegervEXT)(GLuint id, GLenum value, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapAttribParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapAttribParameterivNV)(GLenum target, GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexImageEXT)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexLevelParameterfvEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapParameterfvNV)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexLevelParameterivEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapParameterivNV)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapdv)(GLenum target, GLenum query, GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapfv)(GLenum target, GLenum query, GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapiv)(GLenum target, GLenum query, GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMapxvOES)(GLenum target, GLenum query, GLfixed * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultisamplefv)(GLenum pname, GLuint index, GLfloat * val);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMaterialfv)(GLenum face, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetMultisamplefvNV)(GLenum pname, GLuint index, GLfloat * val);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMaterialiv)(GLenum face, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameteri64v)(GLuint buffer, GLenum pname, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMaterialxOES)(GLenum face, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameteriv)(GLuint buffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMaterialxv)(GLenum face, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameterivEXT)(GLuint buffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMaterialxvOES)(GLenum face, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameterui64vNV)(GLuint buffer, GLenum pname, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferPointerv)(GLuint buffer, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferPointervEXT)(GLuint buffer, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferAttachmentParameteriv)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferParameteriv)(GLuint framebuffer, GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterIivEXT)(GLuint program, GLenum target, GLuint index, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterIuivEXT)(GLuint program, GLenum target, GLuint index, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterdvEXT)(GLuint program, GLenum target, GLuint index, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexImageEXT)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterfvEXT)(GLuint program, GLenum target, GLuint index, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexLevelParameterfvEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramStringEXT)(GLuint program, GLenum target, GLenum pname, void * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexLevelParameterivEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramivEXT)(GLuint program, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedRenderbufferParameteriv)(GLuint renderbuffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedRenderbufferParameterivEXT)(GLuint renderbuffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedStringARB)(GLint namelen, const GLchar * name, GLsizei bufSize, GLint * stringlen, GLchar * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNamedStringivARB)(GLint namelen, const GLchar * name, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultisamplefv)(GLenum pname, GLuint index, GLfloat * val);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetNextPerfQueryIdINTEL)(GLuint queryId, GLuint * nextQueryId);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetMultisamplefvNV)(GLenum pname, GLuint index, GLfloat * val);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectBufferfvATI)(GLuint buffer, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameteri64v)(GLuint buffer, GLenum pname, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectBufferivATI)(GLuint buffer, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameteriv)(GLuint buffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameterivEXT)(GLuint buffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectLabelEXT)(GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferParameterui64vNV)(GLuint buffer, GLenum pname, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectLabelKHR)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferPointerv)(GLuint buffer, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferPointervEXT)(GLuint buffer, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectPtrLabel)(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferAttachmentParameteriv)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetObjectPtrLabelKHR)(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetOcclusionQueryivNV)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferParameterfvAMD)(GLenum framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetOcclusionQueryuivNV)(GLuint id, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferParameteriv)(GLuint framebuffer, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathColorGenfvNV)(GLenum color, GLenum pname, GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathColorGenivNV)(GLenum color, GLenum pname, GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterIivEXT)(GLuint program, GLenum target, GLuint index, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathCommandsNV)(GLuint path, GLubyte * commands);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterIuivEXT)(GLuint program, GLenum target, GLuint index, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathCoordsNV)(GLuint path, GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterdvEXT)(GLuint program, GLenum target, GLuint index, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathDashArrayNV)(GLuint path, GLfloat * dashArray);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramLocalParameterfvEXT)(GLuint program, GLenum target, GLuint index, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLfloat (EPOXY_CALLSPEC *epoxy_glGetPathLengthNV)(GLuint path, GLsizei startSegment, GLsizei numSegments);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramStringEXT)(GLuint program, GLenum target, GLenum pname, void * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathMetricRangeNV)(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat * metrics);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedProgramivEXT)(GLuint program, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathMetricsNV)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLsizei stride, GLfloat * metrics);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedRenderbufferParameteriv)(GLuint renderbuffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathParameterfvNV)(GLuint path, GLenum pname, GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedRenderbufferParameterivEXT)(GLuint renderbuffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathParameterivNV)(GLuint path, GLenum pname, GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedStringARB)(GLint namelen, const GLchar * name, GLsizei bufSize, GLint * stringlen, GLchar * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathSpacingNV)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat * returnedSpacing);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNamedStringivARB)(GLint namelen, const GLchar * name, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathTexGenfvNV)(GLenum texCoordSet, GLenum pname, GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetNextPerfQueryIdINTEL)(GLuint queryId, GLuint * nextQueryId);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPathTexGenivNV)(GLenum texCoordSet, GLenum pname, GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectBufferfvATI)(GLuint buffer, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfCounterInfoINTEL)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar * counterName, GLuint counterDescLength, GLchar * counterDesc, GLuint * counterOffset, GLuint * counterDataSize, GLuint * counterTypeEnum, GLuint * counterDataTypeEnum, GLuint64 * rawCounterMaxValue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectBufferivATI)(GLuint buffer, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectLabelEXT)(GLenum type, GLuint object, GLsizei bufSize, GLsizei * length, GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectLabelKHR)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCountersAMD)(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorGroupsAMD)(GLint * numGroups, GLsizei groupsSize, GLuint * groups);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryDataINTEL)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid * data, GLuint * bytesWritten);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectPtrLabel)(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryIdByNameINTEL)(GLchar * queryName, GLuint * queryId);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetObjectPtrLabelKHR)(const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryInfoINTEL)(GLuint queryId, GLuint queryNameLength, GLchar * queryName, GLuint * dataSize, GLuint * noCounters, GLuint * noInstances, GLuint * capsMask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetOcclusionQueryivNV)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelMapfv)(GLenum map, GLfloat * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetOcclusionQueryuivNV)(GLuint id, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelMapuiv)(GLenum map, GLuint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathColorGenfvNV)(GLenum color, GLenum pname, GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelMapusv)(GLenum map, GLushort * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathColorGenivNV)(GLenum color, GLenum pname, GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelMapxv)(GLenum map, GLint size, GLfixed * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathCommandsNV)(GLuint path, GLubyte * commands);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathCoordsNV)(GLuint path, GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathDashArrayNV)(GLuint path, GLfloat * dashArray);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelTransformParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC GLfloat (EPOXY_CALLSPEC *epoxy_glGetPathLengthNV)(GLuint path, GLsizei startSegment, GLsizei numSegments);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPixelTransformParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathMetricRangeNV)(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat * metrics);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPointerIndexedvEXT)(GLenum target, GLuint index, void ** data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathMetricsNV)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLsizei stride, GLfloat * metrics);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPointeri_vEXT)(GLenum pname, GLuint index, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathParameterfvNV)(GLuint path, GLenum pname, GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPointerv)(GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathParameterivNV)(GLuint path, GLenum pname, GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPointervEXT)(GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathSpacingNV)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat * returnedSpacing);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPointervKHR)(GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathTexGenfvNV)(GLenum texCoordSet, GLenum pname, GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetPolygonStipple)(GLubyte * mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPathTexGenivNV)(GLenum texCoordSet, GLenum pname, GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfCounterInfoINTEL)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar * counterName, GLuint counterDescLength, GLchar * counterDesc, GLuint * counterOffset, GLuint * counterDataSize, GLuint * counterTypeEnum, GLuint * counterDataTypeEnum, GLuint64 * rawCounterMaxValue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramBinaryOES)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint * data, GLint * bytesWritten);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterIivNV)(GLenum target, GLuint index, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterIuivNV)(GLenum target, GLuint index, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei * length, GLchar * counterString);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorCountersAMD)(GLuint group, GLint * numCounters, GLint * maxActiveCounters, GLsizei counterSize, GLuint * counters);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei * length, GLchar * groupString);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfMonitorGroupsAMD)(GLint * numGroups, GLsizei groupsSize, GLuint * groups);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryDataINTEL)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid * data, GLuint * bytesWritten);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterIivNV)(GLenum target, GLuint index, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryIdByNameINTEL)(GLchar * queryName, GLuint * queryId);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterIuivNV)(GLenum target, GLuint index, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPerfQueryInfoINTEL)(GLuint queryId, GLuint queryNameLength, GLchar * queryName, GLuint * dataSize, GLuint * noCounters, GLuint * noInstances, GLuint * capsMask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelMapfv)(GLenum map, GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelMapuiv)(GLenum map, GLuint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelMapusv)(GLenum map, GLushort * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelMapxv)(GLenum map, GLint size, GLfixed * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelTransformParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineInfoLogEXT)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPixelTransformParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPointerIndexedvEXT)(GLenum target, GLuint index, void ** data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineivEXT)(GLuint pipeline, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPointeri_vEXT)(GLenum pname, GLuint index, void ** params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPointerv)(GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPointervEXT)(GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceLocationIndex)(GLuint program, GLenum programInterface, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPointervKHR)(GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetPolygonStipple)(GLubyte * mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramResourcefvNV)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramBinaryOES)(GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramStageiv)(GLuint program, GLenum shadertype, GLenum pname, GLint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterIivNV)(GLenum target, GLuint index, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramStringARB)(GLenum target, GLenum pname, void * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterIuivNV)(GLenum target, GLuint index, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramSubroutineParameteruivNV)(GLenum target, GLuint index, GLuint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramiv)(GLuint program, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramivARB)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetProgramivNV)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterIivNV)(GLenum target, GLuint index, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjecti64v)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterIuivNV)(GLenum target, GLuint index, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectiv)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectui64v)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectuiv)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjecti64v)(GLuint id, GLenum pname, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectiv)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineInfoLogEXT)(GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectivEXT)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectui64v)(GLuint id, GLenum pname, GLuint64 * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramPipelineivEXT)(GLuint pipeline, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64 * params);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuiv)(GLuint id, GLenum pname, GLuint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceLocationIndex)(GLuint program, GLenum programInterface, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuivEXT)(GLuint id, GLenum pname, GLuint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetProgramResourceLocationIndexEXT)(GLuint program, GLenum programInterface, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryiv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryivARB)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramResourcefvNV)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetQueryivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei * length, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramStageiv)(GLuint program, GLenum shadertype, GLenum pname, GLint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramStringARB)(GLenum target, GLenum pname, void * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameterivOES)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramSubroutineParameteruivNV)(GLenum target, GLuint index, GLuint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIivEXT)(GLuint sampler, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramiv)(GLuint program, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIivOES)(GLuint sampler, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramivARB)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetProgramivNV)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjecti64v)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuivOES)(GLuint sampler, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectiv)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectui64v)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryBufferObjectuiv)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSeparableFilter)(GLenum target, GLenum format, GLenum type, void * row, void * column, void * span);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, void * row, void * column, void * span);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjecti64v)(GLuint id, GLenum pname, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectiv)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectivEXT)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetShaderiv)(GLuint shader, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectui64v)(GLuint id, GLenum pname, GLuint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSharpenTexFuncSGIS)(GLenum target, GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64 * params);
 
-extern EPOXY_IMPORTEXPORT GLushort (EPOXY_CALLSPEC *epoxy_glGetStageIndexNV)(GLenum shadertype);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuiv)(GLuint id, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT const GLubyte * (EPOXY_CALLSPEC *epoxy_glGetString)(GLenum name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT const GLubyte * (EPOXY_CALLSPEC *epoxy_glGetStringi)(GLenum name, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryObjectuivEXT)(GLuint id, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetSubroutineIndex)(GLuint program, GLenum shadertype, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryiv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetSubroutineUniformLocation)(GLuint program, GLenum shadertype, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryivARB)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetQueryivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetSyncivAPPLE)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexBumpParameterfvATI)(GLenum pname, GLfloat * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexBumpParameterivATI)(GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetRenderbufferParameterivOES)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexEnviv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIivEXT)(GLuint sampler, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexEnvxv)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIivOES)(GLuint sampler, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexEnvxvOES)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexFilterFuncSGIS)(GLenum target, GLenum filter, GLfloat * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGendv)(GLenum coord, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterIuivOES)(GLuint sampler, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGenfvOES)(GLenum coord, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGeniv)(GLenum coord, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSeparableFilter)(GLenum target, GLenum format, GLenum type, void * row, void * column, void * span);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGenivOES)(GLenum coord, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, void * row, void * column, void * span);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexGenxvOES)(GLenum coord, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameterxvOES)(GLenum target, GLint level, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetShaderiv)(GLuint shader, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIiv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSharpenTexFuncSGIS)(GLenum target, GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLushort (EPOXY_CALLSPEC *epoxy_glGetStageIndexNV)(GLenum shadertype);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIivOES)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC const GLubyte * (EPOXY_CALLSPEC *epoxy_glGetString)(GLenum name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuiv)(GLenum target, GLenum pname, GLuint * params);
+EPOXY_PUBLIC const GLubyte * (EPOXY_CALLSPEC *epoxy_glGetStringi)(GLenum name, GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetSubroutineIndex)(GLuint program, GLenum shadertype, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuivOES)(GLenum target, GLenum pname, GLuint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetSubroutineUniformLocation)(GLuint program, GLenum shadertype, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterPointervAPPLE)(GLenum target, GLenum pname, void ** params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetSyncivAPPLE)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameteriv)(GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexBumpParameterfvATI)(GLenum pname, GLfloat * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterxv)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexBumpParameterivATI)(GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTexParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureHandleARB)(GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexEnviv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureHandleNV)(GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexEnvxv)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureImage)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexEnvxvOES)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureImageEXT)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexFilterFuncSGIS)(GLenum target, GLenum filter, GLfloat * weights);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterfv)(GLuint texture, GLint level, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGendv)(GLenum coord, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterfvEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameteriv)(GLuint texture, GLint level, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGenfvOES)(GLenum coord, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterivEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGeniv)(GLenum coord, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIiv)(GLuint texture, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGenivOES)(GLenum coord, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexGenxvOES)(GLenum coord, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIuiv)(GLuint texture, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterfv)(GLuint texture, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexLevelParameterxvOES)(GLenum target, GLint level, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameteriv)(GLuint texture, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIiv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureSamplerHandleARB)(GLuint texture, GLuint sampler);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIivOES)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureSamplerHandleNV)(GLuint texture, GLuint sampler);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuiv)(GLenum target, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterIuivOES)(GLenum target, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterPointervAPPLE)(GLenum target, GLenum pname, void ** params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVaryingNV)(GLuint program, GLuint index, GLint * location);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameteriv)(GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbacki64_v)(GLuint xfb, GLenum pname, GLuint index, GLint64 * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterxv)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbacki_v)(GLuint xfb, GLenum pname, GLuint index, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTexParameterxvOES)(GLenum target, GLenum pname, GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackiv)(GLuint xfb, GLenum pname, GLint * param);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureHandleARB)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetTranslatedShaderSourceANGLE)(GLuint shader, GLsizei bufsize, GLsizei * length, GLchar * source);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureHandleIMG)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glGetUniformBlockIndex)(GLuint program, const GLchar * uniformBlockName);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureHandleNV)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetUniformBufferSizeEXT)(GLuint program, GLint location);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureImage)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureImageEXT)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetUniformLocation)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterfv)(GLuint texture, GLint level, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetUniformLocationARB)(GLhandleARB programObj, const GLcharARB * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterfvEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLintptr (EPOXY_CALLSPEC *epoxy_glGetUniformOffsetEXT)(GLuint program, GLint location);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameteriv)(GLuint texture, GLint level, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformSubroutineuiv)(GLenum shadertype, GLint location, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureLevelParameterivEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformdv)(GLuint program, GLint location, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIiv)(GLuint texture, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformfv)(GLuint program, GLint location, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIuiv)(GLuint texture, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformi64vNV)(GLuint program, GLint location, GLint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformiv)(GLuint program, GLint location, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterfv)(GLuint texture, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformivARB)(GLhandleARB programObj, GLint location, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformui64vNV)(GLuint program, GLint location, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameteriv)(GLuint texture, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformuiv)(GLuint program, GLint location, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetUniformuivEXT)(GLuint program, GLint location, GLuint * params);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureSamplerHandleARB)(GLuint texture, GLuint sampler);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantArrayObjectfvATI)(GLuint id, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureSamplerHandleIMG)(GLuint texture, GLuint sampler);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantArrayObjectivATI)(GLuint id, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLuint64 (EPOXY_CALLSPEC *epoxy_glGetTextureSamplerHandleNV)(GLuint texture, GLuint sampler);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantIntegervEXT)(GLuint id, GLenum value, GLint * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVariantPointervEXT)(GLuint id, GLenum value, void ** data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glGetVaryingLocationNV)(GLuint program, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackVaryingNV)(GLuint program, GLuint index, GLint * location);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIndexed64iv)(GLuint vaobj, GLuint index, GLenum pname, GLint64 * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbacki64_v)(GLuint xfb, GLenum pname, GLuint index, GLint64 * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIndexediv)(GLuint vaobj, GLuint index, GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbacki_v)(GLuint xfb, GLenum pname, GLuint index, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIntegeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTransformFeedbackiv)(GLuint xfb, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIntegervEXT)(GLuint vaobj, GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetTranslatedShaderSourceANGLE)(GLuint shader, GLsizei bufsize, GLsizei * length, GLchar * source);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayPointeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, void ** param);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glGetUniformBlockIndex)(GLuint program, const GLchar * uniformBlockName);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayPointervEXT)(GLuint vaobj, GLenum pname, void ** param);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetUniformBufferSizeEXT)(GLuint program, GLint location);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayiv)(GLuint vaobj, GLenum pname, GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribArrayObjectfvATI)(GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetUniformLocation)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribArrayObjectivATI)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetUniformLocationARB)(GLhandleARB programObj, const GLcharARB * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIiv)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLintptr (EPOXY_CALLSPEC *epoxy_glGetUniformOffsetEXT)(GLuint program, GLint location);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformSubroutineuiv)(GLenum shadertype, GLint location, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformdv)(GLuint program, GLint location, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformfv)(GLuint program, GLint location, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLdv)(GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLdvEXT)(GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformi64vARB)(GLuint program, GLint location, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLi64vNV)(GLuint index, GLenum pname, GLint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformi64vNV)(GLuint program, GLint location, GLint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLui64vARB)(GLuint index, GLenum pname, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformiv)(GLuint program, GLint location, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLui64vNV)(GLuint index, GLenum pname, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformivARB)(GLhandleARB programObj, GLint location, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointerv)(GLuint index, GLenum pname, void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformui64vARB)(GLuint program, GLint location, GLuint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointervARB)(GLuint index, GLenum pname, void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformui64vNV)(GLuint program, GLint location, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointervNV)(GLuint index, GLenum pname, void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformuiv)(GLuint program, GLint location, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdv)(GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetUniformuivEXT)(GLuint program, GLint location, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantArrayObjectfvATI)(GLuint id, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantArrayObjectivATI)(GLuint id, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantBooleanvEXT)(GLuint id, GLenum value, GLboolean * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantFloatvEXT)(GLuint id, GLenum value, GLfloat * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantIntegervEXT)(GLuint id, GLenum value, GLint * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribiv)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVariantPointervEXT)(GLuint id, GLenum value, void ** data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glGetVaryingLocationNV)(GLuint program, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIndexed64iv)(GLuint vaobj, GLuint index, GLenum pname, GLint64 * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIndexediv)(GLuint vaobj, GLuint index, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIntegeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayIntegervEXT)(GLuint vaobj, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureivNV)(GLuint video_capture_slot, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayPointeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, void ** param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoi64vNV)(GLuint video_slot, GLenum pname, GLint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayPointervEXT)(GLuint vaobj, GLenum pname, void ** param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoivNV)(GLuint video_slot, GLenum pname, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexArrayiv)(GLuint vaobj, GLenum pname, GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideoui64vNV)(GLuint video_slot, GLenum pname, GLuint64EXT * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribArrayObjectfvATI)(GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetVideouivNV)(GLuint video_slot, GLenum pname, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribArrayObjectivATI)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnColorTable)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIiv)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * table);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnCompressedTexImage)(GLenum target, GLint lod, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLdv)(GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * image);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLdvEXT)(GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLi64vNV)(GLuint index, GLenum pname, GLint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLui64vARB)(GLuint index, GLenum pname, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapdv)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribLui64vNV)(GLuint index, GLenum pname, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointerv)(GLuint index, GLenum pname, void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapfv)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointervARB)(GLuint index, GLenum pname, void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribPointervNV)(GLuint index, GLenum pname, void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapiv)(GLenum target, GLenum query, GLsizei bufSize, GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdv)(GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapfv)(GLenum map, GLsizei bufSize, GLfloat * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapuiv)(GLenum map, GLsizei bufSize, GLuint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribiv)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapusv)(GLenum map, GLsizei bufSize, GLushort * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPolygonStipple)(GLsizei bufSize, GLubyte * pattern);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureStreamivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnSeparableFilter)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void * row, GLsizei columnBufSize, void * column, void * span);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoCaptureivNV)(GLuint video_capture_slot, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void * row, GLsizei columnBufSize, void * column, void * span);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoi64vNV)(GLuint video_slot, GLenum pname, GLint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoivNV)(GLuint video_slot, GLenum pname, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * img);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideoui64vNV)(GLuint video_slot, GLenum pname, GLuint64EXT * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformdv)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetVideouivNV)(GLuint video_slot, GLenum pname, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformdvARB)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnColorTable)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformfv)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * table);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvARB)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnCompressedTexImage)(GLenum target, GLint lod, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvEXT)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvKHR)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformiv)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void * image);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformivARB)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformivEXT)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformivKHR)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapdv)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformuiv)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformuivARB)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapfv)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGetnUniformuivKHR)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorbSUN)(GLbyte factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapiv)(GLenum target, GLenum query, GLsizei bufSize, GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactordSUN)(GLdouble factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorfSUN)(GLfloat factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactoriSUN)(GLint factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorsSUN)(GLshort factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapfv)(GLenum map, GLsizei bufSize, GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorubSUN)(GLubyte factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactoruiSUN)(GLuint factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapuiv)(GLenum map, GLsizei bufSize, GLuint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorusSUN)(GLushort factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glHint)(GLenum target, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapusv)(GLenum map, GLsizei bufSize, GLushort * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glHintPGI)(GLenum target, GLint mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glHistogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPolygonStipple)(GLsizei bufSize, GLubyte * pattern);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glHistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIglooInterfaceSGIX)(GLenum pname, const void * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnSeparableFilter)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void * row, GLsizei columnBufSize, void * column, void * span);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterfHP)(GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void * row, GLsizei columnBufSize, void * column, void * span);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterfvHP)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glImageTransformParameteriHP)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * img);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterivHP)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformdv)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT GLsync (EPOXY_CALLSPEC *epoxy_glImportSyncEXT)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformdvARB)(GLuint program, GLint location, GLsizei bufSize, GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexFormatNV)(GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformfv)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexFuncEXT)(GLenum func, GLclampf ref);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvARB)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexMask)(GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvEXT)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexMaterialEXT)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformfvKHR)(GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexPointer)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformi64vARB)(GLuint program, GLint location, GLsizei bufSize, GLint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformiv)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformivARB)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexd)(GLdouble c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformivEXT)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexdv)(const GLdouble * c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformivKHR)(GLuint program, GLint location, GLsizei bufSize, GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexf)(GLfloat c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformui64vARB)(GLuint program, GLint location, GLsizei bufSize, GLuint64 * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexfv)(const GLfloat * c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformuiv)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexi)(GLint c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformuivARB)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexiv)(const GLint * c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGetnUniformuivKHR)(GLuint program, GLint location, GLsizei bufSize, GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexs)(GLshort c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorbSUN)(GLbyte factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexsv)(const GLshort * c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactordSUN)(GLdouble factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexub)(GLubyte c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorfSUN)(GLfloat factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexubv)(const GLubyte * c);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactoriSUN)(GLint factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexxOES)(GLfixed component);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorsSUN)(GLshort factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glIndexxvOES)(const GLfixed * component);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorubSUN)(GLubyte factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInitNames)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactoruiSUN)(GLuint factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInsertComponentEXT)(GLuint res, GLuint src, GLuint num);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glGlobalAlphaFactorusSUN)(GLushort factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInsertEventMarkerEXT)(GLsizei length, const GLchar * marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glHint)(GLenum target, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInstrumentsBufferSGIX)(GLsizei size, GLint * buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glHintPGI)(GLenum target, GLint mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInterleavedArrays)(GLenum format, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glHistogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInterpolatePathsNV)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glHistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateBufferData)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIglooInterfaceSGIX)(GLenum pname, const void * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterfHP)(GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterfvHP)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateNamedFramebufferData)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glImageTransformParameteriHP)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateNamedFramebufferSubData)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glImageTransformParameterivHP)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC GLsync (EPOXY_CALLSPEC *epoxy_glImportSyncEXT)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateTexImage)(GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexFormatNV)(GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glInvalidateTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexFuncEXT)(GLenum func, GLclampf ref);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsAsyncMarkerSGIX)(GLuint marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexMask)(GLuint mask);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsBuffer)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexMaterialEXT)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsBufferARB)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexPointer)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsBufferResidentNV)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsCommandListNV)(GLuint list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabled)(GLenum cap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexd)(GLdouble c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabledIndexedEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexdv)(const GLdouble * c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabledi)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexf)(GLfloat c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediEXT)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexfv)(const GLfloat * c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediNV)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexi)(GLint c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediOES)(GLenum target, GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexiv)(const GLint * c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsFenceAPPLE)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexs)(GLshort c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsFenceNV)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexsv)(const GLshort * c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebuffer)(GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexub)(GLubyte c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebufferEXT)(GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexubv)(const GLubyte * c);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebufferOES)(GLuint framebuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexxOES)(GLfixed component);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsImageHandleResidentARB)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glIndexxvOES)(const GLfixed * component);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsImageHandleResidentNV)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInitNames)(void);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsList)(GLuint list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInsertComponentEXT)(GLuint res, GLuint src, GLuint num);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsNameAMD)(GLenum identifier, GLuint name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInsertEventMarkerEXT)(GLsizei length, const GLchar * marker);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsNamedBufferResidentNV)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInstrumentsBufferSGIX)(GLsizei size, GLint * buffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsNamedStringARB)(GLint namelen, const GLchar * name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInterleavedArrays)(GLenum format, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsObjectBufferATI)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInterpolatePathsNV)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsOcclusionQueryNV)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateBufferData)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsPathNV)(GLuint path);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr length);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsPointInFillPathNV)(GLuint path, GLuint mask, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsPointInStrokePathNV)(GLuint path, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateNamedFramebufferData)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgram)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateNamedFramebufferSubData)(GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramARB)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramNV)(GLuint id);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateTexImage)(GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramPipeline)(GLuint pipeline);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glInvalidateTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramPipelineEXT)(GLuint pipeline);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsAsyncMarkerSGIX)(GLuint marker);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsQuery)(GLuint id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsBuffer)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsQueryARB)(GLuint id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsBufferARB)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsQueryEXT)(GLuint id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsBufferResidentNV)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbuffer)(GLuint renderbuffer);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsCommandListNV)(GLuint list);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbufferEXT)(GLuint renderbuffer);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabled)(GLenum cap);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbufferOES)(GLuint renderbuffer);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabledIndexedEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsSampler)(GLuint sampler);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnabledi)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsShader)(GLuint shader);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediEXT)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsStateNV)(GLuint state);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediNV)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsSync)(GLsync sync);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsEnablediOES)(GLenum target, GLuint index);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsSyncAPPLE)(GLsync sync);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsFenceAPPLE)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTexture)(GLuint texture);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsFenceNV)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureEXT)(GLuint texture);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebuffer)(GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureHandleResidentARB)(GLuint64 handle);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebufferEXT)(GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureHandleResidentNV)(GLuint64 handle);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsFramebufferOES)(GLuint framebuffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTransformFeedback)(GLuint id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsImageHandleResidentARB)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsTransformFeedbackNV)(GLuint id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsImageHandleResidentNV)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsVariantEnabledEXT)(GLuint id, GLenum cap);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsList)(GLuint list);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArray)(GLuint array);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsNameAMD)(GLenum identifier, GLuint name);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArrayAPPLE)(GLuint array);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsNamedBufferResidentNV)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArrayOES)(GLuint array);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsNamedStringARB)(GLint namelen, const GLchar * name);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexAttribEnabledAPPLE)(GLuint index, GLenum pname);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsObjectBufferATI)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLabelObjectEXT)(GLenum type, GLuint object, GLsizei length, const GLchar * label);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsOcclusionQueryNV)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightEnviSGIX)(GLenum pname, GLint param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsPathNV)(GLuint path);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelf)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsPointInFillPathNV)(GLuint path, GLuint mask, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelfv)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsPointInStrokePathNV)(GLuint path, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModeli)(GLenum pname, GLint param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgram)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModeliv)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramARB)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelx)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramNV)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelxOES)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramPipeline)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelxv)(GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsProgramPipelineEXT)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightModelxvOES)(GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsQuery)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightf)(GLenum light, GLenum pname, GLfloat param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsQueryARB)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightfv)(GLenum light, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsQueryEXT)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLighti)(GLenum light, GLenum pname, GLint param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbuffer)(GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightiv)(GLenum light, GLenum pname, const GLint * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbufferEXT)(GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightx)(GLenum light, GLenum pname, GLfixed param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsRenderbufferOES)(GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightxOES)(GLenum light, GLenum pname, GLfixed param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsSampler)(GLuint sampler);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightxv)(GLenum light, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsShader)(GLuint shader);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLightxvOES)(GLenum light, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsStateNV)(GLuint state);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLineStipple)(GLint factor, GLushort pattern);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsSync)(GLsync sync);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLineWidth)(GLfloat width);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsSyncAPPLE)(GLsync sync);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLineWidthx)(GLfixed width);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTexture)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLineWidthxOES)(GLfixed width);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureEXT)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLinkProgram)(GLuint program);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureHandleResidentARB)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLinkProgramARB)(GLhandleARB programObj);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTextureHandleResidentNV)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListBase)(GLuint base);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTransformFeedback)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListDrawCommandsStatesClientNV)(GLuint list, GLuint segment, const void ** indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsTransformFeedbackNV)(GLuint id);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListParameterfSGIX)(GLuint list, GLenum pname, GLfloat param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsVariantEnabledEXT)(GLuint id, GLenum cap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListParameterfvSGIX)(GLuint list, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArray)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListParameteriSGIX)(GLuint list, GLenum pname, GLint param);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArrayAPPLE)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glListParameterivSGIX)(GLuint list, GLenum pname, const GLint * params);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexArrayOES)(GLuint array);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadIdentity)(void);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glIsVertexAttribEnabledAPPLE)(GLuint index, GLenum pname);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadIdentityDeformationMapSGIX)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLabelObjectEXT)(GLenum type, GLuint object, GLsizei length, const GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadMatrixd)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightEnviSGIX)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadMatrixf)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelf)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadMatrixx)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelfv)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadMatrixxOES)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModeli)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadName)(GLuint name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModeliv)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadPaletteFromModelViewMatrixOES)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelx)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelxOES)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixd)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelxv)(GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixdARB)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightModelxvOES)(GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixf)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightf)(GLenum light, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixfARB)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightfv)(GLenum light, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixxOES)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLighti)(GLenum light, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLockArraysEXT)(GLint first, GLsizei count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightiv)(GLenum light, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glLogicOp)(GLenum opcode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightx)(GLenum light, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeBufferNonResidentNV)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightxOES)(GLenum light, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeBufferResidentNV)(GLenum target, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightxv)(GLenum light, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleNonResidentARB)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLightxvOES)(GLenum light, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleNonResidentNV)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLineStipple)(GLint factor, GLushort pattern);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleResidentARB)(GLuint64 handle, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLineWidth)(GLfloat width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleResidentNV)(GLuint64 handle, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLineWidthx)(GLfixed width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeNamedBufferNonResidentNV)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLineWidthxOES)(GLfixed width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeNamedBufferResidentNV)(GLuint buffer, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLinkProgram)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleNonResidentARB)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLinkProgramARB)(GLhandleARB programObj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleNonResidentNV)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListBase)(GLuint base);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleResidentARB)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListDrawCommandsStatesClientNV)(GLuint list, GLuint segment, const void ** indirects, const GLsizei * sizes, const GLuint * states, const GLuint * fbos, GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleResidentNV)(GLuint64 handle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListParameterfSGIX)(GLuint list, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListParameterfvSGIX)(GLuint list, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListParameteriSGIX)(GLuint list, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap1xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glListParameterivSGIX)(GLuint list, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadIdentity)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadIdentityDeformationMapSGIX)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMap2xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadMatrixd)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapBuffer)(GLenum target, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadMatrixf)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapBufferARB)(GLenum target, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadMatrixx)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapBufferOES)(GLenum target, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadMatrixxOES)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadName)(GLuint name);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapBufferRangeEXT)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadPaletteFromModelViewMatrixOES)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid1d)(GLint un, GLdouble u1, GLdouble u2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixd)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid1f)(GLint un, GLfloat u1, GLfloat u2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixdARB)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid1xOES)(GLint n, GLfixed u1, GLfixed u2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixf)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixfARB)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLoadTransposeMatrixxOES)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapGrid2xOES)(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLockArraysEXT)(GLint first, GLsizei count);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapNamedBuffer)(GLuint buffer, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glLogicOp)(GLenum opcode);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferEXT)(GLuint buffer, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeBufferNonResidentNV)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeBufferResidentNV)(GLenum target, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleNonResidentARB)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapObjectBufferATI)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleNonResidentNV)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapParameterfvNV)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleResidentARB)(GLuint64 handle, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapParameterivNV)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeImageHandleResidentNV)(GLuint64 handle, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_glMapTexture2DINTEL)(GLuint texture, GLint level, GLbitfield access, GLint * stride, GLenum * layout);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeNamedBufferNonResidentNV)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib1dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeNamedBufferResidentNV)(GLuint buffer, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib1fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleNonResidentARB)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib2dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleNonResidentNV)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib2fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleResidentARB)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialf)(GLenum face, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMakeTextureHandleResidentNV)(GLuint64 handle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialfv)(GLenum face, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMateriali)(GLenum face, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialiv)(GLenum face, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap1xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialx)(GLenum face, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialxOES)(GLenum face, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialxv)(GLenum face, GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMap2xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMaterialxvOES)(GLenum face, GLenum pname, const GLfixed * param);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapBuffer)(GLenum target, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixFrustumEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapBufferARB)(GLenum target, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixIndexPointerARB)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapBufferOES)(GLenum target, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixIndexPointerOES)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixIndexubvARB)(GLint size, const GLubyte * indices);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapBufferRangeEXT)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixIndexuivARB)(GLint size, const GLuint * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixIndexusvARB)(GLint size, const GLushort * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid1d)(GLint un, GLdouble u1, GLdouble u2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoad3x2fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid1f)(GLint un, GLfloat u1, GLfloat u2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoad3x3fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid1xOES)(GLint n, GLfixed u1, GLfixed u2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoadIdentityEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTranspose3x3fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTransposedEXT)(GLenum mode, const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapGrid2xOES)(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTransposefEXT)(GLenum mode, const GLfloat * m);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapNamedBuffer)(GLuint buffer, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoaddEXT)(GLenum mode, const GLdouble * m);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferEXT)(GLuint buffer, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixLoadfEXT)(GLenum mode, const GLfloat * m);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMode)(GLenum mode);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMult3x2fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapObjectBufferATI)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMult3x3fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapParameterfvNV)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMultTranspose3x3fNV)(GLenum matrixMode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapParameterivNV)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMultTransposedEXT)(GLenum mode, const GLdouble * m);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_glMapTexture2DINTEL)(GLuint texture, GLint level, GLbitfield access, GLint * stride, GLenum * layout);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMultTransposefEXT)(GLenum mode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib1dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMultdEXT)(GLenum mode, const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib1fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixMultfEXT)(GLenum mode, const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib2dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixOrthoEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMapVertexAttrib2fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixPopEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialf)(GLenum face, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixPushEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialfv)(GLenum face, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixRotatedEXT)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMateriali)(GLenum face, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixRotatefEXT)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialiv)(GLenum face, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixScaledEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialx)(GLenum face, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixScalefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialxOES)(GLenum face, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixTranslatedEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialxv)(GLenum face, GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMatrixTranslatefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaterialxvOES)(GLenum face, GLenum pname, const GLfixed * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMemoryBarrier)(GLbitfield barriers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixFrustumEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMemoryBarrierByRegion)(GLbitfield barriers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixIndexPointerARB)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMemoryBarrierEXT)(GLbitfield barriers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixIndexPointerOES)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMinSampleShading)(GLfloat value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixIndexubvARB)(GLint size, const GLubyte * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMinSampleShadingARB)(GLfloat value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixIndexuivARB)(GLint size, const GLuint * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMinSampleShadingOES)(GLfloat value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixIndexusvARB)(GLint size, const GLushort * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMinmax)(GLenum target, GLenum internalformat, GLboolean sink);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoad3x2fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMinmaxEXT)(GLenum target, GLenum internalformat, GLboolean sink);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoad3x3fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultMatrixd)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoadIdentityEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultMatrixf)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTranspose3x3fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultMatrixx)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTransposedEXT)(GLenum mode, const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultMatrixxOES)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoadTransposefEXT)(GLenum mode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixd)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoaddEXT)(GLenum mode, const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixdARB)(const GLdouble * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixLoadfEXT)(GLenum mode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixf)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMode)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixfARB)(const GLfloat * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMult3x2fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixxOES)(const GLfixed * m);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMult3x3fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArrays)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMultTranspose3x3fNV)(GLenum matrixMode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMultTransposedEXT)(GLenum mode, const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirect)(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMultTransposefEXT)(GLenum mode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectAMD)(GLenum mode, const void * indirect, GLsizei primcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMultdEXT)(GLenum mode, const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectBindlessCountNV)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixMultfEXT)(GLenum mode, const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectBindlessNV)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixOrthoEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectCountARB)(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixPopEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectEXT)(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixPushEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementArrayAPPLE)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixRotatedEXT)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElements)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixRotatefEXT)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount, const GLint * basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixScaledEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertexEXT)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, const GLint * basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixScalefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertexOES)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, const GLint * basevertex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixTranslatedEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMatrixTranslatefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirect)(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMaxShaderCompilerThreadsARB)(GLuint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectAMD)(GLenum mode, GLenum type, const void * indirect, GLsizei primcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMemoryBarrier)(GLbitfield barriers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectBindlessCountNV)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMemoryBarrierByRegion)(GLbitfield barriers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectBindlessNV)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMemoryBarrierEXT)(GLbitfield barriers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectCountARB)(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMinSampleShading)(GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectEXT)(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMinSampleShadingARB)(GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, const GLint * first, const GLsizei * count, GLsizei primcount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMinSampleShadingOES)(GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMinmax)(GLenum target, GLenum internalformat, GLboolean sink);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, GLint modestride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMinmaxEXT)(GLenum target, GLenum internalformat, GLboolean sink);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexBufferEXT)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultMatrixd)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1bOES)(GLenum texture, GLbyte s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultMatrixf)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1bvOES)(GLenum texture, const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultMatrixx)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1d)(GLenum target, GLdouble s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultMatrixxOES)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dARB)(GLenum target, GLdouble s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixd)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dv)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixdARB)(const GLdouble * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dvARB)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixf)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1f)(GLenum target, GLfloat s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixfARB)(const GLfloat * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fARB)(GLenum target, GLfloat s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultTransposeMatrixxOES)(const GLfixed * m);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fv)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArrays)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fvARB)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1hNV)(GLenum target, GLhalfNV s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirect)(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1hvNV)(GLenum target, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectAMD)(GLenum mode, const void * indirect, GLsizei primcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1i)(GLenum target, GLint s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectBindlessCountNV)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1iARB)(GLenum target, GLint s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectBindlessNV)(GLenum mode, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1iv)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectCountARB)(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1ivARB)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawArraysIndirectEXT)(GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1s)(GLenum target, GLshort s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementArrayAPPLE)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1sARB)(GLenum target, GLshort s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElements)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1sv)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount, const GLint * basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1svARB)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertexEXT)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, const GLint * basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1xOES)(GLenum texture, GLfixed s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsBaseVertexOES)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, const GLint * basevertex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1xvOES)(GLenum texture, const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2bOES)(GLenum texture, GLbyte s, GLbyte t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirect)(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2bvOES)(GLenum texture, const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectAMD)(GLenum mode, GLenum type, const void * indirect, GLsizei primcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectBindlessCountNV)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectBindlessNV)(GLenum mode, GLenum type, const void * indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dv)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectCountARB)(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dvARB)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawElementsIndirectEXT)(GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, const GLint * first, const GLsizei * count, GLsizei primcount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fv)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei primcount, GLint modestride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fvARB)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexBufferEXT)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2hNV)(GLenum target, GLhalfNV s, GLhalfNV t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1bOES)(GLenum texture, GLbyte s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2hvNV)(GLenum target, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1bvOES)(GLenum texture, const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2i)(GLenum target, GLint s, GLint t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1d)(GLenum target, GLdouble s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2iARB)(GLenum target, GLint s, GLint t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dARB)(GLenum target, GLdouble s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2iv)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dv)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2ivARB)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1dvARB)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2s)(GLenum target, GLshort s, GLshort t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1f)(GLenum target, GLfloat s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fARB)(GLenum target, GLfloat s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2sv)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fv)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2svARB)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1fvARB)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2xOES)(GLenum texture, GLfixed s, GLfixed t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1hNV)(GLenum target, GLhalfNV s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2xvOES)(GLenum texture, const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1hvNV)(GLenum target, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3bOES)(GLenum texture, GLbyte s, GLbyte t, GLbyte r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1i)(GLenum target, GLint s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3bvOES)(GLenum texture, const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1iARB)(GLenum target, GLint s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1iv)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1ivARB)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dv)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1s)(GLenum target, GLshort s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dvARB)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1sARB)(GLenum target, GLshort s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1sv)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1svARB)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fv)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1xOES)(GLenum texture, GLfixed s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fvARB)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord1xvOES)(GLenum texture, const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3hNV)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2bOES)(GLenum texture, GLbyte s, GLbyte t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3hvNV)(GLenum target, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2bvOES)(GLenum texture, const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3iv)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dv)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3ivARB)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2dvARB)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3sv)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fv)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3svARB)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2fvARB)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2hNV)(GLenum target, GLhalfNV s, GLhalfNV t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3xvOES)(GLenum texture, const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2hvNV)(GLenum target, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4bOES)(GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2i)(GLenum target, GLint s, GLint t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4bvOES)(GLenum texture, const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2iARB)(GLenum target, GLint s, GLint t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2iv)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2ivARB)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dv)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2s)(GLenum target, GLshort s, GLshort t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dvARB)(GLenum target, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2sv)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2svARB)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fv)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2xOES)(GLenum texture, GLfixed s, GLfixed t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fvARB)(GLenum target, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord2xvOES)(GLenum texture, const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4hNV)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3bOES)(GLenum texture, GLbyte s, GLbyte t, GLbyte r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4hvNV)(GLenum target, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3bvOES)(GLenum texture, const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4iv)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dv)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4ivARB)(GLenum target, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3dvARB)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4sv)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fv)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4svARB)(GLenum target, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3fvARB)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4x)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3hNV)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3hvNV)(GLenum target, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4xvOES)(GLenum texture, const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3iv)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3ivARB)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3sv)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3svARB)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordPointerEXT)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord3xvOES)(GLenum texture, const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4bOES)(GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4bvOES)(GLenum texture, const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexEnviEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGendEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dv)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4dvARB)(GLenum target, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGenfEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGeniEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fv)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4fvARB)(GLenum target, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4hNV)(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4hvNV)(GLenum target, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4iv)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4ivARB)(GLenum target, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameteriEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4sv)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexRenderbufferEXT)(GLenum texunit, GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4svARB)(GLenum target, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4x)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoord4xvOES)(GLenum texture, const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferData)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferDataEXT)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferPageCommitmentARB)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferPageCommitmentEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferStorage)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferStorageEXT)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedCopyBufferSubDataEXT)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexCoordPointerEXT)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferDrawBuffer)(GLuint framebuffer, GLenum buf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferDrawBuffers)(GLuint framebuffer, GLsizei n, const GLenum * bufs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferParameteri)(GLuint framebuffer, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexEnviEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferParameteriEXT)(GLuint framebuffer, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferReadBuffer)(GLuint framebuffer, GLenum src);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGendEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferRenderbuffer)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferRenderbufferEXT)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGenfEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferSampleLocationsfvNV)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGeniEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture1DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture2DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture3DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureFaceEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureLayer)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureLayerEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4dEXT)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4dvEXT)(GLuint program, GLenum target, GLuint index, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameteriEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4fEXT)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4fvEXT)(GLuint program, GLenum target, GLuint index, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexRenderbufferEXT)(GLenum texunit, GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4iEXT)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4ivEXT)(GLuint program, GLenum target, GLuint index, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4uiEXT)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4uivEXT)(GLuint program, GLenum target, GLuint index, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferData)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameters4fvEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferDataEXT)(GLuint buffer, GLsizeiptr size, const void * data, GLenum usage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParametersI4ivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferPageCommitmentARB)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParametersI4uivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferPageCommitmentEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedProgramStringEXT)(GLuint program, GLenum target, GLenum format, GLsizei len, const void * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferStorage)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorage)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferStorageEXT)(GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageEXT)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisample)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedCopyBufferSubDataEXT)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisampleEXT)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferDrawBuffer)(GLuint framebuffer, GLenum buf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNamedStringARB)(GLenum type, GLint namelen, const GLchar * name, GLint stringlen, const GLchar * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferDrawBuffers)(GLuint framebuffer, GLsizei n, const GLenum * bufs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNewList)(GLuint list, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferParameteri)(GLuint framebuffer, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT GLuint (EPOXY_CALLSPEC *epoxy_glNewObjectBufferATI)(GLsizei size, const void * pointer, GLenum usage);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferParameteriEXT)(GLuint framebuffer, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferReadBuffer)(GLuint framebuffer, GLenum src);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3bv)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferRenderbuffer)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferRenderbufferEXT)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferSampleLocationsfvARB)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferSampleLocationsfvNV)(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3fVertex3fSUN)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferSamplePositionsfvAMD)(GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3fVertex3fvSUN)(const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture1DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3hNV)(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture2DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTexture3DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3i)(GLint nx, GLint ny, GLint nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureFaceEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3s)(GLshort nx, GLshort ny, GLshort nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureLayer)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedFramebufferTextureLayerEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3x)(GLfixed nx, GLfixed ny, GLfixed nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4dEXT)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3xOES)(GLfixed nx, GLfixed ny, GLfixed nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4dvEXT)(GLuint program, GLenum target, GLuint index, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormal3xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4fEXT)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalFormatNV)(GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameter4fvEXT)(GLuint program, GLenum target, GLuint index, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalP3ui)(GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4iEXT)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalP3uiv)(GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4ivEXT)(GLuint program, GLenum target, GLuint index, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalPointer)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4uiEXT)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameterI4uivEXT)(GLuint program, GLenum target, GLuint index, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParameters4fvEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalPointervINTEL)(GLenum type, const void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParametersI4ivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3bATI)(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramLocalParametersI4uivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3bvATI)(GLenum stream, const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedProgramStringEXT)(GLuint program, GLenum target, GLenum format, GLsizei len, const void * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3dATI)(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorage)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3dvATI)(GLenum stream, const GLdouble * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageEXT)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3fATI)(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisample)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3fvATI)(GLenum stream, const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3iATI)(GLenum stream, GLint nx, GLint ny, GLint nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedRenderbufferStorageMultisampleEXT)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3ivATI)(GLenum stream, const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNamedStringARB)(GLenum type, GLint namelen, const GLchar * name, GLint stringlen, const GLchar * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3sATI)(GLenum stream, GLshort nx, GLshort ny, GLshort nz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNewList)(GLuint list, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glNormalStream3svATI)(GLenum stream, const GLshort * coords);
+EPOXY_PUBLIC GLuint (EPOXY_CALLSPEC *epoxy_glNewObjectBufferATI)(GLsizei size, const void * pointer, GLenum usage);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glObjectLabelKHR)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3bv)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glObjectPtrLabel)(const void * ptr, GLsizei length, const GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glObjectPtrLabelKHR)(const void * ptr, GLsizei length, const GLchar * label);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3fVertex3fSUN)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3fVertex3fvSUN)(const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glOrthof)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glOrthofOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3hNV)(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glOrthox)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glOrthoxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3i)(GLint nx, GLint ny, GLint nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPNTrianglesfATI)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPNTrianglesiATI)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3s)(GLshort nx, GLshort ny, GLshort nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPassThrough)(GLfloat token);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3x)(GLfixed nx, GLfixed ny, GLfixed nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPassThroughxOES)(GLfixed token);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3xOES)(GLfixed nx, GLfixed ny, GLfixed nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPatchParameterfv)(GLenum pname, const GLfloat * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormal3xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPatchParameteri)(GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalFormatNV)(GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPatchParameteriEXT)(GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalP3ui)(GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPatchParameteriOES)(GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalP3uiv)(GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathColorGenNV)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat * coeffs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalPointer)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathCommandsNV)(GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathCoordsNV)(GLuint path, GLsizei numCoords, GLenum coordType, const void * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalPointerListIBM)(GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathCoverDepthFuncNV)(GLenum func);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalPointervINTEL)(GLenum type, const void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathDashArrayNV)(GLuint path, GLsizei dashCount, const GLfloat * dashArray);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3bATI)(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathFogGenNV)(GLenum genMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3bvATI)(GLenum stream, const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glPathGlyphIndexArrayNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3dATI)(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glPathGlyphIndexRangeNV)(GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3dvATI)(GLenum stream, const GLdouble * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathGlyphRangeNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3fATI)(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathGlyphsNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void * charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3fvATI)(GLenum stream, const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glPathMemoryGlyphIndexArrayNV)(GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void * fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3iATI)(GLenum stream, GLint nx, GLint ny, GLint nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathParameterfNV)(GLuint path, GLenum pname, GLfloat value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3ivATI)(GLenum stream, const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathParameterfvNV)(GLuint path, GLenum pname, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3sATI)(GLenum stream, GLshort nx, GLshort ny, GLshort nz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathParameteriNV)(GLuint path, GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glNormalStream3svATI)(GLenum stream, const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathParameterivNV)(GLuint path, GLenum pname, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathStencilDepthOffsetNV)(GLfloat factor, GLfloat units);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glObjectLabelKHR)(GLenum identifier, GLuint name, GLsizei length, const GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathStencilFuncNV)(GLenum func, GLint ref, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glObjectPtrLabel)(const void * ptr, GLsizei length, const GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathStringNV)(GLuint path, GLenum format, GLsizei length, const void * pathString);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glObjectPtrLabelKHR)(const void * ptr, GLsizei length, const GLchar * label);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathSubCommandsNV)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void * coords);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathSubCoordsNV)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void * coords);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPathTexGenNV)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat * coeffs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPauseTransformFeedback)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glOrthof)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPauseTransformFeedbackNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glOrthofOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelDataRangeNV)(GLenum target, GLsizei length, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glOrthox)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glOrthoxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPNTrianglesfATI)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPNTrianglesiATI)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelMapx)(GLenum map, GLint size, const GLfixed * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelStoref)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPassThrough)(GLfloat token);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelStorei)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPassThroughxOES)(GLfixed token);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelStorex)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPatchParameterfv)(GLenum pname, const GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterfSGIS)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPatchParameteri)(GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPatchParameteriEXT)(GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameteriSGIS)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPatchParameteriOES)(GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterivSGIS)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathColorGenNV)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat * coeffs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTexGenSGIX)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathCommandsNV)(GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransferf)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathCoordsNV)(GLuint path, GLsizei numCoords, GLenum coordType, const void * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransferi)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathCoverDepthFuncNV)(GLenum func);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransferxOES)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathDashArrayNV)(GLuint path, GLsizei dashCount, const GLfloat * dashArray);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterfEXT)(GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathFogGenNV)(GLenum genMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glPathGlyphIndexArrayNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameteriEXT)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glPathGlyphIndexRangeNV)(GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathGlyphRangeNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelZoom)(GLfloat xfactor, GLfloat yfactor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathGlyphsNV)(GLuint firstPathName, GLenum fontTarget, const void * fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void * charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPixelZoomxOES)(GLfixed xfactor, GLfixed yfactor);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glPathMemoryGlyphIndexArrayNV)(GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void * fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glPointAlongPathNV)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat * x, GLfloat * y, GLfloat * tangentX, GLfloat * tangentY);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathParameterfNV)(GLuint path, GLenum pname, GLfloat value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterf)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathParameterfvNV)(GLuint path, GLenum pname, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfARB)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathParameteriNV)(GLuint path, GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfEXT)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathParameterivNV)(GLuint path, GLenum pname, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfSGIS)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathStencilDepthOffsetNV)(GLfloat factor, GLfloat units);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfv)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathStencilFuncNV)(GLenum func, GLint ref, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfvARB)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathStringNV)(GLuint path, GLenum format, GLsizei length, const void * pathString);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfvEXT)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathSubCommandsNV)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterfvSGIS)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathSubCoordsNV)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameteri)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPathTexGenNV)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat * coeffs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameteriNV)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPauseTransformFeedback)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameteriv)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPauseTransformFeedbackNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterivNV)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelDataRangeNV)(GLenum target, GLsizei length, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterx)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterxOES)(GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterxv)(GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointParameterxvOES)(GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelMapx)(GLenum map, GLint size, const GLfixed * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointSize)(GLfloat size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelStoref)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointSizePointerOES)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelStorei)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointSizex)(GLfixed size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelStorex)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPointSizexOES)(GLfixed size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterfSGIS)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glPollAsyncSGIX)(GLuint * markerp);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glPollInstrumentsSGIX)(GLint * marker_p);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameteriSGIS)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonMode)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTexGenParameterivSGIS)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonModeNV)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTexGenSGIX)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonOffset)(GLfloat factor, GLfloat units);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransferf)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetClampEXT)(GLfloat factor, GLfloat units, GLfloat clamp);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransferi)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetEXT)(GLfloat factor, GLfloat bias);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransferxOES)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetx)(GLfixed factor, GLfixed units);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterfEXT)(GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetxOES)(GLfixed factor, GLfixed units);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterfvEXT)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPolygonStipple)(const GLubyte * mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameteriEXT)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopAttrib)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelTransformParameterivEXT)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopClientAttrib)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelZoom)(GLfloat xfactor, GLfloat yfactor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopDebugGroup)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPixelZoomxOES)(GLfixed xfactor, GLfixed yfactor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopDebugGroupKHR)(void);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glPointAlongPathNV)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat * x, GLfloat * y, GLfloat * tangentX, GLfloat * tangentY);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopGroupMarkerEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterf)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopMatrix)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfARB)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPopName)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfEXT)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPresentFrameDualFillNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfSGIS)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPresentFrameKeyedNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfv)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBoxEXT)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfvARB)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBoxOES)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfvEXT)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartIndex)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterfvSGIS)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartIndexNV)(GLuint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameteri)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameteriNV)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrioritizeTextures)(GLsizei n, const GLuint * textures, const GLfloat * priorities);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameteriv)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrioritizeTexturesEXT)(GLsizei n, const GLuint * textures, const GLclampf * priorities);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterivNV)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPrioritizeTexturesxOES)(GLsizei n, const GLuint * textures, const GLfixed * priorities);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterx)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramBinary)(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterxOES)(GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramBinaryOES)(GLuint program, GLenum binaryFormat, const void * binary, GLint length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterxv)(GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersIivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointParameterxvOES)(GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersIuivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointSize)(GLfloat size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersfvNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointSizePointerOES)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointSizex)(GLfixed size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPointSizexOES)(GLfixed size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glPollAsyncSGIX)(GLuint * markerp);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glPollInstrumentsSGIX)(GLint * marker_p);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonMode)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4ivNV)(GLenum target, GLuint index, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonModeNV)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonOffset)(GLfloat factor, GLfloat units);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4uivNV)(GLenum target, GLuint index, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetClampEXT)(GLfloat factor, GLfloat units, GLfloat clamp);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetEXT)(GLfloat factor, GLfloat bias);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetx)(GLfixed factor, GLfixed units);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramEnvParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonOffsetxOES)(GLfixed factor, GLfixed units);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPolygonStipple)(const GLubyte * mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopAttrib)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopClientAttrib)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopDebugGroup)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopDebugGroupKHR)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4ivNV)(GLenum target, GLuint index, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopGroupMarkerEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopMatrix)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4uivNV)(GLenum target, GLuint index, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPopName)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPresentFrameDualFillNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPresentFrameKeyedNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramLocalParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBox)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBoxARB)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBoxEXT)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveBoundingBoxOES)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartIndex)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartIndexNV)(GLuint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrimitiveRestartNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrioritizeTextures)(GLsizei n, const GLuint * textures, const GLfloat * priorities);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrioritizeTexturesEXT)(GLsizei n, const GLuint * textures, const GLclampf * priorities);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameteri)(GLuint program, GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPrioritizeTexturesxOES)(GLsizei n, const GLuint * textures, const GLfixed * priorities);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameteriARB)(GLuint program, GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramBinary)(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameteriEXT)(GLuint program, GLenum pname, GLint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramBinaryOES)(GLuint program, GLenum binaryFormat, const void * binary, GLint length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersIivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersIuivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramPathFragmentInputGenNV)(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat * coeffs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramBufferParametersfvNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramStringARB)(GLenum target, GLenum format, GLsizei len, const void * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramSubroutineParametersuivNV)(GLenum target, GLsizei count, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1d)(GLuint program, GLint location, GLdouble v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dEXT)(GLuint program, GLint location, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4ivNV)(GLenum target, GLuint index, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1f)(GLuint program, GLint location, GLfloat v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fEXT)(GLuint program, GLint location, GLfloat v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameterI4uivNV)(GLenum target, GLuint index, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i)(GLuint program, GLint location, GLint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramEnvParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64NV)(GLuint program, GLint location, GLint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1iEXT)(GLuint program, GLint location, GLint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui)(GLuint program, GLint location, GLuint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4ivNV)(GLenum target, GLuint index, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64NV)(GLuint program, GLint location, GLuint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameterI4uivNV)(GLenum target, GLuint index, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uiEXT)(GLuint program, GLint location, GLuint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramLocalParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2d)(GLuint program, GLint location, GLdouble v0, GLdouble v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameteri)(GLuint program, GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameteriARB)(GLuint program, GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameteriEXT)(GLuint program, GLenum pname, GLint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2iEXT)(GLuint program, GLint location, GLint v0, GLint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramPathFragmentInputGenNV)(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat * coeffs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramStringARB)(GLenum target, GLenum format, GLsizei len, const void * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramSubroutineParametersuivNV)(GLenum target, GLsizei count, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1d)(GLuint program, GLint location, GLdouble v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dEXT)(GLuint program, GLint location, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1f)(GLuint program, GLint location, GLfloat v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fEXT)(GLuint program, GLint location, GLfloat v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i)(GLuint program, GLint location, GLint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64ARB)(GLuint program, GLint location, GLint64 x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64NV)(GLuint program, GLint location, GLint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64vARB)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1iEXT)(GLuint program, GLint location, GLint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui)(GLuint program, GLint location, GLuint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64ARB)(GLuint program, GLint location, GLuint64 x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64NV)(GLuint program, GLint location, GLuint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uiEXT)(GLuint program, GLint location, GLuint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform1uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2d)(GLuint program, GLint location, GLdouble v0, GLdouble v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64ARB)(GLuint program, GLint location, GLint64 x, GLint64 y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64vARB)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2iEXT)(GLuint program, GLint location, GLint v0, GLint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64ARB)(GLuint program, GLint location, GLuint64 x, GLuint64 y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64ARB)(GLuint program, GLint location, GLuint64 value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64NV)(GLuint program, GLint location, GLuint64 value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform2uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64ARB)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64vARB)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64ARB)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform3uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dv)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64ARB)(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64vARB)(GLuint program, GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformui64NV)(GLuint program, GLint location, GLuint64EXT value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramUniformui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProgramVertexLimitNV)(GLenum target, GLint limit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProvokingVertex)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ivEXT)(GLuint program, GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glProvokingVertexEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushAttrib)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64ARB)(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushClientAttrib)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushClientAttribDefaultEXT)(GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar * message);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushDebugGroupKHR)(GLenum source, GLuint id, GLsizei length, const GLchar * message);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushGroupMarkerEXT)(GLsizei length, const GLchar * marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushMatrix)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniform4uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glPushName)(GLuint name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64ARB)(GLuint program, GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glQueryCounter)(GLuint id, GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64IMG)(GLuint program, GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glQueryCounterEXT)(GLuint id, GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64NV)(GLuint program, GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT GLbitfield (EPOXY_CALLSPEC *epoxy_glQueryMatrixxOES)(GLfixed * mantissa, GLint * exponent);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glQueryObjectParameteruiAMD)(GLenum target, GLuint id, GLenum pname, GLuint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64vIMG)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2d)(GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformHandleui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64 * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2f)(GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2i)(GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2s)(GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2xOES)(GLfixed x, GLfixed y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos2xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3d)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3f)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix2x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3i)(GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3s)(GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3xOES)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos3xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4i)(GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix3x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4xOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterPos4xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRasterSamplesEXT)(GLuint samples, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadBuffer)(GLenum src);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadBufferIndexedEXT)(GLenum src, GLint index);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadBufferNV)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadInstrumentsSGIX)(GLint marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadnPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformMatrix4x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformui64NV)(GLuint program, GLint location, GLuint64EXT value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadnPixelsEXT)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramUniformui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReadnPixelsKHR)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProgramVertexLimitNV)(GLenum target, GLint limit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProvokingVertex)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectdv)(const GLdouble * v1, const GLdouble * v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glProvokingVertexEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushAttrib)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectfv)(const GLfloat * v1, const GLfloat * v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushClientAttrib)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRecti)(GLint x1, GLint y1, GLint x2, GLint y2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushClientAttribDefaultEXT)(GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectiv)(const GLint * v1, const GLint * v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar * message);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushDebugGroupKHR)(GLenum source, GLuint id, GLsizei length, const GLchar * message);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectsv)(const GLshort * v1, const GLshort * v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushGroupMarkerEXT)(GLsizei length, const GLchar * marker);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectxOES)(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushMatrix)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRectxvOES)(const GLfixed * v1, const GLfixed * v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glPushName)(GLuint name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReferencePlaneSGIX)(const GLdouble * equation);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glQueryCounter)(GLuint id, GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReleaseShaderCompiler)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glQueryCounterEXT)(GLuint id, GLenum target);
 
-extern EPOXY_IMPORTEXPORT GLint (EPOXY_CALLSPEC *epoxy_glRenderMode)(GLenum mode);
+EPOXY_PUBLIC GLbitfield (EPOXY_CALLSPEC *epoxy_glQueryMatrixxOES)(GLfixed * mantissa, GLint * exponent);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glQueryObjectParameteruiAMD)(GLenum target, GLuint id, GLenum pname, GLuint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2d)(GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleANGLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2f)(GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleAPPLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2i)(GLint x, GLint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleIMG)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2s)(GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleNV)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageOES)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2xOES)(GLfixed x, GLfixed y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodePointerSUN)(GLenum type, GLsizei stride, const void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos2xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeubSUN)(GLubyte code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3d)(GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeubvSUN)(const GLubyte * code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3f)(GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3i)(GLint x, GLint y, GLint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4ubVertex3fSUN)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3s)(GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint * rc, const GLubyte * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiNormal3fVertex3fSUN)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3xOES)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos3xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiSUN)(GLuint code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4i)(GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiVertex3fSUN)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiVertex3fvSUN)(const GLuint * rc, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4xOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuivSUN)(const GLuint * code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterPos4xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeusSUN)(GLushort code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRasterSamplesEXT)(GLuint samples, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glReplacementCodeusvSUN)(const GLushort * code);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadBuffer)(GLenum src);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRequestResidentProgramsNV)(GLsizei n, const GLuint * programs);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadBufferIndexedEXT)(GLenum src, GLint index);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResetHistogram)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadBufferNV)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResetHistogramEXT)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadInstrumentsSGIX)(GLint marker);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResetMinmax)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResetMinmaxEXT)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadnPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResizeBuffersMESA)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResolveDepthValuesNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadnPixelsEXT)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResolveMultisampleFramebufferAPPLE)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReadnPixelsKHR)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResumeTransformFeedback)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glResumeTransformFeedbackNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectdv)(const GLdouble * v1, const GLdouble * v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectfv)(const GLfloat * v1, const GLfloat * v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRotatex)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRecti)(GLint x1, GLint y1, GLint x2, GLint y2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glRotatexOES)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectiv)(const GLint * v1, const GLint * v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleCoverage)(GLfloat value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleCoverageARB)(GLfloat value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectsv)(const GLshort * v1, const GLshort * v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleCoveragex)(GLclampx value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectxOES)(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleCoveragexOES)(GLclampx value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRectxvOES)(const GLfixed * v1, const GLfixed * v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReferencePlaneSGIX)(const GLdouble * equation);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleMaskEXT)(GLclampf value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReleaseShaderCompiler)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleMaskIndexedNV)(GLuint index, GLbitfield mask);
+EPOXY_PUBLIC GLint (EPOXY_CALLSPEC *epoxy_glRenderMode)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleMaskSGIS)(GLclampf value, GLboolean invert);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSampleMaski)(GLuint maskNumber, GLbitfield mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplePatternEXT)(GLenum pattern);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplePatternSGIS)(GLenum pattern);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleANGLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleAPPLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIivEXT)(GLuint sampler, GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIivOES)(GLuint sampler, GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleIMG)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, const GLuint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageMultisampleNV)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuivOES)(GLuint sampler, GLenum pname, const GLuint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRenderbufferStorageOES)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodePointerSUN)(GLenum type, GLsizei stride, const void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeubSUN)(GLubyte code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameteri)(GLuint sampler, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeubvSUN)(const GLubyte * code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSamplerParameteriv)(GLuint sampler, GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScaled)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScalef)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScalex)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScalexOES)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4ubVertex3fSUN)(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissor)(GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint * rc, const GLubyte * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorArrayv)(GLuint first, GLsizei count, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiNormal3fVertex3fSUN)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorArrayvNV)(GLuint first, GLsizei count, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorIndexed)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiSUN)(GLuint code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorIndexedNV)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorIndexedv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glScissorIndexedvNV)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bv)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint * rc, const GLfloat * tc, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bvEXT)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiVertex3fSUN)(GLuint rc, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuiVertex3fvSUN)(const GLuint * rc, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeuivSUN)(const GLuint * code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeusSUN)(GLushort code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dvEXT)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glReplacementCodeusvSUN)(const GLushort * code);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRequestResidentProgramsNV)(GLsizei n, const GLuint * programs);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResetHistogram)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResetHistogramEXT)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fvEXT)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResetMinmax)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResetMinmaxEXT)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResizeBuffersMESA)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3i)(GLint red, GLint green, GLint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResolveDepthValuesNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3iEXT)(GLint red, GLint green, GLint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResolveMultisampleFramebufferAPPLE)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResumeTransformFeedback)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ivEXT)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glResumeTransformFeedbackNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3s)(GLshort red, GLshort green, GLshort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRotatex)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3svEXT)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glRotatexOES)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleCoverage)(GLfloat value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleCoverageARB)(GLfloat value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubv)(const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleCoveragex)(GLclampx value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubvEXT)(const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleCoveragexOES)(GLclampx value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ui)(GLuint red, GLuint green, GLuint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleMaskEXT)(GLclampf value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uiv)(const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleMaskIndexedNV)(GLuint index, GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uivEXT)(const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleMaskSGIS)(GLclampf value, GLboolean invert);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3us)(GLushort red, GLushort green, GLushort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSampleMaski)(GLuint maskNumber, GLbitfield mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplePatternEXT)(GLenum pattern);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usv)(const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplePatternSGIS)(GLenum pattern);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usvEXT)(const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorFormatNV)(GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIivEXT)(GLuint sampler, GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorP3ui)(GLenum type, GLuint color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIivOES)(GLuint sampler, GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorP3uiv)(GLenum type, const GLuint * color);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuivEXT)(GLuint sampler, GLenum pname, const GLuint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterIuivOES)(GLuint sampler, GLenum pname, const GLuint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSelectBuffer)(GLsizei size, GLuint * buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameteri)(GLuint sampler, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * row, const void * column);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSamplerParameteriv)(GLuint sampler, GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * row, const void * column);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScaled)(GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetFenceAPPLE)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScalef)(GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetFenceNV)(GLuint fence, GLenum condition);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScalex)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScalexOES)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetInvariantEXT)(GLuint id, GLenum type, const void * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissor)(GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetLocalConstantEXT)(GLuint id, GLenum type, const void * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorArrayv)(GLuint first, GLsizei count, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSetMultisamplefvAMD)(GLenum pname, GLuint index, const GLfloat * val);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorArrayvNV)(GLuint first, GLsizei count, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShadeModel)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorArrayvOES)(GLuint first, GLsizei count, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderBinary)(GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexed)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderOp1EXT)(GLenum op, GLuint res, GLuint arg1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexedNV)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderOp2EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexedOES)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderOp3EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexedv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderSource)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexedvNV)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glScissorIndexedvOES)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glShaderStorageBlockBinding)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSpriteParameterfSGIX)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bv)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSpriteParameterfvSGIX)(GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3bvEXT)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSpriteParameteriSGIX)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSpriteParameterivSGIX)(GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStartInstrumentsSGIX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStartTilingQCOM)(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3dvEXT)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStateCaptureNV)(GLuint state, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilClearTagEXT)(GLsizei stencilTagBits, GLuint stencilClearTag);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilFillPathNV)(GLuint path, GLenum fillMode, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3fvEXT)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilFunc)(GLenum func, GLint ref, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3hNV)(GLhalfNV red, GLhalfNV green, GLhalfNV blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3i)(GLint red, GLint green, GLint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilMask)(GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3iEXT)(GLint red, GLint green, GLint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilMaskSeparate)(GLenum face, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ivEXT)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3s)(GLshort red, GLshort green, GLshort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilOpSeparateATI)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilOpValueAMD)(GLenum face, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3svEXT)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilStrokePathNV)(GLuint path, GLint reference, GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverFillPathNV)(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubv)(const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ubvEXT)(const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverStrokePathNV)(GLuint path, GLint reference, GLuint mask, GLenum coverMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3ui)(GLuint red, GLuint green, GLuint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStopInstrumentsSGIX)(GLint marker);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glStringMarkerGREMEDY)(GLsizei len, const void * string);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uiv)(const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSubpixelPrecisionBiasNV)(GLuint xbits, GLuint ybits);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3uivEXT)(const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSwizzleEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3us)(GLushort red, GLushort green, GLushort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glSyncTextureINTEL)(GLuint texture);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTagSampleBufferSGIX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usv)(const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3bEXT)(GLbyte tx, GLbyte ty, GLbyte tz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColor3usvEXT)(const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3bvEXT)(const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorFormatNV)(GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3dEXT)(GLdouble tx, GLdouble ty, GLdouble tz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorP3ui)(GLenum type, GLuint color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3dvEXT)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorP3uiv)(GLenum type, const GLuint * color);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3fEXT)(GLfloat tx, GLfloat ty, GLfloat tz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3fvEXT)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3iEXT)(GLint tx, GLint ty, GLint tz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSecondaryColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3ivEXT)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSelectBuffer)(GLsizei size, GLuint * buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3sEXT)(GLshort tx, GLshort ty, GLshort tz);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint * counterList);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangent3svEXT)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * row, const void * column);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTangentPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * row, const void * column);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTbufferMask3DFX)(GLuint mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetFenceAPPLE)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTessellationFactorAMD)(GLfloat factor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetFenceNV)(GLuint fence, GLenum condition);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTessellationModeAMD)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glTestFenceAPPLE)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetInvariantEXT)(GLuint id, GLenum type, const void * addr);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glTestFenceNV)(GLuint fence);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetLocalConstantEXT)(GLuint id, GLenum type, const void * addr);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glTestObjectAPPLE)(GLenum object, GLuint name);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSetMultisamplefvAMD)(GLenum pname, GLuint index, const GLfloat * val);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBuffer)(GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShadeModel)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferARB)(GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderBinary)(GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferEXT)(GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderOp1EXT)(GLenum op, GLuint res, GLuint arg1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferOES)(GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderOp2EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderOp3EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferRangeEXT)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderSource)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBufferRangeOES)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBumpParameterfvATI)(GLenum pname, const GLfloat * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glShaderStorageBlockBinding)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexBumpParameterivATI)(GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat * points);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1bOES)(GLbyte s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSpriteParameterfSGIX)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSpriteParameterfvSGIX)(GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1d)(GLdouble s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSpriteParameteriSGIX)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSpriteParameterivSGIX)(GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1f)(GLfloat s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStartInstrumentsSGIX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStartTilingQCOM)(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1hNV)(GLhalfNV s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStateCaptureNV)(GLuint state, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilClearTagEXT)(GLsizei stencilTagBits, GLuint stencilClearTag);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1i)(GLint s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilFillPathNV)(GLuint path, GLenum fillMode, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1s)(GLshort s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilFunc)(GLenum func, GLint ref, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1xOES)(GLfixed s);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord1xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilMask)(GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2bOES)(GLbyte s, GLbyte t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilMaskSeparate)(GLenum face, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2d)(GLdouble s, GLdouble t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilOpSeparateATI)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2f)(GLfloat s, GLfloat t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilOpValueAMD)(GLenum face, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilStrokePathNV)(GLuint path, GLint reference, GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverFillPathNV)(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4ubVertex3fSUN)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat * tc, const GLubyte * c, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStencilThenCoverStrokePathNV)(GLuint path, GLint reference, GLuint mask, GLenum coverMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStopInstrumentsSGIX)(GLint marker);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glStringMarkerGREMEDY)(GLsizei len, const void * string);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSubpixelPrecisionBiasNV)(GLuint xbits, GLuint ybits);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fVertex3fvSUN)(const GLfloat * tc, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSwizzleEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glSyncTextureINTEL)(GLuint texture);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2hNV)(GLhalfNV s, GLhalfNV t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTagSampleBufferSGIX)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3bEXT)(GLbyte tx, GLbyte ty, GLbyte tz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2i)(GLint s, GLint t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3bvEXT)(const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3dEXT)(GLdouble tx, GLdouble ty, GLdouble tz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2s)(GLshort s, GLshort t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3dvEXT)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3fEXT)(GLfloat tx, GLfloat ty, GLfloat tz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2xOES)(GLfixed s, GLfixed t);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3fvEXT)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord2xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3iEXT)(GLint tx, GLint ty, GLint tz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3bOES)(GLbyte s, GLbyte t, GLbyte r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3ivEXT)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3sEXT)(GLshort tx, GLshort ty, GLshort tz);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3d)(GLdouble s, GLdouble t, GLdouble r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangent3svEXT)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTangentPointerEXT)(GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTbufferMask3DFX)(GLuint mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTessellationFactorAMD)(GLfloat factor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3hNV)(GLhalfNV s, GLhalfNV t, GLhalfNV r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTessellationModeAMD)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glTestFenceAPPLE)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3i)(GLint s, GLint t, GLint r);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glTestFenceNV)(GLuint fence);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3iv)(const GLint * v);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glTestObjectAPPLE)(GLenum object, GLuint name);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3s)(GLshort s, GLshort t, GLshort r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBuffer)(GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferARB)(GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3xOES)(GLfixed s, GLfixed t, GLfixed r);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferEXT)(GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord3xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferOES)(GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4bOES)(GLbyte s, GLbyte t, GLbyte r, GLbyte q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferRangeEXT)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBufferRangeOES)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBumpParameterfvATI)(GLenum pname, const GLfloat * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexBumpParameterivATI)(GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1bOES)(GLbyte s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1d)(GLdouble s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4fVertex4fvSUN)(const GLfloat * tc, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1f)(GLfloat s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4hNV)(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1hNV)(GLhalfNV s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4i)(GLint s, GLint t, GLint r, GLint q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1i)(GLint s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1s)(GLshort s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4xOES)(GLfixed s, GLfixed t, GLfixed r, GLfixed q);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoord4xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1xOES)(GLfixed s);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordFormatNV)(GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord1xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP1ui)(GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2bOES)(GLbyte s, GLbyte t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP1uiv)(GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP2ui)(GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2d)(GLdouble s, GLdouble t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP2uiv)(GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP3ui)(GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2f)(GLfloat s, GLfloat t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP3uiv)(GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP4ui)(GLenum type, GLuint coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordP4uiv)(GLenum type, const GLuint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4ubVertex3fSUN)(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat * tc, const GLubyte * c, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexCoordPointervINTEL)(GLint size, GLenum type, const void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvf)(GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat * tc, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvfv)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvi)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fVertex3fvSUN)(const GLfloat * tc, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnviv)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvx)(GLenum target, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2hNV)(GLhalfNV s, GLhalfNV t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvxOES)(GLenum target, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvxv)(GLenum target, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2i)(GLint s, GLint t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexEnvxvOES)(GLenum target, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexFilterFuncSGIS)(GLenum target, GLenum filter, GLsizei n, const GLfloat * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2s)(GLshort s, GLshort t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGend)(GLenum coord, GLenum pname, GLdouble param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGendv)(GLenum coord, GLenum pname, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2xOES)(GLfixed s, GLfixed t);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenf)(GLenum coord, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord2xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenfOES)(GLenum coord, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3bOES)(GLbyte s, GLbyte t, GLbyte r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenfv)(GLenum coord, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenfvOES)(GLenum coord, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3d)(GLdouble s, GLdouble t, GLdouble r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGeni)(GLenum coord, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGeniOES)(GLenum coord, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGeniv)(GLenum coord, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenivOES)(GLenum coord, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3hNV)(GLhalfNV s, GLhalfNV t, GLhalfNV r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenxOES)(GLenum coord, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexGenxvOES)(GLenum coord, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3i)(GLint s, GLint t, GLint r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3s)(GLshort s, GLshort t, GLshort r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage2DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3xOES)(GLfixed s, GLfixed t, GLfixed r);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord3xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4bOES)(GLbyte s, GLbyte t, GLbyte r, GLbyte q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage3DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexPageCommitmentARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexPageCommitmentEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat * tc, const GLfloat * c, const GLfloat * n, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIiv)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4fVertex4fvSUN)(const GLfloat * tc, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIivOES)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIuiv)(GLenum target, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4hNV)(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterIuivOES)(GLenum target, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4i)(GLint s, GLint t, GLint r, GLint q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterf)(GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameteri)(GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameteriv)(GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4xOES)(GLfixed s, GLfixed t, GLfixed r, GLfixed q);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterx)(GLenum target, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoord4xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterxOES)(GLenum target, GLenum pname, GLfixed param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordFormatNV)(GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterxv)(GLenum target, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP1ui)(GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexParameterxvOES)(GLenum target, GLenum pname, const GLfixed * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP1uiv)(GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexRenderbufferNV)(GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP2ui)(GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage1D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP2uiv)(GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage1DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP3ui)(GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP3uiv)(GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage2DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP4ui)(GLenum type, GLuint coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordP4uiv)(GLenum type, const GLuint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage3DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorage3DMultisampleOES)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexCoordPointervINTEL)(GLint size, GLenum type, const void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexStorageSparseAMD)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvf)(GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvfv)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvi)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnviv)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvx)(GLenum target, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvxOES)(GLenum target, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvxv)(GLenum target, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexEnvxvOES)(GLenum target, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexFilterFuncSGIS)(GLenum target, GLenum filter, GLsizei n, const GLfloat * weights);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBarrier)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGend)(GLenum coord, GLenum pname, GLdouble param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBarrierNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGendv)(GLenum coord, GLenum pname, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBuffer)(GLuint texture, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenf)(GLenum coord, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBufferEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenfOES)(GLenum coord, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBufferRange)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenfv)(GLenum coord, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureBufferRangeEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenfvOES)(GLenum coord, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureColorMaskSGIS)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGeni)(GLenum coord, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGeniOES)(GLenum coord, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGeniv)(GLenum coord, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage2DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenivOES)(GLenum coord, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage2DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenxOES)(GLenum coord, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexGenxvOES)(GLenum coord, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage3DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureImage3DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureLightEXT)(GLenum pname);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureMaterialEXT)(GLenum face, GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage2DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureNormalEXT)(GLenum mode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTexturePageCommitmentEXT)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterIiv)(GLuint texture, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage3DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterIuiv)(GLuint texture, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, const GLuint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterf)(GLuint texture, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexPageCommitmentARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterfEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexPageCommitmentEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterfv)(GLuint texture, GLenum pname, const GLfloat * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIiv)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameteri)(GLuint texture, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIivOES)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameteriEXT)(GLuint texture, GLenum target, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIuiv)(GLenum target, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameteriv)(GLuint texture, GLenum pname, const GLint * param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterIuivOES)(GLenum target, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureRangeAPPLE)(GLenum target, GLsizei length, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterf)(GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureRenderbufferEXT)(GLuint texture, GLenum target, GLuint renderbuffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterfv)(GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage1D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameteri)(GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameteriv)(GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage2D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterx)(GLenum target, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterxOES)(GLenum target, GLenum pname, GLfixed param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterxv)(GLenum target, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexParameterxvOES)(GLenum target, GLenum pname, const GLfixed * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage3D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexRenderbufferNV)(GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage1D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage1DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureStorageSparseAMD)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage2DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage3DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorage3DMultisampleOES)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexStorageSparseAMD)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureView)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureViewEXT)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTextureViewOES)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackAttribsNV)(GLsizei count, const GLint * attribs, GLenum bufferMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackBufferBase)(GLuint xfb, GLuint index, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackBufferRange)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackStreamAttribsNV)(GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBarrier)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBarrierNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryingsNV)(GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBuffer)(GLuint texture, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTransformPathNV)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat * transformValues);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBufferEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTranslated)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBufferRange)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTranslatef)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureBufferRangeEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTranslatex)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureColorMaskSGIS)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glTranslatexOES)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1d)(GLint location, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1dv)(GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage2DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1f)(GLint location, GLfloat v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage2DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1fARB)(GLint location, GLfloat v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1fv)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage3DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1fvARB)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureImage3DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1i)(GLint location, GLint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureLightEXT)(GLenum pname);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1i64NV)(GLint location, GLint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureMaterialEXT)(GLenum face, GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureNormalEXT)(GLenum mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1iARB)(GLint location, GLint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTexturePageCommitmentEXT)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1iv)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterIiv)(GLuint texture, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1ivARB)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1ui)(GLint location, GLuint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterIuiv)(GLuint texture, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1ui64NV)(GLint location, GLuint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, const GLuint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterf)(GLuint texture, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1uiEXT)(GLint location, GLuint v0);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterfEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1uiv)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterfv)(GLuint texture, GLenum pname, const GLfloat * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform1uivEXT)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2d)(GLint location, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameteri)(GLuint texture, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2dv)(GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameteriEXT)(GLuint texture, GLenum target, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2f)(GLint location, GLfloat v0, GLfloat v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameteriv)(GLuint texture, GLenum pname, const GLint * param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2fARB)(GLint location, GLfloat v0, GLfloat v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2fv)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureRangeAPPLE)(GLenum target, GLsizei length, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2fvARB)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureRenderbufferEXT)(GLuint texture, GLenum target, GLuint renderbuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2i)(GLint location, GLint v0, GLint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage1D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2i64NV)(GLint location, GLint64EXT x, GLint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage2D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2iARB)(GLint location, GLint v0, GLint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2iv)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2ivARB)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage2DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2ui)(GLint location, GLuint v0, GLuint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage3D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2uiEXT)(GLint location, GLuint v0, GLuint v1);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorage3DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2uiv)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureStorageSparseAMD)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform2uivEXT)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3d)(GLint location, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3dv)(GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3fv)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3fvARB)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureView)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3i)(GLint location, GLint v0, GLint v1, GLint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureViewEXT)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTextureViewOES)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackAttribsNV)(GLsizei count, const GLint * attribs, GLenum bufferMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3iv)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackBufferBase)(GLuint xfb, GLuint index, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3ivARB)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackBufferRange)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackStreamAttribsNV)(GLsizei count, const GLint * attribs, GLsizei nbuffers, const GLint * bufstreams, GLenum bufferMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformFeedbackVaryingsNV)(GLuint program, GLsizei count, const GLint * locations, GLenum bufferMode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3uiv)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTransformPathNV)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat * transformValues);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform3uivEXT)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTranslated)(GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4d)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTranslatef)(GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4dv)(GLint location, GLsizei count, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTranslatex)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glTranslatexOES)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1d)(GLint location, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4fv)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1dv)(GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4fvARB)(GLint location, GLsizei count, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1f)(GLint location, GLfloat v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1fARB)(GLint location, GLfloat v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1fv)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1fvARB)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1i)(GLint location, GLint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4iv)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1i64ARB)(GLint location, GLint64 x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4ivARB)(GLint location, GLsizei count, const GLint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1i64NV)(GLint location, GLint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1i64vARB)(GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1iARB)(GLint location, GLint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1iv)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4uiv)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ivARB)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniform4uivEXT)(GLint location, GLsizei count, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ui)(GLint location, GLuint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ui64ARB)(GLint location, GLuint64 x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformBufferEXT)(GLuint program, GLint location, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ui64NV)(GLint location, GLuint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64ARB)(GLint location, GLuint64 value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64NV)(GLint location, GLuint64 value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1uiEXT)(GLint location, GLuint v0);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64vNV)(GLint location, GLsizei count, const GLuint64 * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1uiv)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform1uivEXT)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2d)(GLint location, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2dv)(GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2f)(GLint location, GLfloat v0, GLfloat v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2fARB)(GLint location, GLfloat v0, GLfloat v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2fv)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2fvARB)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2i)(GLint location, GLint v0, GLint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2i64ARB)(GLint location, GLint64 x, GLint64 y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2i64NV)(GLint location, GLint64EXT x, GLint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2i64vARB)(GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2iARB)(GLint location, GLint v0, GLint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2iv)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ivARB)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ui)(GLint location, GLuint v0, GLuint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ui64ARB)(GLint location, GLuint64 x, GLuint64 y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2uiEXT)(GLint location, GLuint v0, GLuint v1);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2uiv)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform2uivEXT)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3d)(GLint location, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3dv)(GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformSubroutinesuiv)(GLenum shadertype, GLsizei count, const GLuint * indices);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3fv)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformui64NV)(GLint location, GLuint64EXT value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3fvARB)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUniformui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3i)(GLint location, GLint v0, GLint v1, GLint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUnlockArraysEXT)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3i64ARB)(GLint location, GLint64 x, GLint64 y, GLint64 z);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBuffer)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBufferARB)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3i64vARB)(GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBufferOES)(GLenum target);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapNamedBuffer)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapNamedBufferEXT)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3iv)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUnmapObjectBufferATI)(GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ivARB)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUnmapTexture2DINTEL)(GLuint texture, GLint level);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUpdateObjectBufferATI)(GLuint buffer, GLuint offset, GLsizei size, const void * pointer, GLenum preserve);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ui64ARB)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUseProgram)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUseProgramObjectARB)(GLhandleARB programObj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUseProgramStagesEXT)(GLuint pipeline, GLbitfield stages, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glUseShaderProgramEXT)(GLenum type, GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3uiv)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUFiniNV)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform3uivEXT)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUGetSurfaceivNV)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4d)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUInitNV)(const void * vdpDevice, const void * getProcAddress);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4dv)(GLint location, GLsizei count, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_glVDPAUIsSurfaceNV)(GLvdpauSurfaceNV surface);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUMapSurfacesNV)(GLsizei numSurfaces, const GLvdpauSurfaceNV * surfaces);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 
-extern EPOXY_IMPORTEXPORT GLvdpauSurfaceNV (EPOXY_CALLSPEC *epoxy_glVDPAURegisterOutputSurfaceNV)(const void * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4fv)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT GLvdpauSurfaceNV (EPOXY_CALLSPEC *epoxy_glVDPAURegisterVideoSurfaceNV)(const void * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4fvARB)(GLint location, GLsizei count, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUSurfaceAccessNV)(GLvdpauSurfaceNV surface, GLenum access);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUUnmapSurfacesNV)(GLsizei numSurface, const GLvdpauSurfaceNV * surfaces);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4i64ARB)(GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVDPAUUnregisterSurfaceNV)(GLvdpauSurfaceNV surface);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glValidateProgram)(GLuint program);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4i64vARB)(GLint location, GLsizei count, const GLint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glValidateProgramARB)(GLhandleARB programObj);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4i64vNV)(GLint location, GLsizei count, const GLint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glValidateProgramPipeline)(GLuint pipeline);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glValidateProgramPipelineEXT)(GLuint pipeline);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4iv)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantArrayObjectATI)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ivARB)(GLint location, GLsizei count, const GLint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantPointerEXT)(GLuint id, GLenum type, GLuint stride, const void * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantbvEXT)(GLuint id, const GLbyte * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ui64ARB)(GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantdvEXT)(GLuint id, const GLdouble * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantfvEXT)(GLuint id, const GLfloat * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantivEXT)(GLuint id, const GLint * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4ui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantsvEXT)(GLuint id, const GLshort * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantubvEXT)(GLuint id, const GLubyte * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4uiv)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantuivEXT)(GLuint id, const GLuint * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniform4uivEXT)(GLint location, GLsizei count, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVariantusvEXT)(GLuint id, const GLushort * addr);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2bOES)(GLbyte x, GLbyte y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformBufferEXT)(GLuint program, GLint location, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64ARB)(GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2d)(GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64IMG)(GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64NV)(GLint location, GLuint64 value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2f)(GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64vARB)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64vIMG)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2hNV)(GLhalfNV x, GLhalfNV y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformHandleui64vNV)(GLint location, GLsizei count, const GLuint64 * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2i)(GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2s)(GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2xOES)(GLfixed x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x3fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex2xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3bOES)(GLbyte x, GLbyte y, GLbyte z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix2x4fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3d)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3f)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3hNV)(GLhalfNV x, GLhalfNV y, GLhalfNV z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x2fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3i)(GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3s)(GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix3x4fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3xOES)(GLfixed x, GLfixed y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex3xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4bOES)(GLbyte x, GLbyte y, GLbyte z, GLbyte w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4bvOES)(const GLbyte * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x2fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformMatrix4x3fvNV)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4hNV)(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformSubroutinesuiv)(GLenum shadertype, GLsizei count, const GLuint * indices);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4hvNV)(const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformui64NV)(GLint location, GLuint64EXT value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4i)(GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUniformui64vNV)(GLint location, GLsizei count, const GLuint64EXT * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUnlockArraysEXT)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBuffer)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4sv)(const GLshort * v);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBufferARB)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4xOES)(GLfixed x, GLfixed y, GLfixed z);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapBufferOES)(GLenum target);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertex4xvOES)(const GLfixed * coords);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapNamedBuffer)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribBinding)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glUnmapNamedBufferEXT)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUnmapObjectBufferATI)(GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribIFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUnmapTexture2DINTEL)(GLuint texture, GLint level);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribLFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUpdateObjectBufferATI)(GLuint buffer, GLuint offset, GLsizei size, const void * pointer, GLenum preserve);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayBindVertexBufferEXT)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUseProgram)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayBindingDivisor)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUseProgramObjectARB)(GLhandleARB programObj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayEdgeFlagOffsetEXT)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUseProgramStagesEXT)(GLuint pipeline, GLbitfield stages, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayElementBuffer)(GLuint vaobj, GLuint buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glUseShaderProgramEXT)(GLenum type, GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayFogCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUFiniNV)(void);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayIndexOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUGetSurfaceivNV)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayMultiTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUInitNV)(const void * vdpDevice, const void * getProcAddress);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayNormalOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glVDPAUIsSurfaceNV)(GLvdpauSurfaceNV surface);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayParameteriAPPLE)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUMapSurfacesNV)(GLsizei numSurfaces, const GLvdpauSurfaceNV * surfaces);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayRangeAPPLE)(GLsizei length, void * pointer);
+EPOXY_PUBLIC GLvdpauSurfaceNV (EPOXY_CALLSPEC *epoxy_glVDPAURegisterOutputSurfaceNV)(const void * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayRangeNV)(GLsizei length, const void * pointer);
+EPOXY_PUBLIC GLvdpauSurfaceNV (EPOXY_CALLSPEC *epoxy_glVDPAURegisterVideoSurfaceNV)(const void * vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint * textureNames);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArraySecondaryColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUSurfaceAccessNV)(GLvdpauSurfaceNV surface, GLenum access);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUUnmapSurfacesNV)(GLsizei numSurface, const GLvdpauSurfaceNV * surfaces);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribBindingEXT)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVDPAUUnregisterSurfaceNV)(GLvdpauSurfaceNV surface);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribDivisorEXT)(GLuint vaobj, GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glValidateProgram)(GLuint program);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glValidateProgramARB)(GLhandleARB programObj);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribIFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glValidateProgramPipeline)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribIOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glValidateProgramPipelineEXT)(GLuint pipeline);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribLFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantArrayObjectATI)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribLOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantPointerEXT)(GLuint id, GLenum type, GLuint stride, const void * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantbvEXT)(GLuint id, const GLbyte * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBindingDivisorEXT)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantdvEXT)(GLuint id, const GLdouble * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBuffer)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantfvEXT)(GLuint id, const GLfloat * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBuffers)(GLuint vaobj, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantivEXT)(GLuint id, const GLint * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantsvEXT)(GLuint id, const GLshort * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1d)(GLuint index, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantubvEXT)(GLuint id, const GLubyte * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dARB)(GLuint index, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantuivEXT)(GLuint id, const GLuint * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dNV)(GLuint index, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVariantusvEXT)(GLuint id, const GLushort * addr);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2bOES)(GLbyte x, GLbyte y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dvARB)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dvNV)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2d)(GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1f)(GLuint index, GLfloat x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fARB)(GLuint index, GLfloat x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2f)(GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fNV)(GLuint index, GLfloat x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fv)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2hNV)(GLhalfNV x, GLhalfNV y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fvARB)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fvNV)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2i)(GLint x, GLint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1hNV)(GLuint index, GLhalfNV x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1hvNV)(GLuint index, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2s)(GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1s)(GLuint index, GLshort x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sARB)(GLuint index, GLshort x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2xOES)(GLfixed x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sNV)(GLuint index, GLshort x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex2xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3bOES)(GLbyte x, GLbyte y, GLbyte z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1svARB)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1svNV)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3d)(GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2d)(GLuint index, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3f)(GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3hNV)(GLhalfNV x, GLhalfNV y, GLhalfNV z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dvARB)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dvNV)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3i)(GLint x, GLint y, GLint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3s)(GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fv)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3xOES)(GLfixed x, GLfixed y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fvARB)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex3xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fvNV)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4bOES)(GLbyte x, GLbyte y, GLbyte z, GLbyte w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2hNV)(GLuint index, GLhalfNV x, GLhalfNV y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4bvOES)(const GLbyte * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2hvNV)(GLuint index, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2s)(GLuint index, GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4dv)(const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sARB)(GLuint index, GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sNV)(GLuint index, GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4fv)(const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4hNV)(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2svARB)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4hvNV)(const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2svNV)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4i)(GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4iv)(const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4sv)(const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4xOES)(GLfixed x, GLfixed y, GLfixed z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dvARB)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertex4xvOES)(const GLfixed * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dvNV)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribBinding)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribIFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayAttribLFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fv)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayBindVertexBufferEXT)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fvARB)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayBindingDivisor)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fvNV)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3hNV)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayEdgeFlagOffsetEXT)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3hvNV)(GLuint index, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayElementBuffer)(GLuint vaobj, GLuint buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayFogCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayIndexOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayMultiTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayNormalOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3svARB)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayParameteriAPPLE)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3svNV)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayRangeAPPLE)(GLsizei length, void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nbv)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayRangeNV)(GLsizei length, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NbvARB)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArraySecondaryColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Niv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NivARB)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribBindingEXT)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nsv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribDivisorEXT)(GLuint vaobj, GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NsvARB)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribIFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribIOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nubv)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribLFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NubvARB)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribLOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nuiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexAttribOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NuivARB)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBindingDivisorEXT)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nusv)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBuffer)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NusvARB)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexBuffers)(GLuint vaobj, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4bv)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexArrayVertexOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4bvARB)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1d)(GLuint index, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dARB)(GLuint index, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dNV)(GLuint index, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dvARB)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dvARB)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1dvNV)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dvNV)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1f)(GLuint index, GLfloat x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fARB)(GLuint index, GLfloat x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fNV)(GLuint index, GLfloat x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fv)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fv)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fvARB)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fvARB)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1fvNV)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fvNV)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1hNV)(GLuint index, GLhalfNV x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4hNV)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1hvNV)(GLuint index, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4hvNV)(GLuint index, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1s)(GLuint index, GLshort x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4iv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sARB)(GLuint index, GLshort x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ivARB)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sNV)(GLuint index, GLshort x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1sv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1svARB)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib1svNV)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2d)(GLuint index, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4svARB)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4svNV)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubv)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dvARB)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubvARB)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2dvNV)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubvNV)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4uiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4uivARB)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4usv)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fv)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4usvARB)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fvARB)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribArrayObjectATI)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2fvNV)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribBinding)(GLuint attribindex, GLuint bindingindex);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2hNV)(GLuint index, GLhalfNV x, GLhalfNV y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisor)(GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2hvNV)(GLuint index, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorANGLE)(GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2s)(GLuint index, GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorARB)(GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sARB)(GLuint index, GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorEXT)(GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sNV)(GLuint index, GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorNV)(GLuint index, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2sv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2svARB)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribFormatNV)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib2svNV)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1i)(GLuint index, GLint x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1iEXT)(GLuint index, GLint x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1iv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1ivEXT)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1ui)(GLuint index, GLuint x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dvARB)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uiEXT)(GLuint index, GLuint x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3dvNV)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uivEXT)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2i)(GLuint index, GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2iEXT)(GLuint index, GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fv)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2iv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fvARB)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2ivEXT)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3fvNV)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2ui)(GLuint index, GLuint x, GLuint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3hNV)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3hvNV)(GLuint index, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uivEXT)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3sv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3iv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3svARB)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3ivEXT)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib3svNV)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nbv)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NbvARB)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Niv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uivEXT)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NivARB)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4bv)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nsv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4bvEXT)(GLuint index, const GLbyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NsvARB)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4iv)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nubv)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ivEXT)(GLuint index, const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NubvARB)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4sv)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nuiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4svEXT)(GLuint index, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NuivARB)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ubv)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4Nusv)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ubvEXT)(GLuint index, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4NusvARB)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4bv)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4bvARB)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uiv)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uivEXT)(GLuint index, const GLuint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4usv)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4usvEXT)(GLuint index, const GLushort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dvARB)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribIFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4dvNV)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1d)(GLuint index, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dEXT)(GLuint index, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fv)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fvARB)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dvEXT)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4fvNV)(GLuint index, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1i64NV)(GLuint index, GLint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4hNV)(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1i64vNV)(GLuint index, const GLint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4hvNV)(GLuint index, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64ARB)(GLuint index, GLuint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4iv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64NV)(GLuint index, GLuint64EXT x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ivARB)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64vARB)(GLuint index, const GLuint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64vNV)(GLuint index, const GLuint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2d)(GLuint index, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dEXT)(GLuint index, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4sv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4svARB)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dvEXT)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4svNV)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2i64NV)(GLuint index, GLint64EXT x, GLint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2i64vNV)(GLuint index, const GLint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubv)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubvARB)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2ui64vNV)(GLuint index, const GLuint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4ubvNV)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4uiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4uivARB)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4usv)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dvEXT)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttrib4usvARB)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribArrayObjectATI)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3i64vNV)(GLuint index, const GLint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribBinding)(GLuint attribindex, GLuint bindingindex);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisor)(GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3ui64vNV)(GLuint index, const GLuint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorANGLE)(GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorARB)(GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorEXT)(GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dv)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribDivisorNV)(GLuint index, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dvEXT)(GLuint index, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribFormatNV)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4i64vNV)(GLuint index, const GLint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1i)(GLuint index, GLint x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1iEXT)(GLuint index, GLint x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4ui64vNV)(GLuint index, const GLuint64EXT * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1iv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribLFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1ivEXT)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribLFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1ui)(GLuint index, GLuint x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribLPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uiEXT)(GLuint index, GLuint x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribLPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP1ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI1uivEXT)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP1uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2i)(GLuint index, GLint x, GLint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP2ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2iEXT)(GLuint index, GLint x, GLint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP2uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2iv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP3ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2ivEXT)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP3uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2ui)(GLuint index, GLuint x, GLuint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP4ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribP4uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribParameteriAMD)(GLuint index, GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI2uivEXT)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointerNV)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3iv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1dvNV)(GLuint index, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3ivEXT)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1fvNV)(GLuint index, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1svNV)(GLuint index, GLsizei count, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2dvNV)(GLuint index, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI3uivEXT)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2fvNV)(GLuint index, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4bv)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4bvEXT)(GLuint index, const GLbyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2svNV)(GLuint index, GLsizei count, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3dvNV)(GLuint index, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3fvNV)(GLuint index, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4iv)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ivEXT)(GLuint index, const GLint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3svNV)(GLuint index, GLsizei count, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4sv)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4dvNV)(GLuint index, GLsizei count, const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4svEXT)(GLuint index, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4fvNV)(GLuint index, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ubv)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ubvEXT)(GLuint index, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4svNV)(GLuint index, GLsizei count, const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4ubvNV)(GLuint index, GLsizei count, const GLubyte * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexBindingDivisor)(GLuint bindingindex, GLuint divisor);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uiv)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexBlendARB)(GLint count);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4uivEXT)(GLuint index, const GLuint * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexBlendEnvfATI)(GLenum pname, GLfloat param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4usv)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexBlendEnviATI)(GLenum pname, GLint param);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribI4usvEXT)(GLuint index, const GLushort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexFormatNV)(GLint size, GLenum type, GLsizei stride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP2ui)(GLenum type, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribIFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP2uiv)(GLenum type, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP3ui)(GLenum type, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP3uiv)(GLenum type, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1d)(GLuint index, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP4ui)(GLenum type, GLuint value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dEXT)(GLuint index, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexP4uiv)(GLenum type, const GLuint * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1dvEXT)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1i64NV)(GLuint index, GLint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1i64vNV)(GLuint index, const GLint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexPointervINTEL)(GLint size, GLenum type, const void ** pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64ARB)(GLuint index, GLuint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1dATI)(GLenum stream, GLdouble x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64NV)(GLuint index, GLuint64EXT x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1dvATI)(GLenum stream, const GLdouble * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64vARB)(GLuint index, const GLuint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1fATI)(GLenum stream, GLfloat x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL1ui64vNV)(GLuint index, const GLuint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1fvATI)(GLenum stream, const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2d)(GLuint index, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1iATI)(GLenum stream, GLint x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dEXT)(GLuint index, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1ivATI)(GLenum stream, const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1sATI)(GLenum stream, GLshort x);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2dvEXT)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream1svATI)(GLenum stream, const GLshort * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2i64NV)(GLuint index, GLint64EXT x, GLint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2dATI)(GLenum stream, GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2i64vNV)(GLuint index, const GLint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2dvATI)(GLenum stream, const GLdouble * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2fATI)(GLenum stream, GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL2ui64vNV)(GLuint index, const GLuint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2fvATI)(GLenum stream, const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2iATI)(GLenum stream, GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2ivATI)(GLenum stream, const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2sATI)(GLenum stream, GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3dvEXT)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream2svATI)(GLenum stream, const GLshort * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3i64vNV)(GLuint index, const GLint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3dvATI)(GLenum stream, const GLdouble * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL3ui64vNV)(GLuint index, const GLuint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3fvATI)(GLenum stream, const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3iATI)(GLenum stream, GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3ivATI)(GLenum stream, const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dv)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3sATI)(GLenum stream, GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4dvEXT)(GLuint index, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream3svATI)(GLenum stream, const GLshort * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4i64vNV)(GLuint index, const GLint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4dvATI)(GLenum stream, const GLdouble * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribL4ui64vNV)(GLuint index, const GLuint64EXT * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4fvATI)(GLenum stream, const GLfloat * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribLFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4iATI)(GLenum stream, GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribLFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4ivATI)(GLenum stream, const GLint * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribLPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4sATI)(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribLPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexStream4svATI)(GLenum stream, const GLshort * coords);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP1ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexWeightPointerEXT)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP1uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexWeightfEXT)(GLfloat weight);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP2ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexWeightfvEXT)(const GLfloat * weight);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP2uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexWeighthNV)(GLhalfNV weight);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP3ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVertexWeighthvNV)(const GLhalfNV * weight);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP3uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT GLenum (EPOXY_CALLSPEC *epoxy_glVideoCaptureNV)(GLuint video_capture_slot, GLuint * sequence_num, GLuint64EXT * capture_time);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP4ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribP4uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribParameteriAMD)(GLuint index, GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint * params);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewport)(GLint x, GLint y, GLsizei width, GLsizei height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportArrayv)(GLuint first, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribPointerNV)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportArrayvNV)(GLuint first, GLsizei count, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1dvNV)(GLuint index, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportIndexedf)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1fvNV)(GLuint index, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfNV)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfv)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs1svNV)(GLuint index, GLsizei count, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfvNV)(GLuint index, const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2dvNV)(GLuint index, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2fvNV)(GLuint index, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWaitSyncAPPLE)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightPathsNV)(GLuint resultPath, GLsizei numPaths, const GLuint * paths, const GLfloat * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs2svNV)(GLuint index, GLsizei count, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightPointerARB)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3dvNV)(GLuint index, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightPointerOES)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3fvNV)(GLuint index, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightbvARB)(GLint size, const GLbyte * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightdvARB)(GLint size, const GLdouble * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs3svNV)(GLuint index, GLsizei count, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightfvARB)(GLint size, const GLfloat * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4dvNV)(GLuint index, GLsizei count, const GLdouble * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightivARB)(GLint size, const GLint * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4fvNV)(GLuint index, GLsizei count, const GLfloat * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightsvARB)(GLint size, const GLshort * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4hvNV)(GLuint index, GLsizei n, const GLhalfNV * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightubvARB)(GLint size, const GLubyte * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4svNV)(GLuint index, GLsizei count, const GLshort * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightuivARB)(GLint size, const GLuint * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexAttribs4ubvNV)(GLuint index, GLsizei count, const GLubyte * v);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWeightusvARB)(GLint size, const GLushort * weights);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexBindingDivisor)(GLuint bindingindex, GLuint divisor);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2d)(GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexBlendARB)(GLint count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2dARB)(GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexBlendEnvfATI)(GLenum pname, GLfloat param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2dMESA)(GLdouble x, GLdouble y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexBlendEnviATI)(GLenum pname, GLint param);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexFormatNV)(GLint size, GLenum type, GLsizei stride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2dvARB)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP2ui)(GLenum type, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2dvMESA)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP2uiv)(GLenum type, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2f)(GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP3ui)(GLenum type, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2fARB)(GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP3uiv)(GLenum type, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2fMESA)(GLfloat x, GLfloat y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP4ui)(GLenum type, GLuint value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexP4uiv)(GLenum type, const GLuint * value);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2fvARB)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexPointer)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2fvMESA)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2i)(GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexPointerListIBM)(GLint size, GLenum type, GLint stride, const void ** pointer, GLint ptrstride);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2iARB)(GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexPointervINTEL)(GLint size, GLenum type, const void ** pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2iMESA)(GLint x, GLint y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1dATI)(GLenum stream, GLdouble x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1dvATI)(GLenum stream, const GLdouble * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2ivARB)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1fATI)(GLenum stream, GLfloat x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2ivMESA)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1fvATI)(GLenum stream, const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2s)(GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1iATI)(GLenum stream, GLint x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2sARB)(GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1ivATI)(GLenum stream, const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2sMESA)(GLshort x, GLshort y);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1sATI)(GLenum stream, GLshort x);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream1svATI)(GLenum stream, const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2svARB)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2dATI)(GLenum stream, GLdouble x, GLdouble y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos2svMESA)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2dvATI)(GLenum stream, const GLdouble * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3d)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2fATI)(GLenum stream, GLfloat x, GLfloat y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2fvATI)(GLenum stream, const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2iATI)(GLenum stream, GLint x, GLint y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3dv)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2ivATI)(GLenum stream, const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3dvARB)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2sATI)(GLenum stream, GLshort x, GLshort y);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3dvMESA)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream2svATI)(GLenum stream, const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3f)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3dvATI)(GLenum stream, const GLdouble * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3fv)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3fvATI)(GLenum stream, const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3fvARB)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3iATI)(GLenum stream, GLint x, GLint y, GLint z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3fvMESA)(const GLfloat * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3ivATI)(GLenum stream, const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3i)(GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3sATI)(GLenum stream, GLshort x, GLshort y, GLshort z);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3iARB)(GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream3svATI)(GLenum stream, const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3iMESA)(GLint x, GLint y, GLint z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3iv)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4dvATI)(GLenum stream, const GLdouble * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3ivARB)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3ivMESA)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4fvATI)(GLenum stream, const GLfloat * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3s)(GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4iATI)(GLenum stream, GLint x, GLint y, GLint z, GLint w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3sARB)(GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4ivATI)(GLenum stream, const GLint * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3sMESA)(GLshort x, GLshort y, GLshort z);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4sATI)(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3sv)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexStream4svATI)(GLenum stream, const GLshort * coords);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3svARB)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexWeightPointerEXT)(GLint size, GLenum type, GLsizei stride, const void * pointer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos3svMESA)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexWeightfEXT)(GLfloat weight);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexWeightfvEXT)(const GLfloat * weight);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4dvMESA)(const GLdouble * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexWeighthNV)(GLhalfNV weight);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVertexWeighthvNV)(const GLhalfNV * weight);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4fvMESA)(const GLfloat * v);
+EPOXY_PUBLIC GLenum (EPOXY_CALLSPEC *epoxy_glVideoCaptureNV)(GLuint video_capture_slot, GLuint * sequence_num, GLuint64EXT * capture_time);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4ivMESA)(const GLint * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glVideoCaptureStreamParameterivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint * params);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWindowPos4svMESA)(const GLshort * v);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewport)(GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glWriteMaskEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportArrayv)(GLuint first, GLsizei count, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportArrayvNV)(GLuint first, GLsizei count, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportArrayvOES)(GLuint first, GLsizei count, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedf)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfNV)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfOES)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfv)(GLuint index, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfvNV)(GLuint index, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportIndexedfvOES)(GLuint index, const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportPositionWScaleNV)(GLuint index, GLfloat xcoeff, GLfloat ycoeff);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glViewportSwizzleNV)(GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWaitSyncAPPLE)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightPathsNV)(GLuint resultPath, GLsizei numPaths, const GLuint * paths, const GLfloat * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightPointerARB)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightPointerOES)(GLint size, GLenum type, GLsizei stride, const void * pointer);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightbvARB)(GLint size, const GLbyte * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightdvARB)(GLint size, const GLdouble * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightfvARB)(GLint size, const GLfloat * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightivARB)(GLint size, const GLint * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightsvARB)(GLint size, const GLshort * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightubvARB)(GLint size, const GLubyte * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightuivARB)(GLint size, const GLuint * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWeightusvARB)(GLint size, const GLushort * weights);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2d)(GLdouble x, GLdouble y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2dARB)(GLdouble x, GLdouble y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2dMESA)(GLdouble x, GLdouble y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2dv)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2dvARB)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2dvMESA)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2f)(GLfloat x, GLfloat y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2fARB)(GLfloat x, GLfloat y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2fMESA)(GLfloat x, GLfloat y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2fv)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2fvARB)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2fvMESA)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2i)(GLint x, GLint y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2iARB)(GLint x, GLint y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2iMESA)(GLint x, GLint y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2iv)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2ivARB)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2ivMESA)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2s)(GLshort x, GLshort y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2sARB)(GLshort x, GLshort y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2sMESA)(GLshort x, GLshort y);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2sv)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2svARB)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos2svMESA)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3d)(GLdouble x, GLdouble y, GLdouble z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3dv)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3dvARB)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3dvMESA)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3f)(GLfloat x, GLfloat y, GLfloat z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3fv)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3fvARB)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3fvMESA)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3i)(GLint x, GLint y, GLint z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3iARB)(GLint x, GLint y, GLint z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3iMESA)(GLint x, GLint y, GLint z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3iv)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3ivARB)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3ivMESA)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3s)(GLshort x, GLshort y, GLshort z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3sARB)(GLshort x, GLshort y, GLshort z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3sMESA)(GLshort x, GLshort y, GLshort z);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3sv)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3svARB)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos3svMESA)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4dvMESA)(const GLdouble * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4fvMESA)(const GLfloat * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4ivMESA)(const GLint * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowPos4svMESA)(const GLshort * v);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWindowRectanglesEXT)(GLenum mode, GLsizei count, const GLint * box);
+
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glWriteMaskEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
 
 #define glAccum epoxy_glAccum
 #define glAccumxOES epoxy_glAccumxOES
@@ -15622,6 +16056,7 @@
 #define glAlphaFuncQCOM epoxy_glAlphaFuncQCOM
 #define glAlphaFuncx epoxy_glAlphaFuncx
 #define glAlphaFuncxOES epoxy_glAlphaFuncxOES
+#define glApplyFramebufferAttachmentCMAAINTEL epoxy_glApplyFramebufferAttachmentCMAAINTEL
 #define glApplyTextureEXT epoxy_glApplyTextureEXT
 #define glAreProgramsResidentNV epoxy_glAreProgramsResidentNV
 #define glAreTexturesResident epoxy_glAreTexturesResident
@@ -15666,6 +16101,7 @@
 #define glBindFragDataLocation epoxy_glBindFragDataLocation
 #define glBindFragDataLocationEXT epoxy_glBindFragDataLocationEXT
 #define glBindFragDataLocationIndexed epoxy_glBindFragDataLocationIndexed
+#define glBindFragDataLocationIndexedEXT epoxy_glBindFragDataLocationIndexedEXT
 #define glBindFragmentShaderATI epoxy_glBindFragmentShaderATI
 #define glBindFramebuffer epoxy_glBindFramebuffer
 #define glBindFramebufferEXT epoxy_glBindFramebufferEXT
@@ -15715,6 +16151,7 @@
 #define glBinormalPointerEXT epoxy_glBinormalPointerEXT
 #define glBitmap epoxy_glBitmap
 #define glBitmapxOES epoxy_glBitmapxOES
+#define glBlendBarrier epoxy_glBlendBarrier
 #define glBlendBarrierKHR epoxy_glBlendBarrierKHR
 #define glBlendBarrierNV epoxy_glBlendBarrierNV
 #define glBlendColor epoxy_glBlendColor
@@ -15805,9 +16242,12 @@
 #define glClearNamedFramebufferfv epoxy_glClearNamedFramebufferfv
 #define glClearNamedFramebufferiv epoxy_glClearNamedFramebufferiv
 #define glClearNamedFramebufferuiv epoxy_glClearNamedFramebufferuiv
+#define glClearPixelLocalStorageuiEXT epoxy_glClearPixelLocalStorageuiEXT
 #define glClearStencil epoxy_glClearStencil
 #define glClearTexImage epoxy_glClearTexImage
+#define glClearTexImageEXT epoxy_glClearTexImageEXT
 #define glClearTexSubImage epoxy_glClearTexSubImage
+#define glClearTexSubImageEXT epoxy_glClearTexSubImageEXT
 #define glClientActiveTexture epoxy_glClientActiveTexture
 #define glClientActiveTextureARB epoxy_glClientActiveTextureARB
 #define glClientActiveVertexStreamATI epoxy_glClientActiveVertexStreamATI
@@ -15939,6 +16379,8 @@
 #define glCompressedTextureSubImage2DEXT epoxy_glCompressedTextureSubImage2DEXT
 #define glCompressedTextureSubImage3D epoxy_glCompressedTextureSubImage3D
 #define glCompressedTextureSubImage3DEXT epoxy_glCompressedTextureSubImage3DEXT
+#define glConservativeRasterParameterfNV epoxy_glConservativeRasterParameterfNV
+#define glConservativeRasterParameteriNV epoxy_glConservativeRasterParameteriNV
 #define glConvolutionFilter1D epoxy_glConvolutionFilter1D
 #define glConvolutionFilter1DEXT epoxy_glConvolutionFilter1DEXT
 #define glConvolutionFilter2D epoxy_glConvolutionFilter2D
@@ -16091,9 +16533,11 @@
 #define glDepthMask epoxy_glDepthMask
 #define glDepthRange epoxy_glDepthRange
 #define glDepthRangeArrayfvNV epoxy_glDepthRangeArrayfvNV
+#define glDepthRangeArrayfvOES epoxy_glDepthRangeArrayfvOES
 #define glDepthRangeArrayv epoxy_glDepthRangeArrayv
 #define glDepthRangeIndexed epoxy_glDepthRangeIndexed
 #define glDepthRangeIndexedfNV epoxy_glDepthRangeIndexedfNV
+#define glDepthRangeIndexedfOES epoxy_glDepthRangeIndexedfOES
 #define glDepthRangedNV epoxy_glDepthRangedNV
 #define glDepthRangef epoxy_glDepthRangef
 #define glDepthRangefOES epoxy_glDepthRangefOES
@@ -16182,7 +16626,9 @@
 #define glDrawTexxOES epoxy_glDrawTexxOES
 #define glDrawTexxvOES epoxy_glDrawTexxvOES
 #define glDrawTransformFeedback epoxy_glDrawTransformFeedback
+#define glDrawTransformFeedbackEXT epoxy_glDrawTransformFeedbackEXT
 #define glDrawTransformFeedbackInstanced epoxy_glDrawTransformFeedbackInstanced
+#define glDrawTransformFeedbackInstancedEXT epoxy_glDrawTransformFeedbackInstancedEXT
 #define glDrawTransformFeedbackNV epoxy_glDrawTransformFeedbackNV
 #define glDrawTransformFeedbackStream epoxy_glDrawTransformFeedbackStream
 #define glDrawTransformFeedbackStreamInstanced epoxy_glDrawTransformFeedbackStreamInstanced
@@ -16249,6 +16695,7 @@
 #define glEvalMesh2 epoxy_glEvalMesh2
 #define glEvalPoint1 epoxy_glEvalPoint1
 #define glEvalPoint2 epoxy_glEvalPoint2
+#define glEvaluateDepthValuesARB epoxy_glEvaluateDepthValuesARB
 #define glExecuteProgramNV epoxy_glExecuteProgramNV
 #define glExtGetBufferPointervQCOM epoxy_glExtGetBufferPointervQCOM
 #define glExtGetBuffersQCOM epoxy_glExtGetBuffersQCOM
@@ -16327,15 +16774,19 @@
 #define glFramebufferDrawBufferEXT epoxy_glFramebufferDrawBufferEXT
 #define glFramebufferDrawBuffersEXT epoxy_glFramebufferDrawBuffersEXT
 #define glFramebufferParameteri epoxy_glFramebufferParameteri
+#define glFramebufferPixelLocalStorageSizeEXT epoxy_glFramebufferPixelLocalStorageSizeEXT
 #define glFramebufferReadBufferEXT epoxy_glFramebufferReadBufferEXT
 #define glFramebufferRenderbuffer epoxy_glFramebufferRenderbuffer
 #define glFramebufferRenderbufferEXT epoxy_glFramebufferRenderbufferEXT
 #define glFramebufferRenderbufferOES epoxy_glFramebufferRenderbufferOES
+#define glFramebufferSampleLocationsfvARB epoxy_glFramebufferSampleLocationsfvARB
 #define glFramebufferSampleLocationsfvNV epoxy_glFramebufferSampleLocationsfvNV
+#define glFramebufferSamplePositionsfvAMD epoxy_glFramebufferSamplePositionsfvAMD
 #define glFramebufferTexture epoxy_glFramebufferTexture
 #define glFramebufferTexture1D epoxy_glFramebufferTexture1D
 #define glFramebufferTexture1DEXT epoxy_glFramebufferTexture1DEXT
 #define glFramebufferTexture2D epoxy_glFramebufferTexture2D
+#define glFramebufferTexture2DDownsampleIMG epoxy_glFramebufferTexture2DDownsampleIMG
 #define glFramebufferTexture2DEXT epoxy_glFramebufferTexture2DEXT
 #define glFramebufferTexture2DMultisampleEXT epoxy_glFramebufferTexture2DMultisampleEXT
 #define glFramebufferTexture2DMultisampleIMG epoxy_glFramebufferTexture2DMultisampleIMG
@@ -16349,7 +16800,9 @@
 #define glFramebufferTextureFaceEXT epoxy_glFramebufferTextureFaceEXT
 #define glFramebufferTextureLayer epoxy_glFramebufferTextureLayer
 #define glFramebufferTextureLayerARB epoxy_glFramebufferTextureLayerARB
+#define glFramebufferTextureLayerDownsampleIMG epoxy_glFramebufferTextureLayerDownsampleIMG
 #define glFramebufferTextureLayerEXT epoxy_glFramebufferTextureLayerEXT
+#define glFramebufferTextureMultisampleMultiviewOVR epoxy_glFramebufferTextureMultisampleMultiviewOVR
 #define glFramebufferTextureMultiviewOVR epoxy_glFramebufferTextureMultiviewOVR
 #define glFramebufferTextureOES epoxy_glFramebufferTextureOES
 #define glFreeObjectBufferATI epoxy_glFreeObjectBufferATI
@@ -16486,9 +16939,11 @@
 #define glGetFloati_v epoxy_glGetFloati_v
 #define glGetFloati_vEXT epoxy_glGetFloati_vEXT
 #define glGetFloati_vNV epoxy_glGetFloati_vNV
+#define glGetFloati_vOES epoxy_glGetFloati_vOES
 #define glGetFloatv epoxy_glGetFloatv
 #define glGetFogFuncSGIS epoxy_glGetFogFuncSGIS
 #define glGetFragDataIndex epoxy_glGetFragDataIndex
+#define glGetFragDataIndexEXT epoxy_glGetFragDataIndexEXT
 #define glGetFragDataLocation epoxy_glGetFragDataLocation
 #define glGetFragDataLocationEXT epoxy_glGetFragDataLocationEXT
 #define glGetFragmentLightfvSGIX epoxy_glGetFragmentLightfvSGIX
@@ -16498,8 +16953,10 @@
 #define glGetFramebufferAttachmentParameteriv epoxy_glGetFramebufferAttachmentParameteriv
 #define glGetFramebufferAttachmentParameterivEXT epoxy_glGetFramebufferAttachmentParameterivEXT
 #define glGetFramebufferAttachmentParameterivOES epoxy_glGetFramebufferAttachmentParameterivOES
+#define glGetFramebufferParameterfvAMD epoxy_glGetFramebufferParameterfvAMD
 #define glGetFramebufferParameteriv epoxy_glGetFramebufferParameteriv
 #define glGetFramebufferParameterivEXT epoxy_glGetFramebufferParameterivEXT
+#define glGetFramebufferPixelLocalStorageSizeEXT epoxy_glGetFramebufferPixelLocalStorageSizeEXT
 #define glGetGraphicsResetStatus epoxy_glGetGraphicsResetStatus
 #define glGetGraphicsResetStatusARB epoxy_glGetGraphicsResetStatusARB
 #define glGetGraphicsResetStatusEXT epoxy_glGetGraphicsResetStatusEXT
@@ -16587,6 +17044,7 @@
 #define glGetNamedBufferSubDataEXT epoxy_glGetNamedBufferSubDataEXT
 #define glGetNamedFramebufferAttachmentParameteriv epoxy_glGetNamedFramebufferAttachmentParameteriv
 #define glGetNamedFramebufferAttachmentParameterivEXT epoxy_glGetNamedFramebufferAttachmentParameterivEXT
+#define glGetNamedFramebufferParameterfvAMD epoxy_glGetNamedFramebufferParameterfvAMD
 #define glGetNamedFramebufferParameteriv epoxy_glGetNamedFramebufferParameteriv
 #define glGetNamedFramebufferParameterivEXT epoxy_glGetNamedFramebufferParameterivEXT
 #define glGetNamedProgramLocalParameterIivEXT epoxy_glGetNamedProgramLocalParameterIivEXT
@@ -16672,6 +17130,7 @@
 #define glGetProgramResourceIndex epoxy_glGetProgramResourceIndex
 #define glGetProgramResourceLocation epoxy_glGetProgramResourceLocation
 #define glGetProgramResourceLocationIndex epoxy_glGetProgramResourceLocationIndex
+#define glGetProgramResourceLocationIndexEXT epoxy_glGetProgramResourceLocationIndexEXT
 #define glGetProgramResourceName epoxy_glGetProgramResourceName
 #define glGetProgramResourcefvNV epoxy_glGetProgramResourcefvNV
 #define glGetProgramResourceiv epoxy_glGetProgramResourceiv
@@ -16755,6 +17214,7 @@
 #define glGetTexParameterxv epoxy_glGetTexParameterxv
 #define glGetTexParameterxvOES epoxy_glGetTexParameterxvOES
 #define glGetTextureHandleARB epoxy_glGetTextureHandleARB
+#define glGetTextureHandleIMG epoxy_glGetTextureHandleIMG
 #define glGetTextureHandleNV epoxy_glGetTextureHandleNV
 #define glGetTextureImage epoxy_glGetTextureImage
 #define glGetTextureImageEXT epoxy_glGetTextureImageEXT
@@ -16771,6 +17231,7 @@
 #define glGetTextureParameteriv epoxy_glGetTextureParameteriv
 #define glGetTextureParameterivEXT epoxy_glGetTextureParameterivEXT
 #define glGetTextureSamplerHandleARB epoxy_glGetTextureSamplerHandleARB
+#define glGetTextureSamplerHandleIMG epoxy_glGetTextureSamplerHandleIMG
 #define glGetTextureSamplerHandleNV epoxy_glGetTextureSamplerHandleNV
 #define glGetTextureSubImage epoxy_glGetTextureSubImage
 #define glGetTrackMatrixivNV epoxy_glGetTrackMatrixivNV
@@ -16791,9 +17252,11 @@
 #define glGetUniformdv epoxy_glGetUniformdv
 #define glGetUniformfv epoxy_glGetUniformfv
 #define glGetUniformfvARB epoxy_glGetUniformfvARB
+#define glGetUniformi64vARB epoxy_glGetUniformi64vARB
 #define glGetUniformi64vNV epoxy_glGetUniformi64vNV
 #define glGetUniformiv epoxy_glGetUniformiv
 #define glGetUniformivARB epoxy_glGetUniformivARB
+#define glGetUniformui64vARB epoxy_glGetUniformui64vARB
 #define glGetUniformui64vNV epoxy_glGetUniformui64vNV
 #define glGetUniformuiv epoxy_glGetUniformuiv
 #define glGetUniformuivEXT epoxy_glGetUniformuivEXT
@@ -16876,10 +17339,12 @@
 #define glGetnUniformfvARB epoxy_glGetnUniformfvARB
 #define glGetnUniformfvEXT epoxy_glGetnUniformfvEXT
 #define glGetnUniformfvKHR epoxy_glGetnUniformfvKHR
+#define glGetnUniformi64vARB epoxy_glGetnUniformi64vARB
 #define glGetnUniformiv epoxy_glGetnUniformiv
 #define glGetnUniformivARB epoxy_glGetnUniformivARB
 #define glGetnUniformivEXT epoxy_glGetnUniformivEXT
 #define glGetnUniformivKHR epoxy_glGetnUniformivKHR
+#define glGetnUniformui64vARB epoxy_glGetnUniformui64vARB
 #define glGetnUniformuiv epoxy_glGetnUniformuiv
 #define glGetnUniformuivARB epoxy_glGetnUniformuivARB
 #define glGetnUniformuivKHR epoxy_glGetnUniformuivKHR
@@ -17115,6 +17580,7 @@
 #define glMatrixScalefEXT epoxy_glMatrixScalefEXT
 #define glMatrixTranslatedEXT epoxy_glMatrixTranslatedEXT
 #define glMatrixTranslatefEXT epoxy_glMatrixTranslatefEXT
+#define glMaxShaderCompilerThreadsARB epoxy_glMaxShaderCompilerThreadsARB
 #define glMemoryBarrier epoxy_glMemoryBarrier
 #define glMemoryBarrierByRegion epoxy_glMemoryBarrierByRegion
 #define glMemoryBarrierEXT epoxy_glMemoryBarrierEXT
@@ -17293,7 +17759,9 @@
 #define glNamedFramebufferReadBuffer epoxy_glNamedFramebufferReadBuffer
 #define glNamedFramebufferRenderbuffer epoxy_glNamedFramebufferRenderbuffer
 #define glNamedFramebufferRenderbufferEXT epoxy_glNamedFramebufferRenderbufferEXT
+#define glNamedFramebufferSampleLocationsfvARB epoxy_glNamedFramebufferSampleLocationsfvARB
 #define glNamedFramebufferSampleLocationsfvNV epoxy_glNamedFramebufferSampleLocationsfvNV
+#define glNamedFramebufferSamplePositionsfvAMD epoxy_glNamedFramebufferSamplePositionsfvAMD
 #define glNamedFramebufferTexture epoxy_glNamedFramebufferTexture
 #define glNamedFramebufferTexture1DEXT epoxy_glNamedFramebufferTexture1DEXT
 #define glNamedFramebufferTexture2DEXT epoxy_glNamedFramebufferTexture2DEXT
@@ -17461,6 +17929,8 @@
 #define glPopName epoxy_glPopName
 #define glPresentFrameDualFillNV epoxy_glPresentFrameDualFillNV
 #define glPresentFrameKeyedNV epoxy_glPresentFrameKeyedNV
+#define glPrimitiveBoundingBox epoxy_glPrimitiveBoundingBox
+#define glPrimitiveBoundingBoxARB epoxy_glPrimitiveBoundingBoxARB
 #define glPrimitiveBoundingBoxEXT epoxy_glPrimitiveBoundingBoxEXT
 #define glPrimitiveBoundingBoxOES epoxy_glPrimitiveBoundingBoxOES
 #define glPrimitiveRestartIndex epoxy_glPrimitiveRestartIndex
@@ -17521,13 +17991,17 @@
 #define glProgramUniform1fv epoxy_glProgramUniform1fv
 #define glProgramUniform1fvEXT epoxy_glProgramUniform1fvEXT
 #define glProgramUniform1i epoxy_glProgramUniform1i
+#define glProgramUniform1i64ARB epoxy_glProgramUniform1i64ARB
 #define glProgramUniform1i64NV epoxy_glProgramUniform1i64NV
+#define glProgramUniform1i64vARB epoxy_glProgramUniform1i64vARB
 #define glProgramUniform1i64vNV epoxy_glProgramUniform1i64vNV
 #define glProgramUniform1iEXT epoxy_glProgramUniform1iEXT
 #define glProgramUniform1iv epoxy_glProgramUniform1iv
 #define glProgramUniform1ivEXT epoxy_glProgramUniform1ivEXT
 #define glProgramUniform1ui epoxy_glProgramUniform1ui
+#define glProgramUniform1ui64ARB epoxy_glProgramUniform1ui64ARB
 #define glProgramUniform1ui64NV epoxy_glProgramUniform1ui64NV
+#define glProgramUniform1ui64vARB epoxy_glProgramUniform1ui64vARB
 #define glProgramUniform1ui64vNV epoxy_glProgramUniform1ui64vNV
 #define glProgramUniform1uiEXT epoxy_glProgramUniform1uiEXT
 #define glProgramUniform1uiv epoxy_glProgramUniform1uiv
@@ -17541,13 +18015,17 @@
 #define glProgramUniform2fv epoxy_glProgramUniform2fv
 #define glProgramUniform2fvEXT epoxy_glProgramUniform2fvEXT
 #define glProgramUniform2i epoxy_glProgramUniform2i
+#define glProgramUniform2i64ARB epoxy_glProgramUniform2i64ARB
 #define glProgramUniform2i64NV epoxy_glProgramUniform2i64NV
+#define glProgramUniform2i64vARB epoxy_glProgramUniform2i64vARB
 #define glProgramUniform2i64vNV epoxy_glProgramUniform2i64vNV
 #define glProgramUniform2iEXT epoxy_glProgramUniform2iEXT
 #define glProgramUniform2iv epoxy_glProgramUniform2iv
 #define glProgramUniform2ivEXT epoxy_glProgramUniform2ivEXT
 #define glProgramUniform2ui epoxy_glProgramUniform2ui
+#define glProgramUniform2ui64ARB epoxy_glProgramUniform2ui64ARB
 #define glProgramUniform2ui64NV epoxy_glProgramUniform2ui64NV
+#define glProgramUniform2ui64vARB epoxy_glProgramUniform2ui64vARB
 #define glProgramUniform2ui64vNV epoxy_glProgramUniform2ui64vNV
 #define glProgramUniform2uiEXT epoxy_glProgramUniform2uiEXT
 #define glProgramUniform2uiv epoxy_glProgramUniform2uiv
@@ -17561,13 +18039,17 @@
 #define glProgramUniform3fv epoxy_glProgramUniform3fv
 #define glProgramUniform3fvEXT epoxy_glProgramUniform3fvEXT
 #define glProgramUniform3i epoxy_glProgramUniform3i
+#define glProgramUniform3i64ARB epoxy_glProgramUniform3i64ARB
 #define glProgramUniform3i64NV epoxy_glProgramUniform3i64NV
+#define glProgramUniform3i64vARB epoxy_glProgramUniform3i64vARB
 #define glProgramUniform3i64vNV epoxy_glProgramUniform3i64vNV
 #define glProgramUniform3iEXT epoxy_glProgramUniform3iEXT
 #define glProgramUniform3iv epoxy_glProgramUniform3iv
 #define glProgramUniform3ivEXT epoxy_glProgramUniform3ivEXT
 #define glProgramUniform3ui epoxy_glProgramUniform3ui
+#define glProgramUniform3ui64ARB epoxy_glProgramUniform3ui64ARB
 #define glProgramUniform3ui64NV epoxy_glProgramUniform3ui64NV
+#define glProgramUniform3ui64vARB epoxy_glProgramUniform3ui64vARB
 #define glProgramUniform3ui64vNV epoxy_glProgramUniform3ui64vNV
 #define glProgramUniform3uiEXT epoxy_glProgramUniform3uiEXT
 #define glProgramUniform3uiv epoxy_glProgramUniform3uiv
@@ -17581,20 +18063,26 @@
 #define glProgramUniform4fv epoxy_glProgramUniform4fv
 #define glProgramUniform4fvEXT epoxy_glProgramUniform4fvEXT
 #define glProgramUniform4i epoxy_glProgramUniform4i
+#define glProgramUniform4i64ARB epoxy_glProgramUniform4i64ARB
 #define glProgramUniform4i64NV epoxy_glProgramUniform4i64NV
+#define glProgramUniform4i64vARB epoxy_glProgramUniform4i64vARB
 #define glProgramUniform4i64vNV epoxy_glProgramUniform4i64vNV
 #define glProgramUniform4iEXT epoxy_glProgramUniform4iEXT
 #define glProgramUniform4iv epoxy_glProgramUniform4iv
 #define glProgramUniform4ivEXT epoxy_glProgramUniform4ivEXT
 #define glProgramUniform4ui epoxy_glProgramUniform4ui
+#define glProgramUniform4ui64ARB epoxy_glProgramUniform4ui64ARB
 #define glProgramUniform4ui64NV epoxy_glProgramUniform4ui64NV
+#define glProgramUniform4ui64vARB epoxy_glProgramUniform4ui64vARB
 #define glProgramUniform4ui64vNV epoxy_glProgramUniform4ui64vNV
 #define glProgramUniform4uiEXT epoxy_glProgramUniform4uiEXT
 #define glProgramUniform4uiv epoxy_glProgramUniform4uiv
 #define glProgramUniform4uivEXT epoxy_glProgramUniform4uivEXT
 #define glProgramUniformHandleui64ARB epoxy_glProgramUniformHandleui64ARB
+#define glProgramUniformHandleui64IMG epoxy_glProgramUniformHandleui64IMG
 #define glProgramUniformHandleui64NV epoxy_glProgramUniformHandleui64NV
 #define glProgramUniformHandleui64vARB epoxy_glProgramUniformHandleui64vARB
+#define glProgramUniformHandleui64vIMG epoxy_glProgramUniformHandleui64vIMG
 #define glProgramUniformHandleui64vNV epoxy_glProgramUniformHandleui64vNV
 #define glProgramUniformMatrix2dv epoxy_glProgramUniformMatrix2dv
 #define glProgramUniformMatrix2dvEXT epoxy_glProgramUniformMatrix2dvEXT
@@ -17777,10 +18265,13 @@
 #define glScissor epoxy_glScissor
 #define glScissorArrayv epoxy_glScissorArrayv
 #define glScissorArrayvNV epoxy_glScissorArrayvNV
+#define glScissorArrayvOES epoxy_glScissorArrayvOES
 #define glScissorIndexed epoxy_glScissorIndexed
 #define glScissorIndexedNV epoxy_glScissorIndexedNV
+#define glScissorIndexedOES epoxy_glScissorIndexedOES
 #define glScissorIndexedv epoxy_glScissorIndexedv
 #define glScissorIndexedvNV epoxy_glScissorIndexedvNV
+#define glScissorIndexedvOES epoxy_glScissorIndexedvOES
 #define glSecondaryColor3b epoxy_glSecondaryColor3b
 #define glSecondaryColor3bEXT epoxy_glSecondaryColor3bEXT
 #define glSecondaryColor3bv epoxy_glSecondaryColor3bv
@@ -18118,13 +18609,17 @@
 #define glUniform1fv epoxy_glUniform1fv
 #define glUniform1fvARB epoxy_glUniform1fvARB
 #define glUniform1i epoxy_glUniform1i
+#define glUniform1i64ARB epoxy_glUniform1i64ARB
 #define glUniform1i64NV epoxy_glUniform1i64NV
+#define glUniform1i64vARB epoxy_glUniform1i64vARB
 #define glUniform1i64vNV epoxy_glUniform1i64vNV
 #define glUniform1iARB epoxy_glUniform1iARB
 #define glUniform1iv epoxy_glUniform1iv
 #define glUniform1ivARB epoxy_glUniform1ivARB
 #define glUniform1ui epoxy_glUniform1ui
+#define glUniform1ui64ARB epoxy_glUniform1ui64ARB
 #define glUniform1ui64NV epoxy_glUniform1ui64NV
+#define glUniform1ui64vARB epoxy_glUniform1ui64vARB
 #define glUniform1ui64vNV epoxy_glUniform1ui64vNV
 #define glUniform1uiEXT epoxy_glUniform1uiEXT
 #define glUniform1uiv epoxy_glUniform1uiv
@@ -18136,13 +18631,17 @@
 #define glUniform2fv epoxy_glUniform2fv
 #define glUniform2fvARB epoxy_glUniform2fvARB
 #define glUniform2i epoxy_glUniform2i
+#define glUniform2i64ARB epoxy_glUniform2i64ARB
 #define glUniform2i64NV epoxy_glUniform2i64NV
+#define glUniform2i64vARB epoxy_glUniform2i64vARB
 #define glUniform2i64vNV epoxy_glUniform2i64vNV
 #define glUniform2iARB epoxy_glUniform2iARB
 #define glUniform2iv epoxy_glUniform2iv
 #define glUniform2ivARB epoxy_glUniform2ivARB
 #define glUniform2ui epoxy_glUniform2ui
+#define glUniform2ui64ARB epoxy_glUniform2ui64ARB
 #define glUniform2ui64NV epoxy_glUniform2ui64NV
+#define glUniform2ui64vARB epoxy_glUniform2ui64vARB
 #define glUniform2ui64vNV epoxy_glUniform2ui64vNV
 #define glUniform2uiEXT epoxy_glUniform2uiEXT
 #define glUniform2uiv epoxy_glUniform2uiv
@@ -18154,13 +18653,17 @@
 #define glUniform3fv epoxy_glUniform3fv
 #define glUniform3fvARB epoxy_glUniform3fvARB
 #define glUniform3i epoxy_glUniform3i
+#define glUniform3i64ARB epoxy_glUniform3i64ARB
 #define glUniform3i64NV epoxy_glUniform3i64NV
+#define glUniform3i64vARB epoxy_glUniform3i64vARB
 #define glUniform3i64vNV epoxy_glUniform3i64vNV
 #define glUniform3iARB epoxy_glUniform3iARB
 #define glUniform3iv epoxy_glUniform3iv
 #define glUniform3ivARB epoxy_glUniform3ivARB
 #define glUniform3ui epoxy_glUniform3ui
+#define glUniform3ui64ARB epoxy_glUniform3ui64ARB
 #define glUniform3ui64NV epoxy_glUniform3ui64NV
+#define glUniform3ui64vARB epoxy_glUniform3ui64vARB
 #define glUniform3ui64vNV epoxy_glUniform3ui64vNV
 #define glUniform3uiEXT epoxy_glUniform3uiEXT
 #define glUniform3uiv epoxy_glUniform3uiv
@@ -18172,13 +18675,17 @@
 #define glUniform4fv epoxy_glUniform4fv
 #define glUniform4fvARB epoxy_glUniform4fvARB
 #define glUniform4i epoxy_glUniform4i
+#define glUniform4i64ARB epoxy_glUniform4i64ARB
 #define glUniform4i64NV epoxy_glUniform4i64NV
+#define glUniform4i64vARB epoxy_glUniform4i64vARB
 #define glUniform4i64vNV epoxy_glUniform4i64vNV
 #define glUniform4iARB epoxy_glUniform4iARB
 #define glUniform4iv epoxy_glUniform4iv
 #define glUniform4ivARB epoxy_glUniform4ivARB
 #define glUniform4ui epoxy_glUniform4ui
+#define glUniform4ui64ARB epoxy_glUniform4ui64ARB
 #define glUniform4ui64NV epoxy_glUniform4ui64NV
+#define glUniform4ui64vARB epoxy_glUniform4ui64vARB
 #define glUniform4ui64vNV epoxy_glUniform4ui64vNV
 #define glUniform4uiEXT epoxy_glUniform4uiEXT
 #define glUniform4uiv epoxy_glUniform4uiv
@@ -18186,8 +18693,10 @@
 #define glUniformBlockBinding epoxy_glUniformBlockBinding
 #define glUniformBufferEXT epoxy_glUniformBufferEXT
 #define glUniformHandleui64ARB epoxy_glUniformHandleui64ARB
+#define glUniformHandleui64IMG epoxy_glUniformHandleui64IMG
 #define glUniformHandleui64NV epoxy_glUniformHandleui64NV
 #define glUniformHandleui64vARB epoxy_glUniformHandleui64vARB
+#define glUniformHandleui64vIMG epoxy_glUniformHandleui64vIMG
 #define glUniformHandleui64vNV epoxy_glUniformHandleui64vNV
 #define glUniformMatrix2dv epoxy_glUniformMatrix2dv
 #define glUniformMatrix2fv epoxy_glUniformMatrix2fv
@@ -18614,10 +19123,15 @@
 #define glViewport epoxy_glViewport
 #define glViewportArrayv epoxy_glViewportArrayv
 #define glViewportArrayvNV epoxy_glViewportArrayvNV
+#define glViewportArrayvOES epoxy_glViewportArrayvOES
 #define glViewportIndexedf epoxy_glViewportIndexedf
 #define glViewportIndexedfNV epoxy_glViewportIndexedfNV
+#define glViewportIndexedfOES epoxy_glViewportIndexedfOES
 #define glViewportIndexedfv epoxy_glViewportIndexedfv
 #define glViewportIndexedfvNV epoxy_glViewportIndexedfvNV
+#define glViewportIndexedfvOES epoxy_glViewportIndexedfvOES
+#define glViewportPositionWScaleNV epoxy_glViewportPositionWScaleNV
+#define glViewportSwizzleNV epoxy_glViewportSwizzleNV
 #define glWaitSync epoxy_glWaitSync
 #define glWaitSyncAPPLE epoxy_glWaitSyncAPPLE
 #define glWeightPathsNV epoxy_glWeightPathsNV
@@ -18687,4 +19201,5 @@
 #define glWindowPos4ivMESA epoxy_glWindowPos4ivMESA
 #define glWindowPos4sMESA epoxy_glWindowPos4sMESA
 #define glWindowPos4svMESA epoxy_glWindowPos4svMESA
+#define glWindowRectanglesEXT epoxy_glWindowRectanglesEXT
 #define glWriteMaskEXT epoxy_glWriteMaskEXT
diff -Nru libepoxy-1.3.1/include/epoxy/gl.h libepoxy-1.4.3/include/epoxy/gl.h
--- libepoxy-1.3.1/include/epoxy/gl.h	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/gl.h	2017-11-13 11:34:09.000000000 +0000
@@ -25,16 +25,14 @@
  *
  * Provides an implementation of a GL dispatch layer using either
  * global function pointers or a hidden vtable.
+ *
+ * You should include `` instead of `` and ``.
  */
 
 #ifndef EPOXY_GL_H
 #define EPOXY_GL_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include 
+#include "epoxy/common.h"
 
 #if defined(__gl_h_) || defined(__glext_h_)
 #error epoxy/gl.h must be included before (or in place of) GL/gl.h
@@ -51,7 +49,6 @@
 /* APIENTRY and GLAPIENTRY are not used on Linux or Mac. */
 #define APIENTRY
 #define GLAPIENTRY
-#define EPOXY_IMPORTEXPORT
 #define EPOXY_CALLSPEC
 #define GLAPI
 #define KHRONOS_APIENTRY
@@ -70,10 +67,6 @@
 #define EPOXY_CALLSPEC __stdcall
 #endif
 
-#ifndef EPOXY_IMPORTEXPORT
-#define EPOXY_IMPORTEXPORT __declspec(dllimport)
-#endif
-
 #ifndef GLAPI
 #define GLAPI extern
 #endif
@@ -91,14 +84,14 @@
 #define GLAPIENTRYP GLAPIENTRY *
 #endif
 
+EPOXY_BEGIN_DECLS
+
 #include "epoxy/gl_generated.h"
 
-EPOXY_IMPORTEXPORT bool epoxy_has_gl_extension(const char *extension);
-EPOXY_IMPORTEXPORT bool epoxy_is_desktop_gl(void);
-EPOXY_IMPORTEXPORT int epoxy_gl_version(void);
+EPOXY_PUBLIC bool epoxy_has_gl_extension(const char *extension);
+EPOXY_PUBLIC bool epoxy_is_desktop_gl(void);
+EPOXY_PUBLIC int epoxy_gl_version(void);
 
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
+EPOXY_END_DECLS
 
 #endif /* EPOXY_GL_H */
diff -Nru libepoxy-1.3.1/include/epoxy/glx_generated.h libepoxy-1.4.3/include/epoxy/glx_generated.h
--- libepoxy-1.3.1/include/epoxy/glx_generated.h	2015-07-15 23:09:08.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/glx_generated.h	2017-11-13 11:34:09.000000000 +0000
@@ -6,6 +6,7 @@
 #include 
 #include 
 
+#include "epoxy/common.h"
 #include "epoxy/gl.h"
 #include 
 #include 
@@ -121,6 +122,7 @@
 #define GLX_EXT_fbconfig_packed_float 1
 #define GLX_EXT_framebuffer_sRGB 1
 #define GLX_EXT_import_context 1
+#define GLX_EXT_libglvnd 1
 #define GLX_EXT_stereo_tree 1
 #define GLX_EXT_swap_control 1
 #define GLX_EXT_swap_control_tear 1
@@ -140,6 +142,7 @@
 #define GLX_NV_float_buffer 1
 #define GLX_NV_multisample_coverage 1
 #define GLX_NV_present_video 1
+#define GLX_NV_robustness_video_memory_purge 1
 #define GLX_NV_swap_group 1
 #define GLX_NV_video_capture 1
 #define GLX_NV_video_out 1
@@ -289,6 +292,8 @@
 #define GLX_LATE_SWAPS_TEAR_EXT                                  0x20F3
 #define GLX_BACK_BUFFER_AGE_EXT                                  0x20F4
 #define GLX_STEREO_TREE_EXT                                      0x20F5
+#define GLX_VENDOR_NAMES_EXT                                     0x20F6
+#define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV              0x20F7
 #define GLX_GPU_FASTEST_TARGET_GPUS_AMD                          0x21A2
 #define GLX_GPU_RAM_AMD                                          0x21A3
 #define GLX_GPU_CLOCK_AMD                                        0x21A4
@@ -577,265 +582,265 @@
 typedef void (GLAPIENTRY *PFNGLXWAITGLPROC)(void);
 typedef int (GLAPIENTRY *PFNGLXWAITVIDEOSYNCSGIPROC)(int divisor, int remainder, unsigned int * count);
 typedef void (GLAPIENTRY *PFNGLXWAITXPROC)(void);
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXBindChannelToWindowSGIX)(Display * display, int screen, int channel, Window window);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXBindChannelToWindowSGIX)(Display * display, int screen, int channel, Window window);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXBindHyperpipeSGIX)(Display * dpy, int hpId);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXBindHyperpipeSGIX)(Display * dpy, int hpId);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXBindSwapBarrierNV)(Display * dpy, GLuint group, GLuint barrier);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXBindSwapBarrierNV)(Display * dpy, GLuint group, GLuint barrier);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXBindSwapBarrierSGIX)(Display * dpy, GLXDrawable drawable, int barrier);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXBindSwapBarrierSGIX)(Display * dpy, GLXDrawable drawable, int barrier);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXBindTexImageEXT)(Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXBindTexImageEXT)(Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXBindVideoCaptureDeviceNV)(Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXBindVideoCaptureDeviceNV)(Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXBindVideoDeviceNV)(Display * dpy, unsigned int video_slot, unsigned int video_device, const int * attrib_list);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXBindVideoDeviceNV)(Display * dpy, unsigned int video_slot, unsigned int video_device, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXBindVideoImageNV)(Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXBindVideoImageNV)(Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXBlitContextFramebufferAMD)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXBlitContextFramebufferAMD)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXChannelRectSGIX)(Display * display, int screen, int channel, int x, int y, int w, int h);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXChannelRectSGIX)(Display * display, int screen, int channel, int x, int y, int w, int h);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXChannelRectSyncSGIX)(Display * display, int screen, int channel, GLenum synctype);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXChannelRectSyncSGIX)(Display * display, int screen, int channel, GLenum synctype);
 
-extern EPOXY_IMPORTEXPORT GLXFBConfig * (EPOXY_CALLSPEC *epoxy_glXChooseFBConfig)(Display * dpy, int screen, const int * attrib_list, int * nelements);
+EPOXY_PUBLIC GLXFBConfig * (EPOXY_CALLSPEC *epoxy_glXChooseFBConfig)(Display * dpy, int screen, const int * attrib_list, int * nelements);
 
-extern EPOXY_IMPORTEXPORT GLXFBConfigSGIX * (EPOXY_CALLSPEC *epoxy_glXChooseFBConfigSGIX)(Display * dpy, int screen, int * attrib_list, int * nelements);
+EPOXY_PUBLIC GLXFBConfigSGIX * (EPOXY_CALLSPEC *epoxy_glXChooseFBConfigSGIX)(Display * dpy, int screen, int * attrib_list, int * nelements);
 
-extern EPOXY_IMPORTEXPORT XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXChooseVisual)(Display * dpy, int screen, int * attribList);
+EPOXY_PUBLIC XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXChooseVisual)(Display * dpy, int screen, int * attribList);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXCopyBufferSubDataNV)(Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXCopyBufferSubDataNV)(Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXCopyContext)(Display * dpy, GLXContext src, GLXContext dst, unsigned long mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXCopyContext)(Display * dpy, GLXContext src, GLXContext dst, unsigned long mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXCopyImageSubDataNV)(Display * dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXCopyImageSubDataNV)(Display * dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXCopySubBufferMESA)(Display * dpy, GLXDrawable drawable, int x, int y, int width, int height);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXCopySubBufferMESA)(Display * dpy, GLXDrawable drawable, int x, int y, int width, int height);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateAssociatedContextAMD)(unsigned int id, GLXContext share_list);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateAssociatedContextAMD)(unsigned int id, GLXContext share_list);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateAssociatedContextAttribsAMD)(unsigned int id, GLXContext share_context, const int * attribList);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateAssociatedContextAttribsAMD)(unsigned int id, GLXContext share_context, const int * attribList);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContext)(Display * dpy, XVisualInfo * vis, GLXContext shareList, Bool direct);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContext)(Display * dpy, XVisualInfo * vis, GLXContext shareList, Bool direct);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContextAttribsARB)(Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContextAttribsARB)(Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContextWithConfigSGIX)(Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateContextWithConfigSGIX)(Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
 
-extern EPOXY_IMPORTEXPORT GLXPbufferSGIX (EPOXY_CALLSPEC *epoxy_glXCreateGLXPbufferSGIX)(Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list);
+EPOXY_PUBLIC GLXPbufferSGIX (EPOXY_CALLSPEC *epoxy_glXCreateGLXPbufferSGIX)(Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmap)(Display * dpy, XVisualInfo * visual, Pixmap pixmap);
+EPOXY_PUBLIC GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmap)(Display * dpy, XVisualInfo * visual, Pixmap pixmap);
 
-extern EPOXY_IMPORTEXPORT GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmapMESA)(Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap);
+EPOXY_PUBLIC GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmapMESA)(Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap);
 
-extern EPOXY_IMPORTEXPORT GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmapWithConfigSGIX)(Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap);
+EPOXY_PUBLIC GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreateGLXPixmapWithConfigSGIX)(Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateNewContext)(Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXCreateNewContext)(Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
 
-extern EPOXY_IMPORTEXPORT GLXPbuffer (EPOXY_CALLSPEC *epoxy_glXCreatePbuffer)(Display * dpy, GLXFBConfig config, const int * attrib_list);
+EPOXY_PUBLIC GLXPbuffer (EPOXY_CALLSPEC *epoxy_glXCreatePbuffer)(Display * dpy, GLXFBConfig config, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreatePixmap)(Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list);
+EPOXY_PUBLIC GLXPixmap (EPOXY_CALLSPEC *epoxy_glXCreatePixmap)(Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT GLXWindow (EPOXY_CALLSPEC *epoxy_glXCreateWindow)(Display * dpy, GLXFBConfig config, Window win, const int * attrib_list);
+EPOXY_PUBLIC GLXWindow (EPOXY_CALLSPEC *epoxy_glXCreateWindow)(Display * dpy, GLXFBConfig config, Window win, const int * attrib_list);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXCushionSGI)(Display * dpy, Window window, float cushion);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXCushionSGI)(Display * dpy, Window window, float cushion);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXDelayBeforeSwapNV)(Display * dpy, GLXDrawable drawable, GLfloat seconds);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXDelayBeforeSwapNV)(Display * dpy, GLXDrawable drawable, GLfloat seconds);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXDeleteAssociatedContextAMD)(GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXDeleteAssociatedContextAMD)(GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyContext)(Display * dpy, GLXContext ctx);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyContext)(Display * dpy, GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXPixmap)(Display * dpy, GLXPixmap pixmap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXPixmap)(Display * dpy, GLXPixmap pixmap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXVideoSourceSGIX)(Display * dpy, GLXVideoSourceSGIX glxvideosource);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyGLXVideoSourceSGIX)(Display * dpy, GLXVideoSourceSGIX glxvideosource);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXDestroyHyperpipeConfigSGIX)(Display * dpy, int hpId);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXDestroyHyperpipeConfigSGIX)(Display * dpy, int hpId);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyPbuffer)(Display * dpy, GLXPbuffer pbuf);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyPbuffer)(Display * dpy, GLXPbuffer pbuf);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyPixmap)(Display * dpy, GLXPixmap pixmap);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyPixmap)(Display * dpy, GLXPixmap pixmap);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXDestroyWindow)(Display * dpy, GLXWindow win);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXDestroyWindow)(Display * dpy, GLXWindow win);
 
-extern EPOXY_IMPORTEXPORT GLXVideoCaptureDeviceNV * (EPOXY_CALLSPEC *epoxy_glXEnumerateVideoCaptureDevicesNV)(Display * dpy, int screen, int * nelements);
+EPOXY_PUBLIC GLXVideoCaptureDeviceNV * (EPOXY_CALLSPEC *epoxy_glXEnumerateVideoCaptureDevicesNV)(Display * dpy, int screen, int * nelements);
 
-extern EPOXY_IMPORTEXPORT unsigned int * (EPOXY_CALLSPEC *epoxy_glXEnumerateVideoDevicesNV)(Display * dpy, int screen, int * nelements);
+EPOXY_PUBLIC unsigned int * (EPOXY_CALLSPEC *epoxy_glXEnumerateVideoDevicesNV)(Display * dpy, int screen, int * nelements);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXFreeContextEXT)(Display * dpy, GLXContext context);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXFreeContextEXT)(Display * dpy, GLXContext context);
 
-extern EPOXY_IMPORTEXPORT unsigned int (EPOXY_CALLSPEC *epoxy_glXGetAGPOffsetMESA)(const void * pointer);
+EPOXY_PUBLIC unsigned int (EPOXY_CALLSPEC *epoxy_glXGetAGPOffsetMESA)(const void * pointer);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_glXGetClientString)(Display * dpy, int name);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXGetClientString)(Display * dpy, int name);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetConfig)(Display * dpy, XVisualInfo * visual, int attrib, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetConfig)(Display * dpy, XVisualInfo * visual, int attrib, int * value);
 
-extern EPOXY_IMPORTEXPORT unsigned int (EPOXY_CALLSPEC *epoxy_glXGetContextGPUIDAMD)(GLXContext ctx);
+EPOXY_PUBLIC unsigned int (EPOXY_CALLSPEC *epoxy_glXGetContextGPUIDAMD)(GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT GLXContextID (EPOXY_CALLSPEC *epoxy_glXGetContextIDEXT)(const GLXContext context);
+EPOXY_PUBLIC GLXContextID (EPOXY_CALLSPEC *epoxy_glXGetContextIDEXT)(const GLXContext context);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXGetCurrentAssociatedContextAMD)(void);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXGetCurrentAssociatedContextAMD)(void);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXGetCurrentContext)(void);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXGetCurrentContext)(void);
 
-extern EPOXY_IMPORTEXPORT Display * (EPOXY_CALLSPEC *epoxy_glXGetCurrentDisplay)(void);
+EPOXY_PUBLIC Display * (EPOXY_CALLSPEC *epoxy_glXGetCurrentDisplay)(void);
 
-extern EPOXY_IMPORTEXPORT Display * (EPOXY_CALLSPEC *epoxy_glXGetCurrentDisplayEXT)(void);
+EPOXY_PUBLIC Display * (EPOXY_CALLSPEC *epoxy_glXGetCurrentDisplayEXT)(void);
 
-extern EPOXY_IMPORTEXPORT GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentDrawable)(void);
+EPOXY_PUBLIC GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentDrawable)(void);
 
-extern EPOXY_IMPORTEXPORT GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentReadDrawable)(void);
+EPOXY_PUBLIC GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentReadDrawable)(void);
 
-extern EPOXY_IMPORTEXPORT GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentReadDrawableSGI)(void);
+EPOXY_PUBLIC GLXDrawable (EPOXY_CALLSPEC *epoxy_glXGetCurrentReadDrawableSGI)(void);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetFBConfigAttrib)(Display * dpy, GLXFBConfig config, int attribute, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetFBConfigAttrib)(Display * dpy, GLXFBConfig config, int attribute, int * value);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetFBConfigAttribSGIX)(Display * dpy, GLXFBConfigSGIX config, int attribute, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetFBConfigAttribSGIX)(Display * dpy, GLXFBConfigSGIX config, int attribute, int * value);
 
-extern EPOXY_IMPORTEXPORT GLXFBConfigSGIX (EPOXY_CALLSPEC *epoxy_glXGetFBConfigFromVisualSGIX)(Display * dpy, XVisualInfo * vis);
+EPOXY_PUBLIC GLXFBConfigSGIX (EPOXY_CALLSPEC *epoxy_glXGetFBConfigFromVisualSGIX)(Display * dpy, XVisualInfo * vis);
 
-extern EPOXY_IMPORTEXPORT GLXFBConfig * (EPOXY_CALLSPEC *epoxy_glXGetFBConfigs)(Display * dpy, int screen, int * nelements);
+EPOXY_PUBLIC GLXFBConfig * (EPOXY_CALLSPEC *epoxy_glXGetFBConfigs)(Display * dpy, int screen, int * nelements);
 
-extern EPOXY_IMPORTEXPORT unsigned int (EPOXY_CALLSPEC *epoxy_glXGetGPUIDsAMD)(unsigned int maxCount, unsigned int * ids);
+EPOXY_PUBLIC unsigned int (EPOXY_CALLSPEC *epoxy_glXGetGPUIDsAMD)(unsigned int maxCount, unsigned int * ids);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetGPUInfoAMD)(unsigned int id, int property, GLenum dataType, unsigned int size, void * data);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetGPUInfoAMD)(unsigned int id, int property, GLenum dataType, unsigned int size, void * data);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXGetMscRateOML)(Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXGetMscRateOML)(Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator);
 
-extern EPOXY_IMPORTEXPORT __GLXextFuncPtr (EPOXY_CALLSPEC *epoxy_glXGetProcAddress)(const GLubyte * procName);
+EPOXY_PUBLIC __GLXextFuncPtr (EPOXY_CALLSPEC *epoxy_glXGetProcAddress)(const GLubyte * procName);
 
-extern EPOXY_IMPORTEXPORT __GLXextFuncPtr (EPOXY_CALLSPEC *epoxy_glXGetProcAddressARB)(const GLubyte * procName);
+EPOXY_PUBLIC __GLXextFuncPtr (EPOXY_CALLSPEC *epoxy_glXGetProcAddressARB)(const GLubyte * procName);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXGetSelectedEvent)(Display * dpy, GLXDrawable draw, unsigned long * event_mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXGetSelectedEvent)(Display * dpy, GLXDrawable draw, unsigned long * event_mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXGetSelectedEventSGIX)(Display * dpy, GLXDrawable drawable, unsigned long * mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXGetSelectedEventSGIX)(Display * dpy, GLXDrawable drawable, unsigned long * mask);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXGetSyncValuesOML)(Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXGetSyncValuesOML)(Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc);
 
-extern EPOXY_IMPORTEXPORT Status (EPOXY_CALLSPEC *epoxy_glXGetTransparentIndexSUN)(Display * dpy, Window overlay, Window underlay, long * pTransparentIndex);
+EPOXY_PUBLIC Status (EPOXY_CALLSPEC *epoxy_glXGetTransparentIndexSUN)(Display * dpy, Window overlay, Window underlay, long * pTransparentIndex);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetVideoDeviceNV)(Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetVideoDeviceNV)(Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetVideoInfoNV)(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetVideoInfoNV)(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXGetVideoSyncSGI)(unsigned int * count);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetVideoSyncSGI)(unsigned int * count);
 
-extern EPOXY_IMPORTEXPORT XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXGetVisualFromFBConfig)(Display * dpy, GLXFBConfig config);
+EPOXY_PUBLIC XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXGetVisualFromFBConfig)(Display * dpy, GLXFBConfig config);
 
-extern EPOXY_IMPORTEXPORT XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXGetVisualFromFBConfigSGIX)(Display * dpy, GLXFBConfigSGIX config);
+EPOXY_PUBLIC XVisualInfo * (EPOXY_CALLSPEC *epoxy_glXGetVisualFromFBConfigSGIX)(Display * dpy, GLXFBConfigSGIX config);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXHyperpipeAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * attribList);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXHyperpipeAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * attribList);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXHyperpipeConfigSGIX)(Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXHyperpipeConfigSGIX)(Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId);
 
-extern EPOXY_IMPORTEXPORT GLXContext (EPOXY_CALLSPEC *epoxy_glXImportContextEXT)(Display * dpy, GLXContextID contextID);
+EPOXY_PUBLIC GLXContext (EPOXY_CALLSPEC *epoxy_glXImportContextEXT)(Display * dpy, GLXContextID contextID);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXIsDirect)(Display * dpy, GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXIsDirect)(Display * dpy, GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXJoinSwapGroupNV)(Display * dpy, GLXDrawable drawable, GLuint group);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXJoinSwapGroupNV)(Display * dpy, GLXDrawable drawable, GLuint group);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXJoinSwapGroupSGIX)(Display * dpy, GLXDrawable drawable, GLXDrawable member);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXJoinSwapGroupSGIX)(Display * dpy, GLXDrawable drawable, GLXDrawable member);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXLockVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXLockVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXMakeAssociatedContextCurrentAMD)(GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXMakeAssociatedContextCurrentAMD)(GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXMakeContextCurrent)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXMakeContextCurrent)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXMakeCurrent)(Display * dpy, GLXDrawable drawable, GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXMakeCurrent)(Display * dpy, GLXDrawable drawable, GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXMakeCurrentReadSGI)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXMakeCurrentReadSGI)(Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXNamedCopyBufferSubDataNV)(Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXNamedCopyBufferSubDataNV)(Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryChannelDeltasSGIX)(Display * display, int screen, int channel, int * x, int * y, int * w, int * h);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryChannelDeltasSGIX)(Display * display, int screen, int channel, int * x, int * y, int * w, int * h);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryChannelRectSGIX)(Display * display, int screen, int channel, int * dx, int * dy, int * dw, int * dh);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryChannelRectSGIX)(Display * display, int screen, int channel, int * dx, int * dy, int * dw, int * dh);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryContext)(Display * dpy, GLXContext ctx, int attribute, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryContext)(Display * dpy, GLXContext ctx, int attribute, int * value);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryContextInfoEXT)(Display * dpy, GLXContext context, int attribute, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryContextInfoEXT)(Display * dpy, GLXContext context, int attribute, int * value);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryCurrentRendererIntegerMESA)(int attribute, unsigned int * value);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryCurrentRendererIntegerMESA)(int attribute, unsigned int * value);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_glXQueryCurrentRendererStringMESA)(int attribute);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXQueryCurrentRendererStringMESA)(int attribute);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXQueryDrawable)(Display * dpy, GLXDrawable draw, int attribute, unsigned int * value);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXQueryDrawable)(Display * dpy, GLXDrawable draw, int attribute, unsigned int * value);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryExtension)(Display * dpy, int * errorb, int * event);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryExtension)(Display * dpy, int * errorb, int * event);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_glXQueryExtensionsString)(Display * dpy, int screen);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXQueryExtensionsString)(Display * dpy, int screen);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryFrameCountNV)(Display * dpy, int screen, GLuint * count);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryFrameCountNV)(Display * dpy, int screen, GLuint * count);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeBestAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeBestAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList);
 
-extern EPOXY_IMPORTEXPORT GLXHyperpipeConfigSGIX * (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeConfigSGIX)(Display * dpy, int hpId, int * npipes);
+EPOXY_PUBLIC GLXHyperpipeConfigSGIX * (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeConfigSGIX)(Display * dpy, int hpId, int * npipes);
 
-extern EPOXY_IMPORTEXPORT GLXHyperpipeNetworkSGIX * (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeNetworkSGIX)(Display * dpy, int * npipes);
+EPOXY_PUBLIC GLXHyperpipeNetworkSGIX * (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeNetworkSGIX)(Display * dpy, int * npipes);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryMaxSwapBarriersSGIX)(Display * dpy, int screen, int * max);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryMaxSwapBarriersSGIX)(Display * dpy, int screen, int * max);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryMaxSwapGroupsNV)(Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryMaxSwapGroupsNV)(Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryRendererIntegerMESA)(Display * dpy, int screen, int renderer, int attribute, unsigned int * value);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryRendererIntegerMESA)(Display * dpy, int screen, int renderer, int attribute, unsigned int * value);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_glXQueryRendererStringMESA)(Display * dpy, int screen, int renderer, int attribute);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXQueryRendererStringMESA)(Display * dpy, int screen, int renderer, int attribute);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_glXQueryServerString)(Display * dpy, int screen, int name);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXQueryServerString)(Display * dpy, int screen, int name);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQuerySwapGroupNV)(Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQuerySwapGroupNV)(Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXQueryVersion)(Display * dpy, int * maj, int * min);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryVersion)(Display * dpy, int * maj, int * min);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXQueryVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXReleaseBuffersMESA)(Display * dpy, GLXDrawable drawable);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXReleaseBuffersMESA)(Display * dpy, GLXDrawable drawable);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXReleaseTexImageEXT)(Display * dpy, GLXDrawable drawable, int buffer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXReleaseTexImageEXT)(Display * dpy, GLXDrawable drawable, int buffer);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXReleaseVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXReleaseVideoCaptureDeviceNV)(Display * dpy, GLXVideoCaptureDeviceNV device);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXReleaseVideoDeviceNV)(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXReleaseVideoDeviceNV)(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXReleaseVideoImageNV)(Display * dpy, GLXPbuffer pbuf);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXReleaseVideoImageNV)(Display * dpy, GLXPbuffer pbuf);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXResetFrameCountNV)(Display * dpy, int screen);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXResetFrameCountNV)(Display * dpy, int screen);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXSelectEvent)(Display * dpy, GLXDrawable draw, unsigned long event_mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSelectEvent)(Display * dpy, GLXDrawable draw, unsigned long event_mask);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXSelectEventSGIX)(Display * dpy, GLXDrawable drawable, unsigned long mask);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSelectEventSGIX)(Display * dpy, GLXDrawable drawable, unsigned long mask);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXSendPbufferToVideoNV)(Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXSendPbufferToVideoNV)(Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXSet3DfxModeMESA)(int mode);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXSet3DfxModeMESA)(int mode);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXSwapBuffers)(Display * dpy, GLXDrawable drawable);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSwapBuffers)(Display * dpy, GLXDrawable drawable);
 
-extern EPOXY_IMPORTEXPORT int64_t (EPOXY_CALLSPEC *epoxy_glXSwapBuffersMscOML)(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
+EPOXY_PUBLIC int64_t (EPOXY_CALLSPEC *epoxy_glXSwapBuffersMscOML)(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXSwapIntervalEXT)(Display * dpy, GLXDrawable drawable, int interval);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSwapIntervalEXT)(Display * dpy, GLXDrawable drawable, int interval);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXSwapIntervalSGI)(int interval);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXSwapIntervalSGI)(int interval);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXUseXFont)(Font font, int first, int count, int list);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXUseXFont)(Font font, int first, int count, int list);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXWaitForMscOML)(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * ust, int64_t * msc, int64_t * sbc);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXWaitForMscOML)(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * ust, int64_t * msc, int64_t * sbc);
 
-extern EPOXY_IMPORTEXPORT Bool (EPOXY_CALLSPEC *epoxy_glXWaitForSbcOML)(Display * dpy, GLXDrawable drawable, int64_t target_sbc, int64_t * ust, int64_t * msc, int64_t * sbc);
+EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXWaitForSbcOML)(Display * dpy, GLXDrawable drawable, int64_t target_sbc, int64_t * ust, int64_t * msc, int64_t * sbc);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXWaitGL)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXWaitGL)(void);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_glXWaitVideoSyncSGI)(int divisor, int remainder, unsigned int * count);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXWaitVideoSyncSGI)(int divisor, int remainder, unsigned int * count);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_glXWaitX)(void);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXWaitX)(void);
 
 #define glXBindChannelToWindowSGIX epoxy_glXBindChannelToWindowSGIX
 #define glXBindHyperpipeSGIX epoxy_glXBindHyperpipeSGIX
diff -Nru libepoxy-1.3.1/include/epoxy/glx.h libepoxy-1.4.3/include/epoxy/glx.h
--- libepoxy-1.3.1/include/epoxy/glx.h	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/glx.h	2017-11-13 11:34:09.000000000 +0000
@@ -25,34 +25,33 @@
  *
  * Provides an implementation of a GLX dispatch layer using global
  * function pointers.
+ *
+ * You should include `` instead of ``.
  */
 
 #ifndef EPOXY_GLX_H
 #define EPOXY_GLX_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include 
 #include 
 #include 
-#include 
 
 #if defined(GLX_H) || defined(__glxext_h_)
 #error epoxy/glx.h must be included before (or in place of) GL/glx.h
 #else
 #define GLX_H
+#define __glx_h__
 #define __glxext_h_
 #endif
 
+EPOXY_BEGIN_DECLS
+
 #include "epoxy/glx_generated.h"
 
-bool epoxy_has_glx_extension(Display *dpy, int screen, const char *extension);
-int epoxy_glx_version(Display *dpy, int screen);
+EPOXY_PUBLIC bool epoxy_has_glx_extension(Display *dpy, int screen, const char *extension);
+EPOXY_PUBLIC int epoxy_glx_version(Display *dpy, int screen);
+EPOXY_PUBLIC bool epoxy_has_glx(Display *dpy);
 
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
+EPOXY_END_DECLS
 
 #endif /* EPOXY_GLX_H */
diff -Nru libepoxy-1.3.1/include/epoxy/Makefile.am libepoxy-1.4.3/include/epoxy/Makefile.am
--- libepoxy-1.3.1/include/epoxy/Makefile.am	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/Makefile.am	2017-11-13 11:34:09.000000000 +0000
@@ -22,6 +22,7 @@
 epoxyincludedir = $(includedir)/epoxy
 
 epoxyinclude_HEADERS = \
+	common.h \
 	gl.h \
         $(EGL_INCLUDES) \
         $(GLX_INCLUDES) \
diff -Nru libepoxy-1.3.1/include/epoxy/Makefile.in libepoxy-1.4.3/include/epoxy/Makefile.in
--- libepoxy-1.3.1/include/epoxy/Makefile.in	2015-07-15 23:47:03.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/Makefile.in	2017-11-13 11:34:09.000000000 +0000
@@ -111,7 +111,10 @@
 host_triplet = @host@
 subdir = include/epoxy
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(am__epoxyinclude_HEADERS_DIST) \
@@ -139,7 +142,7 @@
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__epoxyinclude_HEADERS_DIST = gl.h egl.h glx.h wgl.h
+am__epoxyinclude_HEADERS_DIST = common.h gl.h egl.h glx.h wgl.h
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -251,6 +254,7 @@
 LN_S = @LN_S@
 LOG_COMPILER = @LOG_COMPILER@
 LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MAN_SUBSTS = @MAN_SUBSTS@
@@ -309,6 +313,9 @@
 datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
+epoxy_has_egl = @epoxy_has_egl@
+epoxy_has_glx = @epoxy_has_glx@
+epoxy_has_wgl = @epoxy_has_wgl@
 exec_prefix = @exec_prefix@
 host = @host@
 host_alias = @host_alias@
@@ -340,6 +347,7 @@
 top_srcdir = @top_srcdir@
 epoxyincludedir = $(includedir)/epoxy
 epoxyinclude_HEADERS = \
+	common.h \
 	gl.h \
         $(EGL_INCLUDES) \
         $(GLX_INCLUDES) \
diff -Nru libepoxy-1.3.1/include/epoxy/meson.build libepoxy-1.4.3/include/epoxy/meson.build
--- libepoxy-1.3.1/include/epoxy/meson.build	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/meson.build	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,44 @@
+headers = [ 'common.h' ]
+
+# GL is always generated
+generated_headers = [ [ 'gl.h', 'gl_generated.h', gl_registry ] ]
+
+if build_egl
+  generated_headers += [ [ 'egl.h', 'egl_generated.h', egl_registry ] ]
+endif
+
+if build_glx
+  generated_headers += [ [ 'glx.h', 'glx_generated.h', glx_registry ] ]
+endif
+
+if build_wgl
+  generated_headers += [ [ 'wgl.h', 'wgl_generated.h', wgl_registry ] ]
+endif
+
+gen_headers = []
+
+foreach g: generated_headers
+  header = g[0]
+  gen_header = g[1]
+  registry = g[2]
+  generated = custom_target(gen_header,
+                            input: registry,
+                            output: [ gen_header ],
+                            command: [
+                              python,
+                              gen_dispatch_py,
+                              '--header',
+                              '--no-source',
+                              '--outputdir=@OUTDIR@',
+                              '@INPUT@',
+                            ],
+                            install: true,
+                            install_dir: join_paths(epoxy_includedir, 'epoxy'))
+
+  gen_headers += [ generated ]
+  headers += [ header ]
+endforeach
+
+epoxy_headers = files(headers) + gen_headers
+
+install_headers(headers, subdir: 'epoxy')
diff -Nru libepoxy-1.3.1/include/epoxy/wgl_generated.h libepoxy-1.4.3/include/epoxy/wgl_generated.h
--- libepoxy-1.3.1/include/epoxy/wgl_generated.h	2015-07-15 23:09:08.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/wgl_generated.h	2017-11-13 11:34:09.000000000 +0000
@@ -6,6 +6,7 @@
 #include 
 #include 
 
+#include "epoxy/common.h"
 #include "epoxy/gl.h"
 struct _GPU_DEVICE {
     DWORD  cb;
@@ -45,6 +46,7 @@
 #define WGL_ARB_robustness_application_isolation 1
 #define WGL_ARB_robustness_share_group_isolation 1
 #define WGL_ATI_pixel_format_float 1
+#define WGL_EXT_colorspace 1
 #define WGL_EXT_create_context_es2_profile 1
 #define WGL_EXT_create_context_es_profile 1
 #define WGL_EXT_depth_float 1
@@ -93,17 +95,46 @@
 #define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB        0x00000002
 #define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB           0x00000002
 #define WGL_IMAGE_BUFFER_LOCK_I3D                        0x00000002
+#define WGL_SWAP_OVERLAY1                                0x00000002
 #define WGL_CONTEXT_ES2_PROFILE_BIT_EXT                  0x00000004
 #define WGL_CONTEXT_ES_PROFILE_BIT_EXT                   0x00000004
 #define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB                0x00000004
 #define WGL_DEPTH_BUFFER_BIT_ARB                         0x00000004
+#define WGL_SWAP_OVERLAY2                                0x00000004
 #define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB              0x00000008
 #define WGL_STENCIL_BUFFER_BIT_ARB                       0x00000008
+#define WGL_SWAP_OVERLAY3                                0x00000008
+#define WGL_SWAP_OVERLAY4                                0x00000010
+#define WGL_SWAP_OVERLAY5                                0x00000020
+#define WGL_SWAP_OVERLAY6                                0x00000040
+#define WGL_SWAP_OVERLAY7                                0x00000080
+#define WGL_SWAP_OVERLAY8                                0x00000100
+#define WGL_SWAP_OVERLAY9                                0x00000200
+#define WGL_SWAP_OVERLAY10                               0x00000400
+#define WGL_SWAP_OVERLAY11                               0x00000800
+#define WGL_SWAP_OVERLAY12                               0x00001000
+#define WGL_SWAP_OVERLAY13                               0x00002000
+#define WGL_SWAP_OVERLAY14                               0x00004000
+#define WGL_SWAP_OVERLAY15                               0x00008000
+#define WGL_SWAP_UNDERLAY1                               0x00010000
+#define WGL_SWAP_UNDERLAY2                               0x00020000
+#define WGL_SWAP_UNDERLAY3                               0x00040000
+#define WGL_SWAP_UNDERLAY4                               0x00080000
+#define WGL_SWAP_UNDERLAY5                               0x00100000
+#define WGL_SWAP_UNDERLAY6                               0x00200000
+#define WGL_SWAP_UNDERLAY7                               0x00400000
+#define WGL_SWAP_UNDERLAY8                               0x00800000
+#define WGL_SWAP_UNDERLAY9                               0x01000000
+#define WGL_SWAP_UNDERLAY10                              0x02000000
+#define WGL_SWAP_UNDERLAY11                              0x04000000
+#define WGL_SWAP_UNDERLAY12                              0x08000000
+#define WGL_SWAP_UNDERLAY13                              0x10000000
 #define WGL_GPU_VENDOR_AMD                               0x1F00
 #define WGL_GPU_RENDERER_STRING_AMD                      0x1F01
 #define WGL_GPU_OPENGL_VERSION_STRING_AMD                0x1F02
 #define WGL_NUMBER_PIXEL_FORMATS_ARB                     0x2000
 #define WGL_NUMBER_PIXEL_FORMATS_EXT                     0x2000
+#define WGL_SWAP_UNDERLAY14                              0x20000000
 #define WGL_DRAW_TO_WINDOW_ARB                           0x2001
 #define WGL_DRAW_TO_WINDOW_EXT                           0x2001
 #define WGL_DRAW_TO_BITMAP_ARB                           0x2002
@@ -332,6 +363,10 @@
 #define WGL_GPU_NUM_SIMD_AMD                             0x21A6
 #define WGL_GPU_NUM_RB_AMD                               0x21A7
 #define WGL_GPU_NUM_SPI_AMD                              0x21A8
+#define WGL_COLORSPACE_EXT                               0x3087
+#define WGL_COLORSPACE_SRGB_EXT                          0x3089
+#define WGL_COLORSPACE_LINEAR_EXT                        0x308A
+#define WGL_SWAP_UNDERLAY15                              0x40000000
 #define WGL_LOSE_CONTEXT_ON_RESET_ARB                    0x8252
 #define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB      0x8256
 #define WGL_NO_RESET_NOTIFICATION_ARB                    0x8261
@@ -477,283 +512,283 @@
 typedef BOOL (GLAPIENTRY *PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
 typedef BOOL (GLAPIENTRY *PFNWGLWAITFORMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 * ust, INT64 * msc, INT64 * sbc);
 typedef BOOL (GLAPIENTRY *PFNWGLWAITFORSBCOMLPROC)(HDC hdc, INT64 target_sbc, INT64 * ust, INT64 * msc, INT64 * sbc);
-extern EPOXY_IMPORTEXPORT void * (EPOXY_CALLSPEC *epoxy_wglAllocateMemoryNV)(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
+EPOXY_PUBLIC void * (EPOXY_CALLSPEC *epoxy_wglAllocateMemoryNV)(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglAssociateImageBufferEventsI3D)(HDC hDC, const HANDLE * pEvent, const LPVOID * pAddress, const DWORD * pSize, UINT count);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglAssociateImageBufferEventsI3D)(HDC hDC, const HANDLE * pEvent, const LPVOID * pAddress, const DWORD * pSize, UINT count);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBeginFrameTrackingI3D)(void);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBeginFrameTrackingI3D)(void);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_wglBindDisplayColorTableEXT)(GLushort id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_wglBindDisplayColorTableEXT)(GLushort id);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBindSwapBarrierNV)(GLuint group, GLuint barrier);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBindSwapBarrierNV)(GLuint group, GLuint barrier);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBindTexImageARB)(HPBUFFERARB hPbuffer, int iBuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBindTexImageARB)(HPBUFFERARB hPbuffer, int iBuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoCaptureDeviceNV)(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoCaptureDeviceNV)(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoDeviceNV)(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int * piAttribList);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoDeviceNV)(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int * piAttribList);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoImageNV)(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglBindVideoImageNV)(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
 
-extern EPOXY_IMPORTEXPORT VOID (EPOXY_CALLSPEC *epoxy_wglBlitContextFramebufferAMD)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+EPOXY_PUBLIC VOID (EPOXY_CALLSPEC *epoxy_wglBlitContextFramebufferAMD)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglChoosePixelFormatARB)(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglChoosePixelFormatARB)(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglChoosePixelFormatEXT)(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglChoosePixelFormatEXT)(HDC hdc, const int * piAttribIList, const FLOAT * pfAttribFList, UINT nMaxFormats, int * piFormats, UINT * nNumFormats);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglCopyContext)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglCopyContext)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglCopyImageSubDataNV)(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglCopyImageSubDataNV)(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglCreateAffinityDCNV)(const HGPUNV * phGpuList);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglCreateAffinityDCNV)(const HGPUNV * phGpuList);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateAssociatedContextAMD)(UINT id);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateAssociatedContextAMD)(UINT id);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateAssociatedContextAttribsAMD)(UINT id, HGLRC hShareContext, const int * attribList);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateAssociatedContextAttribsAMD)(UINT id, HGLRC hShareContext, const int * attribList);
 
-extern EPOXY_IMPORTEXPORT HANDLE (EPOXY_CALLSPEC *epoxy_wglCreateBufferRegionARB)(HDC hDC, int iLayerPlane, UINT uType);
+EPOXY_PUBLIC HANDLE (EPOXY_CALLSPEC *epoxy_wglCreateBufferRegionARB)(HDC hDC, int iLayerPlane, UINT uType);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateContext)(HDC hDc);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateContext)(HDC hDc);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateContextAttribsARB)(HDC hDC, HGLRC hShareContext, const int * attribList);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateContextAttribsARB)(HDC hDC, HGLRC hShareContext, const int * attribList);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_wglCreateDisplayColorTableEXT)(GLushort id);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_wglCreateDisplayColorTableEXT)(GLushort id);
 
-extern EPOXY_IMPORTEXPORT LPVOID (EPOXY_CALLSPEC *epoxy_wglCreateImageBufferI3D)(HDC hDC, DWORD dwSize, UINT uFlags);
+EPOXY_PUBLIC LPVOID (EPOXY_CALLSPEC *epoxy_wglCreateImageBufferI3D)(HDC hDC, DWORD dwSize, UINT uFlags);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateLayerContext)(HDC hDc, int level);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglCreateLayerContext)(HDC hDc, int level);
 
-extern EPOXY_IMPORTEXPORT HPBUFFERARB (EPOXY_CALLSPEC *epoxy_wglCreatePbufferARB)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList);
+EPOXY_PUBLIC HPBUFFERARB (EPOXY_CALLSPEC *epoxy_wglCreatePbufferARB)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList);
 
-extern EPOXY_IMPORTEXPORT HPBUFFEREXT (EPOXY_CALLSPEC *epoxy_wglCreatePbufferEXT)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList);
+EPOXY_PUBLIC HPBUFFEREXT (EPOXY_CALLSPEC *epoxy_wglCreatePbufferEXT)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int * piAttribList);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXCloseDeviceNV)(HANDLE hDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXCloseDeviceNV)(HANDLE hDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXLockObjectsNV)(HANDLE hDevice, GLint count, HANDLE * hObjects);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXLockObjectsNV)(HANDLE hDevice, GLint count, HANDLE * hObjects);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXObjectAccessNV)(HANDLE hObject, GLenum access);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXObjectAccessNV)(HANDLE hObject, GLenum access);
 
-extern EPOXY_IMPORTEXPORT HANDLE (EPOXY_CALLSPEC *epoxy_wglDXOpenDeviceNV)(void * dxDevice);
+EPOXY_PUBLIC HANDLE (EPOXY_CALLSPEC *epoxy_wglDXOpenDeviceNV)(void * dxDevice);
 
-extern EPOXY_IMPORTEXPORT HANDLE (EPOXY_CALLSPEC *epoxy_wglDXRegisterObjectNV)(HANDLE hDevice, void * dxObject, GLuint name, GLenum type, GLenum access);
+EPOXY_PUBLIC HANDLE (EPOXY_CALLSPEC *epoxy_wglDXRegisterObjectNV)(HANDLE hDevice, void * dxObject, GLuint name, GLenum type, GLenum access);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXSetResourceShareHandleNV)(void * dxObject, HANDLE shareHandle);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXSetResourceShareHandleNV)(void * dxObject, HANDLE shareHandle);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXUnlockObjectsNV)(HANDLE hDevice, GLint count, HANDLE * hObjects);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXUnlockObjectsNV)(HANDLE hDevice, GLint count, HANDLE * hObjects);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDXUnregisterObjectNV)(HANDLE hDevice, HANDLE hObject);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDXUnregisterObjectNV)(HANDLE hDevice, HANDLE hObject);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDelayBeforeSwapNV)(HDC hDC, GLfloat seconds);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDelayBeforeSwapNV)(HDC hDC, GLfloat seconds);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteAssociatedContextAMD)(HGLRC hglrc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteAssociatedContextAMD)(HGLRC hglrc);
 
-extern EPOXY_IMPORTEXPORT VOID (EPOXY_CALLSPEC *epoxy_wglDeleteBufferRegionARB)(HANDLE hRegion);
+EPOXY_PUBLIC VOID (EPOXY_CALLSPEC *epoxy_wglDeleteBufferRegionARB)(HANDLE hRegion);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteContext)(HGLRC oldContext);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteContext)(HGLRC oldContext);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteDCNV)(HDC hdc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDeleteDCNV)(HDC hdc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDescribeLayerPlane)(HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR * plpd);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDescribeLayerPlane)(HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR * plpd);
 
-extern EPOXY_IMPORTEXPORT VOID (EPOXY_CALLSPEC *epoxy_wglDestroyDisplayColorTableEXT)(GLushort id);
+EPOXY_PUBLIC VOID (EPOXY_CALLSPEC *epoxy_wglDestroyDisplayColorTableEXT)(GLushort id);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyImageBufferI3D)(HDC hDC, LPVOID pAddress);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyImageBufferI3D)(HDC hDC, LPVOID pAddress);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyPbufferARB)(HPBUFFERARB hPbuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyPbufferARB)(HPBUFFERARB hPbuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyPbufferEXT)(HPBUFFEREXT hPbuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDestroyPbufferEXT)(HPBUFFEREXT hPbuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDisableFrameLockI3D)(void);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDisableFrameLockI3D)(void);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglDisableGenlockI3D)(HDC hDC);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglDisableGenlockI3D)(HDC hDC);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEnableFrameLockI3D)(void);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEnableFrameLockI3D)(void);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEnableGenlockI3D)(HDC hDC);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEnableGenlockI3D)(HDC hDC);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEndFrameTrackingI3D)(void);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEndFrameTrackingI3D)(void);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpuDevicesNV)(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpuDevicesNV)(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpusFromAffinityDCNV)(HDC hAffinityDC, UINT iGpuIndex, HGPUNV * hGpu);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpusFromAffinityDCNV)(HDC hAffinityDC, UINT iGpuIndex, HGPUNV * hGpu);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpusNV)(UINT iGpuIndex, HGPUNV * phGpu);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglEnumGpusNV)(UINT iGpuIndex, HGPUNV * phGpu);
 
-extern EPOXY_IMPORTEXPORT UINT (EPOXY_CALLSPEC *epoxy_wglEnumerateVideoCaptureDevicesNV)(HDC hDc, HVIDEOINPUTDEVICENV * phDeviceList);
+EPOXY_PUBLIC UINT (EPOXY_CALLSPEC *epoxy_wglEnumerateVideoCaptureDevicesNV)(HDC hDc, HVIDEOINPUTDEVICENV * phDeviceList);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglEnumerateVideoDevicesNV)(HDC hDC, HVIDEOOUTPUTDEVICENV * phDeviceList);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglEnumerateVideoDevicesNV)(HDC hDC, HVIDEOOUTPUTDEVICENV * phDeviceList);
 
-extern EPOXY_IMPORTEXPORT void (EPOXY_CALLSPEC *epoxy_wglFreeMemoryNV)(void * pointer);
+EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_wglFreeMemoryNV)(void * pointer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSampleRateI3D)(HDC hDC, UINT uRate);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSampleRateI3D)(HDC hDC, UINT uRate);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceDelayI3D)(HDC hDC, UINT uDelay);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceDelayI3D)(HDC hDC, UINT uDelay);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceEdgeI3D)(HDC hDC, UINT uEdge);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceEdgeI3D)(HDC hDC, UINT uEdge);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceI3D)(HDC hDC, UINT uSource);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGenlockSourceI3D)(HDC hDC, UINT uSource);
 
-extern EPOXY_IMPORTEXPORT UINT (EPOXY_CALLSPEC *epoxy_wglGetContextGPUIDAMD)(HGLRC hglrc);
+EPOXY_PUBLIC UINT (EPOXY_CALLSPEC *epoxy_wglGetContextGPUIDAMD)(HGLRC hglrc);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglGetCurrentAssociatedContextAMD)(void);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglGetCurrentAssociatedContextAMD)(void);
 
-extern EPOXY_IMPORTEXPORT HGLRC (EPOXY_CALLSPEC *epoxy_wglGetCurrentContext)(void);
+EPOXY_PUBLIC HGLRC (EPOXY_CALLSPEC *epoxy_wglGetCurrentContext)(void);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentDC)(void);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentDC)(void);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentReadDCARB)(void);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentReadDCARB)(void);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentReadDCEXT)(void);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglGetCurrentReadDCEXT)(void);
 
-extern EPOXY_IMPORTEXPORT PROC (EPOXY_CALLSPEC *epoxy_wglGetDefaultProcAddress)(LPCSTR lpszProc);
+EPOXY_PUBLIC PROC (EPOXY_CALLSPEC *epoxy_wglGetDefaultProcAddress)(LPCSTR lpszProc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetDigitalVideoParametersI3D)(HDC hDC, int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetDigitalVideoParametersI3D)(HDC hDC, int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_wglGetExtensionsStringARB)(HDC hdc);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_wglGetExtensionsStringARB)(HDC hdc);
 
-extern EPOXY_IMPORTEXPORT const char * (EPOXY_CALLSPEC *epoxy_wglGetExtensionsStringEXT)(void);
+EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_wglGetExtensionsStringEXT)(void);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetFrameUsageI3D)(float * pUsage);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetFrameUsageI3D)(float * pUsage);
 
-extern EPOXY_IMPORTEXPORT UINT (EPOXY_CALLSPEC *epoxy_wglGetGPUIDsAMD)(UINT maxCount, UINT * ids);
+EPOXY_PUBLIC UINT (EPOXY_CALLSPEC *epoxy_wglGetGPUIDsAMD)(UINT maxCount, UINT * ids);
 
-extern EPOXY_IMPORTEXPORT INT (EPOXY_CALLSPEC *epoxy_wglGetGPUInfoAMD)(UINT id, int property, GLenum dataType, UINT size, void * data);
+EPOXY_PUBLIC INT (EPOXY_CALLSPEC *epoxy_wglGetGPUInfoAMD)(UINT id, int property, GLenum dataType, UINT size, void * data);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGammaTableI3D)(HDC hDC, int iEntries, USHORT * puRed, USHORT * puGreen, USHORT * puBlue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGammaTableI3D)(HDC hDC, int iEntries, USHORT * puRed, USHORT * puGreen, USHORT * puBlue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGammaTableParametersI3D)(HDC hDC, int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGammaTableParametersI3D)(HDC hDC, int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSampleRateI3D)(HDC hDC, UINT * uRate);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSampleRateI3D)(HDC hDC, UINT * uRate);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceDelayI3D)(HDC hDC, UINT * uDelay);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceDelayI3D)(HDC hDC, UINT * uDelay);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceEdgeI3D)(HDC hDC, UINT * uEdge);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceEdgeI3D)(HDC hDC, UINT * uEdge);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceI3D)(HDC hDC, UINT * uSource);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetGenlockSourceI3D)(HDC hDC, UINT * uSource);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglGetLayerPaletteEntries)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglGetLayerPaletteEntries)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetMscRateOML)(HDC hdc, INT32 * numerator, INT32 * denominator);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetMscRateOML)(HDC hdc, INT32 * numerator, INT32 * denominator);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglGetPbufferDCARB)(HPBUFFERARB hPbuffer);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglGetPbufferDCARB)(HPBUFFERARB hPbuffer);
 
-extern EPOXY_IMPORTEXPORT HDC (EPOXY_CALLSPEC *epoxy_wglGetPbufferDCEXT)(HPBUFFEREXT hPbuffer);
+EPOXY_PUBLIC HDC (EPOXY_CALLSPEC *epoxy_wglGetPbufferDCEXT)(HPBUFFEREXT hPbuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribfvARB)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, FLOAT * pfValues);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribfvARB)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, FLOAT * pfValues);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribfvEXT)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, FLOAT * pfValues);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribfvEXT)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, FLOAT * pfValues);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribivARB)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, int * piValues);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribivARB)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int * piAttributes, int * piValues);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribivEXT)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, int * piValues);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetPixelFormatAttribivEXT)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int * piAttributes, int * piValues);
 
-extern EPOXY_IMPORTEXPORT PROC (EPOXY_CALLSPEC *epoxy_wglGetProcAddress)(LPCSTR lpszProc);
+EPOXY_PUBLIC PROC (EPOXY_CALLSPEC *epoxy_wglGetProcAddress)(LPCSTR lpszProc);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglGetSwapIntervalEXT)(void);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglGetSwapIntervalEXT)(void);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetSyncValuesOML)(HDC hdc, INT64 * ust, INT64 * msc, INT64 * sbc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetSyncValuesOML)(HDC hdc, INT64 * ust, INT64 * msc, INT64 * sbc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetVideoDeviceNV)(HDC hDC, int numDevices, HPVIDEODEV * hVideoDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetVideoDeviceNV)(HDC hDC, int numDevices, HPVIDEODEV * hVideoDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglGetVideoInfoNV)(HPVIDEODEV hpVideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglGetVideoInfoNV)(HPVIDEODEV hpVideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglIsEnabledFrameLockI3D)(BOOL * pFlag);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglIsEnabledFrameLockI3D)(BOOL * pFlag);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglIsEnabledGenlockI3D)(HDC hDC, BOOL * pFlag);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglIsEnabledGenlockI3D)(HDC hDC, BOOL * pFlag);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglJoinSwapGroupNV)(HDC hDC, GLuint group);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglJoinSwapGroupNV)(HDC hDC, GLuint group);
 
-extern EPOXY_IMPORTEXPORT GLboolean (EPOXY_CALLSPEC *epoxy_wglLoadDisplayColorTableEXT)(const GLushort * table, GLuint length);
+EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_wglLoadDisplayColorTableEXT)(const GLushort * table, GLuint length);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglLockVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglLockVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglMakeAssociatedContextCurrentAMD)(HGLRC hglrc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglMakeAssociatedContextCurrentAMD)(HGLRC hglrc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglMakeContextCurrentARB)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglMakeContextCurrentARB)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglMakeContextCurrentEXT)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglMakeContextCurrentEXT)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglMakeCurrent)(HDC hDc, HGLRC newContext);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglMakeCurrent)(HDC hDc, HGLRC newContext);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryCurrentContextNV)(int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryCurrentContextNV)(int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameCountNV)(HDC hDC, GLuint * count);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameCountNV)(HDC hDC, GLuint * count);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameLockMasterI3D)(BOOL * pFlag);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameLockMasterI3D)(BOOL * pFlag);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameTrackingI3D)(DWORD * pFrameCount, DWORD * pMissedFrames, float * pLastMissedUsage);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryFrameTrackingI3D)(DWORD * pFrameCount, DWORD * pMissedFrames, float * pLastMissedUsage);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryGenlockMaxSourceDelayI3D)(HDC hDC, UINT * uMaxLineDelay, UINT * uMaxPixelDelay);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryGenlockMaxSourceDelayI3D)(HDC hDC, UINT * uMaxLineDelay, UINT * uMaxPixelDelay);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryMaxSwapGroupsNV)(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryMaxSwapGroupsNV)(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryPbufferARB)(HPBUFFERARB hPbuffer, int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryPbufferARB)(HPBUFFERARB hPbuffer, int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryPbufferEXT)(HPBUFFEREXT hPbuffer, int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryPbufferEXT)(HPBUFFEREXT hPbuffer, int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQuerySwapGroupNV)(HDC hDC, GLuint * group, GLuint * barrier);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQuerySwapGroupNV)(HDC hDC, GLuint * group, GLuint * barrier);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglQueryVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglQueryVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglRealizeLayerPalette)(HDC hdc, int iLayerPlane, BOOL bRealize);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglRealizeLayerPalette)(HDC hdc, int iLayerPlane, BOOL bRealize);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseImageBufferEventsI3D)(HDC hDC, const LPVOID * pAddress, UINT count);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseImageBufferEventsI3D)(HDC hDC, const LPVOID * pAddress, UINT count);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglReleasePbufferDCARB)(HPBUFFERARB hPbuffer, HDC hDC);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglReleasePbufferDCARB)(HPBUFFERARB hPbuffer, HDC hDC);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglReleasePbufferDCEXT)(HPBUFFEREXT hPbuffer, HDC hDC);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglReleasePbufferDCEXT)(HPBUFFEREXT hPbuffer, HDC hDC);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseTexImageARB)(HPBUFFERARB hPbuffer, int iBuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseTexImageARB)(HPBUFFERARB hPbuffer, int iBuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoCaptureDeviceNV)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoDeviceNV)(HPVIDEODEV hVideoDevice);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoDeviceNV)(HPVIDEODEV hVideoDevice);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoImageNV)(HPBUFFERARB hPbuffer, int iVideoBuffer);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglReleaseVideoImageNV)(HPBUFFERARB hPbuffer, int iVideoBuffer);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglResetFrameCountNV)(HDC hDC);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglResetFrameCountNV)(HDC hDC);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglRestoreBufferRegionARB)(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglRestoreBufferRegionARB)(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSaveBufferRegionARB)(HANDLE hRegion, int x, int y, int width, int height);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSaveBufferRegionARB)(HANDLE hRegion, int x, int y, int width, int height);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSendPbufferToVideoNV)(HPBUFFERARB hPbuffer, int iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSendPbufferToVideoNV)(HPBUFFERARB hPbuffer, int iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSetDigitalVideoParametersI3D)(HDC hDC, int iAttribute, const int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSetDigitalVideoParametersI3D)(HDC hDC, int iAttribute, const int * piValue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSetGammaTableI3D)(HDC hDC, int iEntries, const USHORT * puRed, const USHORT * puGreen, const USHORT * puBlue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSetGammaTableI3D)(HDC hDC, int iEntries, const USHORT * puRed, const USHORT * puGreen, const USHORT * puBlue);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSetGammaTableParametersI3D)(HDC hDC, int iAttribute, const int * piValue);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSetGammaTableParametersI3D)(HDC hDC, int iAttribute, const int * piValue);
 
-extern EPOXY_IMPORTEXPORT int (EPOXY_CALLSPEC *epoxy_wglSetLayerPaletteEntries)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
+EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_wglSetLayerPaletteEntries)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSetPbufferAttribARB)(HPBUFFERARB hPbuffer, const int * piAttribList);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSetPbufferAttribARB)(HPBUFFERARB hPbuffer, const int * piAttribList);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSetStereoEmitterState3DL)(HDC hDC, UINT uState);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSetStereoEmitterState3DL)(HDC hDC, UINT uState);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglShareLists)(HGLRC hrcSrvShare, HGLRC hrcSrvSource);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglShareLists)(HGLRC hrcSrvShare, HGLRC hrcSrvSource);
 
-extern EPOXY_IMPORTEXPORT INT64 (EPOXY_CALLSPEC *epoxy_wglSwapBuffersMscOML)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
+EPOXY_PUBLIC INT64 (EPOXY_CALLSPEC *epoxy_wglSwapBuffersMscOML)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSwapIntervalEXT)(int interval);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSwapIntervalEXT)(int interval);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglSwapLayerBuffers)(HDC hdc, UINT fuFlags);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglSwapLayerBuffers)(HDC hdc, UINT fuFlags);
 
-extern EPOXY_IMPORTEXPORT INT64 (EPOXY_CALLSPEC *epoxy_wglSwapLayerBuffersMscOML)(HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
+EPOXY_PUBLIC INT64 (EPOXY_CALLSPEC *epoxy_wglSwapLayerBuffersMscOML)(HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontBitmapsA)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontBitmapsA)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontBitmapsW)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontBitmapsW)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlines)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlines)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlinesA)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlinesA)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlinesW)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglUseFontOutlinesW)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglWaitForMscOML)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 * ust, INT64 * msc, INT64 * sbc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglWaitForMscOML)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 * ust, INT64 * msc, INT64 * sbc);
 
-extern EPOXY_IMPORTEXPORT BOOL (EPOXY_CALLSPEC *epoxy_wglWaitForSbcOML)(HDC hdc, INT64 target_sbc, INT64 * ust, INT64 * msc, INT64 * sbc);
+EPOXY_PUBLIC BOOL (EPOXY_CALLSPEC *epoxy_wglWaitForSbcOML)(HDC hdc, INT64 target_sbc, INT64 * ust, INT64 * msc, INT64 * sbc);
 
 #define wglAllocateMemoryNV epoxy_wglAllocateMemoryNV
 #define wglAssociateImageBufferEventsI3D epoxy_wglAssociateImageBufferEventsI3D
diff -Nru libepoxy-1.3.1/include/epoxy/wgl.h libepoxy-1.4.3/include/epoxy/wgl.h
--- libepoxy-1.3.1/include/epoxy/wgl.h	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/include/epoxy/wgl.h	2017-11-13 11:34:09.000000000 +0000
@@ -30,13 +30,10 @@
 #ifndef EPOXY_WGL_H
 #define EPOXY_WGL_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include 
 #include 
 
+#include "epoxy/common.h"
+
 #undef wglUseFontBitmaps
 #undef wglUseFontOutlines
 
@@ -52,13 +49,13 @@
 #define wglUseFontBitmaps wglUseFontBitmapsA
 #endif
 
+EPOXY_BEGIN_DECLS
+
 #include "epoxy/wgl_generated.h"
 
-EPOXY_IMPORTEXPORT bool epoxy_has_wgl_extension(HDC hdc, const char *extension);
-EPOXY_IMPORTEXPORT void epoxy_handle_external_wglMakeCurrent(void);
+EPOXY_PUBLIC bool epoxy_has_wgl_extension(HDC hdc, const char *extension);
+EPOXY_PUBLIC void epoxy_handle_external_wglMakeCurrent(void);
 
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
+EPOXY_END_DECLS
 
 #endif /* EPOXY_WGL_H */
diff -Nru libepoxy-1.3.1/install-sh libepoxy-1.4.3/install-sh
--- libepoxy-1.3.1/install-sh	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/install-sh	2017-11-13 11:34:09.000000000 +0000
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -97,7 +82,7 @@
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-	# Protect names problematic for 'test' and other utilities.
-	case $dst_arg in
-	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
-	esac
-	shift;;
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
       dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,74 @@
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
+
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
     esac
 
     if
       $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +370,51 @@
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-	test X"$d" = X && continue
+        test X"$d" = X && continue
 
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -472,15 +449,12 @@
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +467,24 @@
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
 
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
diff -Nru libepoxy-1.3.1/ltmain.sh libepoxy-1.4.3/ltmain.sh
--- libepoxy-1.3.1/ltmain.sh	2014-01-30 20:22:32.000000000 +0000
+++ libepoxy-1.4.3/ltmain.sh	2017-11-13 11:34:09.000000000 +0000
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+##               by inline-source v2014-01-03.01
 
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
 # Written by Gordon Matzigkeit , 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -23,881 +26,2112 @@
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program.  If not, see .
 
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:	$host
-#         shell:		$SHELL
-#         compiler:		$LTCC
-#         compiler flags:		$LTCFLAGS
-#         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.6
-#         automake:	$automake_version
-#         autoconf:	$autoconf_version
-#
-# Report bugs to .
-# GNU libtool home page: .
-# General help using GNU software: .
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.6"
-TIMESTAMP=""
-package_revision=1.3337
+VERSION=2.4.6
+package_revision=2.4.6
 
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES 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 .
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
 
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-	  export $lt_var
-	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+  eval "if test set = \"\${$_G_var+set}\"; then
+          save_$_G_var=\$$_G_var
+          $_G_var=C
+	  export $_G_var
+	  _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
 	fi"
 done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
 
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp	$nl"
 
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
 
 
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+    test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+    _G_progs_list=$1
+    _G_check_func=$2
+    _G_PATH=${3-"$PATH"}
+
+    _G_path_prog_max=0
+    _G_path_prog_found=false
+    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+    for _G_dir in $_G_PATH; do
+      IFS=$_G_save_IFS
+      test -z "$_G_dir" && _G_dir=.
+      for _G_prog_name in $_G_progs_list; do
+        for _exeext in '' .EXE; do
+          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+          func_executable_p "$_G_path_prog" || continue
+          case `"$_G_path_prog" --version 2>&1` in
+            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+            *)     $_G_check_func $_G_path_prog
+		   func_path_progs_result=$func_check_prog_result
+		   ;;
+          esac
+          $_G_path_prog_found && break 3
+        done
+      done
+    done
+    IFS=$_G_save_IFS
+    test -z "$func_path_progs_result" && {
+      echo "no acceptable sed could be found in \$PATH" >&2
+      exit 1
+    }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+  for _G_i in 1 2 3 4 5 6 7; do
+    _G_sed_script=$_G_sed_script$nl$_G_sed_script
+  done
+  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+  _G_sed_script=
+
+  func_check_prog_sed ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo '' >> conftest.nl
+      "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+  rm -f conftest.sed
+  SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+  func_check_prog_grep ()
+  {
+    _G_path_prog=$1
+
+    _G_count=0
+    _G_path_prog_max=0
+    printf 0123456789 >conftest.in
+    while :
+    do
+      cat conftest.in conftest.in >conftest.tmp
+      mv conftest.tmp conftest.in
+      cp conftest.in conftest.nl
+      echo 'GREP' >> conftest.nl
+      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break
+      diff conftest.out conftest.nl >/dev/null 2>&1 || break
+      _G_count=`expr $_G_count + 1`
+      if test "$_G_count" -gt "$_G_path_prog_max"; then
+        # Best one so far, save it but keep looking for a better one
+        func_check_prog_result=$_G_path_prog
+        _G_path_prog_max=$_G_count
+      fi
+      # 10*(2^10) chars as input seems more than enough
+      test 10 -lt "$_G_count" && break
+    done
+    rm -f conftest.in conftest.tmp conftest.nl conftest.out
+  }
+
+  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+  GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables.  These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
 
 : ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
 
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
 
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-} # func_dirname may be replaced by extended shell implementation
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
 
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
 
-# func_basename file
-func_basename ()
-{
-    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
 
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-    # Extract subdirectory from the argument.
-    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
 
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
 
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-    case ${2} in
-      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-    esac
-} # func_stripname may be replaced by extended shell implementation
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same.  If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion.  Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+  s/$_G_bs4/&\\
+/g
+  s/^$_G_bs2$_G_dollar/$_G_bs&/
+  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+  s/\n//g"
 
 
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-		s@/\./@/@g
-		t dotsl
-		s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
 
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
 
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
 
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
+# By convention, finish your script with:
+#
+#    exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
 
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
 
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
 
-# Make sure we have an absolute path for reexecution:
+# Make sure we have an absolute progpath for reexecution:
 case $progpath in
   [\\/]*|[A-Za-z]:\\*) ;;
   *[\\/]*)
-     progdir=$func_dirname_result
+     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
      progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
   *)
-     save_IFS="$IFS"
+     _G_IFS=$IFS
      IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
-       IFS="$save_IFS"
+       IFS=$_G_IFS
        test -x "$progdir/$progname" && break
      done
-     IFS="$save_IFS"
+     IFS=$_G_IFS
      test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
+     progpath=$progdir/$progname
      ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
 
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
+
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
 
-# Standard options:
 opt_dry_run=false
-opt_help=false
 opt_quiet=false
 opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
 
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
+# Categories 'all' and 'none' are always available.  Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'.  Set
+# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+    $debug_cmd
+
+    test -t 1 && {
+      # COLORTERM and USE_ANSI_COLORS environment variables take
+      # precedence, because most terminfo databases neglect to describe
+      # whether color sequences are supported.
+      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+      if test 1 = "$USE_ANSI_COLORS"; then
+        # Standard ANSI escape sequences
+        tc_reset=''
+        tc_bold='';   tc_standout=''
+        tc_red='';   tc_green=''
+        tc_blue='';  tc_cyan=''
+      else
+        # Otherwise trust the terminfo database after all.
+        test -n "`tput sgr0 2>/dev/null`" && {
+          tc_reset=`tput sgr0`
+          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+          tc_standout=$tc_bold
+          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+        }
+      fi
+    }
 
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
+    require_term_colors=:
 }
 
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
 
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
 
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
 
-    # bash bug again:
-    :
-}
 
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
 
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information."  ## default
+  # We should try to minimise forks, especially on Windows where they are
+  # unreasonably slow, so skip the feature probes when bash or zsh are
+  # being used:
+  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+    : ${_G_HAVE_ARITH_OP="yes"}
+    : ${_G_HAVE_XSI_OPS="yes"}
+    # The += operator was introduced in bash 3.1
+    case $BASH_VERSION in
+      [12].* | 3.0 | 3.0*) ;;
+      *)
+        : ${_G_HAVE_PLUSEQ_OP="yes"}
+        ;;
+    esac
+  fi
 
+  # _G_HAVE_PLUSEQ_OP
+  # Can be empty, in which case the shell is probed, "yes" if += is
+  # useable or anything else if it does not work.
+  test -z "$_G_HAVE_PLUSEQ_OP" \
+    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+    && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_append ()
+  {
+    $debug_cmd
+
+    eval "$1+=\$2"
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_append ()
+  {
+    $debug_cmd
+
+    eval "$1=\$$1\$2"
+  }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+  eval 'func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1+=\\ \$func_quote_for_eval_result"
+  }'
+else
+  func_append_quoted ()
+  {
+    $debug_cmd
+
+    func_quote_for_eval "$2"
+    eval "$1=\$$1\\ \$func_quote_for_eval_result"
+  }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE.  For example:
+#
+#   func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+    $debug_cmd
+
+    eval _G_current_value='`$ECHO $'$1'`'
+    _G_delim=`expr "$2" : '\(.\)'`
+
+    case $_G_delim$_G_current_value$_G_delim in
+      *"$2$_G_delim"*) ;;
+      *) func_append "$@" ;;
+    esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+  test -z "$_G_HAVE_ARITH_OP" \
+    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+    && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+  eval 'func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=$(( $* ))
+  }'
+else
+  func_arith ()
+  {
+    $debug_cmd
+
+    func_arith_result=`expr "$@"`
+  }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  # If this shell supports suffix pattern removal, then use it to avoid
+  # forking. Hide the definitions single quotes in case the shell chokes
+  # on unsupported syntax...
+  _b='func_basename_result=${1##*/}'
+  _d='case $1 in
+        */*) func_dirname_result=${1%/*}$2 ;;
+        *  ) func_dirname_result=$3        ;;
+      esac'
+
+else
+  # ...otherwise fall back to using sed.
+  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
+      if test "X$func_dirname_result" = "X$1"; then
+        func_dirname_result=$3
+      else
+        func_append func_dirname_result "$2"
+      fi'
+fi
+
+eval 'func_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+    $debug_cmd
+
+    '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+    $debug_cmd
+
+    '"$_b"'
+    '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+    $debug_cmd
+
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    _G_infix=$1; shift
+    _G_indent=$_G_infix
+    _G_prefix="$progname: $_G_infix: "
+    _G_message=$*
+
+    # Strip color escape sequences before counting printable length
+    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+    do
+      test -n "$_G_tc" && {
+        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+      }
+    done
+    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
+
+    func_echo_infix_1_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_infix_1_IFS
+      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+      _G_prefix=$_G_indent
+    done
+    IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $debug_cmd
+
+    $require_term_colors
 
-# func_grep expression filename
+    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    $debug_cmd
+
+    func_error "$*"
+    exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
 # Check whether EXPRESSION matches any line of FILENAME, without output.
 func_grep ()
 {
+    $debug_cmd
+
     $GREP "$1" "$2" >/dev/null 2>&1
 }
 
 
-# func_mkdir_p directory-path
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+  test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=${#1}
+  }'
+else
+  func_len ()
+  {
+    $debug_cmd
+
+    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+  }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
 # Make sure the entire path to DIRECTORY-PATH is available.
 func_mkdir_p ()
 {
-    my_directory_path="$1"
-    my_dir_list=
+    $debug_cmd
+
+    _G_directory_path=$1
+    _G_dir_list=
 
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
 
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
+      # Protect directory names starting with '-'
+      case $_G_directory_path in
+        -*) _G_directory_path=./$_G_directory_path ;;
       esac
 
       # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
+      while test ! -d "$_G_directory_path"; do
         # ...make a list in topmost first order.  Use a colon delimited
 	# list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
+        _G_dir_list=$_G_directory_path:$_G_dir_list
 
         # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
+        case $_G_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
       done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
 
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-	IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
+      func_mkdir_p_IFS=$IFS; IFS=:
+      for _G_dir in $_G_dir_list; do
+	IFS=$func_mkdir_p_IFS
+        # mkdir can fail with a 'File exist' error if two processes
         # try to create one of the directories concurrently.  Don't
         # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
+        $MKDIR "$_G_dir" 2>/dev/null || :
       done
-      IFS="$save_mkdir_p_IFS"
+      IFS=$func_mkdir_p_IFS
 
       # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
+      test -d "$_G_directory_path" || \
+        func_fatal_error "Failed to create '$1'"
     fi
 }
 
 
-# func_mktempdir [string]
+# func_mktempdir [BASENAME]
+# -------------------------
 # Make a temporary directory that won't clash with other running
 # libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
+# given, BASENAME is the basename for that directory.
 func_mktempdir ()
 {
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
+    $debug_cmd
 
-    if test "$opt_dry_run" = ":"; then
+    _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+    if test : = "$opt_dry_run"; then
       # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
+      _G_tmpdir=$_G_template-$$
     else
 
       # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
 
-      if test ! -d "$my_tmpdir"; then
+      if test ! -d "$_G_tmpdir"; then
         # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
+        _G_tmpdir=$_G_template-${RANDOM-0}$$
 
-        save_mktempdir_umask=`umask`
+        func_mktempdir_umask=`umask`
         umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
+        $MKDIR "$_G_tmpdir"
+        umask $func_mktempdir_umask
       fi
 
       # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+      test -d "$_G_tmpdir" || \
+        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
     fi
 
-    $ECHO "$my_tmpdir"
+    $ECHO "$_G_tmpdir"
 }
 
 
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+    $debug_cmd
+
+    # These SED scripts presuppose an absolute path with a trailing slash.
+    _G_pathcar='s|^/\([^/]*\).*$|\1|'
+    _G_pathcdr='s|^/[^/]*||'
+    _G_removedotparts=':dotsl
+		s|/\./|/|g
+		t dotsl
+		s|/\.$|/|'
+    _G_collapseslashes='s|/\{1,\}|/|g'
+    _G_finalslash='s|/*$|/|'
+
+    # Start from root dir and reassemble the path.
+    func_normal_abspath_result=
+    func_normal_abspath_tpath=$1
+    func_normal_abspath_altnamespace=
+    case $func_normal_abspath_tpath in
+      "")
+        # Empty path, that just means $cwd.
+        func_stripname '' '/' "`pwd`"
+        func_normal_abspath_result=$func_stripname_result
+        return
+        ;;
+      # The next three entries are used to spot a run of precisely
+      # two leading slashes without using negated character classes;
+      # we take advantage of case's first-match behaviour.
+      ///*)
+        # Unusual form of absolute path, do nothing.
+        ;;
+      //*)
+        # Not necessarily an ordinary path; POSIX reserves leading '//'
+        # and for example Cygwin uses it to access remote file shares
+        # over CIFS/SMB, so we conserve a leading double slash if found.
+        func_normal_abspath_altnamespace=/
+        ;;
+      /*)
+        # Absolute path, do nothing.
+        ;;
+      *)
+        # Relative path, prepend $cwd.
+        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+        ;;
+    esac
+
+    # Cancel out all the simple stuff to save iterations.  We also want
+    # the path to end with a slash for ease of parsing, so make sure
+    # there is one (and only one) here.
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+    while :; do
+      # Processed it all yet?
+      if test / = "$func_normal_abspath_tpath"; then
+        # If we ascended to the root using ".." the result may be empty now.
+        if test -z "$func_normal_abspath_result"; then
+          func_normal_abspath_result=/
+        fi
+        break
+      fi
+      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcar"`
+      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+          -e "$_G_pathcdr"`
+      # Figure out what to do with it
+      case $func_normal_abspath_tcomponent in
+        "")
+          # Trailing empty path component, ignore it.
+          ;;
+        ..)
+          # Parent dir; strip last assembled component from result.
+          func_dirname "$func_normal_abspath_result"
+          func_normal_abspath_result=$func_dirname_result
+          ;;
+        *)
+          # Actual path component, append it.
+          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+          ;;
+      esac
+    done
+    # Restore leading double-slash if one was found on entry.
+    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+    $debug_cmd
+
+    $opt_quiet || func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+    $debug_cmd
+
+    func_relative_path_result=
+    func_normal_abspath "$1"
+    func_relative_path_tlibdir=$func_normal_abspath_result
+    func_normal_abspath "$2"
+    func_relative_path_tbindir=$func_normal_abspath_result
+
+    # Ascend the tree starting from libdir
+    while :; do
+      # check if we have found a prefix of bindir
+      case $func_relative_path_tbindir in
+        $func_relative_path_tlibdir)
+          # found an exact match
+          func_relative_path_tcancelled=
+          break
+          ;;
+        $func_relative_path_tlibdir*)
+          # found a matching prefix
+          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+          func_relative_path_tcancelled=$func_stripname_result
+          if test -z "$func_relative_path_result"; then
+            func_relative_path_result=.
+          fi
+          break
+          ;;
+        *)
+          func_dirname $func_relative_path_tlibdir
+          func_relative_path_tlibdir=$func_dirname_result
+          if test -z "$func_relative_path_tlibdir"; then
+            # Have to descend all the way to the root!
+            func_relative_path_result=../$func_relative_path_result
+            func_relative_path_tcancelled=$func_relative_path_tbindir
+            break
+          fi
+          func_relative_path_result=../$func_relative_path_result
+          ;;
+      esac
+    done
+
+    # Now calculate path; take care to avoid doubling-up slashes.
+    func_stripname '' '/' "$func_relative_path_result"
+    func_relative_path_result=$func_stripname_result
+    func_stripname '/' '/' "$func_relative_path_tcancelled"
+    if test -n "$func_stripname_result"; then
+      func_append func_relative_path_result "/$func_stripname_result"
+    fi
+
+    # Normalisation. If bindir is libdir, return '.' else relative path.
+    if test -n "$func_relative_path_result"; then
+      func_stripname './' '' "$func_relative_path_result"
+      func_relative_path_result=$func_stripname_result
+    fi
+
+    test -n "$func_relative_path_result" || func_relative_path_result=.
+
+    :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+#   i) func_quote_for_eval_result
+#      double-quoted, suitable for a subsequent eval
+#  ii) func_quote_for_eval_unquoted_result
+#      has all characters that are still active within double
+#      quotes backslashified.
 func_quote_for_eval ()
 {
+    $debug_cmd
+
+    func_quote_for_eval_unquoted_result=
+    func_quote_for_eval_result=
+    while test 0 -lt $#; do
+      case $1 in
+        *[\\\`\"\$]*)
+	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+        *)
+          _G_unquoted_arg=$1 ;;
+      esac
+      if test -n "$func_quote_for_eval_unquoted_result"; then
+	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+      else
+        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+      fi
+
+      case $_G_unquoted_arg in
+        # Double-quote args containing shell metacharacters to delay
+        # word splitting, command substitution and variable expansion
+        # for a subsequent eval.
+        # Many Bourne shells cannot handle close brackets correctly
+        # in scan sets, so we specify it separately.
+        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+          _G_quoted_arg=\"$_G_unquoted_arg\"
+          ;;
+        *)
+          _G_quoted_arg=$_G_unquoted_arg
+	  ;;
+      esac
+
+      if test -n "$func_quote_for_eval_result"; then
+	func_append func_quote_for_eval_result " $_G_quoted_arg"
+      else
+        func_append func_quote_for_eval_result "$_G_quoted_arg"
+      fi
+      shift
+    done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    $debug_cmd
+
     case $1 in
-      *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+      *[\\\`\"]*)
+	_G_arg=`$ECHO "$1" | $SED \
+	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
-        func_quote_for_eval_unquoted_result="$1" ;;
+        _G_arg=$1 ;;
     esac
 
-    case $func_quote_for_eval_unquoted_result in
+    case $_G_arg in
       # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
+      # word splitting and command substitution for a subsequent eval.
       # Many Bourne shells cannot handle close brackets correctly
       # in scan sets, so we specify it separately.
       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        _G_arg=\"$_G_arg\"
         ;;
-      *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
     esac
+
+    func_quote_for_expand_result=$_G_arg
 }
 
 
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_stripname ()
+  {
+    $debug_cmd
+
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary variable first.
+    func_stripname_result=$3
+    func_stripname_result=${func_stripname_result#"$1"}
+    func_stripname_result=${func_stripname_result%"$2"}
+  }'
+else
+  func_stripname ()
+  {
+    $debug_cmd
+
+    case $2 in
+      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+    esac
+  }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    func_quote_for_expand "$_G_cmd"
+    eval "func_notquiet $func_quote_for_expand_result"
+
+    $opt_dry_run || {
+      eval "$_G_cmd"
+      _G_status=$?
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
 {
+    $debug_cmd
+
+    _G_cmd=$1
+    _G_fail_exp=${2-':'}
+
+    $opt_quiet || {
+      func_quote_for_expand "$_G_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    $opt_dry_run || {
+      eval "$_G_user_locale
+	    $_G_cmd"
+      _G_status=$?
+      eval "$_G_safe_locale"
+      if test 0 -ne "$_G_status"; then
+	eval "(exit $_G_status); $_G_fail_exp"
+      fi
+    }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+    $debug_cmd
+
     case $1 in
-      *[\\\`\"]*)
-	my_arg=`$ECHO "$1" | $SED \
-	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        my_arg="$1" ;;
+    [0-9]* | *[!a-zA-Z0-9_]*)
+      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+      ;;
+    * )
+      func_tr_sh_result=$1
+      ;;
     esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $debug_cmd
+
+    $opt_verbose && func_echo "$*"
+
+    :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+    $debug_cmd
+
+    $require_term_colors
+
+    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+    $debug_cmd
+
+    # CATEGORY must be in the warning_categories list!
+    case " $warning_categories " in
+      *" $1 "*) ;;
+      *) func_internal_error "invalid warning category '$1'" ;;
+    esac
+
+    _G_category=$1
+    shift
+
+    case " $opt_warning_types " in
+      *" $_G_category "*) $warning_func ${1+"$@"} ;;
+    esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+    $debug_cmd
+
+    printf '%s\n%s\n' "$1" "$2" \
+      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false.  Use it like this:
+#
+#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+    $debug_cmd
+
+    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# 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 3 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 .
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+#   #!/bin/sh
+#   . relative/path/to/funclib.sh
+#   . relative/path/to/options-parser
+#   scriptversion=1.0
+#   func_options ${1+"$@"}
+#   eval set dummy "$func_options_result"; shift
+#   ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'.  Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+       --debug        enable verbose shell tracing
+   -W, --warnings=CATEGORY
+                      report the warnings falling in CATEGORY [all]
+   -v, --verbose      verbosely report processing
+       --version      print version information and exit
+   -h, --help         print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+       'all'          show all warnings
+       'none'         turn off all the warnings
+       'error'        warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code.  A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+    $debug_cmd
+
+    func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not accept hook functions." ;;
+    esac
+
+    eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+    $debug_cmd
+
+    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+    $debug_cmd
+
+    case " $hookable_fns " in
+      *" $1 "*) ;;
+      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+    esac
+
+    eval _G_hook_fns=\$$1_hooks; shift
+
+    for _G_hook in $_G_hook_fns; do
+      eval $_G_hook '"$@"'
+
+      # store returned options list back into positional
+      # parameters for next 'cmd' execution.
+      eval _G_hook_result=\$${_G_hook}_result
+      eval set dummy "$_G_hook_result"; shift
+    done
+
+    func_quote_for_eval ${1+"$@"}
+    func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '_result', escaped suitably for
+# 'eval'.  Like this:
+#
+#    my_options_prep ()
+#    {
+#        $debug_cmd
+#
+#        # Extend the existing usage message.
+#        usage_message=$usage_message'
+#      -s, --silent       don'\''t print informational messages
+#    '
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_options_prep_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_options_prep my_options_prep
+#
+#
+#    my_silent_option ()
+#    {
+#        $debug_cmd
+#
+#        # Note that for efficiency, we parse as many options as we can
+#        # recognise in a loop before passing the remainder back to the
+#        # caller on the first unrecognised argument we encounter.
+#        while test $# -gt 0; do
+#          opt=$1; shift
+#          case $opt in
+#            --silent|-s) opt_silent=: ;;
+#            # Separate non-argument short options:
+#            -s*)         func_split_short_opt "$_G_opt"
+#                         set dummy "$func_split_short_opt_name" \
+#                             "-$func_split_short_opt_arg" ${1+"$@"}
+#                         shift
+#                         ;;
+#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#          esac
+#        done
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_silent_option_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_parse_options my_silent_option
+#
+#
+#    my_option_validation ()
+#    {
+#        $debug_cmd
+#
+#        $opt_silent && $opt_verbose && func_fatal_help "\
+#    '--silent' and '--verbose' options are mutually exclusive."
+#
+#        func_quote_for_eval ${1+"$@"}
+#        my_option_validation_result=$func_quote_for_eval_result
+#    }
+#    func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse.  It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
 
-    case $my_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        my_arg="\"$my_arg\""
-        ;;
-    esac
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+    $debug_cmd
 
-    func_quote_for_expand_result="$my_arg"
+    func_options_prep ${1+"$@"}
+    eval func_parse_options \
+        ${func_options_prep_result+"$func_options_prep_result"}
+    eval func_validate_options \
+        ${func_parse_options_result+"$func_parse_options_result"}
+
+    eval func_run_hooks func_options \
+        ${func_validate_options_result+"$func_validate_options_result"}
+
+    # save modified positional parameters for caller
+    func_options_result=$func_run_hooks_result
 }
 
 
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters.  If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    # Option defaults:
+    opt_verbose=false
+    opt_warning_types=
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
+    func_run_hooks func_options_prep ${1+"$@"}
+
+    # save modified positional parameters for caller
+    func_options_prep_result=$func_run_hooks_result
 }
 
 
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
 {
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
+    $debug_cmd
 
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
+    func_parse_options_result=
 
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-	    $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
+    # this just eases exit handling
+    while test $# -gt 0; do
+      # Defer to hook functions for initial option parsing, so they
+      # get priority in the event of reusing an option name.
+      func_run_hooks func_parse_options ${1+"$@"}
 
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-  case $1 in
-  [0-9]* | *[!a-zA-Z0-9_]*)
-    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-    ;;
-  * )
-    func_tr_sh_result=$1
-    ;;
-  esac
+      # Adjust func_parse_options positional parameters to match
+      eval set dummy "$func_run_hooks_result"; shift
+
+      # Break out of the loop if we already parsed every option.
+      test $# -gt 0 || break
+
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --debug|-x)   debug_cmd='set -x'
+                      func_echo "enabling shell trace mode"
+                      $debug_cmd
+                      ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                      set dummy --warnings none ${1+"$@"}
+                      shift
+		      ;;
+
+        --warnings|--warning|-W)
+                      test $# = 0 && func_missing_arg $_G_opt && break
+                      case " $warning_categories $1" in
+                        *" $1 "*)
+                          # trailing space prevents matching last $1 above
+                          func_append_uniq opt_warning_types " $1"
+                          ;;
+                        *all)
+                          opt_warning_types=$warning_categories
+                          ;;
+                        *none)
+                          opt_warning_types=none
+                          warning_func=:
+                          ;;
+                        *error)
+                          opt_warning_types=$warning_categories
+                          warning_func=func_fatal_error
+                          ;;
+                        *)
+                          func_fatal_error \
+                             "unsupported warning category: '$1'"
+                          ;;
+                      esac
+                      shift
+                      ;;
+
+        --verbose|-v) opt_verbose=: ;;
+        --version)    func_version ;;
+        -\?|-h)       func_usage ;;
+        --help)       func_help ;;
+
+	# Separate optargs to long options (plugins may need this):
+	--*=*)        func_split_equals "$_G_opt"
+	              set dummy "$func_split_equals_lhs" \
+                          "$func_split_equals_rhs" ${1+"$@"}
+                      shift
+                      ;;
+
+       # Separate optargs to short options:
+        -W*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        # Separate non-argument short options:
+        -\?*|-h*|-v*|-x*)
+                      func_split_short_opt "$_G_opt"
+                      set dummy "$func_split_short_opt_name" \
+                          "-$func_split_short_opt_arg" ${1+"$@"}
+                      shift
+                      ;;
+
+        --)           break ;;
+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+      esac
+    done
+
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    func_parse_options_result=$func_quote_for_eval_result
 }
 
 
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/(C)/!b go
-	:more
-	/\./!{
-	  N
-	  s/\n# / /
-	  b more
-	}
-	:go
-	/^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-	s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
+    # Display all warnings if -W was not given.
+    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+    func_run_hooks func_validate_options ${1+"$@"}
+
+    # Bail if the options were screwed!
+    $exit_cmd $EXIT_FAILURE
+
+    # save modified positional parameters for caller
+    func_validate_options_result=$func_run_hooks_result
 }
 
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-	s/^# *$//
-	s/\$progname/'$progname'/
-	p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
+    eval \$ECHO \""Usage: $usage"\"
+    eval \$ECHO \""$fatal_help"\"
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
 }
 
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
 func_help ()
 {
-    $opt_debug
+    $debug_cmd
 
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-	:print
-        s/^# //
-	s/^# *$//
-	s*\$progname*'$progname'*
-	s*\$host*'"$host"'*
-	s*\$SHELL*'"$SHELL"'*
-	s*\$LTCC*'"$LTCC"'*
-	s*\$LTCFLAGS*'"$LTCFLAGS"'*
-	s*\$LD*'"$LD"'*
-	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
-	p
-	d
-     }
-     /^# .* home page:/b print
-     /^# General help using/b print
-     ' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
+    func_usage_message
+    $ECHO "$long_help_message"
+    exit 0
 }
 
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
 # Echo program name prefixed message to standard error and set global
 # exit_cmd.
 func_missing_arg ()
 {
-    $opt_debug
+    $debug_cmd
 
-    func_error "missing argument for $1."
+    func_error "Missing argument for '$1'."
     exit_cmd=exit
 }
 
 
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+    && (eval 'x=a/b/c;
+      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+    && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=${1%%=*}
+      func_split_equals_rhs=${1#*=}
+      test "x$func_split_equals_lhs" = "x$1" \
+        && func_split_equals_rhs=
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_equals ()
+  {
+      $debug_cmd
+
+      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+      func_split_equals_rhs=
+      test "x$func_split_equals_lhs" = "x$1" \
+        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+  }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
 # Set func_split_short_opt_name and func_split_short_opt_arg shell
 # variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+  # This is an XSI compatible shell, allowing a faster implementation...
+  eval 'func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_arg=${1#??}
+      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+  }'
+else
+  # ...otherwise fall back to using expr, which is often a shell builtin.
+  func_split_short_opt ()
+  {
+      $debug_cmd
+
+      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+  }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
 {
-    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+    $debug_cmd
 
-    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+    func_usage_message
+    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+    exit 0
+}
 
 
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
 {
-    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-    my_sed_long_arg='1s/^--[^=]*=//'
+    $debug_cmd
 
-    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
+    eval \$ECHO \""Usage: $usage"\"
+    echo
+    $SED -n 's|^# ||
+        /^Written by/{
+          x;p;x
+        }
+	h
+	/^Written by/q' < "$progpath"
+    echo
+    eval \$ECHO \""$usage_message"\"
+}
 
-exit_cmd=:
 
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $debug_cmd
 
+    printf '%s\n' "$progname $scriptversion"
+    $SED -n '
+        /(C)/!b go
+        :more
+        /\./!{
+          N
+          s|\n# | |
+          b more
+        }
+        :go
+        /^# Written by /,/# warranty; / {
+          s|^# ||
+          s|^# *$||
+          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+          p
+        }
+        /^# Written by / {
+          s|^# ||
+          p
+        }
+        /^warranty; /q' < "$progpath"
 
+    exit $?
+}
 
 
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
 
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
 
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
 
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
 {
-    eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+    $debug_cmd
 
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
-    func_quote_for_eval "${2}"
-    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+    _G_message=$*
+
+    func_echo_IFS=$IFS
+    IFS=$nl
+    for _G_line in $_G_message; do
+      IFS=$func_echo_IFS
+      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+    done
+    IFS=$func_echo_IFS
+}
 
 
-# func_arith arithmetic-term...
-func_arith ()
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
 {
-    func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+    $debug_cmd
 
+    $warning_func ${1+"$@"}
+}
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
 
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+       --config             show all configuration variables
+       --debug              enable verbose shell tracing
+   -n, --dry-run            display commands without modifying any files
+       --features           display basic configuration information and exit
+       --mode=MODE          use operation mode MODE
+       --no-warnings        equivalent to '-Wnone'
+       --preserve-dup-deps  don't remove duplicate dependency libraries
+       --quiet, --silent    don't print informational messages
+       --tag=TAG            use configuration variables from tag TAG
+   -v, --verbose            print more informational messages than default
+       --version            print version information
+   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
+   -h, --help, --help-all   print short, long, or detailed help message
+"
 
-# func_lo2o object
-func_lo2o ()
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
 {
-    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+    $debug_cmd
 
+    func_usage_message
+    $ECHO "$long_help_message
 
-# func_xform libobj-or-source
-func_xform ()
-{
-    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
+MODE must be one of the following:
+
+       clean           remove files from the build directory
+       compile         compile a source file into a libtool object
+       execute         automatically set library path, then run a program
+       finish          complete the installation of libtool libraries
+       install         install libraries or executables
+       link            create a library or an executable
+       uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+       host-triplet:   $host
+       shell:          $SHELL
+       compiler:       $LTCC
+       compiler flags: $LTCFLAGS
+       linker:         $LD (gnu? $with_gnu_ld)
+       version:        $progname (GNU libtool) 2.4.6
+       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to .
+GNU libtool home page: .
+General help using GNU software: ."
+    exit 0
+}
 
 
-# func_fatal_configuration arg...
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+  eval 'func_lo2o ()
+  {
+    case $1 in
+      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+      *   ) func_lo2o_result=$1               ;;
+    esac
+  }'
+
+  # func_xform LIBOBJ-OR-SOURCE
+  # ---------------------------
+  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+  # suffix to a '.lo' libtool-object suffix.
+  eval 'func_xform ()
+  {
+    func_xform_result=${1%.*}.lo
+  }'
+else
+  # ...otherwise fall back to using sed.
+  func_lo2o ()
+  {
+    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+  }
+
+  func_xform ()
+  {
+    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+  }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
 # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.
 func_fatal_configuration ()
 {
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
+    func__fatal_error ${1+"$@"} \
+      "See the $PACKAGE documentation for more information." \
+      "Fatal configuration error."
 }
 
 
 # func_config
+# -----------
 # Display the configuration for all the tags in this script.
 func_config ()
 {
@@ -915,17 +2149,19 @@
     exit $?
 }
 
+
 # func_features
+# -------------
 # Display the features supported by this script.
 func_features ()
 {
     echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       echo "enable shared libraries"
     else
       echo "disable shared libraries"
     fi
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       echo "enable static libraries"
     else
       echo "disable static libraries"
@@ -934,314 +2170,350 @@
     exit $?
 }
 
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
 # Verify that TAGNAME is valid, and either flag an error and exit, or
 # enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
 # variable here.
 func_enable_tag ()
 {
-  # Global variable:
-  tagname="$1"
+    # Global variable:
+    tagname=$1
 
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
+    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+    sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+    # Validate tagname.
+    case $tagname in
+      *[!-_A-Za-z0-9,/]*)
+        func_fatal_error "invalid tag name: $tagname"
+        ;;
+    esac
 
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
+    # Don't test for the "default" C tag, as we know it's
+    # there but not specially marked.
+    case $tagname in
+        CC) ;;
     *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	taglist="$taglist $tagname"
+        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	  taglist="$taglist $tagname"
 
-	# Evaluate the configuration.  Be careful to quote the path
-	# and the sed script, to avoid splitting on whitespace, but
-	# also don't use non-portable quotes within backquotes within
-	# quotes we have to do it in 2 steps:
-	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	eval "$extractedcf"
-      else
-	func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
+	  # Evaluate the configuration.  Be careful to quote the path
+	  # and the sed script, to avoid splitting on whitespace, but
+	  # also don't use non-portable quotes within backquotes within
+	  # quotes we have to do it in 2 steps:
+	  extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	  eval "$extractedcf"
+        else
+	  func_error "ignoring unknown tag $tagname"
+        fi
+        ;;
+    esac
 }
 
+
 # func_check_version_match
+# ------------------------
 # Ensure that we are using m4 macros, and libtool script from the same
 # release of libtool.
 func_check_version_match ()
 {
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
+    if test "$package_revision" != "$macro_revision"; then
+      if test "$VERSION" != "$macro_version"; then
+        if test -z "$macro_version"; then
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from an older release.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      else
-        cat >&2 <<_LT_EOF
+        else
+          cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
 $progname: and run autoconf again.
 _LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
+        fi
+      else
+        cat >&2 <<_LT_EOF
 $progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
 $progname: of $PACKAGE $VERSION and run autoconf again.
 _LT_EOF
-    fi
+      fi
 
-    exit $EXIT_MISMATCH
-  fi
+      exit $EXIT_MISMATCH
+    fi
 }
 
 
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
-  shift; set dummy --mode clean ${1+"$@"}; shift
-  ;;
-compile|compil|compi|comp|com|co|c)
-  shift; set dummy --mode compile ${1+"$@"}; shift
-  ;;
-execute|execut|execu|exec|exe|ex|e)
-  shift; set dummy --mode execute ${1+"$@"}; shift
-  ;;
-finish|finis|fini|fin|fi|f)
-  shift; set dummy --mode finish ${1+"$@"}; shift
-  ;;
-install|instal|insta|inst|ins|in|i)
-  shift; set dummy --mode install ${1+"$@"}; shift
-  ;;
-link|lin|li|l)
-  shift; set dummy --mode link ${1+"$@"}; shift
-  ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-  shift; set dummy --mode uninstall ${1+"$@"}; shift
-  ;;
-esac
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+    $debug_mode
 
+    # Option defaults:
+    opt_config=false
+    opt_dlopen=
+    opt_dry_run=false
+    opt_help=false
+    opt_mode=
+    opt_preserve_dup_deps=false
+    opt_quiet=false
 
+    nonopt=
+    preserve_args=
 
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
+    # Shorthand for --mode=foo, only valid as the first argument
+    case $1 in
+    clean|clea|cle|cl)
+      shift; set dummy --mode clean ${1+"$@"}; shift
+      ;;
+    compile|compil|compi|comp|com|co|c)
+      shift; set dummy --mode compile ${1+"$@"}; shift
+      ;;
+    execute|execut|execu|exec|exe|ex|e)
+      shift; set dummy --mode execute ${1+"$@"}; shift
+      ;;
+    finish|finis|fini|fin|fi|f)
+      shift; set dummy --mode finish ${1+"$@"}; shift
+      ;;
+    install|instal|insta|inst|ins|in|i)
+      shift; set dummy --mode install ${1+"$@"}; shift
+      ;;
+    link|lin|li|l)
+      shift; set dummy --mode link ${1+"$@"}; shift
+      ;;
+    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+      shift; set dummy --mode uninstall ${1+"$@"}; shift
+      ;;
+    esac
 
+    # Pass back the list of options.
+    func_quote_for_eval ${1+"$@"}
+    libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
 
-# Parse options once, thoroughly.  This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
-{
-  # this just eases exit handling
-  while test $# -gt 0; do
-    opt="$1"
-    shift
-    case $opt in
-      --debug|-x)	opt_debug='set -x'
-			func_echo "enabling shell trace mode"
-			$opt_debug
-			;;
-      --dry-run|--dryrun|-n)
-			opt_dry_run=:
-			;;
-      --config)
-			opt_config=:
-func_config
-			;;
-      --dlopen|-dlopen)
-			optarg="$1"
-			opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
-			shift
-			;;
-      --preserve-dup-deps)
-			opt_preserve_dup_deps=:
-			;;
-      --features)
-			opt_features=:
-func_features
-			;;
-      --finish)
-			opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
-			;;
-      --help)
-			opt_help=:
-			;;
-      --help-all)
-			opt_help_all=:
-opt_help=': help-all'
-			;;
-      --mode)
-			test $# = 0 && func_missing_arg $opt && break
-			optarg="$1"
-			opt_mode="$optarg"
-case $optarg in
-  # Valid mode arguments:
-  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-  # Catch anything else as an error
-  *) func_error "invalid argument for $opt"
-     exit_cmd=exit
-     break
-     ;;
-esac
-			shift
-			;;
-      --no-silent|--no-quiet)
-			opt_silent=false
-func_append preserve_args " $opt"
-			;;
-      --no-warning|--no-warn)
-			opt_warning=false
-func_append preserve_args " $opt"
-			;;
-      --no-verbose)
-			opt_verbose=false
-func_append preserve_args " $opt"
-			;;
-      --silent|--quiet)
-			opt_silent=:
-func_append preserve_args " $opt"
-        opt_verbose=false
-			;;
-      --verbose|-v)
-			opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
-			;;
-      --tag)
-			test $# = 0 && func_missing_arg $opt && break
-			optarg="$1"
-			opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
-			shift
-			;;
-
-      -\?|-h)		func_usage				;;
-      --help)		func_help				;;
-      --version)	func_version				;;
-
-      # Separate optargs to long options:
-      --*=*)
-			func_split_long_opt "$opt"
-			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
-			shift
-			;;
-
-      # Separate non-argument short options:
-      -\?*|-h*|-n*|-v*)
-			func_split_short_opt "$opt"
-			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-			shift
-			;;
-
-      --)		break					;;
-      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
-      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
-    esac
-  done
 
-  # Validate options:
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+    $debug_cmd
 
-  # save first non-option argument
-  if test "$#" -gt 0; then
-    nonopt="$opt"
-    shift
-  fi
+    # Perform our own loop to consume as many options as possible in
+    # each iteration.
+    while test $# -gt 0; do
+      _G_opt=$1
+      shift
+      case $_G_opt in
+        --dry-run|--dryrun|-n)
+                        opt_dry_run=:
+                        ;;
+
+        --config)       func_config ;;
+
+        --dlopen|-dlopen)
+                        opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+                        shift
+                        ;;
+
+        --preserve-dup-deps)
+                        opt_preserve_dup_deps=: ;;
+
+        --features)     func_features ;;
+
+        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
+
+        --help)         opt_help=: ;;
+
+        --help-all)     opt_help=': help-all' ;;
+
+        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_mode=$1
+                        case $1 in
+                          # Valid mode arguments:
+                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+                          # Catch anything else as an error
+                          *) func_error "invalid argument for $_G_opt"
+                             exit_cmd=exit
+                             break
+                             ;;
+                        esac
+                        shift
+                        ;;
+
+        --no-silent|--no-quiet)
+                        opt_quiet=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-warnings|--no-warning|--no-warn)
+                        opt_warning=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --no-verbose)
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --silent|--quiet)
+                        opt_quiet=:
+                        opt_verbose=false
+                        func_append preserve_args " $_G_opt"
+                        ;;
+
+        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
+                        opt_tag=$1
+                        func_append preserve_args " $_G_opt $1"
+                        func_enable_tag "$1"
+                        shift
+                        ;;
+
+        --verbose|-v)   opt_quiet=false
+                        opt_verbose=:
+                        func_append preserve_args " $_G_opt"
+                        ;;
 
-  # preserve --debug
-  test "$opt_debug" = : || func_append preserve_args " --debug"
+	# An option not handled by this hook function:
+        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
+      esac
+    done
 
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-      ;;
-  esac
 
-  $opt_help || {
-    # Sanity checks first:
-    func_check_version_match
+    # save modified positional parameters for caller
+    func_quote_for_eval ${1+"$@"}
+    libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
 
-    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-      func_fatal_configuration "not configured to build any kind of library"
-    fi
 
-    # Darwin sucks
-    eval std_shrext=\"$shrext_cmds\"
 
-    # Only execute mode is allowed to have -dlopen flags.
-    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-      func_error "unrecognized option \`-dlopen'"
-      $ECHO "$help" 1>&2
-      exit $EXIT_FAILURE
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+    # save first non-option argument
+    if test 0 -lt $#; then
+      nonopt=$1
+      shift
     fi
 
-    # Change the help message to a mode-specific one.
-    generic_help="$help"
-    help="Try \`$progname --help --mode=$opt_mode' for more information."
-  }
+    # preserve --debug
+    test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+    case $host in
+      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+        # don't eliminate duplications in $postdeps and $predeps
+        opt_duplicate_compiler_generated_deps=:
+        ;;
+      *)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
+    esac
 
+    $opt_help || {
+      # Sanity checks first:
+      func_check_version_match
+
+      test yes != "$build_libtool_libs" \
+        && test yes != "$build_old_libs" \
+        && func_fatal_configuration "not configured to build any kind of library"
+
+      # Darwin sucks
+      eval std_shrext=\"$shrext_cmds\"
+
+      # Only execute mode is allowed to have -dlopen flags.
+      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+        func_error "unrecognized option '-dlopen'"
+        $ECHO "$help" 1>&2
+        exit $EXIT_FAILURE
+      fi
+
+      # Change the help message to a mode-specific one.
+      generic_help=$help
+      help="Try '$progname --help --mode=$opt_mode' for more information."
+    }
 
-  # Bail if the options were screwed
-  $exit_cmd $EXIT_FAILURE
+    # Pass back the unparsed argument list
+    func_quote_for_eval ${1+"$@"}
+    libtool_validate_options_result=$func_quote_for_eval_result
 }
+func_add_hook func_validate_options libtool_validate_options
 
 
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
 
 
 ## ----------- ##
 ##    Main.    ##
 ## ----------- ##
 
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
 # func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function is only a basic sanity check; it will hardly flush out
 # determined imposters.
 func_lalib_p ()
 {
     test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
 # This function implements the same check as func_lalib_p without
 # resorting to external programs.  To this end, it redirects stdin and
 # closes it afterwards, without saving the original file descriptor.
 # As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
+# fatal anyway.  Works if 'file' does not exist.
 func_lalib_unsafe_p ()
 {
     lalib_p=no
@@ -1249,13 +2521,13 @@
 	for lalib_p_l in 1 2 3 4
 	do
 	    read lalib_p_line
-	    case "$lalib_p_line" in
+	    case $lalib_p_line in
 		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
 	    esac
 	done
 	exec 0<&5 5<&-
     fi
-    test "$lalib_p" = yes
+    test yes = "$lalib_p"
 }
 
 # func_ltwrapper_script_p file
@@ -1264,7 +2536,8 @@
 # determined imposters.
 func_ltwrapper_script_p ()
 {
-    func_lalib_p "$1"
+    test -f "$1" &&
+      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
 }
 
 # func_ltwrapper_executable_p file
@@ -1289,7 +2562,7 @@
 {
     func_dirname_and_basename "$1" "" "."
     func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
 }
 
 # func_ltwrapper_p file
@@ -1308,11 +2581,13 @@
 # FAIL_CMD may read-access the current command in variable CMD!
 func_execute_cmds ()
 {
-    $opt_debug
+    $debug_cmd
+
     save_ifs=$IFS; IFS='~'
     for cmd in $1; do
-      IFS=$save_ifs
+      IFS=$sp$nl
       eval cmd=\"$cmd\"
+      IFS=$save_ifs
       func_show_eval "$cmd" "${2-:}"
     done
     IFS=$save_ifs
@@ -1324,10 +2599,11 @@
 # Note that it is not necessary on cygwin/mingw to append a dot to
 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
 # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
 func_source ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $1 in
     */* | *\\*)	. "$1" ;;
     *)		. "./$1" ;;
@@ -1354,10 +2630,10 @@
 # store the result into func_replace_sysroot_result.
 func_replace_sysroot ()
 {
-  case "$lt_sysroot:$1" in
+  case $lt_sysroot:$1 in
   ?*:"$lt_sysroot"*)
     func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result="=$func_stripname_result"
+    func_replace_sysroot_result='='$func_stripname_result
     ;;
   *)
     # Including no sysroot.
@@ -1374,7 +2650,8 @@
 # arg is usually of the form 'gcc ...'
 func_infer_tag ()
 {
-    $opt_debug
+    $debug_cmd
+
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
@@ -1393,7 +2670,7 @@
 	for z in $available_tags; do
 	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
 	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
 	    CC_quoted=
 	    for arg in $CC; do
 	      # Double-quote args containing other shell metacharacters.
@@ -1418,7 +2695,7 @@
 	# line option must be used.
 	if test -z "$tagname"; then
 	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with \`--tag'"
+	  func_fatal_error "specify a tag with '--tag'"
 #	else
 #	  func_verbose "using $tagname tagged configuration"
 	fi
@@ -1434,15 +2711,15 @@
 # but don't create it if we're doing a dry run.
 func_write_libtool_object ()
 {
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
+    write_libobj=$1
+    if test yes = "$build_libtool_libs"; then
+      write_lobj=\'$2\'
     else
       write_lobj=none
     fi
 
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
+    if test yes = "$build_old_libs"; then
+      write_oldobj=\'$3\'
     else
       write_oldobj=none
     fi
@@ -1450,7 +2727,7 @@
     $opt_dry_run || {
       cat >${write_libobj}T </dev/null`
-    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
       func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$lt_sed_naive_backslashify"`
+        $SED -e "$sed_naive_backslashify"`
     else
       func_convert_core_file_wine_to_w32_result=
     fi
@@ -1514,18 +2792,19 @@
 # are convertible, then the result may be empty.
 func_convert_core_path_wine_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=""
+  func_convert_core_path_wine_to_w32_result=
   if test -n "$1"; then
     oldIFS=$IFS
     IFS=:
     for func_convert_core_path_wine_to_w32_f in $1; do
       IFS=$oldIFS
       func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+      if test -n "$func_convert_core_file_wine_to_w32_result"; then
         if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
         else
           func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
         fi
@@ -1554,7 +2833,8 @@
 # environment variable; do not put it in $PATH.
 func_cygpath ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
     func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
     if test "$?" -ne 0; then
@@ -1563,7 +2843,7 @@
     fi
   else
     func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
   fi
 }
 #end: func_cygpath
@@ -1574,10 +2854,11 @@
 # result in func_convert_core_msys_to_w32_result.
 func_convert_core_msys_to_w32 ()
 {
-  $opt_debug
+  $debug_cmd
+
   # awkward: cmd appends spaces to result
   func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
 }
 #end: func_convert_core_msys_to_w32
 
@@ -1588,13 +2869,14 @@
 # func_to_host_file_result to ARG1).
 func_convert_file_check ()
 {
-  $opt_debug
-  if test -z "$2" && test -n "$1" ; then
+  $debug_cmd
+
+  if test -z "$2" && test -n "$1"; then
     func_error "Could not determine host file name corresponding to"
-    func_error "  \`$1'"
+    func_error "  '$1'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback:
-    func_to_host_file_result="$1"
+    func_to_host_file_result=$1
   fi
 }
 # end func_convert_file_check
@@ -1606,10 +2888,11 @@
 # func_to_host_file_result to a simplistic fallback value (see below).
 func_convert_path_check ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$4" && test -n "$3"; then
     func_error "Could not determine the host path corresponding to"
-    func_error "  \`$3'"
+    func_error "  '$3'"
     func_error "Continuing, but uninstalled executables may not work."
     # Fallback.  This is a deliberately simplistic "conversion" and
     # should not be "improved".  See libtool.info.
@@ -1618,7 +2901,7 @@
       func_to_host_path_result=`echo "$3" |
         $SED -e "$lt_replace_pathsep_chars"`
     else
-      func_to_host_path_result="$3"
+      func_to_host_path_result=$3
     fi
   fi
 }
@@ -1630,9 +2913,10 @@
 # and appending REPL if ORIG matches BACKPAT.
 func_convert_path_front_back_pathsep ()
 {
-  $opt_debug
+  $debug_cmd
+
   case $4 in
-  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+  $1 ) func_to_host_path_result=$3$func_to_host_path_result
     ;;
   esac
   case $4 in
@@ -1646,7 +2930,7 @@
 ##################################################
 # $build to $host FILE NAME CONVERSION FUNCTIONS #
 ##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # Result will be available in $func_to_host_file_result.
@@ -1657,7 +2941,8 @@
 # in func_to_host_file_result.
 func_to_host_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   $to_host_file_cmd "$1"
 }
 # end func_to_host_file
@@ -1669,7 +2954,8 @@
 # in (the comma separated) LAZY, no conversion takes place.
 func_to_tool_file ()
 {
-  $opt_debug
+  $debug_cmd
+
   case ,$2, in
     *,"$to_tool_file_cmd",*)
       func_to_tool_file_result=$1
@@ -1687,7 +2973,7 @@
 # Copy ARG to func_to_host_file_result.
 func_convert_file_noop ()
 {
-  func_to_host_file_result="$1"
+  func_to_host_file_result=$1
 }
 # end func_convert_file_noop
 
@@ -1698,11 +2984,12 @@
 # func_to_host_file_result.
 func_convert_file_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result=$func_convert_core_msys_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1714,8 +3001,9 @@
 # func_to_host_file_result.
 func_convert_file_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
     # LT_CYGPATH in this case.
@@ -1731,11 +3019,12 @@
 # and a working winepath. Returns result in func_to_host_file_result.
 func_convert_file_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1747,12 +3036,13 @@
 # Returns result in func_to_host_file_result.
 func_convert_file_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     func_convert_core_msys_to_w32 "$1"
     func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1765,13 +3055,14 @@
 # in func_to_host_file_result.
 func_convert_file_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_file_result="$1"
+  $debug_cmd
+
+  func_to_host_file_result=$1
   if test -n "$1"; then
     # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
     func_convert_core_file_wine_to_w32 "$1"
     func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
+    func_to_host_file_result=$func_cygpath_result
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
 }
@@ -1781,7 +3072,7 @@
 #############################################
 # $build to $host PATH CONVERSION FUNCTIONS #
 #############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
 #
 # In each case, ARG is the path to be converted from $build to $host format.
 # The result will be available in $func_to_host_path_result.
@@ -1805,10 +3096,11 @@
 to_host_path_cmd=
 func_init_to_host_path_cmd ()
 {
-  $opt_debug
+  $debug_cmd
+
   if test -z "$to_host_path_cmd"; then
     func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+    to_host_path_cmd=func_convert_path_$func_stripname_result
   fi
 }
 
@@ -1818,7 +3110,8 @@
 # in func_to_host_path_result.
 func_to_host_path ()
 {
-  $opt_debug
+  $debug_cmd
+
   func_init_to_host_path_cmd
   $to_host_path_cmd "$1"
 }
@@ -1829,7 +3122,7 @@
 # Copy ARG to func_to_host_path_result.
 func_convert_path_noop ()
 {
-  func_to_host_path_result="$1"
+  func_to_host_path_result=$1
 }
 # end func_convert_path_noop
 
@@ -1840,8 +3133,9 @@
 # func_to_host_path_result.
 func_convert_path_msys_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from ARG.  MSYS
     # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3143,7 @@
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result=$func_convert_core_msys_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3157,9 @@
 # func_to_host_file_result.
 func_convert_path_cygwin_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
@@ -1883,14 +3178,15 @@
 # a working winepath.  Returns result in func_to_host_file_result.
 func_convert_path_nix_to_w32 ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
     func_convert_path_check : ";" \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3200,16 @@
 # Returns result in func_to_host_file_result.
 func_convert_path_msys_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # See func_convert_path_msys_to_w32:
     func_stripname : : "$1"
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3224,9 @@
 # func_to_host_file_result.
 func_convert_path_nix_to_cygwin ()
 {
-  $opt_debug
-  func_to_host_path_result="$1"
+  $debug_cmd
+
+  func_to_host_path_result=$1
   if test -n "$1"; then
     # Remove leading and trailing path separator characters from
     # ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3235,7 @@
     func_to_host_path_tmp1=$func_stripname_result
     func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
     func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
+    func_to_host_path_result=$func_cygpath_result
     func_convert_path_check : : \
       "$func_to_host_path_tmp1" "$func_to_host_path_result"
     func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3244,31 @@
 # end func_convert_path_nix_to_cygwin
 
 
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+  $debug_cmd
+
+  func_dll_def_p_tmp=`$SED -n \
+    -e 's/^[	 ]*//' \
+    -e '/^\(;.*\)*$/d' \
+    -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
+    -e q \
+    "$1"`
+  test DEF = "$func_dll_def_p_tmp"
+}
+
+
 # func_mode_compile arg...
 func_mode_compile ()
 {
-    $opt_debug
+    $debug_cmd
+
     # Get the compilation command and the source file.
     base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
     suppress_opt=yes
     suppress_output=
     arg_mode=normal
@@ -1965,12 +3281,12 @@
       case $arg_mode in
       arg  )
 	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
+	lastarg=$arg
 	arg_mode=normal
 	;;
 
       target )
-	libobj="$arg"
+	libobj=$arg
 	arg_mode=normal
 	continue
 	;;
@@ -1980,7 +3296,7 @@
 	case $arg in
 	-o)
 	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify \`-o' more than once"
+	    func_fatal_error "you cannot specify '-o' more than once"
 	  arg_mode=target
 	  continue
 	  ;;
@@ -2009,12 +3325,12 @@
 	  func_stripname '-Wc,' '' "$arg"
 	  args=$func_stripname_result
 	  lastarg=
-	  save_ifs="$IFS"; IFS=','
+	  save_ifs=$IFS; IFS=,
 	  for arg in $args; do
-	    IFS="$save_ifs"
+	    IFS=$save_ifs
 	    func_append_quoted lastarg "$arg"
 	  done
-	  IFS="$save_ifs"
+	  IFS=$save_ifs
 	  func_stripname ' ' '' "$lastarg"
 	  lastarg=$func_stripname_result
 
@@ -2027,8 +3343,8 @@
 	  # Accept the current argument as the source file.
 	  # The previous "srcfile" becomes the current argument.
 	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
+	  lastarg=$srcfile
+	  srcfile=$arg
 	  ;;
 	esac  #  case $arg
 	;;
@@ -2043,13 +3359,13 @@
       func_fatal_error "you must specify an argument for -Xcompile"
       ;;
     target)
-      func_fatal_error "you must specify a target with \`-o'"
+      func_fatal_error "you must specify a target with '-o'"
       ;;
     *)
       # Get the name of the library object.
       test -z "$libobj" && {
 	func_basename "$srcfile"
-	libobj="$func_basename_result"
+	libobj=$func_basename_result
       }
       ;;
     esac
@@ -2069,7 +3385,7 @@
     case $libobj in
     *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
     *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      func_fatal_error "cannot determine name of library object from '$libobj'"
       ;;
     esac
 
@@ -2078,8 +3394,8 @@
     for arg in $later; do
       case $arg in
       -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
+	test yes = "$build_libtool_libs" \
+	  || func_fatal_configuration "cannot build a shared library"
 	build_old_libs=no
 	continue
 	;;
@@ -2105,17 +3421,17 @@
     func_quote_for_eval "$libobj"
     test "X$libobj" != "X$func_quote_for_eval_result" \
       && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+      && func_warning "libobj name '$libobj' may not contain shell special characters."
     func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
+    objname=$func_basename_result
+    xdir=$func_dirname_result
+    lobj=$xdir$objdir/$objname
 
     test -z "$base_compile" && \
       func_fatal_help "you must specify a compilation command"
 
     # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
+    if test yes = "$build_old_libs"; then
       removelist="$obj $lobj $libobj ${libobj}T"
     else
       removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3443,16 @@
       pic_mode=default
       ;;
     esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
       # non-PIC code in shared libraries is not supported
       pic_mode=default
     fi
 
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
+    if test no = "$compiler_c_o"; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+      lockfile=$output_obj.lock
     else
       output_obj=
       need_locks=no
@@ -2145,12 +3461,12 @@
 
     # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
+    if test yes = "$need_locks"; then
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
 	func_echo "Waiting for $lockfile to be removed"
 	sleep 2
       done
-    elif test "$need_locks" = warn; then
+    elif test warn = "$need_locks"; then
       if test -f "$lockfile"; then
 	$ECHO "\
 *** ERROR, $lockfile exists and contains:
@@ -2158,7 +3474,7 @@
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2180,11 +3496,11 @@
     qsrcfile=$func_quote_for_eval_result
 
     # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
+    if test yes = "$build_libtool_libs"; then
       # Without this assignment, base_compile gets emptied.
       fbsd_hideous_sh_bug=$base_compile
 
-      if test "$pic_mode" != no; then
+      if test no != "$pic_mode"; then
 	command="$base_compile $qsrcfile $pic_flag"
       else
 	# Don't build PIC code
@@ -2201,7 +3517,7 @@
       func_show_eval_locale "$command"	\
           'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 	$ECHO "\
 *** ERROR, $lockfile contains:
@@ -2212,7 +3528,7 @@
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2228,20 +3544,20 @@
       fi
 
       # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
+      if test yes = "$suppress_opt"; then
 	suppress_output=' >/dev/null 2>&1'
       fi
     fi
 
     # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
+    if test yes = "$build_old_libs"; then
+      if test yes != "$pic_mode"; then
 	# Don't build PIC code
 	command="$base_compile $qsrcfile$pie_flag"
       else
 	command="$base_compile $qsrcfile $pic_flag"
       fi
-      if test "$compiler_c_o" = yes; then
+      if test yes = "$compiler_c_o"; then
 	func_append command " -o $obj"
       fi
 
@@ -2250,7 +3566,7 @@
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
-      if test "$need_locks" = warn &&
+      if test warn = "$need_locks" &&
 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
 	$ECHO "\
 *** ERROR, $lockfile contains:
@@ -2261,7 +3577,7 @@
 
 This indicates that another process is trying to use the same
 temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
+your compiler does not support '-c' and '-o' together.  If you
 repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
@@ -2281,7 +3597,7 @@
       func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
 
       # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
+      if test no != "$need_locks"; then
 	removelist=$lockfile
         $RM "$lockfile"
       fi
@@ -2291,7 +3607,7 @@
 }
 
 $opt_help || {
-  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
@@ -2311,7 +3627,7 @@
 Remove files from the build directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3646,16 @@
   -no-suppress      do not suppress compiler output for multiple passes
   -prefer-pic       try to build PIC objects only
   -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
+  -shared           do not build a '.o' file suitable for static linking
+  -static           only build a '.o' file suitable for static linking
   -Wc,FLAG          pass FLAG directly to the compiler
 
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
 from the given SOURCEFILE.
 
 The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
         ;;
 
       execute)
@@ -2352,7 +3668,7 @@
 
   -dlopen FILE      add the directory containing FILE to the library path
 
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
 flags.
 
 If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3687,7 @@
 Each LIBDIR is a directory that contains libtool libraries.
 
 The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
         ;;
 
       install)
@@ -2381,7 +3697,7 @@
 Install executables or libraries.
 
 INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
@@ -2407,7 +3723,7 @@
   -avoid-version    do not add a version suffix if possible
   -bindir BINDIR    specify path to binaries directory (for systems where
                     libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
@@ -2421,7 +3737,8 @@
   -no-install       link a not-installable executable
   -no-undefined     declare that a library does not refer to external symbols
   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -objectlist FILE  use a list of object files found in FILE to specify objects
+  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
   -precious-files-regex REGEX
                     don't remove output files matching REGEX
   -release RELEASE  specify package release information
@@ -2441,20 +3758,20 @@
   -Xlinker FLAG     pass linker-specific FLAG directly to the linker
   -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
 
-Every other argument is treated as a filename.  Files ending in \`.la' are
+Every other argument is treated as a filename.  Files ending in '.la' are
 treated as uninstalled libtool libraries, other files are standard or library
 object files.
 
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
 required, except when creating a convenience library.
 
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
 
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
 is created, otherwise an executable program is created."
         ;;
 
@@ -2465,7 +3782,7 @@
 Remove libraries from an installation directory.
 
 RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
 to RM.
 
 If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3790,17 @@
         ;;
 
       *)
-        func_fatal_help "invalid operation mode \`$opt_mode'"
+        func_fatal_help "invalid operation mode '$opt_mode'"
         ;;
     esac
 
     echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
+    $ECHO "Try '$progname --help' for more information about other modes."
 }
 
 # Now that we've collected a possible --mode arg, show help if necessary
 if $opt_help; then
-  if test "$opt_help" = :; then
+  if test : = "$opt_help"; then
     func_mode_help
   else
     {
@@ -2491,7 +3808,7 @@
       for opt_mode in compile link execute install finish uninstall clean; do
 	func_mode_help
       done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
     {
       func_help noexit
       for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3816,7 @@
 	func_mode_help
       done
     } |
-    sed '1d
+    $SED '1d
       /^When reporting/,/^Report/{
 	H
 	d
@@ -2516,16 +3833,17 @@
 # func_mode_execute arg...
 func_mode_execute ()
 {
-    $opt_debug
+    $debug_cmd
+
     # The first argument is the command name.
-    cmd="$nonopt"
+    cmd=$nonopt
     test -z "$cmd" && \
       func_fatal_help "you must specify a COMMAND"
 
     # Handle -dlopen flags immediately.
     for file in $opt_dlopen; do
       test -f "$file" \
-	|| func_fatal_help "\`$file' is not a file"
+	|| func_fatal_help "'$file' is not a file"
 
       dir=
       case $file in
@@ -2535,7 +3853,7 @@
 
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$lib' is not a valid libtool archive"
+	  || func_fatal_help "'$lib' is not a valid libtool archive"
 
 	# Read the libtool library.
 	dlname=
@@ -2546,18 +3864,18 @@
 	if test -z "$dlname"; then
 	  # Warn if it was a shared library.
 	  test -n "$library_names" && \
-	    func_warning "\`$file' was not linked with \`-export-dynamic'"
+	    func_warning "'$file' was not linked with '-export-dynamic'"
 	  continue
 	fi
 
 	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
+	dir=$func_dirname_result
 
 	if test -f "$dir/$objdir/$dlname"; then
 	  func_append dir "/$objdir"
 	else
 	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+	    func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
 	  fi
 	fi
 	;;
@@ -2565,18 +3883,18 @@
       *.lo)
 	# Just add the directory containing the .lo file.
 	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
+	dir=$func_dirname_result
 	;;
 
       *)
-	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+	func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
 	continue
 	;;
       esac
 
       # Get the absolute pathname.
       absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
+      test -n "$absdir" && dir=$absdir
 
       # Now add the directory to shlibpath_var.
       if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3906,7 @@
 
     # This variable tells wrapper scripts just to set shlibpath_var
     # rather than running their programs.
-    libtool_execute_magic="$magic"
+    libtool_execute_magic=$magic
 
     # Check if any of the arguments is a wrapper script.
     args=
@@ -2601,12 +3919,12 @@
 	if func_ltwrapper_script_p "$file"; then
 	  func_source "$file"
 	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
+	  file=$progdir/$program
 	elif func_ltwrapper_executable_p "$file"; then
 	  func_ltwrapper_scriptname "$file"
 	  func_source "$func_ltwrapper_scriptname_result"
 	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
+	  file=$progdir/$program
 	fi
 	;;
       esac
@@ -2614,7 +3932,15 @@
       func_append_quoted args "$file"
     done
 
-    if test "X$opt_dry_run" = Xfalse; then
+    if $opt_dry_run; then
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    else
       if test -n "$shlibpath_var"; then
 	# Export the shlibpath_var.
 	eval "export $shlibpath_var"
@@ -2631,25 +3957,18 @@
       done
 
       # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
+      exec_cmd=\$cmd$args
     fi
 }
 
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
 
 
 # func_mode_finish arg...
 func_mode_finish ()
 {
-    $opt_debug
+    $debug_cmd
+
     libs=
     libdirs=
     admincmds=
@@ -2663,11 +3982,11 @@
 	if func_lalib_unsafe_p "$opt"; then
 	  func_append libs " $opt"
 	else
-	  func_warning "\`$opt' is not a valid libtool archive"
+	  func_warning "'$opt' is not a valid libtool archive"
 	fi
 
       else
-	func_fatal_error "invalid argument \`$opt'"
+	func_fatal_error "invalid argument '$opt'"
       fi
     done
 
@@ -2682,12 +4001,12 @@
       # Remove sysroot references
       if $opt_dry_run; then
         for lib in $libs; do
-          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
         done
       else
         tmpdir=`func_mktempdir`
         for lib in $libs; do
-	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	  $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
 	    > $tmpdir/tmp-la
 	  mv -f $tmpdir/tmp-la $lib
 	done
@@ -2712,7 +4031,7 @@
     fi
 
     # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
+    $opt_quiet && exit $EXIT_SUCCESS
 
     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       echo "----------------------------------------------------------------------"
@@ -2723,27 +4042,27 @@
       echo
       echo "If you ever happen to want to link against installed libraries"
       echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
       echo "flag during linking and do at least one of the following:"
       if test -n "$shlibpath_var"; then
-	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+	echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
 	echo "     during execution"
       fi
       if test -n "$runpath_var"; then
-	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+	echo "   - add LIBDIR to the '$runpath_var' environment variable"
 	echo "     during linking"
       fi
       if test -n "$hardcode_libdir_flag_spec"; then
 	libdir=LIBDIR
 	eval flag=\"$hardcode_libdir_flag_spec\"
 
-	$ECHO "   - use the \`$flag' linker flag"
+	$ECHO "   - use the '$flag' linker flag"
       fi
       if test -n "$admincmds"; then
 	$ECHO "   - have your system administrator run these commands:$admincmds"
       fi
       if test -f /etc/ld.so.conf; then
-	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+	echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
       fi
       echo
 
@@ -2762,18 +4081,20 @@
     exit $EXIT_SUCCESS
 }
 
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
 
 
 # func_mode_install arg...
 func_mode_install ()
 {
-    $opt_debug
+    $debug_cmd
+
     # There may be an optional sh(1) argument at the beginning of
     # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
        # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
+       case $nonopt in *shtool*) :;; *) false;; esac
+    then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4121,7 @@
     opts=
     prev=
     install_type=
-    isdir=no
+    isdir=false
     stripme=
     no_mode=:
     for arg
@@ -2813,7 +4134,7 @@
       fi
 
       case $arg in
-      -d) isdir=yes ;;
+      -d) isdir=: ;;
       -f)
 	if $install_cp; then :; else
 	  prev=$arg
@@ -2831,7 +4152,7 @@
       *)
 	# If the previous option needed an argument, then skip it.
 	if test -n "$prev"; then
-	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
+	  if test X-m = "X$prev" && test -n "$install_override_mode"; then
 	    arg2=$install_override_mode
 	    no_mode=false
 	  fi
@@ -2856,7 +4177,7 @@
       func_fatal_help "you must specify an install program"
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
+      func_fatal_help "the '$prev' option requires an argument"
 
     if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else
@@ -2878,19 +4199,19 @@
     dest=$func_stripname_result
 
     # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
+    test -d "$dest" && isdir=:
+    if $isdir; then
+      destdir=$dest
       destname=
     else
       func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
+      destdir=$func_dirname_result
+      destname=$func_basename_result
 
       # Not a directory, so check to see that there is only one file specified.
       set dummy $files; shift
       test "$#" -gt 1 && \
-	func_fatal_help "\`$dest' is not a directory"
+	func_fatal_help "'$dest' is not a directory"
     fi
     case $destdir in
     [\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4220,7 @@
 	case $file in
 	*.lo) ;;
 	*)
-	  func_fatal_help "\`$destdir' must be an absolute directory name"
+	  func_fatal_help "'$destdir' must be an absolute directory name"
 	  ;;
 	esac
       done
@@ -2908,7 +4229,7 @@
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     staticlibs=
     future_libdirs=
@@ -2928,7 +4249,7 @@
 
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$file' is not a valid libtool archive"
+	  || func_fatal_help "'$file' is not a valid libtool archive"
 
 	library_names=
 	old_library=
@@ -2950,7 +4271,7 @@
 	fi
 
 	func_dirname "$file" "/" ""
-	dir="$func_dirname_result"
+	dir=$func_dirname_result
 	func_append dir "$objdir"
 
 	if test -n "$relink_command"; then
@@ -2964,7 +4285,7 @@
 	  # are installed into $libdir/../bin (currently, that works fine)
 	  # but it's something to keep an eye on.
 	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+	    func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4294,36 @@
 	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
 	  fi
 
-	  func_warning "relinking \`$file'"
+	  func_warning "relinking '$file'"
 	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
 	fi
 
 	# See the names of the shared library.
 	set dummy $library_names; shift
 	if test -n "$1"; then
-	  realname="$1"
+	  realname=$1
 	  shift
 
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
+	  srcname=$realname
+	  test -n "$relink_command" && srcname=${realname}T
 
 	  # Install the shared library and build the symlinks.
 	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
 	      'exit $?'
-	  tstripme="$stripme"
+	  tstripme=$stripme
 	  case $host_os in
 	  cygwin* | mingw* | pw32* | cegcc*)
 	    case $realname in
 	    *.dll.a)
-	      tstripme=""
+	      tstripme=
+	      ;;
+	    esac
+	    ;;
+	  os2*)
+	    case $realname in
+	    *_dll.a)
+	      tstripme=
 	      ;;
 	    esac
 	    ;;
@@ -3006,7 +4334,7 @@
 
 	  if test "$#" -gt 0; then
 	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # Try 'ln -sf' first, because the 'ln' binary might depend on
 	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
 	    # so we also need to try rm && ln -s.
 	    for linkname
@@ -3017,14 +4345,14 @@
 	  fi
 
 	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
+	  lib=$destdir/$realname
 	  func_execute_cmds "$postinstall_cmds" 'exit $?'
 	fi
 
 	# Install the pseudo-library for information purposes.
 	func_basename "$file"
-	name="$func_basename_result"
-	instname="$dir/$name"i
+	name=$func_basename_result
+	instname=$dir/${name}i
 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 
 	# Maybe install the static library, too.
@@ -3036,11 +4364,11 @@
 
 	# Figure out destination file name, if it wasn't already specified.
 	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
+	  destfile=$destdir/$destname
 	else
 	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
 	fi
 
 	# Deduce the name of the destination old-style object file.
@@ -3050,11 +4378,11 @@
 	  staticdest=$func_lo2o_result
 	  ;;
 	*.$objext)
-	  staticdest="$destfile"
+	  staticdest=$destfile
 	  destfile=
 	  ;;
 	*)
-	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
+	  func_fatal_help "cannot copy a libtool object to '$destfile'"
 	  ;;
 	esac
 
@@ -3063,7 +4391,7 @@
 	  func_show_eval "$install_prog $file $destfile" 'exit $?'
 
 	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
+	if test yes = "$build_old_libs"; then
 	  # Deduce the name of the old-style object file.
 	  func_lo2o "$file"
 	  staticobj=$func_lo2o_result
@@ -3075,23 +4403,23 @@
       *)
 	# Figure out destination file name, if it wasn't already specified.
 	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
+	  destfile=$destdir/$destname
 	else
 	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
+	  destfile=$func_basename_result
+	  destfile=$destdir/$destfile
 	fi
 
 	# If the file is missing, and there is a .exe on the end, strip it
 	# because it is most likely a libtool script we actually want to
 	# install
-	stripped_ext=""
+	stripped_ext=
 	case $file in
 	  *.exe)
 	    if test ! -f "$file"; then
 	      func_stripname '' '.exe' "$file"
 	      file=$func_stripname_result
-	      stripped_ext=".exe"
+	      stripped_ext=.exe
 	    fi
 	    ;;
 	esac
@@ -3119,19 +4447,19 @@
 
 	  # Check the variables that should have been set.
 	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+	    func_fatal_error "invalid libtool wrapper script '$wrapper'"
 
-	  finalize=yes
+	  finalize=:
 	  for lib in $notinst_deplibs; do
 	    # Check to see that each library is installed.
 	    libdir=
 	    if test -f "$lib"; then
 	      func_source "$lib"
 	    fi
-	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
 	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "\`$lib' has not been installed in \`$libdir'"
-	      finalize=no
+	      func_warning "'$lib' has not been installed in '$libdir'"
+	      finalize=false
 	    fi
 	  done
 
@@ -3139,29 +4467,29 @@
 	  func_source "$wrapper"
 
 	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
+	  if test no = "$fast_install" && test -n "$relink_command"; then
 	    $opt_dry_run || {
-	      if test "$finalize" = yes; then
+	      if $finalize; then
 	        tmpdir=`func_mktempdir`
 		func_basename "$file$stripped_ext"
-		file="$func_basename_result"
-	        outputname="$tmpdir/$file"
+		file=$func_basename_result
+	        outputname=$tmpdir/$file
 	        # Replace the output file specification.
 	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
-	        $opt_silent || {
+	        $opt_quiet || {
 	          func_quote_for_expand "$relink_command"
 		  eval "func_echo $func_quote_for_expand_result"
 	        }
 	        if eval "$relink_command"; then :
 	          else
-		  func_error "error: relink \`$file' with the above command before installing it"
+		  func_error "error: relink '$file' with the above command before installing it"
 		  $opt_dry_run || ${RM}r "$tmpdir"
 		  continue
 	        fi
-	        file="$outputname"
+	        file=$outputname
 	      else
-	        func_warning "cannot relink \`$file'"
+	        func_warning "cannot relink '$file'"
 	      fi
 	    }
 	  else
@@ -3198,10 +4526,10 @@
 
     for file in $staticlibs; do
       func_basename "$file"
-      name="$func_basename_result"
+      name=$func_basename_result
 
       # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
+      oldlib=$destdir/$name
       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
       tool_oldlib=$func_to_tool_file_result
 
@@ -3216,18 +4544,18 @@
     done
 
     test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
+      func_warning "remember to run '$progname --finish$future_libdirs'"
 
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
     else
       exit $EXIT_SUCCESS
     fi
 }
 
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
 
 
 # func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4563,17 @@
 # a dlpreopen symbol table.
 func_generate_dlsyms ()
 {
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    $debug_cmd
+
+    my_outputname=$1
+    my_originator=$2
+    my_pic_p=${3-false}
+    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
     my_dlsyms=
 
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
       if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms="${my_outputname}S.c"
+	my_dlsyms=${my_outputname}S.c
       else
 	func_error "not configured to extract global symbols from dlpreopened files"
       fi
@@ -3255,7 +4584,7 @@
       "") ;;
       *.c)
 	# Discover the nlist of each of the dlfiles.
-	nlist="$output_objdir/${my_outputname}.nm"
+	nlist=$output_objdir/$my_outputname.nm
 
 	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
 
@@ -3263,34 +4592,36 @@
 	func_verbose "creating $output_objdir/$my_dlsyms"
 
 	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
 
 #ifdef __cplusplus
 extern \"C\" {
 #endif
 
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
 #endif
 
 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
    relocations are performed -- see ld's documentation on pseudo-relocs.  */
 # define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
 /* This system does not cope well with relocations in const data.  */
 # define LT_DLSYM_CONST
 #else
 # define LT_DLSYM_CONST const
 #endif
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* External symbol declarations for the compiler. */\
 "
 
-	if test "$dlself" = yes; then
-	  func_verbose "generating symbol list for \`$output'"
+	if test yes = "$dlself"; then
+	  func_verbose "generating symbol list for '$output'"
 
 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
@@ -3298,7 +4629,7 @@
 	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	  for progfile in $progfiles; do
 	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+	    func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
 	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
 	  done
 
@@ -3318,10 +4649,10 @@
 
 	  # Prepare the list of exported symbols
 	  if test -z "$export_symbols"; then
-	    export_symbols="$output_objdir/$outputname.exp"
+	    export_symbols=$output_objdir/$outputname.exp
 	    $opt_dry_run || {
 	      $RM $export_symbols
-	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
 	      case $host in
 	      *cygwin* | *mingw* | *cegcc* )
                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4662,7 @@
 	    }
 	  else
 	    $opt_dry_run || {
-	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
 	      eval '$MV "$nlist"T "$nlist"'
 	      case $host in
@@ -3345,22 +4676,22 @@
 	fi
 
 	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from \`$dlprefile'"
+	  func_verbose "extracting global C symbols from '$dlprefile'"
 	  func_basename "$dlprefile"
-	  name="$func_basename_result"
+	  name=$func_basename_result
           case $host in
 	    *cygwin* | *mingw* | *cegcc* )
 	      # if an import library, we need to obtain dlname
 	      if func_win32_import_lib_p "$dlprefile"; then
 	        func_tr_sh "$dlprefile"
 	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
-	        dlprefile_dlbasename=""
+	        dlprefile_dlbasename=
 	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
 	          # Use subshell, to avoid clobbering current variable values
 	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-	          if test -n "$dlprefile_dlname" ; then
+	          if test -n "$dlprefile_dlname"; then
 	            func_basename "$dlprefile_dlname"
-	            dlprefile_dlbasename="$func_basename_result"
+	            dlprefile_dlbasename=$func_basename_result
 	          else
 	            # no lafile. user explicitly requested -dlpreopen .
 	            $sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4699,7 @@
 	          fi
 	        fi
 	        $opt_dry_run || {
-	          if test -n "$dlprefile_dlbasename" ; then
+	          if test -n "$dlprefile_dlbasename"; then
 	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
 	          else
 	            func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4755,11 @@
 	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
 	  fi
 
+	  func_show_eval '$RM "${nlist}I"'
+	  if test -n "$global_symbol_to_import"; then
+	    eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+	  fi
+
 	  echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
@@ -3432,11 +4768,30 @@
   void *address;
 } lt_dlsymlist;
 extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+  for (; symbol->name; ++symbol)
+    {"
+	    $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+	    echo >> "$output_objdir/$my_dlsyms" "\
+    }
+}"
+	  fi
+	  echo >> "$output_objdir/$my_dlsyms" "\
 LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+	  if test -s "$nlist"I; then
+	    echo >> "$output_objdir/$my_dlsyms" "\
+  {\"@INIT@\", (void *) <_syminit},"
+	  fi
 
 	  case $need_lib_prefix in
 	  no)
@@ -3478,9 +4833,7 @@
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
 	  *)
-	    if test "X$my_pic_p" != Xno; then
-	      pic_flag_for_symtable=" $pic_flag"
-	    fi
+	    $my_pic_p && pic_flag_for_symtable=" $pic_flag"
 	    ;;
 	  esac
 	  ;;
@@ -3497,10 +4850,10 @@
 	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
 
 	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
 
 	# Transform the symbol file into the correct name.
-	symfileobj="$output_objdir/${my_outputname}S.$objext"
+	symfileobj=$output_objdir/${my_outputname}S.$objext
 	case $host in
 	*cygwin* | *mingw* | *cegcc* )
 	  if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4871,7 @@
 	esac
 	;;
       *)
-	func_fatal_error "unknown suffix for \`$my_dlsyms'"
+	func_fatal_error "unknown suffix for '$my_dlsyms'"
 	;;
       esac
     else
@@ -3532,6 +4885,32 @@
     fi
 }
 
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $debug_cmd
+
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
 # func_win32_libid arg
 # return the library type of file 'arg'
 #
@@ -3541,8 +4920,9 @@
 # Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
-  $opt_debug
-  win32_libid_type="unknown"
+  $debug_cmd
+
+  win32_libid_type=unknown
   win32_fileres=`file -L $1 2>/dev/null`
   case $win32_fileres in
   *ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +4932,29 @@
     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      func_to_tool_file "$1" func_convert_file_msys_to_w32
-      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-	$SED -n -e '
+      case $nm_interface in
+      "MS dumpbin")
+	if func_cygming_ms_implib_p "$1" ||
+	   func_cygming_gnu_implib_p "$1"
+	then
+	  win32_nmres=import
+	else
+	  win32_nmres=
+	fi
+	;;
+      *)
+	func_to_tool_file "$1" func_convert_file_msys_to_w32
+	win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+	  $SED -n -e '
 	    1,100{
 		/ I /{
-		    s,.*,import,
+		    s|.*|import|
 		    p
 		    q
 		}
 	    }'`
+	;;
+      esac
       case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;
@@ -3593,7 +4986,8 @@
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib ()
 {
-  $opt_debug
+  $debug_cmd
+
   sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
 }
 
@@ -3610,7 +5004,8 @@
 # specified import library.
 func_cygming_dll_for_implib_fallback_core ()
 {
-  $opt_debug
+  $debug_cmd
+
   match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
   $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
     $SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5041,8 @@
       /./p' |
     # we now have a list, one entry per line, of the stringified
     # contents of the appropriate section of all members of the
-    # archive which possess that section. Heuristic: eliminate
-    # all those which have a first or second character that is
+    # archive that possess that section. Heuristic: eliminate
+    # all those that have a first or second character that is
     # a '.' (that is, objdump's representation of an unprintable
     # character.) This should work for all archives with less than
     # 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5053,6 @@
     $SED -e '/^\./d;/^.\./d;q'
 }
 
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
 # func_cygming_dll_for_implib_fallback ARG
 # Platform-specific function to extract the
 # name of the DLL associated with the specified
@@ -3695,16 +5066,17 @@
 #    $sharedlib_from_linklib_result
 func_cygming_dll_for_implib_fallback ()
 {
-  $opt_debug
-  if func_cygming_gnu_implib_p "$1" ; then
+  $debug_cmd
+
+  if func_cygming_gnu_implib_p "$1"; then
     # binutils import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1" ; then
+  elif func_cygming_ms_implib_p "$1"; then
     # ms-generated import library
     sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
   else
     # unknown
-    sharedlib_from_linklib_result=""
+    sharedlib_from_linklib_result=
   fi
 }
 
@@ -3712,10 +5084,11 @@
 # func_extract_an_archive dir oldlib
 func_extract_an_archive ()
 {
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
+    $debug_cmd
+
+    f_ex_an_ar_dir=$1; shift
+    f_ex_an_ar_oldlib=$1
+    if test yes = "$lock_old_archive_extraction"; then
       lockfile=$f_ex_an_ar_oldlib.lock
       until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
 	func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5097,7 @@
     fi
     func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
 		   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
+    if test yes = "$lock_old_archive_extraction"; then
       $opt_dry_run || rm -f "$lockfile"
     fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5111,23 @@
 # func_extract_archives gentop oldlib ...
 func_extract_archives ()
 {
-    $opt_debug
-    my_gentop="$1"; shift
+    $debug_cmd
+
+    my_gentop=$1; shift
     my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
+    my_oldobjs=
+    my_xlib=
+    my_xabs=
+    my_xdir=
 
     for my_xlib in $my_oldlibs; do
       # Extract the objects.
       case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
 	*) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
+      my_xlib=$func_basename_result
       my_xlib_u=$my_xlib
       while :; do
         case " $extracted_archives " in
@@ -3765,7 +5139,7 @@
 	esac
       done
       extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
+      my_xdir=$my_gentop/$my_xlib_u
 
       func_mkdir_p "$my_xdir"
 
@@ -3778,22 +5152,23 @@
 	  cd $my_xdir || exit $?
 	  darwin_archive=$my_xabs
 	  darwin_curdir=`pwd`
-	  darwin_base_archive=`basename "$darwin_archive"`
+	  func_basename "$darwin_archive"
+	  darwin_base_archive=$func_basename_result
 	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
 	  if test -n "$darwin_arches"; then
 	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
 	    darwin_arch=
 	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	    for darwin_arch in  $darwin_arches; do
+	      func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+	      cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+	      func_extract_an_archive "`pwd`" "$darwin_base_archive"
 	      cd "$darwin_curdir"
-	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	      $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
 	    done # $darwin_arches
             ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
@@ -3815,7 +5190,7 @@
       my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
-    func_extract_archives_result="$my_oldobjs"
+    func_extract_archives_result=$my_oldobjs
 }
 
 
@@ -3830,7 +5205,7 @@
 #
 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
 # variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
 # the $objdir directory.  This is a cygwin/mingw-specific
 # behavior.
 func_emit_wrapper ()
@@ -3841,7 +5216,7 @@
 #! $SHELL
 
 # $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # The $output program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.
@@ -3898,9 +5273,9 @@
 
 # Very basic option parsing. These options are (a) specific to
 # the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /script/ and the wrapper /executable/ that is used only on
 # windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
+# (application programs are unlikely to have options that match
 # this pattern).
 #
 # There are only two supported options: --lt-debug and
@@ -3933,7 +5308,7 @@
 
   # Print the debug banner immediately:
   if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
   fi
 }
 
@@ -3944,7 +5319,7 @@
   lt_dump_args_N=1;
   for lt_arg
   do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
     lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
   done
 }
@@ -3958,7 +5333,7 @@
   *-*-mingw | *-*-os2* | *-cegcc*)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5343,7 @@
   *)
     $ECHO "\
       if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
         func_lt_dump_args \${1+\"\$@\"} 1>&2
       fi
       exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5418,13 @@
   test -n \"\$absdir\" && thisdir=\"\$absdir\"
 "
 
-	if test "$fast_install" = yes; then
+	if test yes = "$fast_install"; then
 	  $ECHO "\
   program=lt-'$outputname'$exeext
   progdir=\"\$thisdir/$objdir\"
 
   if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 
     file=\"\$\$-\$program\"
@@ -4066,7 +5441,7 @@
     if test -n \"\$relink_command\"; then
       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
       else
-	$ECHO \"\$relink_command_output\" >&2
+	\$ECHO \"\$relink_command_output\" >&2
 	$RM \"\$progdir/\$file\"
 	exit 1
       fi
@@ -4101,7 +5476,7 @@
 	fi
 
 	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 	  $ECHO "\
     # Add our own library path to $shlibpath_var
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5496,7 @@
     fi
   else
     # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
     \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
@@ -4140,7 +5515,7 @@
 	cat <
 #include 
 
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
 /* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
 # ifdef __STRICT_ANSI__
 int _putenv (const char *);
 # endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # ifdef __STRICT_ANSI__
 char *realpath (const char *, char *);
 int putenv (char *);
 int setenv (const char *, const char *, int);
 # endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
 #endif
 
 /* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
 # define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
 # define setmode _setmode
 # define stat    _stat
 # define chmod   _chmod
 # define getcwd  _getcwd
 # define putenv  _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
 # define HAVE_SETENV
 # define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
 #endif
 
-#if defined(PATH_MAX)
+#if defined PATH_MAX
 # define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
 # define LT_PATHMAX MAXPATHLEN
 #else
 # define LT_PATHMAX 1024
@@ -4234,8 +5607,8 @@
 # define PATH_SEPARATOR ':'
 #endif
 
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+  defined __OS2__
 # define HAVE_DOS_BASED_FILE_SYSTEM
 # define FOPEN_WB "wb"
 # ifndef DIR_SEPARATOR_2
@@ -4268,10 +5641,10 @@
 
 #define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
 #define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
+  if (stale) { free (stale); stale = 0; } \
 } while (0)
 
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
 static int lt_debug = 1;
 #else
 static int lt_debug = 0;
@@ -4300,11 +5673,16 @@
 EOF
 
 	    cat < 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+      size_t len = strlen (new_value);
+      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
         {
-          new_value[len-1] = '\0';
+          new_value[--len] = '\0';
         }
       lt_setenv (name, new_value);
       XFREE (new_value);
@@ -5082,27 +6460,47 @@
 # True if ARG is an import lib, as indicated by $file_magic_cmd
 func_win32_import_lib_p ()
 {
-    $opt_debug
+    $debug_cmd
+
     case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
     *import*) : ;;
     *) false ;;
     esac
 }
 
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+    $debug_cmd
+
+    case " $compile_command " in
+    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+      suncc_use_cstd_abi=no
+      ;;
+    *)
+      suncc_use_cstd_abi=yes
+      ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
-    $opt_debug
+    $debug_cmd
+
     case $host in
     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
       # It is impossible to link a dll without this setting, and
       # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
+      # what system we are compiling for in order to pass an extra
       # flag for every libtool invocation.
       # allow_undefined=no
 
       # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
+      # to make a dll that has undefined symbols, in which case not
       # even a static library is built.  For now, we need to specify
       # -no-undefined on the libtool link line when we can be certain
       # that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6544,11 @@
     module=no
     no_install=no
     objs=
+    os2dllname=
     non_pic_objects=
     precious_files_regex=
     prefer_static_libs=no
-    preload=no
+    preload=false
     prev=
     prevarg=
     release=
@@ -5161,7 +6560,7 @@
     vinfo=
     vinfo_number=no
     weak_libs=
-    single_module="${wl}-single_module"
+    single_module=$wl-single_module
     func_infer_tag $base_compile
 
     # We need to know -static, to get the right output filenames.
@@ -5169,15 +6568,15 @@
     do
       case $arg in
       -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
+	test yes != "$build_libtool_libs" \
+	  && func_fatal_configuration "cannot build a shared library"
 	build_old_libs=no
 	break
 	;;
       -all-static | -static | -static-libtool-libs)
 	case $arg in
 	-all-static)
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	  if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
 	    func_warning "complete static linking is impossible in this configuration"
 	  fi
 	  if test -n "$link_static_flag"; then
@@ -5210,7 +6609,7 @@
 
     # Go through the arguments, transforming them on the way.
     while test "$#" -gt 0; do
-      arg="$1"
+      arg=$1
       shift
       func_quote_for_eval "$arg"
       qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6626,21 @@
 
 	case $prev in
 	bindir)
-	  bindir="$arg"
+	  bindir=$arg
 	  prev=
 	  continue
 	  ;;
 	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
+	  $preload || {
 	    # Add the symbol object into the linking commands.
 	    func_append compile_command " @SYMFILE@"
 	    func_append finalize_command " @SYMFILE@"
-	    preload=yes
-	  fi
+	    preload=:
+	  }
 	  case $arg in
 	  *.la | *.lo) ;;  # We handle these cases below.
 	  force)
-	    if test "$dlself" = no; then
+	    if test no = "$dlself"; then
 	      dlself=needless
 	      export_dynamic=yes
 	    fi
@@ -5249,9 +6648,9 @@
 	    continue
 	    ;;
 	  self)
-	    if test "$prev" = dlprefiles; then
+	    if test dlprefiles = "$prev"; then
 	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	    elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
 	      dlself=yes
 	    else
 	      dlself=needless
@@ -5261,7 +6660,7 @@
 	    continue
 	    ;;
 	  *)
-	    if test "$prev" = dlfiles; then
+	    if test dlfiles = "$prev"; then
 	      func_append dlfiles " $arg"
 	    else
 	      func_append dlprefiles " $arg"
@@ -5272,14 +6671,14 @@
 	  esac
 	  ;;
 	expsyms)
-	  export_symbols="$arg"
+	  export_symbols=$arg
 	  test -f "$arg" \
-	    || func_fatal_error "symbol file \`$arg' does not exist"
+	    || func_fatal_error "symbol file '$arg' does not exist"
 	  prev=
 	  continue
 	  ;;
 	expsyms_regex)
-	  export_symbols_regex="$arg"
+	  export_symbols_regex=$arg
 	  prev=
 	  continue
 	  ;;
@@ -5297,7 +6696,13 @@
 	  continue
 	  ;;
 	inst_prefix)
-	  inst_prefix_dir="$arg"
+	  inst_prefix_dir=$arg
+	  prev=
+	  continue
+	  ;;
+	mllvm)
+	  # Clang does not use LLVM to link, so we can simply discard any
+	  # '-mllvm $arg' options when doing the link step.
 	  prev=
 	  continue
 	  ;;
@@ -5321,21 +6726,21 @@
 
 		if test -z "$pic_object" ||
 		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none &&
-		   test "$non_pic_object" = none; then
-		  func_fatal_error "cannot find name of object for \`$arg'"
+		   test none = "$pic_object" &&
+		   test none = "$non_pic_object"; then
+		  func_fatal_error "cannot find name of object for '$arg'"
 		fi
 
 		# Extract subdirectory from the argument.
 		func_dirname "$arg" "/" ""
-		xdir="$func_dirname_result"
+		xdir=$func_dirname_result
 
-		if test "$pic_object" != none; then
+		if test none != "$pic_object"; then
 		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
+		  pic_object=$xdir$pic_object
 
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		  if test dlfiles = "$prev"; then
+		    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
 		      func_append dlfiles " $pic_object"
 		      prev=
 		      continue
@@ -5346,7 +6751,7 @@
 		  fi
 
 		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
+		  if test dlprefiles = "$prev"; then
 		    # Preload the old-style object.
 		    func_append dlprefiles " $pic_object"
 		    prev=
@@ -5354,23 +6759,23 @@
 
 		  # A PIC object.
 		  func_append libobjs " $pic_object"
-		  arg="$pic_object"
+		  arg=$pic_object
 		fi
 
 		# Non-PIC object.
-		if test "$non_pic_object" != none; then
+		if test none != "$non_pic_object"; then
 		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
+		  non_pic_object=$xdir$non_pic_object
 
 		  # A standard non-PIC object
 		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
+		  if test -z "$pic_object" || test none = "$pic_object"; then
+		    arg=$non_pic_object
 		  fi
 		else
 		  # If the PIC object exists, use it instead.
 		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
+		  non_pic_object=$pic_object
 		  func_append non_pic_objects " $non_pic_object"
 		fi
 	      else
@@ -5378,7 +6783,7 @@
 		if $opt_dry_run; then
 		  # Extract subdirectory from the argument.
 		  func_dirname "$arg" "/" ""
-		  xdir="$func_dirname_result"
+		  xdir=$func_dirname_result
 
 		  func_lo2o "$arg"
 		  pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6791,29 @@
 		  func_append libobjs " $pic_object"
 		  func_append non_pic_objects " $non_pic_object"
 	        else
-		  func_fatal_error "\`$arg' is not a valid libtool object"
+		  func_fatal_error "'$arg' is not a valid libtool object"
 		fi
 	      fi
 	    done
 	  else
-	    func_fatal_error "link input file \`$arg' does not exist"
+	    func_fatal_error "link input file '$arg' does not exist"
 	  fi
 	  arg=$save_arg
 	  prev=
 	  continue
 	  ;;
+	os2dllname)
+	  os2dllname=$arg
+	  prev=
+	  continue
+	  ;;
 	precious_regex)
-	  precious_files_regex="$arg"
+	  precious_files_regex=$arg
 	  prev=
 	  continue
 	  ;;
 	release)
-	  release="-$arg"
+	  release=-$arg
 	  prev=
 	  continue
 	  ;;
@@ -5415,7 +6825,7 @@
 	    func_fatal_error "only absolute run-paths are allowed"
 	    ;;
 	  esac
-	  if test "$prev" = rpath; then
+	  if test rpath = "$prev"; then
 	    case "$rpath " in
 	    *" $arg "*) ;;
 	    *) func_append rpath " $arg" ;;
@@ -5430,7 +6840,7 @@
 	  continue
 	  ;;
 	shrext)
-	  shrext_cmds="$arg"
+	  shrext_cmds=$arg
 	  prev=
 	  continue
 	  ;;
@@ -5470,7 +6880,7 @@
 	esac
       fi # test -n "$prev"
 
-      prevarg="$arg"
+      prevarg=$arg
 
       case $arg in
       -all-static)
@@ -5484,7 +6894,7 @@
 
       -allow-undefined)
 	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+	func_fatal_error "'-allow-undefined' must not be used because it is the default"
 	;;
 
       -avoid-version)
@@ -5516,7 +6926,7 @@
 	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
 	  func_fatal_error "more than one -exported-symbols argument is not allowed"
 	fi
-	if test "X$arg" = "X-export-symbols"; then
+	if test X-export-symbols = "X$arg"; then
 	  prev=expsyms
 	else
 	  prev=expsyms_regex
@@ -5550,9 +6960,9 @@
 	func_stripname "-L" '' "$arg"
 	if test -z "$func_stripname_result"; then
 	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between \`-L' and \`$1'"
+	    func_fatal_error "require no space between '-L' and '$1'"
 	  else
-	    func_fatal_error "need path for \`-L' option"
+	    func_fatal_error "need path for '-L' option"
 	  fi
 	fi
 	func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +6973,8 @@
 	*)
 	  absdir=`cd "$dir" && pwd`
 	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
-	  dir="$absdir"
+	    func_fatal_error "cannot determine absolute directory name of '$dir'"
+	  dir=$absdir
 	  ;;
 	esac
 	case "$deplibs " in
@@ -5599,7 +7009,7 @@
 	;;
 
       -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	if test X-lc = "X$arg" || test X-lm = "X$arg"; then
 	  case $host in
 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # These systems don't actually have a C or math library (as such)
@@ -5607,11 +7017,11 @@
 	    ;;
 	  *-*-os2*)
 	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
+	    test X-lc = "X$arg" && continue
 	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
 	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
+	    test X-lc = "X$arg" && continue
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7030,16 @@
 	    ;;
 	  *-*-sco3.2v5* | *-*-sco5v6*)
 	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
+	    test X-lc = "X$arg" && continue
 	    ;;
 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
 	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
+	    test X-lc = "X$arg" && continue
 	    ;;
 	  esac
-	elif test "X$arg" = "X-lc_r"; then
+	elif test X-lc_r = "X$arg"; then
 	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
 	   # Do not include libc_r directly, use -pthread flag.
 	   continue
 	   ;;
@@ -5639,6 +7049,11 @@
 	continue
 	;;
 
+      -mllvm)
+	prev=mllvm
+	continue
+	;;
+
       -module)
 	module=yes
 	continue
@@ -5668,7 +7083,7 @@
 	;;
 
       -multi_module)
-	single_module="${wl}-multi_module"
+	single_module=$wl-multi_module
 	continue
 	;;
 
@@ -5682,8 +7097,8 @@
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
 	  # The PATH hackery in wrapper scripts is required on Windows
 	  # and Darwin in order for the loader to find any dlls it needs.
-	  func_warning "\`-no-install' is ignored for $host"
-	  func_warning "assuming \`-no-fast-install' instead"
+	  func_warning "'-no-install' is ignored for $host"
+	  func_warning "assuming '-no-fast-install' instead"
 	  fast_install=no
 	  ;;
 	*) no_install=yes ;;
@@ -5701,6 +7116,11 @@
 	continue
 	;;
 
+      -os2dllname)
+	prev=os2dllname
+	continue
+	;;
+
       -o) prev=output ;;
 
       -precious-files-regex)
@@ -5788,14 +7208,14 @@
 	func_stripname '-Wc,' '' "$arg"
 	args=$func_stripname_result
 	arg=
-	save_ifs="$IFS"; IFS=','
+	save_ifs=$IFS; IFS=,
 	for flag in $args; do
-	  IFS="$save_ifs"
+	  IFS=$save_ifs
           func_quote_for_eval "$flag"
 	  func_append arg " $func_quote_for_eval_result"
 	  func_append compiler_flags " $func_quote_for_eval_result"
 	done
-	IFS="$save_ifs"
+	IFS=$save_ifs
 	func_stripname ' ' '' "$arg"
 	arg=$func_stripname_result
 	;;
@@ -5804,15 +7224,15 @@
 	func_stripname '-Wl,' '' "$arg"
 	args=$func_stripname_result
 	arg=
-	save_ifs="$IFS"; IFS=','
+	save_ifs=$IFS; IFS=,
 	for flag in $args; do
-	  IFS="$save_ifs"
+	  IFS=$save_ifs
           func_quote_for_eval "$flag"
 	  func_append arg " $wl$func_quote_for_eval_result"
 	  func_append compiler_flags " $wl$func_quote_for_eval_result"
 	  func_append linker_flags " $func_quote_for_eval_result"
 	done
-	IFS="$save_ifs"
+	IFS=$save_ifs
 	func_stripname ' ' '' "$arg"
 	arg=$func_stripname_result
 	;;
@@ -5835,7 +7255,7 @@
       # -msg_* for osf cc
       -msg_*)
 	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
+	arg=$func_quote_for_eval_result
 	;;
 
       # Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7267,46 @@
       # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
       # -F/path              path to uninstalled frameworks, gcc on darwin
       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # -fstack-protector*   stack protector flags for GCC
       # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
-      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -stdlib=*            select c++ std lib with clang
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
         func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
+	arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
         func_append compiler_flags " $arg"
         continue
         ;;
 
+      -Z*)
+        if test os2 = "`expr $host : '.*\(os2\)'`"; then
+          # OS/2 uses -Zxxx to specify OS/2-specific options
+	  compiler_flags="$compiler_flags $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  case $arg in
+	  -Zlinker | -Zstack)
+	    prev=xcompiler
+	    ;;
+	  esac
+	  continue
+        else
+	  # Otherwise treat like 'Some other compiler flag' below
+	  func_quote_for_eval "$arg"
+	  arg=$func_quote_for_eval_result
+        fi
+	;;
+
       # Some other compiler flag.
       -* | +*)
         func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
+	arg=$func_quote_for_eval_result
 	;;
 
       *.$objext)
@@ -5886,21 +7327,21 @@
 
 	  if test -z "$pic_object" ||
 	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none &&
-	     test "$non_pic_object" = none; then
-	    func_fatal_error "cannot find name of object for \`$arg'"
+	     test none = "$pic_object" &&
+	     test none = "$non_pic_object"; then
+	    func_fatal_error "cannot find name of object for '$arg'"
 	  fi
 
 	  # Extract subdirectory from the argument.
 	  func_dirname "$arg" "/" ""
-	  xdir="$func_dirname_result"
+	  xdir=$func_dirname_result
 
-	  if test "$pic_object" != none; then
+	  test none = "$pic_object" || {
 	    # Prepend the subdirectory the object is found in.
-	    pic_object="$xdir$pic_object"
+	    pic_object=$xdir$pic_object
 
-	    if test "$prev" = dlfiles; then
-	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+	    if test dlfiles = "$prev"; then
+	      if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
 		func_append dlfiles " $pic_object"
 		prev=
 		continue
@@ -5911,7 +7352,7 @@
 	    fi
 
 	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test "$prev" = dlprefiles; then
+	    if test dlprefiles = "$prev"; then
 	      # Preload the old-style object.
 	      func_append dlprefiles " $pic_object"
 	      prev=
@@ -5919,23 +7360,23 @@
 
 	    # A PIC object.
 	    func_append libobjs " $pic_object"
-	    arg="$pic_object"
-	  fi
+	    arg=$pic_object
+	  }
 
 	  # Non-PIC object.
-	  if test "$non_pic_object" != none; then
+	  if test none != "$non_pic_object"; then
 	    # Prepend the subdirectory the object is found in.
-	    non_pic_object="$xdir$non_pic_object"
+	    non_pic_object=$xdir$non_pic_object
 
 	    # A standard non-PIC object
 	    func_append non_pic_objects " $non_pic_object"
-	    if test -z "$pic_object" || test "$pic_object" = none ; then
-	      arg="$non_pic_object"
+	    if test -z "$pic_object" || test none = "$pic_object"; then
+	      arg=$non_pic_object
 	    fi
 	  else
 	    # If the PIC object exists, use it instead.
 	    # $xdir was prepended to $pic_object above.
-	    non_pic_object="$pic_object"
+	    non_pic_object=$pic_object
 	    func_append non_pic_objects " $non_pic_object"
 	  fi
 	else
@@ -5943,7 +7384,7 @@
 	  if $opt_dry_run; then
 	    # Extract subdirectory from the argument.
 	    func_dirname "$arg" "/" ""
-	    xdir="$func_dirname_result"
+	    xdir=$func_dirname_result
 
 	    func_lo2o "$arg"
 	    pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7392,7 @@
 	    func_append libobjs " $pic_object"
 	    func_append non_pic_objects " $non_pic_object"
 	  else
-	    func_fatal_error "\`$arg' is not a valid libtool object"
+	    func_fatal_error "'$arg' is not a valid libtool object"
 	  fi
 	fi
 	;;
@@ -5967,11 +7408,11 @@
 	# A libtool-controlled library.
 
 	func_resolve_sysroot "$arg"
-	if test "$prev" = dlfiles; then
+	if test dlfiles = "$prev"; then
 	  # This library was specified with -dlopen.
 	  func_append dlfiles " $func_resolve_sysroot_result"
 	  prev=
-	elif test "$prev" = dlprefiles; then
+	elif test dlprefiles = "$prev"; then
 	  # The library was specified with -dlpreopen.
 	  func_append dlprefiles " $func_resolve_sysroot_result"
 	  prev=
@@ -5986,7 +7427,7 @@
 	# Unknown arguments in both finalize_command and compile_command need
 	# to be aesthetically quoted because they are evaled later.
 	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
+	arg=$func_quote_for_eval_result
 	;;
       esac # arg
 
@@ -5998,9 +7439,9 @@
     done # argument parsing loop
 
     test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
+      func_fatal_help "the '$prevarg' option requires an argument"
 
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
       eval arg=\"$export_dynamic_flag_spec\"
       func_append compile_command " $arg"
       func_append finalize_command " $arg"
@@ -6009,20 +7450,23 @@
     oldlibs=
     # calculate the name of the file, without its directory
     func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
+    outputname=$func_basename_result
+    libobjs_save=$libobjs
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
+    # Definition is injected by LT_CONFIG during libtool generation.
+    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
     func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
+    output_objdir=$func_dirname_result$objdir
     func_to_tool_file "$output_objdir/"
     tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.
@@ -6045,7 +7489,7 @@
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if $opt_preserve_dup_deps ; then
+      if $opt_preserve_dup_deps; then
 	case "$libs " in
 	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	esac
@@ -6053,7 +7497,7 @@
       func_append libs " $deplib"
     done
 
-    if test "$linkmode" = lib; then
+    if test lib = "$linkmode"; then
       libs="$predeps $libs $compiler_lib_search_path $postdeps"
 
       # Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7529,7 @@
 	  case $file in
 	  *.la) ;;
 	  *)
-	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+	    func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
 	    ;;
 	  esac
 	done
@@ -6093,7 +7537,7 @@
     prog)
 	compile_deplibs=
 	finalize_deplibs=
-	alldeplibs=no
+	alldeplibs=false
 	newdlfiles=
 	newdlprefiles=
 	passes="conv scan dlopen dlpreopen link"
@@ -6105,32 +7549,29 @@
     for pass in $passes; do
       # The preopen pass in lib mode reverses $deplibs; put it back here
       # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
+      if test lib,link = "$linkmode,$pass"; then
 	## FIXME: Find the place where the list is rebuilt in the wrong
 	##        order, and fix it there properly
         tmp_deplibs=
 	for deplib in $deplibs; do
 	  tmp_deplibs="$deplib $tmp_deplibs"
 	done
-	deplibs="$tmp_deplibs"
+	deplibs=$tmp_deplibs
       fi
 
-      if test "$linkmode,$pass" = "lib,link" ||
-	 test "$linkmode,$pass" = "prog,scan"; then
-	libs="$deplibs"
+      if test lib,link = "$linkmode,$pass" ||
+	 test prog,scan = "$linkmode,$pass"; then
+	libs=$deplibs
 	deplibs=
       fi
-      if test "$linkmode" = prog; then
+      if test prog = "$linkmode"; then
 	case $pass in
-	dlopen) libs="$dlfiles" ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link)
-	  libs="$deplibs %DEPLIBS%"
-	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-	  ;;
+	dlopen) libs=$dlfiles ;;
+	dlpreopen) libs=$dlprefiles ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 	esac
       fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+      if test lib,dlpreopen = "$linkmode,$pass"; then
 	# Collect and forward deplibs of preopened libtool libs
 	for lib in $dlprefiles; do
 	  # Ignore non-libtool-libs
@@ -6151,26 +7592,26 @@
 	    esac
 	  done
 	done
-	libs="$dlprefiles"
+	libs=$dlprefiles
       fi
-      if test "$pass" = dlopen; then
+      if test dlopen = "$pass"; then
 	# Collect dlpreopened libraries
-	save_deplibs="$deplibs"
+	save_deplibs=$deplibs
 	deplibs=
       fi
 
       for deplib in $libs; do
 	lib=
-	found=no
+	found=false
 	case $deplib in
 	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
         |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-	  if test "$linkmode,$pass" = "prog,link"; then
+	  if test prog,link = "$linkmode,$pass"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
 	    func_append compiler_flags " $deplib"
-	    if test "$linkmode" = lib ; then
+	    if test lib = "$linkmode"; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
 		    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6180,13 +7621,13 @@
 	  continue
 	  ;;
 	-l*)
-	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    func_warning "\`-l' is ignored for archives/objects"
+	  if test lib != "$linkmode" && test prog != "$linkmode"; then
+	    func_warning "'-l' is ignored for archives/objects"
 	    continue
 	  fi
 	  func_stripname '-l' '' "$deplib"
 	  name=$func_stripname_result
-	  if test "$linkmode" = lib; then
+	  if test lib = "$linkmode"; then
 	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
 	  else
 	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6194,31 +7635,22 @@
 	  for searchdir in $searchdirs; do
 	    for search_ext in .la $std_shrext .so .a; do
 	      # Search the libtool library
-	      lib="$searchdir/lib${name}${search_ext}"
+	      lib=$searchdir/lib$name$search_ext
 	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
-		  found=yes
+		if test .la = "$search_ext"; then
+		  found=:
 		else
-		  found=no
+		  found=false
 		fi
 		break 2
 	      fi
 	    done
 	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  else # deplib is a libtool library
+	  if $found; then
+	    # deplib is a libtool library
 	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
 	    # We need to do some special things here, and not later.
-	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    if test yes = "$allow_libtool_libs_with_static_runtimes"; then
 	      case " $predeps $postdeps " in
 	      *" $deplib "*)
 		if func_lalib_p "$lib"; then
@@ -6226,19 +7658,19 @@
 		  old_library=
 		  func_source "$lib"
 		  for l in $old_library $library_names; do
-		    ll="$l"
+		    ll=$l
 		  done
-		  if test "X$ll" = "X$old_library" ; then # only static version available
-		    found=no
+		  if test "X$ll" = "X$old_library"; then # only static version available
+		    found=false
 		    func_dirname "$lib" "" "."
-		    ladir="$func_dirname_result"
+		    ladir=$func_dirname_result
 		    lib=$ladir/$old_library
-		    if test "$linkmode,$pass" = "prog,link"; then
+		    if test prog,link = "$linkmode,$pass"; then
 		      compile_deplibs="$deplib $compile_deplibs"
 		      finalize_deplibs="$deplib $finalize_deplibs"
 		    else
 		      deplibs="$deplib $deplibs"
-		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
 		    fi
 		    continue
 		  fi
@@ -6247,15 +7679,25 @@
 	      *) ;;
 	      esac
 	    fi
+	  else
+	    # deplib doesn't seem to be a libtool library
+	    if test prog,link = "$linkmode,$pass"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
 	  fi
 	  ;; # -l
 	*.ltframework)
-	  if test "$linkmode,$pass" = "prog,link"; then
+	  if test prog,link = "$linkmode,$pass"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
 	    deplibs="$deplib $deplibs"
-	    if test "$linkmode" = lib ; then
+	    if test lib = "$linkmode"; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
 		    * ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6268,18 +7710,18 @@
 	  case $linkmode in
 	  lib)
 	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
+	    test conv = "$pass" && continue
 	    newdependency_libs="$deplib $newdependency_libs"
 	    func_stripname '-L' '' "$deplib"
 	    func_resolve_sysroot "$func_stripname_result"
 	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  prog)
-	    if test "$pass" = conv; then
+	    if test conv = "$pass"; then
 	      deplibs="$deplib $deplibs"
 	      continue
 	    fi
-	    if test "$pass" = scan; then
+	    if test scan = "$pass"; then
 	      deplibs="$deplib $deplibs"
 	    else
 	      compile_deplibs="$deplib $compile_deplibs"
@@ -6290,13 +7732,13 @@
 	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  *)
-	    func_warning "\`-L' is ignored for archives/objects"
+	    func_warning "'-L' is ignored for archives/objects"
 	    ;;
 	  esac # linkmode
 	  continue
 	  ;; # -L
 	-R*)
-	  if test "$pass" = link; then
+	  if test link = "$pass"; then
 	    func_stripname '-R' '' "$deplib"
 	    func_resolve_sysroot "$func_stripname_result"
 	    dir=$func_resolve_sysroot_result
@@ -6314,7 +7756,7 @@
 	  lib=$func_resolve_sysroot_result
 	  ;;
 	*.$libext)
-	  if test "$pass" = conv; then
+	  if test conv = "$pass"; then
 	    deplibs="$deplib $deplibs"
 	    continue
 	  fi
@@ -6325,21 +7767,26 @@
 	    case " $dlpreconveniencelibs " in
 	    *" $deplib "*) ;;
 	    *)
-	      valid_a_lib=no
+	      valid_a_lib=false
 	      case $deplibs_check_method in
 		match_pattern*)
 		  set dummy $deplibs_check_method; shift
 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
 		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		    valid_a_lib=yes
+		    valid_a_lib=:
 		  fi
 		;;
 		pass_all)
-		  valid_a_lib=yes
+		  valid_a_lib=:
 		;;
 	      esac
-	      if test "$valid_a_lib" != yes; then
+	      if $valid_a_lib; then
+		echo
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      else
 		echo
 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
 		echo "*** I have the capability to make that library automatically link in when"
@@ -6347,18 +7794,13 @@
 		echo "*** shared version of the library, which you do not appear to have"
 		echo "*** because the file extensions .$libext of this argument makes me believe"
 		echo "*** that it is just a static archive that I should not use here."
-	      else
-		echo
-		$ECHO "*** Warning: Linking the shared library $output against the"
-		$ECHO "*** static library $deplib is not portable!"
-		deplibs="$deplib $deplibs"
 	      fi
 	      ;;
 	    esac
 	    continue
 	    ;;
 	  prog)
-	    if test "$pass" != link; then
+	    if test link != "$pass"; then
 	      deplibs="$deplib $deplibs"
 	    else
 	      compile_deplibs="$deplib $compile_deplibs"
@@ -6369,10 +7811,10 @@
 	  esac # linkmode
 	  ;; # *.$libext
 	*.lo | *.$objext)
-	  if test "$pass" = conv; then
+	  if test conv = "$pass"; then
 	    deplibs="$deplib $deplibs"
-	  elif test "$linkmode" = prog; then
-	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	  elif test prog = "$linkmode"; then
+	    if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
 	      # If there is no dlopen support or we're linking statically,
 	      # we need to preload.
 	      func_append newdlprefiles " $deplib"
@@ -6385,22 +7827,20 @@
 	  continue
 	  ;;
 	%DEPLIBS%)
-	  alldeplibs=yes
+	  alldeplibs=:
 	  continue
 	  ;;
 	esac # case $deplib
 
-	if test "$found" = yes || test -f "$lib"; then :
-	else
-	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-	fi
+	$found || test -f "$lib" \
+	  || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
 
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$lib" \
-	  || func_fatal_error "\`$lib' is not a valid libtool archive"
+	  || func_fatal_error "'$lib' is not a valid libtool archive"
 
 	func_dirname "$lib" "" "."
-	ladir="$func_dirname_result"
+	ladir=$func_dirname_result
 
 	dlname=
 	dlopen=
@@ -6430,36 +7870,36 @@
 	  done
 	fi
 	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	if test lib,link = "$linkmode,$pass" ||
+	   test prog,scan = "$linkmode,$pass" ||
+	   { test prog != "$linkmode" && test lib != "$linkmode"; }; then
 	  test -n "$dlopen" && func_append dlfiles " $dlopen"
 	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
 	fi
 
-	if test "$pass" = conv; then
+	if test conv = "$pass"; then
 	  # Only check for convenience libraries
 	  deplibs="$lib $deplibs"
 	  if test -z "$libdir"; then
 	    if test -z "$old_library"; then
-	      func_fatal_error "cannot find name of link library for \`$lib'"
+	      func_fatal_error "cannot find name of link library for '$lib'"
 	    fi
 	    # It is a libtool convenience library, so add in its objects.
 	    func_append convenience " $ladir/$objdir/$old_library"
 	    func_append old_convenience " $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-	      if $opt_preserve_dup_deps ; then
-		case "$tmp_libs " in
-		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
-		esac
-	      fi
-	      func_append tmp_libs " $deplib"
-	    done
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    func_fatal_error "\`$lib' is not a convenience library"
+	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
+	    func_fatal_error "'$lib' is not a convenience library"
 	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
 	  continue
 	fi # $pass = conv
 
@@ -6467,26 +7907,26 @@
 	# Get the name of the library we link against.
 	linklib=
 	if test -n "$old_library" &&
-	   { test "$prefer_static_libs" = yes ||
-	     test "$prefer_static_libs,$installed" = "built,no"; }; then
+	   { test yes = "$prefer_static_libs" ||
+	     test built,no = "$prefer_static_libs,$installed"; }; then
 	  linklib=$old_library
 	else
 	  for l in $old_library $library_names; do
-	    linklib="$l"
+	    linklib=$l
 	  done
 	fi
 	if test -z "$linklib"; then
-	  func_fatal_error "cannot find name of link library for \`$lib'"
+	  func_fatal_error "cannot find name of link library for '$lib'"
 	fi
 
 	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
-	  if test -z "$libdir"; then
-	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-	  fi
+	if test dlopen = "$pass"; then
+	  test -z "$libdir" \
+	    && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
 	  if test -z "$dlname" ||
-	     test "$dlopen_support" != yes ||
-	     test "$build_libtool_libs" = no; then
+	     test yes != "$dlopen_support" ||
+	     test no = "$build_libtool_libs"
+	  then
 	    # If there is no dlname, no dlopen support or we're linking
 	    # statically, we need to preload.  We also need to preload any
 	    # dependent libraries so libltdl's deplib preloader doesn't
@@ -6500,40 +7940,40 @@
 
 	# We need an absolute path.
 	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
 	*)
 	  abs_ladir=`cd "$ladir" && pwd`
 	  if test -z "$abs_ladir"; then
-	    func_warning "cannot determine absolute directory name of \`$ladir'"
+	    func_warning "cannot determine absolute directory name of '$ladir'"
 	    func_warning "passing it literally to the linker, although it might fail"
-	    abs_ladir="$ladir"
+	    abs_ladir=$ladir
 	  fi
 	  ;;
 	esac
 	func_basename "$lib"
-	laname="$func_basename_result"
+	laname=$func_basename_result
 
 	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
+	if test yes = "$installed"; then
 	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    func_warning "library \`$lib' was moved."
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
+	    func_warning "library '$lib' was moved."
+	    dir=$ladir
+	    absdir=$abs_ladir
+	    libdir=$abs_ladir
 	  else
-	    dir="$lt_sysroot$libdir"
-	    absdir="$lt_sysroot$libdir"
+	    dir=$lt_sysroot$libdir
+	    absdir=$lt_sysroot$libdir
 	  fi
-	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
 	else
 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir="$ladir"
-	    absdir="$abs_ladir"
+	    dir=$ladir
+	    absdir=$abs_ladir
 	    # Remove this search path later
 	    func_append notinst_path " $abs_ladir"
 	  else
-	    dir="$ladir/$objdir"
-	    absdir="$abs_ladir/$objdir"
+	    dir=$ladir/$objdir
+	    absdir=$abs_ladir/$objdir
 	    # Remove this search path later
 	    func_append notinst_path " $abs_ladir"
 	  fi
@@ -6542,11 +7982,11 @@
 	name=$func_stripname_result
 
 	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir" && test "$linkmode" = prog; then
-	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+	if test dlpreopen = "$pass"; then
+	  if test -z "$libdir" && test prog = "$linkmode"; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
 	  fi
-	  case "$host" in
+	  case $host in
 	    # special handling for platforms with PE-DLLs.
 	    *cygwin* | *mingw* | *cegcc* )
 	      # Linker will automatically link against shared library if both
@@ -6590,9 +8030,9 @@
 
 	if test -z "$libdir"; then
 	  # Link the convenience library
-	  if test "$linkmode" = lib; then
+	  if test lib = "$linkmode"; then
 	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
+	  elif test prog,link = "$linkmode,$pass"; then
 	    compile_deplibs="$dir/$old_library $compile_deplibs"
 	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
 	  else
@@ -6602,14 +8042,14 @@
 	fi
 
 
-	if test "$linkmode" = prog && test "$pass" != link; then
+	if test prog = "$linkmode" && test link != "$pass"; then
 	  func_append newlib_search_path " $ladir"
 	  deplibs="$lib $deplibs"
 
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
+	  linkalldeplibs=false
+	  if test no != "$link_all_deplibs" || test -z "$library_names" ||
+	     test no = "$build_libtool_libs"; then
+	    linkalldeplibs=:
 	  fi
 
 	  tmp_libs=
@@ -6621,14 +8061,14 @@
 		 ;;
 	    esac
 	    # Need to link against all dependency_libs?
-	    if test "$linkalldeplibs" = yes; then
+	    if $linkalldeplibs; then
 	      deplibs="$deplib $deplibs"
 	    else
 	      # Need to hardcode shared library paths
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
-	    if $opt_preserve_dup_deps ; then
+	    if $opt_preserve_dup_deps; then
 	      case "$tmp_libs " in
 	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	      esac
@@ -6638,15 +8078,15 @@
 	  continue
 	fi # $linkmode = prog...
 
-	if test "$linkmode,$pass" = "prog,link"; then
+	if test prog,link = "$linkmode,$pass"; then
 	  if test -n "$library_names" &&
-	     { { test "$prefer_static_libs" = no ||
-	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	     { { test no = "$prefer_static_libs" ||
+	         test built,yes = "$prefer_static_libs,$installed"; } ||
 	       test -z "$old_library"; }; then
 	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
 	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath:" in
+	      case $temp_rpath: in
 	      *"$absdir:"*) ;;
 	      *) func_append temp_rpath "$absdir:" ;;
 	      esac
@@ -6675,9 +8115,9 @@
 	    esac
 	  fi # $linkmode,$pass = prog,link...
 
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
+	  if $alldeplibs &&
+	     { test pass_all = "$deplibs_check_method" ||
+	       { test yes = "$build_libtool_libs" &&
 		 test -n "$library_names"; }; }; then
 	    # We only need to search for static libraries
 	    continue
@@ -6686,19 +8126,19 @@
 
 	link_static=no # Whether the deplib will be linked statically
 	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes; then
+	if test built = "$use_static_libs" && test yes = "$installed"; then
 	  use_static_libs=no
 	fi
 	if test -n "$library_names" &&
-	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
 	  case $host in
-	  *cygwin* | *mingw* | *cegcc*)
+	  *cygwin* | *mingw* | *cegcc* | *os2*)
 	      # No point in relinking DLLs because paths are not encoded
 	      func_append notinst_deplibs " $lib"
 	      need_relink=no
 	    ;;
 	  *)
-	    if test "$installed" = no; then
+	    if test no = "$installed"; then
 	      func_append notinst_deplibs " $lib"
 	      need_relink=yes
 	    fi
@@ -6708,24 +8148,24 @@
 
 	  # Warn about portability, can't link against -module's on some
 	  # systems (darwin).  Don't bleat about dlopened modules though!
-	  dlopenmodule=""
+	  dlopenmodule=
 	  for dlpremoduletest in $dlprefiles; do
 	    if test "X$dlpremoduletest" = "X$lib"; then
-	      dlopenmodule="$dlpremoduletest"
+	      dlopenmodule=$dlpremoduletest
 	      break
 	    fi
 	  done
-	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+	  if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
 	    echo
-	    if test "$linkmode" = prog; then
+	    if test prog = "$linkmode"; then
 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 	    else
 	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
 	    fi
 	    $ECHO "*** $linklib is not portable!"
 	  fi
-	  if test "$linkmode" = lib &&
-	     test "$hardcode_into_libs" = yes; then
+	  if test lib = "$linkmode" &&
+	     test yes = "$hardcode_into_libs"; then
 	    # Hardcode the library path.
 	    # Skip directories that are in the system default run-time
 	    # search path.
@@ -6753,43 +8193,43 @@
 	    # figure out the soname
 	    set dummy $library_names
 	    shift
-	    realname="$1"
+	    realname=$1
 	    shift
 	    libname=`eval "\\$ECHO \"$libname_spec\""`
 	    # use dlname if we got it. it's perfectly good, no?
 	    if test -n "$dlname"; then
-	      soname="$dlname"
+	      soname=$dlname
 	    elif test -n "$soname_spec"; then
 	      # bleh windows
 	      case $host in
-	      *cygwin* | mingw* | *cegcc*)
+	      *cygwin* | mingw* | *cegcc* | *os2*)
 	        func_arith $current - $age
 		major=$func_arith_result
-		versuffix="-$major"
+		versuffix=-$major
 		;;
 	      esac
 	      eval soname=\"$soname_spec\"
 	    else
-	      soname="$realname"
+	      soname=$realname
 	    fi
 
 	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
+	    soroot=$soname
 	    func_basename "$soroot"
-	    soname="$func_basename_result"
+	    soname=$func_basename_result
 	    func_stripname 'lib' '.dll' "$soname"
 	    newlib=libimp-$func_stripname_result.a
 
 	    # If the library has no export list, then create one now
 	    if test -f "$output_objdir/$soname-def"; then :
 	    else
-	      func_verbose "extracting exported symbol list from \`$soname'"
+	      func_verbose "extracting exported symbol list from '$soname'"
 	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
 	    fi
 
 	    # Create $newlib
 	    if test -f "$output_objdir/$newlib"; then :; else
-	      func_verbose "generating import library for \`$soname'"
+	      func_verbose "generating import library for '$soname'"
 	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
 	    fi
 	    # make sure the library variables are pointing to the new library
@@ -6797,58 +8237,58 @@
 	    linklib=$newlib
 	  fi # test -n "$old_archive_from_expsyms_cmds"
 
-	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
+	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
 	    lib_linked=yes
 	    case $hardcode_action in
 	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
+	      if test no = "$hardcode_direct"; then
+		add=$dir/$linklib
 		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
 		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir="-L$dir" ;;
+		    *-*-unixware7*) add_dir=-L$dir ;;
 		  *-*-darwin* )
-		    # if the lib is a (non-dlopened) module then we can not
+		    # if the lib is a (non-dlopened) module then we cannot
 		    # link against it, someone is ignoring the earlier warnings
 		    if /usr/bin/file -L $add 2> /dev/null |
-			 $GREP ": [^:]* bundle" >/dev/null ; then
+			 $GREP ": [^:]* bundle" >/dev/null; then
 		      if test "X$dlopenmodule" != "X$lib"; then
 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
-			if test -z "$old_library" ; then
+			if test -z "$old_library"; then
 			  echo
 			  echo "*** And there doesn't seem to be a static archive available"
 			  echo "*** The link will probably fail, sorry"
 			else
-			  add="$dir/$old_library"
+			  add=$dir/$old_library
 			fi
 		      elif test -n "$old_library"; then
-			add="$dir/$old_library"
+			add=$dir/$old_library
 		      fi
 		    fi
 		esac
-	      elif test "$hardcode_minus_L" = no; then
+	      elif test no = "$hardcode_minus_L"; then
 		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
+		*-*-sunos*) add_shlibpath=$dir ;;
 		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
+		add_dir=-L$dir
+		add=-l$name
+	      elif test no = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
 	      else
 		lib_linked=no
 	      fi
 	      ;;
 	    relink)
-	      if test "$hardcode_direct" = yes &&
-	         test "$hardcode_direct_absolute" = no; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$absdir"
+	      if test yes = "$hardcode_direct" &&
+	         test no = "$hardcode_direct_absolute"; then
+		add=$dir/$linklib
+	      elif test yes = "$hardcode_minus_L"; then
+		add_dir=-L$absdir
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
@@ -6857,10 +8297,10 @@
 		      ;;
 		  esac
 		fi
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
+		add=-l$name
+	      elif test yes = "$hardcode_shlibpath_var"; then
+		add_shlibpath=$dir
+		add=-l$name
 	      else
 		lib_linked=no
 	      fi
@@ -6868,7 +8308,7 @@
 	    *) lib_linked=no ;;
 	    esac
 
-	    if test "$lib_linked" != yes; then
+	    if test yes != "$lib_linked"; then
 	      func_fatal_configuration "unsupported hardcode properties"
 	    fi
 
@@ -6878,15 +8318,15 @@
 	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
 	      esac
 	    fi
-	    if test "$linkmode" = prog; then
+	    if test prog = "$linkmode"; then
 	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
 	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
 	    else
 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
 	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes &&
-		 test "$hardcode_minus_L" != yes &&
-		 test "$hardcode_shlibpath_var" = yes; then
+	      if test yes != "$hardcode_direct" &&
+		 test yes != "$hardcode_minus_L" &&
+		 test yes = "$hardcode_shlibpath_var"; then
 		case :$finalize_shlibpath: in
 		*":$libdir:"*) ;;
 		*) func_append finalize_shlibpath "$libdir:" ;;
@@ -6895,33 +8335,33 @@
 	    fi
 	  fi
 
-	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
+	  if test prog = "$linkmode" || test relink = "$opt_mode"; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
 	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes &&
-	       test "$hardcode_direct_absolute" = no; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
+	    if test yes = "$hardcode_direct" &&
+	       test no = "$hardcode_direct_absolute"; then
+	      add=$libdir/$linklib
+	    elif test yes = "$hardcode_minus_L"; then
+	      add_dir=-L$libdir
+	      add=-l$name
+	    elif test yes = "$hardcode_shlibpath_var"; then
 	      case :$finalize_shlibpath: in
 	      *":$libdir:"*) ;;
 	      *) func_append finalize_shlibpath "$libdir:" ;;
 	      esac
-	      add="-l$name"
-	    elif test "$hardcode_automatic" = yes; then
+	      add=-l$name
+	    elif test yes = "$hardcode_automatic"; then
 	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-		add="$inst_prefix_dir$libdir/$linklib"
+		 test -f "$inst_prefix_dir$libdir/$linklib"; then
+		add=$inst_prefix_dir$libdir/$linklib
 	      else
-		add="$libdir/$linklib"
+		add=$libdir/$linklib
 	      fi
 	    else
 	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
+	      add_dir=-L$libdir
 	      # Try looking first in the location we're being installed to.
 	      if test -n "$inst_prefix_dir"; then
 		case $libdir in
@@ -6930,10 +8370,10 @@
 		    ;;
 		esac
 	      fi
-	      add="-l$name"
+	      add=-l$name
 	    fi
 
-	    if test "$linkmode" = prog; then
+	    if test prog = "$linkmode"; then
 	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
 	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
 	    else
@@ -6941,43 +8381,43 @@
 	      test -n "$add" && deplibs="$add $deplibs"
 	    fi
 	  fi
-	elif test "$linkmode" = prog; then
+	elif test prog = "$linkmode"; then
 	  # Here we assume that one of hardcode_direct or hardcode_minus_L
 	  # is not unsupported.  This is valid on all known static and
 	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
+	  if test unsupported != "$hardcode_direct"; then
+	    test -n "$old_library" && linklib=$old_library
 	    compile_deplibs="$dir/$linklib $compile_deplibs"
 	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
 	  else
 	    compile_deplibs="-l$name -L$dir $compile_deplibs"
 	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
 	  fi
-	elif test "$build_libtool_libs" = yes; then
+	elif test yes = "$build_libtool_libs"; then
 	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
+	  if test pass_all != "$deplibs_check_method"; then
 	    # We're trying link a shared library against a static one
 	    # but the system doesn't support it.
 
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
 	    echo
-	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
+	    $ECHO "*** Warning: This system cannot link to static lib archive $lib."
 	    echo "*** I have the capability to make that library automatically link in when"
 	    echo "*** you link to this library.  But I can only do this if you have a"
 	    echo "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
+	    if test yes = "$module"; then
 	      echo "*** But as you try to build a module library, libtool will still create "
 	      echo "*** a static module, that should work as long as the dlopening application"
 	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
 		echo
 		echo "*** However, this would only work if libtool was able to extract symbol"
-		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
 		echo "*** not find such a program.  So, this module is probably useless."
-		echo "*** \`nm' from GNU binutils and a full rebuild may help."
+		echo "*** 'nm' from GNU binutils and a full rebuild may help."
 	      fi
-	      if test "$build_old_libs" = no; then
+	      if test no = "$build_old_libs"; then
 		build_libtool_libs=module
 		build_old_libs=yes
 	      else
@@ -6990,11 +8430,11 @@
 	  fi
 	fi # link shared/static library?
 
-	if test "$linkmode" = lib; then
+	if test lib = "$linkmode"; then
 	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes ||
-	       test "$build_old_libs" = yes ||
-	       test "$link_static" = yes; }; then
+	     { test yes != "$hardcode_into_libs" ||
+	       test yes = "$build_old_libs" ||
+	       test yes = "$link_static"; }; then
 	    # Extract -R from dependency_libs
 	    temp_deplibs=
 	    for libdir in $dependency_libs; do
@@ -7008,12 +8448,12 @@
 	      *) func_append temp_deplibs " $libdir";;
 	      esac
 	    done
-	    dependency_libs="$temp_deplibs"
+	    dependency_libs=$temp_deplibs
 	  fi
 
 	  func_append newlib_search_path " $absdir"
 	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 	  # ... and its dependency_libs
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
@@ -7023,7 +8463,7 @@
                    func_resolve_sysroot "$func_stripname_result";;
               *) func_resolve_sysroot "$deplib" ;;
             esac
-	    if $opt_preserve_dup_deps ; then
+	    if $opt_preserve_dup_deps; then
 	      case "$tmp_libs " in
 	      *" $func_resolve_sysroot_result "*)
                 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7032,12 +8472,12 @@
 	    func_append tmp_libs " $func_resolve_sysroot_result"
 	  done
 
-	  if test "$link_all_deplibs" != no; then
+	  if test no != "$link_all_deplibs"; then
 	    # Add the search paths of all dependency libraries
 	    for deplib in $dependency_libs; do
 	      path=
 	      case $deplib in
-	      -L*) path="$deplib" ;;
+	      -L*) path=$deplib ;;
 	      *.la)
 	        func_resolve_sysroot "$deplib"
 	        deplib=$func_resolve_sysroot_result
@@ -7045,12 +8485,12 @@
 		dir=$func_dirname_result
 		# We need an absolute path.
 		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
 		*)
 		  absdir=`cd "$dir" && pwd`
 		  if test -z "$absdir"; then
-		    func_warning "cannot determine absolute directory name of \`$dir'"
-		    absdir="$dir"
+		    func_warning "cannot determine absolute directory name of '$dir'"
+		    absdir=$dir
 		  fi
 		  ;;
 		esac
@@ -7058,35 +8498,35 @@
 		case $host in
 		*-*-darwin*)
 		  depdepl=
-		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names" ; then
-		    for tmp in $deplibrary_names ; do
+		  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names"; then
+		    for tmp in $deplibrary_names; do
 		      depdepl=$tmp
 		    done
-		    if test -f "$absdir/$objdir/$depdepl" ; then
-		      depdepl="$absdir/$objdir/$depdepl"
-		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+		    if test -f "$absdir/$objdir/$depdepl"; then
+		      depdepl=$absdir/$objdir/$depdepl
+		      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                       if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi
-		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+		      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+		      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
 		      path=
 		    fi
 		  fi
 		  ;;
 		*)
-		  path="-L$absdir/$objdir"
+		  path=-L$absdir/$objdir
 		  ;;
 		esac
 		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  test -z "$libdir" && \
-		    func_fatal_error "\`$deplib' is not a valid libtool archive"
+		    func_fatal_error "'$deplib' is not a valid libtool archive"
 		  test "$absdir" != "$libdir" && \
-		    func_warning "\`$deplib' seems to be moved"
+		    func_warning "'$deplib' seems to be moved"
 
-		  path="-L$absdir"
+		  path=-L$absdir
 		fi
 		;;
 	      esac
@@ -7098,23 +8538,23 @@
 	  fi # link_all_deplibs != no
 	fi # linkmode = lib
       done # for deplib in $libs
-      if test "$pass" = link; then
-	if test "$linkmode" = "prog"; then
+      if test link = "$pass"; then
+	if test prog = "$linkmode"; then
 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
 	else
 	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	fi
       fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
+      dependency_libs=$newdependency_libs
+      if test dlpreopen = "$pass"; then
 	# Link the dlpreopened libraries before other libraries
 	for deplib in $save_deplibs; do
 	  deplibs="$deplib $deplibs"
 	done
       fi
-      if test "$pass" != dlopen; then
-	if test "$pass" != conv; then
+      if test dlopen != "$pass"; then
+	test conv = "$pass" || {
 	  # Make sure lib_search_path contains only unique directories.
 	  lib_search_path=
 	  for dir in $newlib_search_path; do
@@ -7124,12 +8564,12 @@
 	    esac
 	  done
 	  newlib_search_path=
-	fi
+	}
 
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
+	if test prog,link = "$linkmode,$pass"; then
 	  vars="compile_deplibs finalize_deplibs"
+	else
+	  vars=deplibs
 	fi
 	for var in $vars dependency_libs; do
 	  # Add libraries to $var in reverse order
@@ -7187,62 +8627,93 @@
 	  eval $var=\"$tmp_libs\"
 	done # for var
       fi
+
+      # Add Sun CC postdeps if required:
+      test CXX = "$tagname" && {
+        case $host_os in
+        linux*)
+          case `$CC -V 2>&1 | sed 5q` in
+          *Sun\ C*) # Sun C++ 5.9
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+
+        solaris*)
+          func_cc_basename "$CC"
+          case $func_cc_basename_result in
+          CC* | sunCC*)
+            func_suncc_cstd_abi
+
+            if test no != "$suncc_use_cstd_abi"; then
+              func_append postdeps ' -library=Cstd -library=Crun'
+            fi
+            ;;
+          esac
+          ;;
+        esac
+      }
+
       # Last step: remove runtime libs from dependency_libs
       # (they stay in deplibs)
       tmp_libs=
-      for i in $dependency_libs ; do
+      for i in $dependency_libs; do
 	case " $predeps $postdeps $compiler_lib_search_path " in
 	*" $i "*)
-	  i=""
+	  i=
 	  ;;
 	esac
-	if test -n "$i" ; then
+	if test -n "$i"; then
 	  func_append tmp_libs " $i"
 	fi
       done
       dependency_libs=$tmp_libs
     done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
+    if test prog = "$linkmode"; then
+      dlfiles=$newdlfiles
     fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
+    if test prog = "$linkmode" || test lib = "$linkmode"; then
+      dlprefiles=$newdlprefiles
     fi
 
     case $linkmode in
     oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for archives"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for archives"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for archives" ;;
+	func_warning "'-l' and '-L' are ignored for archives" ;;
       esac
 
       test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for archives"
+	func_warning "'-rpath' is ignored for archives"
 
       test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for archives"
+	func_warning "'-R' is ignored for archives"
 
       test -n "$vinfo" && \
-	func_warning "\`-version-info/-version-number' is ignored for archives"
+	func_warning "'-version-info/-version-number' is ignored for archives"
 
       test -n "$release" && \
-	func_warning "\`-release' is ignored for archives"
+	func_warning "'-release' is ignored for archives"
 
       test -n "$export_symbols$export_symbols_regex" && \
-	func_warning "\`-export-symbols' is ignored for archives"
+	func_warning "'-export-symbols' is ignored for archives"
 
       # Now set the variables for building old libraries.
       build_libtool_libs=no
-      oldlibs="$output"
+      oldlibs=$output
       func_append objs "$old_deplibs"
       ;;
 
     lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
+      # Make sure we only generate libraries of the form 'libNAME.la'.
       case $outputname in
       lib*)
 	func_stripname 'lib' '.la' "$outputname"
@@ -7251,10 +8722,10 @@
 	eval libname=\"$libname_spec\"
 	;;
       *)
-	test "$module" = no && \
-	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
+	test no = "$module" \
+	  && func_fatal_help "libtool library '$output' must begin with 'lib'"
 
-	if test "$need_lib_prefix" != no; then
+	if test no != "$need_lib_prefix"; then
 	  # Add the "lib" prefix for modules if required
 	  func_stripname '' '.la' "$outputname"
 	  name=$func_stripname_result
@@ -7268,8 +8739,8 @@
       esac
 
       if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+	if test pass_all != "$deplibs_check_method"; then
+	  func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
 	else
 	  echo
 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7278,21 +8749,21 @@
 	fi
       fi
 
-      test "$dlself" != no && \
-	func_warning "\`-dlopen self' is ignored for libtool libraries"
+      test no = "$dlself" \
+	|| func_warning "'-dlopen self' is ignored for libtool libraries"
 
       set dummy $rpath
       shift
-      test "$#" -gt 1 && \
-	func_warning "ignoring multiple \`-rpath's for a libtool library"
+      test 1 -lt "$#" \
+	&& func_warning "ignoring multiple '-rpath's for a libtool library"
 
-      install_libdir="$1"
+      install_libdir=$1
 
       oldlibs=
       if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
+	if test yes = "$build_libtool_libs"; then
 	  # Building a libtool convenience library.
-	  # Some compilers have problems with a `.al' extension so
+	  # Some compilers have problems with a '.al' extension so
 	  # convenience libraries should have the same extension an
 	  # archive normally would.
 	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7301,20 +8772,20 @@
 	fi
 
 	test -n "$vinfo" && \
-	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+	  func_warning "'-version-info/-version-number' is ignored for convenience libraries"
 
 	test -n "$release" && \
-	  func_warning "\`-release' is ignored for convenience libraries"
+	  func_warning "'-release' is ignored for convenience libraries"
       else
 
 	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
+	save_ifs=$IFS; IFS=:
 	set dummy $vinfo 0 0 0
 	shift
-	IFS="$save_ifs"
+	IFS=$save_ifs
 
 	test -n "$7" && \
-	  func_fatal_help "too many parameters to \`-version-info'"
+	  func_fatal_help "too many parameters to '-version-info'"
 
 	# convert absolute version numbers to libtool ages
 	# this retains compatibility with .la files and attempts
@@ -7322,45 +8793,42 @@
 
 	case $vinfo_number in
 	yes)
-	  number_major="$1"
-	  number_minor="$2"
-	  number_revision="$3"
+	  number_major=$1
+	  number_minor=$2
+	  number_revision=$3
 	  #
 	  # There are really only two kinds -- those that
 	  # use the current revision as the major version
 	  # and those that subtract age and use age as
 	  # a minor version.  But, then there is irix
-	  # which has an extra 1 added just for fun
+	  # that has an extra 1 added just for fun
 	  #
 	  case $version_type in
 	  # correct linux to gnu/linux during the next big refactor
-	  darwin|linux|osf|windows|none)
+	  darwin|freebsd-elf|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_revision"
+	    age=$number_minor
+	    revision=$number_revision
 	    ;;
-	  freebsd-aout|freebsd-elf|qnx|sunos)
-	    current="$number_major"
-	    revision="$number_minor"
-	    age="0"
+	  freebsd-aout|qnx|sunos)
+	    current=$number_major
+	    revision=$number_minor
+	    age=0
 	    ;;
 	  irix|nonstopux)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_minor"
+	    age=$number_minor
+	    revision=$number_minor
 	    lt_irix_increment=no
 	    ;;
-	  *)
-	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-	    ;;
 	  esac
 	  ;;
 	no)
-	  current="$1"
-	  revision="$2"
-	  age="$3"
+	  current=$1
+	  revision=$2
+	  age=$3
 	  ;;
 	esac
 
@@ -7368,30 +8836,30 @@
 	case $current in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  func_error "CURRENT \`$current' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
+	  func_error "CURRENT '$current' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	case $revision in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  func_error "REVISION \`$revision' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
+	  func_error "REVISION '$revision' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	case $age in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  func_error "AGE \`$age' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
+	  func_error "AGE '$age' must be a nonnegative integer"
+	  func_fatal_error "'$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	if test "$age" -gt "$current"; then
-	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
-	  func_fatal_error "\`$vinfo' is not valid version information"
+	  func_error "AGE '$age' is greater than the current interface number '$current'"
+	  func_fatal_error "'$vinfo' is not valid version information"
 	fi
 
 	# Calculate the version variables.
@@ -7406,26 +8874,36 @@
 	  # verstring for coding it into the library header
 	  func_arith $current - $age
 	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
+	  versuffix=$major.$age.$revision
 	  # Darwin ld doesn't like 0 for these options...
 	  func_arith $current + 1
 	  minor_current=$func_arith_result
-	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
 	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+          # On Darwin other compilers
+          case $CC in
+              nagfor*)
+                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+                  ;;
+              *)
+                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+                  ;;
+          esac
 	  ;;
 
 	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
+	  major=.$current
+	  versuffix=.$current.$revision
 	  ;;
 
 	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current"
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=$major.$age.$revision
 	  ;;
 
 	irix | nonstopux)
-	  if test "X$lt_irix_increment" = "Xno"; then
+	  if test no = "$lt_irix_increment"; then
 	    func_arith $current - $age
 	  else
 	    func_arith $current - $age + 1
@@ -7436,69 +8914,74 @@
 	    nonstopux) verstring_prefix=nonstopux ;;
 	    *)         verstring_prefix=sgi ;;
 	  esac
-	  verstring="$verstring_prefix$major.$revision"
+	  verstring=$verstring_prefix$major.$revision
 
 	  # Add in all the interfaces that we are compatible with.
 	  loop=$revision
-	  while test "$loop" -ne 0; do
+	  while test 0 -ne "$loop"; do
 	    func_arith $revision - $loop
 	    iface=$func_arith_result
 	    func_arith $loop - 1
 	    loop=$func_arith_result
-	    verstring="$verstring_prefix$major.$iface:$verstring"
+	    verstring=$verstring_prefix$major.$iface:$verstring
 	  done
 
-	  # Before this point, $major must not contain `.'.
+	  # Before this point, $major must not contain '.'.
 	  major=.$major
-	  versuffix="$major.$revision"
+	  versuffix=$major.$revision
 	  ;;
 
 	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
+	  versuffix=$major.$age.$revision
 	  ;;
 
 	osf)
 	  func_arith $current - $age
 	  major=.$func_arith_result
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
+	  versuffix=.$current.$age.$revision
+	  verstring=$current.$age.$revision
 
 	  # Add in all the interfaces that we are compatible with.
 	  loop=$age
-	  while test "$loop" -ne 0; do
+	  while test 0 -ne "$loop"; do
 	    func_arith $current - $loop
 	    iface=$func_arith_result
 	    func_arith $loop - 1
 	    loop=$func_arith_result
-	    verstring="$verstring:${iface}.0"
+	    verstring=$verstring:$iface.0
 	  done
 
 	  # Make executables depend on our current version.
-	  func_append verstring ":${current}.0"
+	  func_append verstring ":$current.0"
 	  ;;
 
 	qnx)
-	  major=".$current"
-	  versuffix=".$current"
+	  major=.$current
+	  versuffix=.$current
+	  ;;
+
+	sco)
+	  major=.$current
+	  versuffix=.$current
 	  ;;
 
 	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
+	  major=.$current
+	  versuffix=.$current.$revision
 	  ;;
 
 	windows)
 	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
+	  # extension on DOS 8.3 file systems.
 	  func_arith $current - $age
 	  major=$func_arith_result
-	  versuffix="-$major"
+	  versuffix=-$major
 	  ;;
 
 	*)
-	  func_fatal_configuration "unknown library version type \`$version_type'"
+	  func_fatal_configuration "unknown library version type '$version_type'"
 	  ;;
 	esac
 
@@ -7512,42 +8995,45 @@
 	    verstring=
 	    ;;
 	  *)
-	    verstring="0.0"
+	    verstring=0.0
 	    ;;
 	  esac
-	  if test "$need_version" = no; then
+	  if test no = "$need_version"; then
 	    versuffix=
 	  else
-	    versuffix=".0.0"
+	    versuffix=.0.0
 	  fi
 	fi
 
 	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
+	if test yes,no = "$avoid_version,$need_version"; then
 	  major=
 	  versuffix=
-	  verstring=""
+	  verstring=
 	fi
 
 	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    func_warning "undefined symbols not allowed in $host shared libraries"
-	    build_libtool_libs=no
-	    build_old_libs=yes
+	if test yes = "$allow_undefined"; then
+	  if test unsupported = "$allow_undefined_flag"; then
+	    if test yes = "$build_old_libs"; then
+	      func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+	      build_libtool_libs=no
+	    else
+	      func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+	    fi
 	  fi
 	else
 	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
+	  allow_undefined_flag=$no_undefined_flag
 	fi
 
       fi
 
-      func_generate_dlsyms "$libname" "$libname" "yes"
+      func_generate_dlsyms "$libname" "$libname" :
       func_append libobjs " $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
+      test " " = "$libobjs" && libobjs=
 
-      if test "$opt_mode" != relink; then
+      if test relink != "$opt_mode"; then
 	# Remove our outputs, but don't remove object files since they
 	# may have been created when compiling PIC objects.
 	removelist=
@@ -7556,8 +9042,8 @@
 	  case $p in
 	    *.$objext | *.gcno)
 	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-	       if test "X$precious_files_regex" != "X"; then
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+	       if test -n "$precious_files_regex"; then
 		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
 		 then
 		   continue
@@ -7573,11 +9059,11 @@
       fi
 
       # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
 	func_append oldlibs " $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
@@ -7598,13 +9084,13 @@
 	  *) func_append finalize_rpath " $libdir" ;;
 	  esac
 	done
-	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
 	  dependency_libs="$temp_xrpath $dependency_libs"
 	fi
       fi
 
       # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
+      old_dlfiles=$dlfiles
       dlfiles=
       for lib in $old_dlfiles; do
 	case " $dlprefiles $dlfiles " in
@@ -7614,7 +9100,7 @@
       done
 
       # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
+      old_dlprefiles=$dlprefiles
       dlprefiles=
       for lib in $old_dlprefiles; do
 	case "$dlprefiles " in
@@ -7623,7 +9109,7 @@
 	esac
       done
 
-      if test "$build_libtool_libs" = yes; then
+      if test yes = "$build_libtool_libs"; then
 	if test -n "$rpath"; then
 	  case $host in
 	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7647,7 +9133,7 @@
 	    ;;
 	  *)
 	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
+	    if test yes = "$build_libtool_need_lc"; then
 	      func_append deplibs " -lc"
 	    fi
 	    ;;
@@ -7663,9 +9149,9 @@
 	# I'm not sure if I'm treating the release correctly.  I think
 	# release should show up in the -l (ie -lgmp5) so we don't want to
 	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
+	release=
+	versuffix=
+	major=
 	newdeplibs=
 	droppeddeps=no
 	case $deplibs_check_method in
@@ -7694,20 +9180,20 @@
 	      -l*)
 		func_stripname -l '' "$i"
 		name=$func_stripname_result
-		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		if test yes = "$allow_libtool_libs_with_static_runtimes"; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
 		    func_append newdeplibs " $i"
-		    i=""
+		    i=
 		    ;;
 		  esac
 		fi
-		if test -n "$i" ; then
+		if test -n "$i"; then
 		  libname=`eval "\\$ECHO \"$libname_spec\""`
 		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
 		  set dummy $deplib_matches; shift
 		  deplib_match=$1
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
 		    func_append newdeplibs " $i"
 		  else
 		    droppeddeps=yes
@@ -7737,20 +9223,20 @@
 		$opt_dry_run || $RM conftest
 		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
 		  ldd_output=`ldd conftest`
-		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
 		    case " $predeps $postdeps " in
 		    *" $i "*)
 		      func_append newdeplibs " $i"
-		      i=""
+		      i=
 		      ;;
 		    esac
 		  fi
-		  if test -n "$i" ; then
+		  if test -n "$i"; then
 		    libname=`eval "\\$ECHO \"$libname_spec\""`
 		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
 		    set dummy $deplib_matches; shift
 		    deplib_match=$1
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
 		      func_append newdeplibs " $i"
 		    else
 		      droppeddeps=yes
@@ -7787,24 +9273,24 @@
 	    -l*)
 	      func_stripname -l '' "$a_deplib"
 	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
 		  func_append newdeplibs " $a_deplib"
-		  a_deplib=""
+		  a_deplib=
 		  ;;
 		esac
 	      fi
-	      if test -n "$a_deplib" ; then
+	      if test -n "$a_deplib"; then
 		libname=`eval "\\$ECHO \"$libname_spec\""`
 		if test -n "$file_magic_glob"; then
 		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
 		else
 		  libnameglob=$libname
 		fi
-		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+		test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  if test "$want_nocaseglob" = yes; then
+		  if test yes = "$want_nocaseglob"; then
 		    shopt -s nocaseglob
 		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
 		    $nocaseglob
@@ -7822,25 +9308,25 @@
 		      # We might still enter an endless loop, since a link
 		      # loop can be closed while we follow links,
 		      # but so what?
-		      potlib="$potent_lib"
+		      potlib=$potent_lib
 		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
 			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+			[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+			*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
 			esac
 		      done
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
 			 $SED -e 10q |
 			 $EGREP "$file_magic_regex" > /dev/null; then
 			func_append newdeplibs " $a_deplib"
-			a_deplib=""
+			a_deplib=
 			break 2
 		      fi
 		  done
 		done
 	      fi
-	      if test -n "$a_deplib" ; then
+	      if test -n "$a_deplib"; then
 		droppeddeps=yes
 		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7848,7 +9334,7 @@
 		echo "*** you link to this library.  But I can only do this if you have a"
 		echo "*** shared version of the library, which you do not appear to have"
 		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
+		if test -z "$potlib"; then
 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 		else
 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7871,30 +9357,30 @@
 	    -l*)
 	      func_stripname -l '' "$a_deplib"
 	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
 		  func_append newdeplibs " $a_deplib"
-		  a_deplib=""
+		  a_deplib=
 		  ;;
 		esac
 	      fi
-	      if test -n "$a_deplib" ; then
+	      if test -n "$a_deplib"; then
 		libname=`eval "\\$ECHO \"$libname_spec\""`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
-		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    potlib=$potent_lib # see symlink-check above in file_magic test
 		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
 		       $EGREP "$match_pattern_regex" > /dev/null; then
 		      func_append newdeplibs " $a_deplib"
-		      a_deplib=""
+		      a_deplib=
 		      break 2
 		    fi
 		  done
 		done
 	      fi
-	      if test -n "$a_deplib" ; then
+	      if test -n "$a_deplib"; then
 		droppeddeps=yes
 		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7902,7 +9388,7 @@
 		echo "*** you link to this library.  But I can only do this if you have a"
 		echo "*** shared version of the library, which you do not appear to have"
 		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
+		if test -z "$potlib"; then
 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 		else
 		  $ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7918,18 +9404,18 @@
 	  done # Gone through all deplibs.
 	  ;;
 	none | unknown | *)
-	  newdeplibs=""
+	  newdeplibs=
 	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	    for i in $predeps $postdeps ; do
+	  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+	    for i in $predeps $postdeps; do
 	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
 	    done
 	  fi
 	  case $tmp_deplibs in
 	  *[!\	\ ]*)
 	    echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
+	    if test none = "$deplibs_check_method"; then
 	      echo "*** Warning: inter-library dependencies are not supported in this platform."
 	    else
 	      echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7953,8 +9439,8 @@
 	  ;;
 	esac
 
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
+	if test yes = "$droppeddeps"; then
+	  if test yes = "$module"; then
 	    echo
 	    echo "*** Warning: libtool could not satisfy all declared inter-library"
 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
@@ -7963,12 +9449,12 @@
 	    if test -z "$global_symbol_pipe"; then
 	      echo
 	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
 	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      echo "*** 'nm' from GNU binutils and a full rebuild may help."
 	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
+	    if test no = "$build_old_libs"; then
+	      oldlibs=$output_objdir/$libname.$libext
 	      build_libtool_libs=module
 	      build_old_libs=yes
 	    else
@@ -7979,14 +9465,14 @@
 	    echo "*** automatically added whenever a program is linked with this library"
 	    echo "*** or is declared to -dlopen it."
 
-	    if test "$allow_undefined" = no; then
+	    if test no = "$allow_undefined"; then
 	      echo
 	      echo "*** Since this library must not contain undefined symbols,"
 	      echo "*** because either the platform does not support them or"
 	      echo "*** it was explicitly requested with -no-undefined,"
 	      echo "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
+	      if test no = "$build_old_libs"; then
+		oldlibs=$output_objdir/$libname.$libext
 		build_libtool_libs=module
 		build_old_libs=yes
 	      else
@@ -8032,7 +9518,7 @@
 	*) func_append new_libs " $deplib" ;;
 	esac
       done
-      deplibs="$new_libs"
+      deplibs=$new_libs
 
       # All the library-specific variables (install_libdir is set above).
       library_names=
@@ -8040,25 +9526,25 @@
       dlname=
 
       # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	# Remove ${wl} instances when linking with ld.
+      if test yes = "$build_libtool_libs"; then
+	# Remove $wl instances when linking with ld.
 	# FIXME: should test the right _cmds variable.
 	case $archive_cmds in
 	  *\$LD\ *) wl= ;;
         esac
-	if test "$hardcode_into_libs" = yes; then
+	if test yes = "$hardcode_into_libs"; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
 	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+	  rpath=$finalize_rpath
+	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
 	  for libdir in $rpath; do
 	    if test -n "$hardcode_libdir_flag_spec"; then
 	      if test -n "$hardcode_libdir_separator"; then
 		func_replace_sysroot "$libdir"
 		libdir=$func_replace_sysroot_result
 		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
+		  hardcode_libdirs=$libdir
 		else
 		  # Just accumulate the unique libdirs.
 		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8083,7 +9569,7 @@
 	  # Substitute the hardcoded libdirs into the rpath.
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
+	    libdir=$hardcode_libdirs
 	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8097,8 +9583,8 @@
 	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
 	fi
 
-	shlibpath="$finalize_shlibpath"
-	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	shlibpath=$finalize_shlibpath
+	test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
 	if test -n "$shlibpath"; then
 	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 	fi
@@ -8108,19 +9594,19 @@
 	eval library_names=\"$library_names_spec\"
 	set dummy $library_names
 	shift
-	realname="$1"
+	realname=$1
 	shift
 
 	if test -n "$soname_spec"; then
 	  eval soname=\"$soname_spec\"
 	else
-	  soname="$realname"
+	  soname=$realname
 	fi
 	if test -z "$dlname"; then
 	  dlname=$soname
 	fi
 
-	lib="$output_objdir/$realname"
+	lib=$output_objdir/$realname
 	linknames=
 	for link
 	do
@@ -8134,7 +9620,7 @@
 	delfiles=
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-	  export_symbols="$output_objdir/$libname.uexp"
+	  export_symbols=$output_objdir/$libname.uexp
 	  func_append delfiles " $export_symbols"
 	fi
 
@@ -8143,31 +9629,31 @@
 	cygwin* | mingw* | cegcc*)
 	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
 	    # exporting using user supplied symfile
-	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+	    func_dll_def_p "$export_symbols" || {
 	      # and it's NOT already a .def file. Must figure out
 	      # which of the given symbols are data symbols and tag
 	      # them as such. So, trigger use of export_symbols_cmds.
 	      # export_symbols gets reassigned inside the "prepare
 	      # the list of exported symbols" if statement, so the
 	      # include_expsyms logic still works.
-	      orig_export_symbols="$export_symbols"
+	      orig_export_symbols=$export_symbols
 	      export_symbols=
 	      always_export_symbols=yes
-	    fi
+	    }
 	  fi
 	  ;;
 	esac
 
 	# Prepare the list of exported symbols
 	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    func_verbose "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
+	  if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+	    func_verbose "generating symbol list for '$libname.la'"
+	    export_symbols=$output_objdir/$libname.exp
 	    $opt_dry_run || $RM $export_symbols
 	    cmds=$export_symbols_cmds
-	    save_ifs="$IFS"; IFS='~'
+	    save_ifs=$IFS; IFS='~'
 	    for cmd1 in $cmds; do
-	      IFS="$save_ifs"
+	      IFS=$save_ifs
 	      # Take the normal branch if the nm_file_list_spec branch
 	      # doesn't work or if tool conversion is not needed.
 	      case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8181,7 +9667,7 @@
 		  try_normal_branch=no
 		  ;;
 	      esac
-	      if test "$try_normal_branch" = yes \
+	      if test yes = "$try_normal_branch" \
 		 && { test "$len" -lt "$max_cmd_len" \
 		      || test "$max_cmd_len" -le -1; }
 	      then
@@ -8192,7 +9678,7 @@
 		output_la=$func_basename_result
 		save_libobjs=$libobjs
 		save_output=$output
-		output=${output_objdir}/${output_la}.nm
+		output=$output_objdir/$output_la.nm
 		func_to_tool_file "$output"
 		libobjs=$nm_file_list_spec$func_to_tool_file_result
 		func_append delfiles " $output"
@@ -8215,8 +9701,8 @@
 		break
 	      fi
 	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+	    IFS=$save_ifs
+	    if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
 	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
 	    fi
@@ -8224,16 +9710,16 @@
 	fi
 
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  tmp_export_symbols="$export_symbols"
-	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	  tmp_export_symbols=$export_symbols
+	  test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
 	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	fi
 
-	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+	if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
 	  # The given exports_symbols file has to be filtered, so filter it.
-	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	  func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
 	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	  # 's' commands which not all seds can handle. GNU sed should be fine
+	  # 's' commands, which not all seds can handle. GNU sed should be fine
 	  # though. Also, the filter scales superlinearly with the number of
 	  # global variables. join(1) would be nice here, but unfortunately
 	  # isn't a blessed tool.
@@ -8252,11 +9738,11 @@
 	    ;;
 	  esac
 	done
-	deplibs="$tmp_deplibs"
+	deplibs=$tmp_deplibs
 
 	if test -n "$convenience"; then
 	  if test -n "$whole_archive_flag_spec" &&
-	    test "$compiler_needs_object" = yes &&
+	    test yes = "$compiler_needs_object" &&
 	    test -z "$libobjs"; then
 	    # extract the archives, so we have objects to list.
 	    # TODO: could optimize this to just extract one archive.
@@ -8267,7 +9753,7 @@
 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
 	    test "X$libobjs" = "X " && libobjs=
 	  else
-	    gentop="$output_objdir/${outputname}x"
+	    gentop=$output_objdir/${outputname}x
 	    func_append generated " $gentop"
 
 	    func_extract_archives $gentop $convenience
@@ -8276,18 +9762,18 @@
 	  fi
 	fi
 
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
 	  eval flag=\"$thread_safe_flag_spec\"
 	  func_append linker_flags " $flag"
 	fi
 
 	# Make a backup of the uninstalled library when relinking
-	if test "$opt_mode" = relink; then
+	if test relink = "$opt_mode"; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
 	fi
 
 	# Do each of the archive commands.
-	if test "$module" = yes && test -n "$module_cmds" ; then
+	if test yes = "$module" && test -n "$module_cmds"; then
 	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
 	    eval test_cmds=\"$module_expsym_cmds\"
 	    cmds=$module_expsym_cmds
@@ -8305,7 +9791,7 @@
 	  fi
 	fi
 
-	if test "X$skipped_export" != "X:" &&
+	if test : != "$skipped_export" &&
 	   func_len " $test_cmds" &&
 	   len=$func_len_result &&
 	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8338,8 +9824,8 @@
 	  last_robj=
 	  k=1
 
-	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-	    output=${output_objdir}/${output_la}.lnkscript
+	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+	    output=$output_objdir/$output_la.lnkscript
 	    func_verbose "creating GNU ld script: $output"
 	    echo 'INPUT (' > $output
 	    for obj in $save_libobjs
@@ -8351,14 +9837,14 @@
 	    func_append delfiles " $output"
 	    func_to_tool_file "$output"
 	    output=$func_to_tool_file_result
-	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-	    output=${output_objdir}/${output_la}.lnk
+	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+	    output=$output_objdir/$output_la.lnk
 	    func_verbose "creating linker input file list: $output"
 	    : > $output
 	    set x $save_libobjs
 	    shift
 	    firstobj=
-	    if test "$compiler_needs_object" = yes; then
+	    if test yes = "$compiler_needs_object"; then
 	      firstobj="$1 "
 	      shift
 	    fi
@@ -8373,7 +9859,7 @@
 	  else
 	    if test -n "$save_libobjs"; then
 	      func_verbose "creating reloadable object files..."
-	      output=$output_objdir/$output_la-${k}.$objext
+	      output=$output_objdir/$output_la-$k.$objext
 	      eval test_cmds=\"$reload_cmds\"
 	      func_len " $test_cmds"
 	      len0=$func_len_result
@@ -8385,13 +9871,13 @@
 		func_len " $obj"
 		func_arith $len + $func_len_result
 		len=$func_arith_result
-		if test "X$objlist" = X ||
+		if test -z "$objlist" ||
 		   test "$len" -lt "$max_cmd_len"; then
 		  func_append objlist " $obj"
 		else
 		  # The command $test_cmds is almost too long, add a
 		  # command to the queue.
-		  if test "$k" -eq 1 ; then
+		  if test 1 -eq "$k"; then
 		    # The first file doesn't have a previous command to add.
 		    reload_objs=$objlist
 		    eval concat_cmds=\"$reload_cmds\"
@@ -8401,10 +9887,10 @@
 		    reload_objs="$objlist $last_robj"
 		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
 		  fi
-		  last_robj=$output_objdir/$output_la-${k}.$objext
+		  last_robj=$output_objdir/$output_la-$k.$objext
 		  func_arith $k + 1
 		  k=$func_arith_result
-		  output=$output_objdir/$output_la-${k}.$objext
+		  output=$output_objdir/$output_la-$k.$objext
 		  objlist=" $obj"
 		  func_len " $last_robj"
 		  func_arith $len0 + $func_len_result
@@ -8416,9 +9902,9 @@
 	      # files will link in the last one created.
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 	      reload_objs="$objlist $last_robj"
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+	      eval concat_cmds=\"\$concat_cmds$reload_cmds\"
 	      if test -n "$last_robj"; then
-	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+	        eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
 	      fi
 	      func_append delfiles " $output"
 
@@ -8426,9 +9912,9 @@
 	      output=
 	    fi
 
-	    if ${skipped_export-false}; then
-	      func_verbose "generating symbol list for \`$libname.la'"
-	      export_symbols="$output_objdir/$libname.exp"
+	    ${skipped_export-false} && {
+	      func_verbose "generating symbol list for '$libname.la'"
+	      export_symbols=$output_objdir/$libname.exp
 	      $opt_dry_run || $RM $export_symbols
 	      libobjs=$output
 	      # Append the command to create the export file.
@@ -8437,16 +9923,16 @@
 	      if test -n "$last_robj"; then
 		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
 	      fi
-	    fi
+	    }
 
 	    test -n "$save_libobjs" &&
 	      func_verbose "creating a temporary reloadable object file: $output"
 
 	    # Loop through the commands generated above and execute them.
-	    save_ifs="$IFS"; IFS='~'
+	    save_ifs=$IFS; IFS='~'
 	    for cmd in $concat_cmds; do
-	      IFS="$save_ifs"
-	      $opt_silent || {
+	      IFS=$save_ifs
+	      $opt_quiet || {
 		  func_quote_for_expand "$cmd"
 		  eval "func_echo $func_quote_for_expand_result"
 	      }
@@ -8454,7 +9940,7 @@
 		lt_exit=$?
 
 		# Restore the uninstalled library and exit
-		if test "$opt_mode" = relink; then
+		if test relink = "$opt_mode"; then
 		  ( cd "$output_objdir" && \
 		    $RM "${realname}T" && \
 		    $MV "${realname}U" "$realname" )
@@ -8463,7 +9949,7 @@
 		exit $lt_exit
 	      }
 	    done
-	    IFS="$save_ifs"
+	    IFS=$save_ifs
 
 	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
 	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8471,18 +9957,18 @@
 	    fi
 	  fi
 
-          if ${skipped_export-false}; then
+          ${skipped_export-false} && {
 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	      tmp_export_symbols="$export_symbols"
-	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	      tmp_export_symbols=$export_symbols
+	      test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
 	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	    fi
 
 	    if test -n "$orig_export_symbols"; then
 	      # The given exports_symbols file has to be filtered, so filter it.
-	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	      func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
 	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	      # 's' commands which not all seds can handle. GNU sed should be fine
+	      # 's' commands, which not all seds can handle. GNU sed should be fine
 	      # though. Also, the filter scales superlinearly with the number of
 	      # global variables. join(1) would be nice here, but unfortunately
 	      # isn't a blessed tool.
@@ -8491,7 +9977,7 @@
 	      export_symbols=$output_objdir/$libname.def
 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	    fi
-	  fi
+	  }
 
 	  libobjs=$output
 	  # Restore the value of output.
@@ -8505,7 +9991,7 @@
 	  # value of $libobjs for piecewise linking.
 
 	  # Do each of the archive commands.
-	  if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test yes = "$module" && test -n "$module_cmds"; then
 	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
 	      cmds=$module_expsym_cmds
 	    else
@@ -8527,7 +10013,7 @@
 
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
+	  gentop=$output_objdir/${outputname}x
 	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
@@ -8535,11 +10021,12 @@
 	  test "X$libobjs" = "X " && libobjs=
 	fi
 
-	save_ifs="$IFS"; IFS='~'
+	save_ifs=$IFS; IFS='~'
 	for cmd in $cmds; do
-	  IFS="$save_ifs"
+	  IFS=$sp$nl
 	  eval cmd=\"$cmd\"
-	  $opt_silent || {
+	  IFS=$save_ifs
+	  $opt_quiet || {
 	    func_quote_for_expand "$cmd"
 	    eval "func_echo $func_quote_for_expand_result"
 	  }
@@ -8547,7 +10034,7 @@
 	    lt_exit=$?
 
 	    # Restore the uninstalled library and exit
-	    if test "$opt_mode" = relink; then
+	    if test relink = "$opt_mode"; then
 	      ( cd "$output_objdir" && \
 	        $RM "${realname}T" && \
 		$MV "${realname}U" "$realname" )
@@ -8556,10 +10043,10 @@
 	    exit $lt_exit
 	  }
 	done
-	IFS="$save_ifs"
+	IFS=$save_ifs
 
 	# Restore the uninstalled library and exit
-	if test "$opt_mode" = relink; then
+	if test relink = "$opt_mode"; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
 	  if test -n "$convenience"; then
@@ -8579,39 +10066,39 @@
 	done
 
 	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
+	if test yes = "$module" || test yes = "$export_dynamic"; then
 	  # On all known operating systems, these are identical.
-	  dlname="$soname"
+	  dlname=$soname
 	fi
       fi
       ;;
 
     obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for objects"
+      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+	func_warning "'-dlopen' is ignored for objects"
       fi
 
       case " $deplibs" in
       *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for objects" ;;
+	func_warning "'-l' and '-L' are ignored for objects" ;;
       esac
 
       test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for objects"
+	func_warning "'-rpath' is ignored for objects"
 
       test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for objects"
+	func_warning "'-R' is ignored for objects"
 
       test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for objects"
+	func_warning "'-version-info' is ignored for objects"
 
       test -n "$release" && \
-	func_warning "\`-release' is ignored for objects"
+	func_warning "'-release' is ignored for objects"
 
       case $output in
       *.lo)
 	test -n "$objs$old_deplibs" && \
-	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+	  func_fatal_error "cannot build library object '$output' from non-libtool objects"
 
 	libobj=$output
 	func_lo2o "$libobj"
@@ -8619,7 +10106,7 @@
 	;;
       *)
 	libobj=
-	obj="$output"
+	obj=$output
 	;;
       esac
 
@@ -8632,17 +10119,19 @@
       # the extraction.
       reload_conv_objs=
       gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
+      # if reload_cmds runs $LD directly, get rid of -Wl from
+      # whole_archive_flag_spec and hope we can get by with turning comma
+      # into space.
+      case $reload_cmds in
+        *\$LD[\ \$]*) wl= ;;
+      esac
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+	  test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
 	else
-	  gentop="$output_objdir/${obj}x"
+	  gentop=$output_objdir/${obj}x
 	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $convenience
@@ -8651,12 +10140,12 @@
       fi
 
       # If we're not building shared, we need to use non_pic_objs
-      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
 
-      output="$obj"
+      output=$obj
       func_execute_cmds "$reload_cmds" 'exit $?'
 
       # Exit if we aren't doing a library object file.
@@ -8668,7 +10157,7 @@
 	exit $EXIT_SUCCESS
       fi
 
-      if test "$build_libtool_libs" != yes; then
+      test yes = "$build_libtool_libs" || {
 	if test -n "$gentop"; then
 	  func_show_eval '${RM}r "$gentop"'
 	fi
@@ -8678,12 +10167,12 @@
 	# $show "echo timestamp > $libobj"
 	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
 	exit $EXIT_SUCCESS
-      fi
+      }
 
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
+      if test -n "$pic_flag" || test default != "$pic_mode"; then
 	# Only do commands if we really have different PIC objects.
 	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
+	output=$libobj
 	func_execute_cmds "$reload_cmds" 'exit $?'
       fi
 
@@ -8700,16 +10189,14 @@
 	          output=$func_stripname_result.exe;;
       esac
       test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for programs"
+	func_warning "'-version-info' is ignored for programs"
 
       test -n "$release" && \
-	func_warning "\`-release' is ignored for programs"
+	func_warning "'-release' is ignored for programs"
 
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-	&& test "$dlopen_self" = unknown \
-	&& test "$dlopen_self_static" = unknown && \
-	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+      $preload \
+	&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+	&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
 
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
@@ -8723,11 +10210,11 @@
       *-*-darwin*)
 	# Don't allow lazy linking, it breaks C++ global constructors
 	# But is supposedly fixed on 10.4 or later (yay!).
-	if test "$tagname" = CXX ; then
+	if test CXX = "$tagname"; then
 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
 	    10.[0123])
-	      func_append compile_command " ${wl}-bind_at_load"
-	      func_append finalize_command " ${wl}-bind_at_load"
+	      func_append compile_command " $wl-bind_at_load"
+	      func_append finalize_command " $wl-bind_at_load"
 	    ;;
 	  esac
 	fi
@@ -8763,7 +10250,7 @@
 	*) func_append new_libs " $deplib" ;;
 	esac
       done
-      compile_deplibs="$new_libs"
+      compile_deplibs=$new_libs
 
 
       func_append compile_command " $compile_deplibs"
@@ -8787,7 +10274,7 @@
 	if test -n "$hardcode_libdir_flag_spec"; then
 	  if test -n "$hardcode_libdir_separator"; then
 	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
+	      hardcode_libdirs=$libdir
 	    else
 	      # Just accumulate the unique libdirs.
 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8810,7 +10297,7 @@
 	fi
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+	  testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$libdir:"*) ;;
 	  ::) dllsearchpath=$libdir;;
@@ -8827,10 +10314,10 @@
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
 	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
+	libdir=$hardcode_libdirs
 	eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      compile_rpath="$rpath"
+      compile_rpath=$rpath
 
       rpath=
       hardcode_libdirs=
@@ -8838,7 +10325,7 @@
 	if test -n "$hardcode_libdir_flag_spec"; then
 	  if test -n "$hardcode_libdir_separator"; then
 	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
+	      hardcode_libdirs=$libdir
 	    else
 	      # Just accumulate the unique libdirs.
 	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8863,45 +10350,43 @@
       # Substitute the hardcoded libdirs into the rpath.
       if test -n "$hardcode_libdir_separator" &&
 	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
+	libdir=$hardcode_libdirs
 	eval rpath=\" $hardcode_libdir_flag_spec\"
       fi
-      finalize_rpath="$rpath"
+      finalize_rpath=$rpath
 
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+      if test -n "$libobjs" && test yes = "$build_old_libs"; then
 	# Transform all the library objects into standard objects.
 	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+      func_generate_dlsyms "$outputname" "@PROGRAM@" false
 
       # template prelinking step
       if test -n "$prelink_cmds"; then
 	func_execute_cmds "$prelink_cmds" 'exit $?'
       fi
 
-      wrappers_required=yes
+      wrappers_required=:
       case $host in
       *cegcc* | *mingw32ce*)
         # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=no
+        wrappers_required=false
         ;;
       *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
+        test yes = "$build_libtool_libs" || wrappers_required=false
         ;;
       *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
+        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+          wrappers_required=false
         fi
         ;;
       esac
-      if test "$wrappers_required" = no; then
+      $wrappers_required || {
 	# Replace the output file specification.
 	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
+	link_command=$compile_command$compile_rpath
 
 	# We have no uninstalled library dependencies, so finalize right now.
 	exit_status=0
@@ -8914,12 +10399,12 @@
 	fi
 
 	# Delete the generated files.
-	if test -f "$output_objdir/${outputname}S.${objext}"; then
-	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+	if test -f "$output_objdir/${outputname}S.$objext"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
 	fi
 
 	exit $exit_status
-      fi
+      }
 
       if test -n "$compile_shlibpath$finalize_shlibpath"; then
 	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8949,9 +10434,9 @@
 	fi
       fi
 
-      if test "$no_install" = yes; then
+      if test yes = "$no_install"; then
 	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
+	link_command=$compile_var$compile_command$compile_rpath
 	# Replace the output file specification.
 	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	# Delete the old output file.
@@ -8968,27 +10453,28 @@
 	exit $EXIT_SUCCESS
       fi
 
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	func_warning "this platform does not like uninstalled shared libraries"
-	func_warning "\`$output' will be relinked during installation"
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
+      case $hardcode_action,$fast_install in
+        relink,*)
+	  # Fast installation is not supported
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+
+	  func_warning "this platform does not like uninstalled shared libraries"
+	  func_warning "'$output' will be relinked during installation"
+	  ;;
+        *,yes)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+          ;;
+	*,no)
+	  link_command=$compile_var$compile_command$compile_rpath
+	  relink_command=$finalize_var$finalize_command$finalize_rpath
+          ;;
+	*,needless)
+	  link_command=$finalize_var$compile_command$finalize_rpath
+	  relink_command=
+          ;;
+      esac
 
       # Replace the output file specification.
       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9045,8 +10531,8 @@
 	    func_dirname_and_basename "$output" "" "."
 	    output_name=$func_basename_result
 	    output_path=$func_dirname_result
-	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
-	    cwrapper="$output_path/$output_name.exe"
+	    cwrappersource=$output_path/$objdir/lt-$output_name.c
+	    cwrapper=$output_path/$output_name.exe
 	    $RM $cwrappersource $cwrapper
 	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
 
@@ -9067,7 +10553,7 @@
 	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
 	    $opt_dry_run || {
 	      # note: this script will not be executed, so do not chmod.
-	      if test "x$build" = "x$host" ; then
+	      if test "x$build" = "x$host"; then
 		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
 	      else
 		func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9090,25 +10576,27 @@
     # See if we need to build an old-fashioned archive.
     for oldlib in $oldlibs; do
 
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save $symfileobj"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
+      case $build_libtool_libs in
+        convenience)
+	  oldobjs="$libobjs_save $symfileobj"
+	  addlibs=$convenience
 	  build_libtool_libs=no
-	else
+	  ;;
+	module)
+	  oldobjs=$libobjs_save
+	  addlibs=$old_convenience
+	  build_libtool_libs=no
+          ;;
+	*)
 	  oldobjs="$old_deplibs $non_pic_objects"
-	  if test "$preload" = yes && test -f "$symfileobj"; then
-	    func_append oldobjs " $symfileobj"
-	  fi
-	fi
-	addlibs="$old_convenience"
-      fi
+	  $preload && test -f "$symfileobj" \
+	    && func_append oldobjs " $symfileobj"
+	  addlibs=$old_convenience
+	  ;;
+      esac
 
       if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
+	gentop=$output_objdir/${outputname}x
 	func_append generated " $gentop"
 
 	func_extract_archives $gentop $addlibs
@@ -9116,13 +10604,13 @@
       fi
 
       # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
 	cmds=$old_archive_from_new_cmds
       else
 
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
+	  gentop=$output_objdir/${outputname}x
 	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
@@ -9143,7 +10631,7 @@
 	  :
 	else
 	  echo "copying selected object files to avoid basename conflicts..."
-	  gentop="$output_objdir/${outputname}x"
+	  gentop=$output_objdir/${outputname}x
 	  func_append generated " $gentop"
 	  func_mkdir_p "$gentop"
 	  save_oldobjs=$oldobjs
@@ -9152,7 +10640,7 @@
 	  for obj in $save_oldobjs
 	  do
 	    func_basename "$obj"
-	    objbase="$func_basename_result"
+	    objbase=$func_basename_result
 	    case " $oldobjs " in
 	    " ") oldobjs=$obj ;;
 	    *[\ /]"$objbase "*)
@@ -9221,18 +10709,18 @@
 	    else
 	      # the above command should be used before it gets too long
 	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj" ; then
+	      if test "$obj" = "$last_oldobj"; then
 		RANLIB=$save_RANLIB
 	      fi
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
 	      objlist=
 	      len=$len0
 	    fi
 	  done
 	  RANLIB=$save_RANLIB
 	  oldobjs=$objlist
-	  if test "X$oldobjs" = "X" ; then
+	  if test -z "$oldobjs"; then
 	    eval cmds=\"\$concat_cmds\"
 	  else
 	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9249,7 +10737,7 @@
     case $output in
     *.la)
       old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      test yes = "$build_old_libs" && old_library=$libname.$libext
       func_verbose "creating $output"
 
       # Preserve any variables that may affect compiler behavior
@@ -9264,31 +10752,31 @@
 	fi
       done
       # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
+      if test yes = "$hardcode_automatic"; then
 	relink_command=
       fi
 
       # Only create the output if not a dry run.
       $opt_dry_run || {
 	for installed in no yes; do
-	  if test "$installed" = yes; then
+	  if test yes = "$installed"; then
 	    if test -z "$install_libdir"; then
 	      break
 	    fi
-	    output="$output_objdir/$outputname"i
+	    output=$output_objdir/${outputname}i
 	    # Replace all uninstalled libtool libraries with the installed ones
 	    newdependency_libs=
 	    for deplib in $dependency_libs; do
 	      case $deplib in
 	      *.la)
 		func_basename "$deplib"
-		name="$func_basename_result"
+		name=$func_basename_result
 		func_resolve_sysroot "$deplib"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
-		  func_fatal_error "\`$deplib' is not a valid libtool archive"
+		  func_fatal_error "'$deplib' is not a valid libtool archive"
 		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
 		;;
 	      -L*)
@@ -9304,23 +10792,23 @@
 	      *) func_append newdependency_libs " $deplib" ;;
 	      esac
 	    done
-	    dependency_libs="$newdependency_libs"
+	    dependency_libs=$newdependency_libs
 	    newdlfiles=
 
 	    for lib in $dlfiles; do
 	      case $lib in
 	      *.la)
 	        func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		  func_fatal_error "'$lib' is not a valid libtool archive"
 		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
 	      *) func_append newdlfiles " $lib" ;;
 	      esac
 	    done
-	    dlfiles="$newdlfiles"
+	    dlfiles=$newdlfiles
 	    newdlprefiles=
 	    for lib in $dlprefiles; do
 	      case $lib in
@@ -9330,34 +10818,34 @@
 		# didn't already link the preopened objects directly into
 		# the library:
 		func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		name=$func_basename_result
+		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		  func_fatal_error "'$lib' is not a valid libtool archive"
 		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
 	      esac
 	    done
-	    dlprefiles="$newdlprefiles"
+	    dlprefiles=$newdlprefiles
 	  else
 	    newdlfiles=
 	    for lib in $dlfiles; do
 	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
 	      func_append newdlfiles " $abs"
 	    done
-	    dlfiles="$newdlfiles"
+	    dlfiles=$newdlfiles
 	    newdlprefiles=
 	    for lib in $dlprefiles; do
 	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
 	      func_append newdlprefiles " $abs"
 	    done
-	    dlprefiles="$newdlprefiles"
+	    dlprefiles=$newdlprefiles
 	  fi
 	  $RM $output
 	  # place dlname in correct position for cygwin
@@ -9373,10 +10861,9 @@
 	  case $host,$output,$installed,$module,$dlname in
 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
 	      # If a -bindir argument was supplied, place the dll there.
-	      if test "x$bindir" != x ;
-	      then
+	      if test -n "$bindir"; then
 		func_relative_path "$install_libdir" "$bindir"
-		tdlname=$func_relative_path_result$dlname
+		tdlname=$func_relative_path_result/$dlname
 	      else
 		# Otherwise fall back on heuristic.
 		tdlname=../bin/$dlname
@@ -9385,7 +10872,7 @@
 	  esac
 	  $ECHO > $output "\
 # $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -9399,7 +10886,7 @@
 # The name of the static archive.
 old_library='$old_library'
 
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
 inherited_linker_flags='$new_inherited_linker_flags'
 
 # Libraries that this one depends upon.
@@ -9425,7 +10912,7 @@
 
 # Directory that this library needs to be installed in:
 libdir='$install_libdir'"
-	  if test "$installed" = no && test "$need_relink" = yes; then
+	  if test no,yes = "$installed,$need_relink"; then
 	    $ECHO >> $output "\
 relink_command=\"$relink_command\""
 	  fi
@@ -9440,27 +10927,29 @@
     exit $EXIT_SUCCESS
 }
 
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
-    func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+  func_mode_link ${1+"$@"}
+fi
 
 
 # func_mode_uninstall arg...
 func_mode_uninstall ()
 {
-    $opt_debug
-    RM="$nonopt"
+    $debug_cmd
+
+    RM=$nonopt
     files=
-    rmforce=
+    rmforce=false
     exit_status=0
 
     # This variable tells wrapper scripts just to set variables rather
     # than running their programs.
-    libtool_install_magic="$magic"
+    libtool_install_magic=$magic
 
     for arg
     do
       case $arg in
-      -f) func_append RM " $arg"; rmforce=yes ;;
+      -f) func_append RM " $arg"; rmforce=: ;;
       -*) func_append RM " $arg" ;;
       *) func_append files " $arg" ;;
       esac
@@ -9473,18 +10962,18 @@
 
     for file in $files; do
       func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-	odir="$objdir"
+      dir=$func_dirname_result
+      if test . = "$dir"; then
+	odir=$objdir
       else
-	odir="$dir/$objdir"
+	odir=$dir/$objdir
       fi
       func_basename "$file"
-      name="$func_basename_result"
-      test "$opt_mode" = uninstall && odir="$dir"
+      name=$func_basename_result
+      test uninstall = "$opt_mode" && odir=$dir
 
       # Remember odir for removal later, being careful to avoid duplicates
-      if test "$opt_mode" = clean; then
+      if test clean = "$opt_mode"; then
 	case " $rmdirs " in
 	  *" $odir "*) ;;
 	  *) func_append rmdirs " $odir" ;;
@@ -9499,11 +10988,11 @@
       elif test -d "$file"; then
 	exit_status=1
 	continue
-      elif test "$rmforce" = yes; then
+      elif $rmforce; then
 	continue
       fi
 
-      rmfiles="$file"
+      rmfiles=$file
 
       case $name in
       *.la)
@@ -9517,7 +11006,7 @@
 	  done
 	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
 
-	  case "$opt_mode" in
+	  case $opt_mode in
 	  clean)
 	    case " $library_names " in
 	    *" $dlname "*) ;;
@@ -9528,12 +11017,12 @@
 	  uninstall)
 	    if test -n "$library_names"; then
 	      # Do each command in the postuninstall commands.
-	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	      func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
 	    fi
 
 	    if test -n "$old_library"; then
 	      # Do each command in the old_postuninstall commands.
-	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	      func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
 	    fi
 	    # FIXME: should reinstall the best remaining shared library.
 	    ;;
@@ -9549,21 +11038,19 @@
 	  func_source $dir/$name
 
 	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" &&
-	     test "$pic_object" != none; then
+	  if test -n "$pic_object" && test none != "$pic_object"; then
 	    func_append rmfiles " $dir/$pic_object"
 	  fi
 
 	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" &&
-	     test "$non_pic_object" != none; then
+	  if test -n "$non_pic_object" && test none != "$non_pic_object"; then
 	    func_append rmfiles " $dir/$non_pic_object"
 	  fi
 	fi
 	;;
 
       *)
-	if test "$opt_mode" = clean ; then
+	if test clean = "$opt_mode"; then
 	  noexename=$name
 	  case $file in
 	  *.exe)
@@ -9590,12 +11077,12 @@
 
 	    # note $name still contains .exe if it was in $file originally
 	    # as does the version of $file that was added into $rmfiles
-	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
-	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	    func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+	    if test yes = "$fast_install" && test -n "$relink_command"; then
 	      func_append rmfiles " $odir/lt-$name"
 	    fi
-	    if test "X$noexename" != "X$name" ; then
-	      func_append rmfiles " $odir/lt-${noexename}.c"
+	    if test "X$noexename" != "X$name"; then
+	      func_append rmfiles " $odir/lt-$noexename.c"
 	    fi
 	  fi
 	fi
@@ -9604,7 +11091,7 @@
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
 
-    # Try to remove the ${objdir}s in the directories where we deleted files
+    # Try to remove the $objdir's in the directories where we deleted files
     for dir in $rmdirs; do
       if test -d "$dir"; then
 	func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9614,16 +11101,17 @@
     exit $exit_status
 }
 
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+  func_mode_uninstall ${1+"$@"}
+fi
 
 test -z "$opt_mode" && {
-  help="$generic_help"
+  help=$generic_help
   func_fatal_help "you must specify a MODE"
 }
 
 test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$opt_mode'"
+  func_fatal_help "invalid operation mode '$opt_mode'"
 
 if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"
@@ -9634,7 +11122,7 @@
 
 
 # The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
+# where we disable both kinds of libraries.  Given conflicting
 # choices, we go for a static library, that is the most portable,
 # since we can't tell whether shared libraries were disabled because
 # the user asked for that or because the platform doesn't support
@@ -9657,5 +11145,3 @@
 # mode:shell-script
 # sh-indentation:2
 # End:
-# vi:sw=2
-
diff -Nru libepoxy-1.3.1/m4/libtool.m4 libepoxy-1.4.3/m4/libtool.m4
--- libepoxy-1.3.1/m4/libtool.m4	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/m4/libtool.m4	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,8372 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the  same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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 .
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+    for cc_temp in @S|@*""; do
+      case $cc_temp in
+        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+        \-*) ;;
+        *) break;;
+      esac
+    done
+    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test set != "${COLLECT_NAMES+set}"; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    ='`$ECHO "$" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to ."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options that allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}"; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile=${ofile}T
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+    cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "$LT_MULTI_MODULE"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS=$save_LDFLAGS
+    ])
+
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]][[,.]]*)
+	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test yes = "$lt_cv_apple_cc_single_mod"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test yes = "$lt_cv_ld_exported_symbols_list"; then
+      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+    fi
+    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  if test yes = "$lt_cv_ld_force_load"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+  case $cc_basename in
+     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test yes = "$_lt_dar_can_shared"; then
+    output_verbose_link_cmd=func_echo_all
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+    m4_if([$1], [CXX],
+[   if test yes != "$lt_cv_apple_cc_single_mod"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+case $ECHO in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+  [Search for dependent libraries within DIR (or the compiler's sysroot
+   if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+   if test yes = "$GCC"; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([$with_sysroot])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out what ABI is being produced by ac_compile, and set mode
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE=32
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE=64
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test yes = "$lt_cv_prog_gnu_ld"; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+mips64*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    emul=elf
+    case `/usr/bin/file conftest.$ac_objext` in
+      *32-bit*)
+	emul="${emul}32"
+	;;
+      *64-bit*)
+	emul="${emul}64"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *MSB*)
+	emul="${emul}btsmip"
+	;;
+      *LSB*)
+	emul="${emul}ltsmip"
+	;;
+    esac
+    case `/usr/bin/file conftest.$ac_objext` in
+      *N32*)
+	emul="${emul}n32"
+	;;
+    esac
+    LD="${LD-ld} -m $emul"
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.  Note that the listed cases only cover the
+  # situations where additional linker options are needed (such as when
+  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+  # vice versa); the common cases where no linker options are needed do
+  # not appear in the list.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
+	    ;;
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test yes != "$lt_cv_cc_needs_belf"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS=$SAVE_CFLAGS
+  fi
+  ;;
+*-*solaris*)
+  # Find out what ABI is being produced by ac_compile, and set linker
+  # options accordingly.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*|x86_64-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD=${LD-ld}_sol2
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test 0 -eq "$ac_status"; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test 0 -ne "$ac_status"; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test no = "$lt_cv_ar_at_file"; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  bitrig* | openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS=$LDFLAGS
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring=ABCD
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test 17 != "$i" # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n "$lt_cv_sys_max_cmd_len"; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include 
+#endif
+
+#include 
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen=load_add_on
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen=LoadLibrary
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+    # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+    lt_cv_dlopen=dyld
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  tpf*)
+    # Don't try to run any link tests for TPF.  We know it's impossible
+    # because TPF is a cross-compiler, and we know how we open DSOs.
+    lt_cv_dlopen=dlopen
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=no
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen=shl_load],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen=dlopen],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test no = "$lt_cv_dlopen"; then
+    enable_dlopen=no
+  else
+    enable_dlopen=yes
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS=$CPPFLAGS
+    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS=$LDFLAGS
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS=$LIBS
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test yes = "$lt_cv_dlopen_self"; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS=$save_CPPFLAGS
+    LDFLAGS=$save_LDFLAGS
+    LIBS=$save_LIBS
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test no = "$hard_links"; then
+    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+  [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+  # We can hardcode non-existent directories.
+  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+     test no = "$enable_shared"; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP"; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+#       string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+#       string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+#       "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+#       VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+    case x@S|@2 in
+    x)
+        ;;
+    *:)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+        ;;
+    x:*)
+        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    *::*)
+        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+        ;;
+    *)
+        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+        ;;
+    esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test yes = "$GCC"; then
+  case $host_os in
+    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+    *) lt_awk_arg='/^libraries:/' ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+    *) lt_sed_strip_eq='s|=/|/|g' ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary...
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  # ...but if some path component already ends with the multilib dir we assume
+  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+  case "$lt_multi_os_dir; $lt_search_path_spec " in
+  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+    lt_multi_os_dir=
+    ;;
+  esac
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+    elif test -n "$lt_multi_os_dir"; then
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+  lt_foo = "";
+  lt_count = 0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo = "/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='$libname$release$shared_ext$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test ia64 = "$host_cpu"; then
+    # AIX 5 supports IA64
+    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line '#! .'.  This would cause the generated library to
+    # depend on '.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # Using Import Files as archive members, it is possible to support
+    # filename-based versioning of shared library archives on AIX. While
+    # this would work for both with and without runtime linking, it will
+    # prevent static linking of such archives. So we do filename-based
+    # shared library versioning with .so extension only, which is used
+    # when both runtime linking and shared linking is enabled.
+    # Unfortunately, runtime linking may impact performance, so we do
+    # not want this to be the default eventually. Also, we use the
+    # versioned .so libs for executables only if there is the -brtl
+    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+    # To allow for filename-based versioning support, we need to create
+    # libNAME.so.V as an archive file, containing:
+    # *) an Import File, referring to the versioned filename of the
+    #    archive as well as the shared archive member, telling the
+    #    bitwidth (32 or 64) of that shared object, and providing the
+    #    list of exported symbols of that shared object, eventually
+    #    decorated with the 'weak' keyword
+    # *) the shared object with the F_LOADONLY flag set, to really avoid
+    #    it being seen by the linker.
+    # At run time we better use the real file rather than another symlink,
+    # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+    case $with_aix_soname,$aix_use_runtimelinking in
+    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    aix,yes) # traditional libtool
+      dynamic_linker='AIX unversionable lib.so'
+      # If using run time linking (on AIX 4.2 or later) use lib.so
+      # instead of lib.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      ;;
+    aix,no) # traditional AIX only
+      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      ;;
+    svr4,*) # full svr4 only
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,yes) # both, prefer svr4
+      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+      # unpreferred sharedlib libNAME.a needs extra handling
+      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+      # We do not specify a path in Import Files, so LIBPATH fires.
+      shlibpath_overrides_runpath=yes
+      ;;
+    *,no) # both, prefer aix
+      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+      library_names_spec='$libname$release.a $libname.a'
+      soname_spec='$libname$release$shared_ext$major'
+      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+      ;;
+    esac
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='$libname$shared_ext'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+    library_names_spec='$libname.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec=$LIB
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \$file`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$major$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[23]].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+      soname_spec='$libname$release$shared_ext$major'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    if test 32 = "$HPUX_IA64_MODE"; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+    fi
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test yes = "$lt_cv_prog_gnu_ld"; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+linux*android*)
+  version_type=none # Android doesn't support versioned libraries.
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext'
+  soname_spec='$libname$release$shared_ext'
+  finish_cmds=
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  dynamic_linker='Android linker'
+  # Don't embed -rpath directories since the linker doesn't support them.
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
+  # Ideally, we could use ldconfig to report *all* directores which are
+  # searched for libraries, however this is still not possible.  Aside from not
+  # being certain /sbin/ldconfig is available, command
+  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+  # even though it is searched at run-time.  Try to do the best guess by
+  # appending ld.so.conf contents (and includes) to the search path.
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+    soname_spec='$libname$release$shared_ext$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd* | bitrig*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec=/usr/lib
+  need_lib_prefix=no
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    need_version=no
+  else
+    need_version=yes
+  fi
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  version_type=windows
+  shrext_cmds=.dll
+  need_version=no
+  need_lib_prefix=no
+  # OS/2 can only load a DLL with a base name of 8 characters or less.
+  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+    v=$($ECHO $release$versuffix | tr -d .-);
+    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+    $ECHO $n$v`$shared_ext'
+  library_names_spec='${libname}_dll.$libext'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=BEGINLIBPATH
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  postinstall_cmds='base_file=`basename \$file`~
+    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+    dldir=$destdir/`dirname \$dlpath`~
+    test -d \$dldir || mkdir -p \$dldir~
+    $install_prog $dir/$dlname \$dldir/$dlname~
+    chmod a+x \$dldir/$dlname~
+    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+    fi'
+  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+    dlpath=$dir/\$dldll~
+    $RM \$dlpath'
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='$libname$release$shared_ext$major'
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test yes = "$with_gnu_ld"; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec; then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+    soname_spec='$libname$shared_ext.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=sco
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test yes = "$with_gnu_ld"; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+  soname_spec='$libname$release$shared_ext$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+    [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD=$MAGIC_CMD
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$1"; then
+      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS=$lt_save_ifs
+  MAGIC_CMD=$lt_save_MAGIC_CMD
+  ;;
+esac])
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test no = "$withval" || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return, which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD=$ac_prog
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test yes = "$with_gnu_ld"; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS=$lt_save_ifs
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD=$ac_dir/$ac_prog
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
+  cmp -s conftest.i conftest.out \
+  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+  [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd* | bitrig*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+os2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM=$NM
+else
+  lt_nm_to_check=${ac_tool_prefix}nm
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS=$lt_save_ifs
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm=$ac_dir/$lt_tmp_nm
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+	case $build_os in
+	mingw*) lt_bad_file=conftest.nm/nofile ;;
+	*) lt_bad_file=/dev/null ;;
+	esac
+	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+	*$lt_bad_file* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break 2
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break 2
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS=$lt_save_ifs
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+  NM=$lt_cv_path_NM
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols -headers"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+  AC_SUBST([DUMPBIN])
+  if test : != "$DUMPBIN"; then
+    NM=$DUMPBIN
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh;
+  # decide which one to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd=$ECHO
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+  test DEF = "`$SED -n dnl
+    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
+    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
+    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
+    -e q dnl                          Only consider the first "real" line
+    $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM=-lm)
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test ia64 = "$host_cpu"; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  # Gets list of data symbols to import.
+  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+  # Adjust the below global symbol transforms to fixup imported variables.
+  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
+  lt_c_name_lib_hook="\
+  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
+  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
+else
+  # Disable hooks by default.
+  lt_cv_sys_global_symbol_to_import=
+  lt_cdecl_hook=
+  lt_c_name_hook=
+  lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function,
+    # D for any global variable and I for any imported variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT@&t@_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS=conftstm.$ac_objext
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test yes = "$pipe_works"; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+    [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+    [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test yes = "$GXX"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test ia64 = "$host_cpu"; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    if test ia64 != "$host_cpu"; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64, which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test yes = "$GCC"; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the '-m68020' flag to GCC prevents building anything better,
+            # like '-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test ia64 = "$host_cpu"; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      case $cc_basename in
+      nagfor*)
+        # NAG Fortran compiler
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      esac
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      case $host_os in
+      os2*)
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+	;;
+      esac
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+      case $cc_basename in
+      # old Intel for x86_64, which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms that do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+    # Without the "-l" option, or with the "-B" option, AIX nm treats
+    # weak defined symbols like other global defined symbols, whereas
+    # GNU nm marks them as "W".
+    # While the 'weak' keyword is ignored in the Export File, we need
+    # it in the Import File for the 'aix-soname' feature, so we have
+    # to replace the "-B" option with "-P" for AIX nm.
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+    ;;
+  cygwin* | mingw* | cegcc*)
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+    ;;
+  esac
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ' (' and ')$', so one must not match beginning or
+  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+  # as well as any symbol that contains 'd'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test yes != "$GCC"; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd* | bitrig*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test yes = "$with_gnu_ld"; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test yes = "$lt_use_gnu_ld_interface"; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='$wl'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test ia64 != "$host_cpu"; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach  says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file, use it as
+	# is; otherwise, prepend EXPORTS...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+          cp $export_symbols $output_objdir/$soname.def;
+        else
+          echo EXPORTS > $output_objdir/$soname.def;
+          cat $export_symbols >> $output_objdir/$soname.def;
+        fi~
+        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test linux-dietlibc = "$host_os"; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test no = "$tmp_diet"
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+        nagfor*)                        # NAGFOR 5.3
+          tmp_sharedflag='-Wl,-shared' ;;
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+        if test yes = "$supports_anon_versioning"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+            echo "local: *; };" >> $output_objdir/$libname.ver~
+            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	tcc*)
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+	  ;;
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test yes = "$supports_anon_versioning"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+              echo "local: *; };" >> $output_objdir/$libname.ver~
+              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test ia64 = "$host_cpu"; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
+	# Without the "-l" option, or with the "-B" option, AIX nm treats
+	# weak defined symbols like other global defined symbols, whereas
+	# GNU nm marks them as "W".
+	# While the 'weak' keyword is ignored in the Export File, we need
+	# it in the Import File for the 'aix-soname' feature, so we have
+	# to replace the "-B" option with "-P" for AIX nm.
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# have runtime linking enabled, and use it for executables.
+	# For shared libraries, we enable/disable runtime linking
+	# depending on the kind of the shared library created -
+	# when "with_aix_soname,aix_use_runtimelinking" is:
+	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "aix,yes"  lib.so          shared, rtl:yes, for executables
+	#            lib.a           static archive
+	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
+	#            lib.a(lib.so.V) shared, rtl:no,  for executables
+	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a(lib.so.V) shared, rtl:no
+	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+	#            lib.a           static archive
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	    # so we don't have lib.a shared libs to link our executables.
+	    # We have to force runtime linking in this case.
+	    aix_use_runtimelinking=yes
+	    LDFLAGS="$LDFLAGS -Wl,-brtl"
+	  fi
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+      case $with_aix_soname,$aix_use_runtimelinking in
+      aix,*) ;; # traditional, no import file
+      svr4,* | *,yes) # use import file
+	# The Import File defines what to hardcode.
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+	;;
+      esac
+
+      if test yes = "$GCC"; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test yes = "$aix_use_runtimelinking"; then
+	  shared_flag="$shared_flag "'$wl-G'
+	fi
+	# Need to ensure runtime linking is disabled for the traditional
+	# shared library, or the linker may eventually find shared libraries
+	# /with/ Import File - we do not want to mix them.
+	shared_flag_aix='-shared'
+	shared_flag_svr4='-shared $wl-G'
+      else
+	# not using gcc
+	if test ia64 = "$host_cpu"; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag='$wl-G'
+	  else
+	    shared_flag='$wl-bM:SRE'
+	  fi
+	  shared_flag_aix='$wl-bM:SRE'
+	  shared_flag_svr4='$wl-G'
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX([$1])
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+      else
+	if test ia64 = "$host_cpu"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX([$1])
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	  if test yes = "$with_gnu_ld"; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	  # -brtl affects multiple linker settings, -berok does not and is overridden later
+	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	  if test svr4 != "$with_aix_soname"; then
+	    # This is similar to how AIX traditionally builds its shared libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	  fi
+	  if test aix != "$with_aix_soname"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	  else
+	    # used by -dlpreopen to get the symbols
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	  fi
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+            cp "$export_symbols" "$output_objdir/$soname.def";
+            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+          else
+            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+          fi~
+          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+          linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+          lt_tool_outputfile="@TOOL_OUTPUT@"~
+          case $lt_outputfile in
+            *.exe|*.EXE) ;;
+            *)
+              lt_outputfile=$lt_outputfile.exe
+              lt_tool_outputfile=$lt_tool_outputfile.exe
+              ;;
+          esac~
+          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+            $RM "$lt_outputfile.manifest";
+          fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=.dll
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+      ;;
+
+    hpux10*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test yes,no = "$GCC,$with_gnu_ld"; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+	  ;;
+	esac
+      fi
+      if test no = "$with_gnu_ld"; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS=$LDFLAGS
+	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS=$save_LDFLAGS])
+	if test yes = "$lt_cv_irix_exported_symbol"; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+	fi
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    linux*)
+      case $cc_basename in
+      tcc*)
+	# Fabrice Bellard et al's Tiny C Compiler
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      esac
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd* | bitrig*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	else
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      shrext_cmds=.dll
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	$ECHO EXPORTS >> $output_objdir/$libname.def~
+	prefix_cmds="$SED"~
+	if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	  prefix_cmds="$prefix_cmds -e 1d";
+	fi~
+	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	emximp -o $lib $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    osf3*)
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test yes = "$GCC"; then
+	wlarc='$wl'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='$wl'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands '-z linker_flag'.  GCC discards it without '$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test yes = "$GCC"; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test sequent = "$host_vendor"; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We CANNOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test yes = "$GCC"; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test sni = "$host_vendor"; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test yes,yes = "$GCC,$enable_shared"; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting $shlibpath_var if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC=$CC
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report what library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test no = "$can_build_shared" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test yes = "$enable_shared" && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test ia64 != "$host_cpu"; then
+      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+      yes,aix,yes) ;;			# shared object as lib.so file only
+      yes,svr4,*) ;;			# shared object as lib.so archive member only
+      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+      esac
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test yes = "$enable_shared" || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+    (test g++ != "$CXX"))); then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test yes = "$GXX"; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test yes = "$GXX"; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test yes = "$with_gnu_ld"; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='$wl'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test ia64 = "$host_cpu"; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # have runtime linking enabled, and use it for executables.
+          # For shared libraries, we enable/disable runtime linking
+          # depending on the kind of the shared library created -
+          # when "with_aix_soname,aix_use_runtimelinking" is:
+          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "aix,yes"  lib.so          shared, rtl:yes, for executables
+          #            lib.a           static archive
+          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
+          #            lib.a(lib.so.V) shared, rtl:no,  for executables
+          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a(lib.so.V) shared, rtl:no
+          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
+          #            lib.a           static archive
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
+	      # so we don't have lib.a shared libs to link our executables.
+	      # We have to force runtime linking in this case.
+	      aix_use_runtimelinking=yes
+	      LDFLAGS="$LDFLAGS -Wl,-brtl"
+	    fi
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+        case $with_aix_soname,$aix_use_runtimelinking in
+        aix,*) ;;	# no import file
+        svr4,* | *,yes) # use import file
+          # The Import File defines what to hardcode.
+          _LT_TAGVAR(hardcode_direct, $1)=no
+          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+          ;;
+        esac
+
+        if test yes = "$GXX"; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`$CC -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test yes = "$aix_use_runtimelinking"; then
+	    shared_flag=$shared_flag' $wl-G'
+	  fi
+	  # Need to ensure runtime linking is disabled for the traditional
+	  # shared library, or the linker may eventually find shared libraries
+	  # /with/ Import File - we do not want to mix them.
+	  shared_flag_aix='-shared'
+	  shared_flag_svr4='-shared $wl-G'
+        else
+          # not using gcc
+          if test ia64 = "$host_cpu"; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test yes = "$aix_use_runtimelinking"; then
+	      shared_flag='$wl-G'
+	    else
+	      shared_flag='$wl-bM:SRE'
+	    fi
+	    shared_flag_aix='$wl-bM:SRE'
+	    shared_flag_svr4='$wl-G'
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          # The "-G" linker flag allows undefined symbols.
+          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX([$1])
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+        else
+          if test ia64 = "$host_cpu"; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX([$1])
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+	    if test yes = "$with_gnu_ld"; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+	    # -brtl affects multiple linker settings, -berok does not and is overridden later
+	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+	    if test svr4 != "$with_aix_soname"; then
+	      # This is similar to how AIX traditionally builds its shared
+	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+	    fi
+	    if test aix != "$with_aix_soname"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+	    else
+	      # used by -dlpreopen to get the symbols
+	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
+	    fi
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach  says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=.dll
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp "$export_symbols" "$output_objdir/$soname.def";
+              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+            else
+              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+            fi~
+            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+            linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+            lt_tool_outputfile="@TOOL_OUTPUT@"~
+            case $lt_outputfile in
+              *.exe|*.EXE) ;;
+              *)
+                lt_outputfile=$lt_outputfile.exe
+                lt_tool_outputfile=$lt_tool_outputfile.exe
+                ;;
+            esac~
+            func_to_tool_file "$lt_outputfile"~
+            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+              $RM "$lt_outputfile.manifest";
+            fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file, use it as
+	    # is; otherwise, prepend EXPORTS...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+              cp $export_symbols $output_objdir/$soname.def;
+            else
+              echo EXPORTS > $output_objdir/$soname.def;
+              cat $export_symbols >> $output_objdir/$soname.def;
+            fi~
+            $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      os2*)
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	shrext_cmds=.dll
+	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+	  $ECHO EXPORTS >> $output_objdir/$libname.def~
+	  prefix_cmds="$SED"~
+	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
+	    prefix_cmds="$prefix_cmds -e 1d";
+	  fi~
+	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+	  emximp -o $lib $output_objdir/$libname.def'
+	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd2.*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test yes = "$GXX"; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test no = "$with_gnu_ld"; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test yes = "$GXX"; then
+	      if test no = "$with_gnu_ld"; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+                $RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+                rm -rf $tpldir~
+                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+	    if test yes = "$supports_anon_versioning"; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+                echo "local: *; };" >> $output_objdir/$libname.ver~
+                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd* | bitrig*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                  echo "-hidden">> $lib.exp~
+                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+                  $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands '-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='func_echo_all'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test yes,no = "$GXX,$with_gnu_ld"; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We CANNOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+              '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+              '"$_LT_TAGVAR(reload_cmds, $1)"
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)=$GXX
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case @S|@2 in
+  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $prev$p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test x-L = "$p" ||
+          test x-R = "$p"; then
+	 prev=$p
+	 continue
+       fi
+
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
+       if test no = "$pre_test_object_deps_done"; then
+	 case $prev in
+	 -L | -R)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)=$prev$p
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+	 fi
+       fi
+       prev=
+       ;;
+
+    *.lto.$objext) ;; # Ignore GCC LTO objects
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test no = "$pre_test_object_deps_done"; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)=$p
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+  _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$G77
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+  _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test no = "$can_build_shared" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test yes = "$enable_shared" && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test ia64 != "$host_cpu"; then
+	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+	  yes,aix,yes) ;;		# shared object as lib.so file only
+	  yes,svr4,*) ;;		# shared object as lib.so archive member only
+	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
+	  esac
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test yes = "$enable_shared" || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+    _LT_TAGVAR(LD, $1)=$LD
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=$lt_simple_compile_test_code
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f "$lt_ac_sed" && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test 10 -lt "$lt_ac_count" && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test "$lt_ac_count" -gt "$lt_ac_max"; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff -Nru libepoxy-1.3.1/m4/lt~obsolete.m4 libepoxy-1.4.3/m4/lt~obsolete.m4
--- libepoxy-1.3.1/m4/lt~obsolete.m4	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/m4/lt~obsolete.m4	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,99 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff -Nru libepoxy-1.3.1/m4/ltoptions.m4 libepoxy-1.4.3/m4/ltoptions.m4
--- libepoxy-1.3.1/m4/ltoptions.m4	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/m4/ltoptions.m4	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,437 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+#   Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+		   [_LT_ENABLE_FAST_INSTALL])
+  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+		   [_LT_WITH_AIX_SONAME([aix])])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for pkg in $enableval; do
+	IFS=$lt_save_ifs
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+  AC_MSG_CHECKING([which variant of shared library versioning to provide])
+  AC_ARG_WITH([aix-soname],
+    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+    [case $withval in
+    aix|svr4|both)
+      ;;
+    *)
+      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+      ;;
+    esac
+    lt_cv_with_aix_soname=$with_aix_soname],
+    [AC_CACHE_VAL([lt_cv_with_aix_soname],
+      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+    with_aix_soname=$lt_cv_with_aix_soname])
+  AC_MSG_RESULT([$with_aix_soname])
+  if test aix != "$with_aix_soname"; then
+    # For the AIX way of multilib, we name the shared archive member
+    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+    # the AIX toolchain works better with OBJECT_MODE set (default 32).
+    if test 64 = "${OBJECT_MODE-32}"; then
+      shared_archive_member_spec=shr_64
+    else
+      shared_archive_member_spec=shr
+    fi
+  fi
+  ;;
+*)
+  with_aix_soname=aix
+  ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+      for lt_pkg in $withval; do
+	IFS=$lt_save_ifs
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS=$lt_save_ifs
+      ;;
+    esac],
+    [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
diff -Nru libepoxy-1.3.1/m4/ltsugar.m4 libepoxy-1.4.3/m4/ltsugar.m4
--- libepoxy-1.3.1/m4/ltsugar.m4	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/m4/ltsugar.m4	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,124 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff -Nru libepoxy-1.3.1/m4/ltversion.m4 libepoxy-1.4.3/m4/ltversion.m4
--- libepoxy-1.3.1/m4/ltversion.m4	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/m4/ltversion.m4	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 4179 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.6'
+macro_revision='2.4.6'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff -Nru libepoxy-1.3.1/Makefile.am libepoxy-1.4.3/Makefile.am
--- libepoxy-1.3.1/Makefile.am	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/Makefile.am	2017-11-13 11:34:09.000000000 +0000
@@ -1,3 +1,4 @@
+
 # Copyright © 2013 Intel Corporation
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
@@ -19,6 +20,8 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
+ACLOCAL_AMFLAGS = -I m4
+
 SUBDIRS = include/epoxy src
 
 SUBDIRS += test
@@ -26,11 +29,40 @@
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = epoxy.pc
 
-EXTRA_DIST = \
-	README.md \
-	epoxy.pc.in \
+registry_files = \
 	registry/egl.xml \
 	registry/gl.xml \
 	registry/glx.xml \
 	registry/wgl.xml \
 	$()
+
+meson_build_files = \
+	meson_options.txt \
+	meson.build \
+	include/epoxy/meson.build \
+	src/meson.build \
+	test/meson.build \
+	doc/meson.build \
+	doc/Doxyfile.in \
+	cross/fedora-mingw64.txt \
+	$()
+
+EXTRA_DIST = \
+	.dir-locals.el \
+	README.md \
+	autogen.sh \
+	epoxy.pc.in \
+	$(registry_files) \
+	$(meson_build_files) \
+	$()
+
+dist-hook:
+	@if test -d "$(top_srcdir)/.git"; then \
+	  echo Generating ChangeLog... ; \
+	  ( $(top_srcdir)/missing --run git log --stat ) > "$(top_srcdir)/ChangeLog.tmp" \
+	  && mv -f "$(top_srcdir)/ChangeLog.tmp" "$(top_distdir)/ChangeLog" \
+	  || ( rm -f "$(top_srcdir)/ChangeLog.tmp"; \
+	       echo Failed to generate ChangeLog >&2 ); \
+	else \
+	  echo A git checkout is required to generate a ChangeLog >&2; \
+	fi
diff -Nru libepoxy-1.3.1/Makefile.in libepoxy-1.4.3/Makefile.in
--- libepoxy-1.3.1/Makefile.in	2015-07-15 23:47:03.000000000 +0000
+++ libepoxy-1.4.3/Makefile.in	2017-11-13 11:34:09.000000000 +0000
@@ -111,7 +111,10 @@
 host_triplet = @host@
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
@@ -210,7 +213,7 @@
 DIST_SUBDIRS = $(SUBDIRS)
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
 	$(srcdir)/epoxy.pc.in COPYING compile config.guess config.sub \
-	depcomp install-sh ltmain.sh missing
+	install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -246,9 +249,9 @@
     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
   done; \
   reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
 GZIP_ENV = --best
-DIST_TARGETS = dist-bzip2 dist-gzip
+DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -314,6 +317,7 @@
 LN_S = @LN_S@
 LOG_COMPILER = @LOG_COMPILER@
 LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MAN_SUBSTS = @MAN_SUBSTS@
@@ -372,6 +376,9 @@
 datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
+epoxy_has_egl = @epoxy_has_egl@
+epoxy_has_glx = @epoxy_has_glx@
+epoxy_has_wgl = @epoxy_has_wgl@
 exec_prefix = @exec_prefix@
 host = @host@
 host_alias = @host_alias@
@@ -401,18 +408,37 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
+ACLOCAL_AMFLAGS = -I m4
 SUBDIRS = include/epoxy src test
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = epoxy.pc
-EXTRA_DIST = \
-	README.md \
-	epoxy.pc.in \
+registry_files = \
 	registry/egl.xml \
 	registry/gl.xml \
 	registry/glx.xml \
 	registry/wgl.xml \
 	$()
 
+meson_build_files = \
+	meson_options.txt \
+	meson.build \
+	include/epoxy/meson.build \
+	src/meson.build \
+	test/meson.build \
+	doc/meson.build \
+	doc/Doxyfile.in \
+	cross/fedora-mingw64.txt \
+	$()
+
+EXTRA_DIST = \
+	.dir-locals.el \
+	README.md \
+	autogen.sh \
+	epoxy.pc.in \
+	$(registry_files) \
+	$(meson_build_files) \
+	$()
+
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -661,6 +687,9 @@
 	      || exit 1; \
 	  fi; \
 	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
 	-test -n "$(am__skip_mode_fix)" \
 	|| find "$(distdir)" -type d ! -perm -755 \
 		-exec chmod u+rwx,go+rx {} \; -o \
@@ -669,8 +698,9 @@
 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
 	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
 	$(am__post_remove_distdir)
+
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 	$(am__post_remove_distdir)
@@ -678,7 +708,6 @@
 dist-lzip: distdir
 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
 	$(am__post_remove_distdir)
-
 dist-xz: distdir
 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	$(am__post_remove_distdir)
@@ -694,7 +723,7 @@
 	@echo WARNING: "Support for shar distribution archives is" \
 	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
 
 dist-zip: distdir
@@ -712,7 +741,7 @@
 distcheck: dist
 	case '$(DIST_ARCHIVES)' in \
 	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lz*) \
@@ -722,7 +751,7 @@
 	*.tar.Z*) \
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
@@ -904,23 +933,35 @@
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
 	am--refresh check check-am clean clean-cscope clean-generic \
 	clean-libtool cscope cscopelist-am ctags ctags-am dist \
-	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
-	dist-xz dist-zip distcheck distclean distclean-generic \
-	distclean-hdr distclean-libtool distclean-tags distcleancheck \
-	distdir distuninstallcheck dvi dvi-am html html-am info \
-	info-am install install-am install-data install-data-am \
-	install-dvi install-dvi-am install-exec install-exec-am \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-pkgconfigDATA \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-	uninstall-am uninstall-pkgconfigDATA
+	dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
+	dist-tarZ dist-xz dist-zip distcheck distclean \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-tags distcleancheck distdir distuninstallcheck dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man install-pdf \
+	install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-pkgconfigDATA
 
 .PRECIOUS: Makefile
 
 
+dist-hook:
+	@if test -d "$(top_srcdir)/.git"; then \
+	  echo Generating ChangeLog... ; \
+	  ( $(top_srcdir)/missing --run git log --stat ) > "$(top_srcdir)/ChangeLog.tmp" \
+	  && mv -f "$(top_srcdir)/ChangeLog.tmp" "$(top_distdir)/ChangeLog" \
+	  || ( rm -f "$(top_srcdir)/ChangeLog.tmp"; \
+	       echo Failed to generate ChangeLog >&2 ); \
+	else \
+	  echo A git checkout is required to generate a ChangeLog >&2; \
+	fi
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff -Nru libepoxy-1.3.1/meson.build libepoxy-1.4.3/meson.build
--- libepoxy-1.3.1/meson.build	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/meson.build	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,270 @@
+project('libepoxy', 'c', version: '1.4.3',
+        default_options: [
+          'buildtype=debugoptimized',
+          'c_std=gnu99',
+          'warning_level=1',
+        ],
+        license: 'MIT',
+        meson_version: '>= 0.39.1')
+
+epoxy_version = meson.project_version().split('.')
+epoxy_major_version = epoxy_version[0].to_int()
+epoxy_minor_version = epoxy_version[1].to_int()
+epoxy_micro_version = epoxy_version[2].to_int()
+
+epoxy_prefix = get_option('prefix')
+epoxy_libdir = join_paths(epoxy_prefix, get_option('libdir'))
+epoxy_datadir = join_paths(epoxy_prefix, get_option('datadir'))
+epoxy_includedir = join_paths(epoxy_prefix, get_option('includedir'))
+
+cc = meson.get_compiler('c')
+host_system = host_machine.system()
+
+conf = configuration_data()
+conf.set_quoted('PACKAGE_NAME', meson.project_name())
+conf.set_quoted('PACKAGE_VERSION', meson.project_version())
+conf.set_quoted('PACKAGE_STRING', '@0@-@1@'.format(meson.project_name(), meson.project_version()))
+conf.set_quoted('PACKAGE_DATADIR', join_paths(get_option('prefix'), get_option('datadir')))
+conf.set_quoted('PACKAGE_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
+conf.set_quoted('PACKAGE_LOCALEDIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
+conf.set_quoted('PACKAGE_LIBEXECDIR', join_paths(get_option('prefix'), get_option('libexecdir')))
+conf.set('HAVE_KHRPLATFORM_H', cc.has_header('KHR/khrplatform.h', required: false))
+
+# GLX can be used on different platforms, so we expose a
+# configure time switch to enable or disable it; in case
+# the "auto" default value is set, we only enable GLX
+# support on Linux and Unix
+enable_glx = get_option('enable-glx')
+if enable_glx == 'auto'
+  if host_system == 'windows'
+    build_glx = false
+  elif host_system == 'darwin'
+    build_glx = false
+  elif host_system == 'android'
+    build_glx = false
+  elif host_system == 'haiku'
+    build_glx = false
+  else
+    build_glx = true
+  endif
+elif enable_glx == 'yes'
+  build_glx = true
+elif enable_glx == 'no'
+  build_glx = false
+endif
+
+enable_egl = get_option('enable-egl')
+if enable_egl == 'auto'
+  if host_system == 'windows'
+    build_egl = false
+  elif host_system == 'darwin'
+    build_egl = false
+  elif host_system == 'android'
+    build_egl = true
+  else
+    build_egl = true
+  endif
+elif enable_egl == 'yes'
+  build_egl = true
+elif enable_egl == 'no'
+  build_egl = false
+endif
+
+# The remaining platform specific API for GL/GLES are enabled
+# depending on the platform we're building for
+if host_system == 'windows'
+  build_apple = false
+  build_wgl = true
+  has_znow = true
+elif host_system == 'darwin'
+  build_apple = true
+  build_wgl = false
+  has_znow = false
+else
+  build_apple = false
+  build_wgl = false
+  has_znow = true
+endif
+
+conf.set10('ENABLE_GLX', build_glx)
+conf.set10('ENABLE_EGL', build_egl)
+
+# Compiler flags, taken from the Xorg macros
+if cc.get_id() == 'msvc'
+  # Compiler options taken from msvc_recommended_pragmas.h
+  # in GLib, based on _Win32_Programming_ by Rector and Newcomer
+  test_cflags = [
+    '-we4002', # too many actual parameters for macro
+    '-we4003', # not enough actual parameters for macro
+    '-w14010', # single-line comment contains line-continuation character
+    '-we4013', # 'function' undefined; assuming extern returning int
+    '-w14016', # no function return type; using int as default
+    '-we4020', # too many actual parameters
+    '-we4021', # too few actual parameters
+    '-we4027', # function declared without formal parameter list
+    '-we4029', # declared formal parameter list different from definition
+    '-we4033', # 'function' must return a value
+    '-we4035', # 'function' : no return value
+    '-we4045', # array bounds overflow
+    '-we4047', # different levels of indirection
+    '-we4049', # terminating line number emission
+    '-we4053', # an expression of type void was used as an operand
+    '-we4071', # no function prototype given
+    '-we4819', # the file contains a character that cannot be represented in the current code page
+  ]
+elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
+  test_cflags = [
+    '-Wpointer-arith',
+    '-Wmissing-declarations',
+    '-Wformat=2',
+    '-Wstrict-prototypes',
+    '-Wmissing-prototypes',
+    '-Wnested-externs',
+    '-Wbad-function-cast',
+    '-Wold-style-definition',
+    '-Wdeclaration-after-statement',
+    '-Wunused',
+    '-Wuninitialized',
+    '-Wshadow',
+    '-Wmissing-noreturn',
+    '-Wmissing-format-attribute',
+    '-Wredundant-decls',
+    '-Wlogical-op',
+    '-Werror=implicit',
+    '-Werror=nonnull',
+    '-Werror=init-self',
+    '-Werror=main',
+    '-Werror=missing-braces',
+    '-Werror=sequence-point',
+    '-Werror=return-type',
+    '-Werror=trigraphs',
+    '-Werror=array-bounds',
+    '-Werror=write-strings',
+    '-Werror=address',
+    '-Werror=int-to-pointer-cast',
+    '-Werror=pointer-to-int-cast',
+    '-fno-strict-aliasing',
+    '-Wno-int-conversion',
+  ]
+else
+  test_cflags = []
+endif
+
+common_cflags = []
+foreach cflag: test_cflags
+  if cc.has_argument(cflag)
+    common_cflags += cflag
+  endif
+endforeach
+
+libtype = get_option('default_library')
+
+# Visibility compiler flags; we only use this for shared libraries
+if libtype == 'shared'
+  visibility_cflags = []
+  if host_system == 'windows'
+    conf.set('DLL_EXPORT', true)
+    conf.set('EPOXY_PUBLIC', '__declspec(dllexport) extern')
+    if cc.get_id() != 'msvc'
+      visibility_cflags += [ '-fvisibility=hidden' ]
+    endif
+  else
+    conf.set('EPOXY_PUBLIC', '__attribute__((visibility("default"))) extern')
+    visibility_cflags += [ '-fvisibility=hidden' ]
+  endif
+endif
+
+# The inline keyword is available only for C++ in MSVC.
+# So we need to use Microsoft specific __inline.
+if host_system == 'windows'
+  if cc.get_id() == 'msvc'
+    conf.set('inline', '__inline')
+  endif
+endif
+
+# Dependencies
+dl_dep = cc.find_library('dl', required: false)
+gl_dep = dependency('gl', required: false)
+egl_dep = dependency('egl', required: false)
+
+# Optional dependencies for tests
+x11_dep = dependency('x11', required: false)
+
+# GLES v2 and v1 may have pkg-config files, courtesy of downstream
+# packagers; let's check those first, and fall back to find_library()
+# if we fail
+gles2_dep = dependency('glesv2', required: false)
+if not gles2_dep.found()
+  gles2_dep = cc.find_library('libGLESv2', required: false)
+endif
+
+gles1_dep = dependency('glesv1_cm', required: false)
+if not gles1_dep.found()
+  gles1_dep = cc.find_library('libGLESv1_CM', required: false)
+endif
+
+# On windows, the DLL has to have all of its functions
+# resolved at link time, so we have to link directly aginst
+# opengl32.  But that's the only GL provider, anyway.
+if host_system == 'windows'
+  opengl32_dep = cc.find_library('opengl32', required: true)
+
+  # When building against static libraries, we need to control
+  # the order of the dependencies, and gdi32 provides symbols
+  # needed when using opengl32, like SetPixelFormat and
+  # ChoosePixelFormat. This is mostly a workaround for older
+  # versions of Meson.
+  gdi32_dep = cc.find_library('gdi32', required: true)
+endif
+
+# PkgConfig file
+pkgconf = configuration_data()
+pkgconf.set('prefix', epoxy_prefix)
+pkgconf.set('exec_prefix', epoxy_prefix)
+pkgconf.set('libdir', epoxy_libdir)
+pkgconf.set('includedir', epoxy_includedir)
+pkgconf.set10('epoxy_has_glx', build_glx)
+pkgconf.set10('epoxy_has_egl', build_egl)
+pkgconf.set10('epoxy_has_wgl', build_wgl)
+pkgconf.set('PACKAGE_VERSION', meson.project_version())
+if dl_dep.found()
+  pkgconf.set('DLOPEN_LIBS', '-ldl')
+endif
+
+configure_file(input: 'epoxy.pc.in',
+               output: 'epoxy.pc',
+               configuration: pkgconf,
+               install: true,
+               install_dir: join_paths(epoxy_libdir, 'pkgconfig'))
+
+# Python
+python = import('python3').find_python()
+if not python.found()
+  python = find_program('python', required: true)
+endif
+
+# Generates the dispatch tables
+gen_dispatch_py = files('src/gen_dispatch.py')
+
+gl_registry = files('registry/gl.xml')
+egl_registry = files('registry/egl.xml')
+glx_registry = files('registry/glx.xml')
+wgl_registry = files('registry/wgl.xml')
+
+libepoxy_inc = [
+  include_directories('include'),
+  include_directories('src'),
+]
+
+subdir('include/epoxy')
+subdir('src')
+subdir('test')
+
+if get_option('enable-docs')
+  doxygen = find_program('doxygen', required: false)
+  if doxygen.found()
+    subdir('doc')
+  else
+    message('Documentation disabled without doxygen')
+  endif
+endif
diff -Nru libepoxy-1.3.1/meson_options.txt libepoxy-1.4.3/meson_options.txt
--- libepoxy-1.3.1/meson_options.txt	1970-01-01 00:00:00.000000000 +0000
+++ libepoxy-1.4.3/meson_options.txt	2017-11-13 11:34:09.000000000 +0000
@@ -0,0 +1,13 @@
+option('enable-docs',
+       type: 'boolean', value: false,
+       description: 'Enable generating the Epoxy API reference (depends on Doxygen)')
+option('enable-glx',
+       type: 'combo',
+       choices: [ 'auto', 'yes', 'no' ],
+       value: 'auto',
+       description: 'Enable GLX support')
+option('enable-egl',
+       type: 'combo',
+       choices: [ 'auto', 'yes', 'no' ],
+       value: 'auto',
+       description: 'Enable EGL support')
diff -Nru libepoxy-1.3.1/missing libepoxy-1.4.3/missing
--- libepoxy-1.3.1/missing	2014-01-30 20:22:33.000000000 +0000
+++ libepoxy-1.4.3/missing	2017-11-13 11:34:09.000000000 +0000
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard , 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff -Nru libepoxy-1.3.1/README.md libepoxy-1.4.3/README.md
--- libepoxy-1.3.1/README.md	2015-07-15 21:08:38.000000000 +0000
+++ libepoxy-1.4.3/README.md	2017-11-13 11:34:09.000000000 +0000
@@ -1,11 +1,13 @@
+[![Build Status](https://travis-ci.org/anholt/libepoxy.svg?branch=master)](https://travis-ci.org/anholt/libepoxy)
+[![Build status](https://ci.appveyor.com/api/projects/status/xv6y5jurt5v5ngjx/branch/master?svg=true)](https://ci.appveyor.com/project/ebassi/libepoxy/branch/master)
+
 Epoxy is a library for handling OpenGL function pointer management for
 you.
 
-It hides the complexity of ```dlopen()```, ```dlsym()```,
-```glXGetProcAddress()```, ```eglGetProcAddress()```, etc. from the
-app developer, with very little knowledge needed on their part.  They
-get to read GL specs and write code using undecorated function names
-like ```glCompileShader()```.
+It hides the complexity of `dlopen()`, `dlsym()`, `glXGetProcAddress()`,
+`eglGetProcAddress()`, etc. from the app developer, with very little
+knowledge needed on their part.  They get to read GL specs and write
+code using undecorated function names like `glCompileShader()`.
 
 Don't forget to check for your extensions or versions being present
 before you use them, just like before!  We'll tell you what you forgot
@@ -14,34 +16,34 @@
 Features
 --------
 
-* Automatically initializes as new GL functions are used.
-* GL 4.4 core and compatibility context support.
-* GLES 1/2/3 context support.
-* Knows about function aliases so (e.g.) ```glBufferData()``` can be
-  used with ```GL_ARB_vertex_buffer_object``` implementations, along
-  with GL 1.5+ implementations.
-* EGL, GLX, and WGL support.
-* Can be mixed with non-epoxy GL usage.
+  * Automatically initializes as new GL functions are used.
+  * GL 4.5 core and compatibility context support.
+  * GLES 1/2/3 context support.
+  * Knows about function aliases so (e.g.) `glBufferData()` can be
+    used with `GL_ARB_vertex_buffer_object` implementations, along
+    with GL 1.5+ implementations.
+  * EGL, GLX, and WGL support.
+  * Can be mixed with non-epoxy GL usage.
 
 Building
 --------
 
-    ./autogen.sh
-    make
-    sudo make install
-
-Dependencies for debian:
-
-* automake
-* libegl1-mesa-dev
-* xutils-dev
-
-Dependencies for OS X (macports):
-
-* automake
-* autoconf
-* xorg-util-macros
-* pkgconfig
+```sh
+mkdir _build && cd _build
+meson
+ninja
+sudo ninja install
+```
+
+Dependencies for Debian:
+
+  * meson
+  * libegl1-mesa-dev
+
+Dependencies for macOS (using MacPorts): 
+
+  * pkgconfig
+  * meson
 
 The test suite has additional dependencies depending on the platform.
 (X11, EGL, a running X Server).
@@ -51,27 +53,31 @@
 
 It should be as easy as replacing:
 
-    #include 
-    #include 
-    #include 
+```cpp
+#include 
+#include 
+#include 
+```
 
 with:
 
-    #include 
-    #include 
+```cpp
+#include 
+#include 
+```
 
 As long as epoxy's headers appear first, you should be ready to go.
 Additionally, some new helpers become available, so you don't have to
 write them:
 
-```int epoxy_gl_version()``` returns the GL version:
+`int epoxy_gl_version()` returns the GL version:
 
-* 12 for GL 1.2
-* 20 for GL 2.0
-* 44 for GL 4.4
+  * 12 for GL 1.2
+  * 20 for GL 2.0
+  * 44 for GL 4.4
 
-```bool epoxy_has_gl_extension()``` returns whether a GL extension is
-available (```GL_ARB_texture_buffer_object```, for example).
+`bool epoxy_has_gl_extension()` returns whether a GL extension is
+available (`GL_ARB_texture_buffer_object`, for example).
 
 Note that this is not terribly fast, so keep it out of your hot paths,
 ok?
@@ -81,17 +87,16 @@
 
 GLEW has several issues:
 
-* Doesn't know about aliases of functions (There are 5 providers of
-  glPointParameterfv, for example, and you don't want to have to
-  choose which one to call when they're all the same).
-* Doesn't support GL 3.2+ core contexts
-* Doesn't support GLES.
-* Doesn't support EGL.
-* Has a hard-to-maintain parser of extension specification text
-  instead of using the old .spec file or the new .xml.
-* Has significant startup time overhead when ```glewInit()```
-  autodetects the world.
-* User-visible multithreading support choice for win32.
+  * Doesn't know about aliases of functions (There are 5 providers of
+    `glPointParameterfv()`, for example, and you don't want to have to
+    choose which one to call when they're all the same).
+  * Doesn't support OpenGL ES.
+  * Doesn't support EGL.
+  * Has a hard-to-maintain parser of extension specification text
+    instead of using the old .spec file or the new .xml.
+  * Has significant startup time overhead when `glewInit()`
+    autodetects the world.
+  * User-visible multithreading support choice for win32.
 
 The motivation for this project came out of previous use of libGLEW in
 [piglit](http://piglit.freedesktop.org/).  Other GL dispatch code
@@ -104,17 +109,16 @@
 piglit-dispatch from scratch.  And since we wanted to reuse it in
 other GL-related projects, this is the result.
 
-win32 issues
-------------
+Known issues when running on Windows
+------------------------------------
 
 The automatic per-context symbol resolution for win32 requires that
-epoxy knows when ```wglMakeCurrent()``` is called, because
-wglGetProcAddress() return values depend on the context's device and
-pixel format.  If ```wglMakeCurrent()``` is called from outside of
-epoxy (in a way that might change the device or pixel format), then
-epoxy needs to be notified of the change using the
-```epoxy_handle_external_wglMakeCurrent()``` function.
+epoxy knows when `wglMakeCurrent()` is called, because `wglGetProcAddress()`
+returns values depend on the context's device and pixel format.  If
+`wglMakeCurrent()` is called from outside of epoxy (in a way that might
+change the device or pixel format), then epoxy needs to be notified of
+the change using the `epoxy_handle_external_wglMakeCurrent()` function.
 
-The win32 wglMakeCurrent() variants are slower than they should be,
+The win32 `wglMakeCurrent()` variants are slower than they should be,
 because they should be caching the resolved dispatch tables instead of
 resetting an entire thread-local dispatch table every time.
diff -Nru libepoxy-1.3.1/registry/egl.xml libepoxy-1.4.3/registry/egl.xml
--- libepoxy-1.3.1/registry/egl.xml	2015-07-15 21:08:43.000000000 +0000
+++ libepoxy-1.4.3/registry/egl.xml	2017-11-13 11:34:09.000000000 +0000
@@ -1,7 +1,7 @@
 
 
     
 
     
@@ -61,6 +61,8 @@
         typedef void *EGLDisplay;
         typedef void *EGLImage;
         typedef void *EGLImageKHR;
+        typedef void *EGLLabelKHR;
+        typedef void *EGLObjectKHR;
         typedef void *EGLOutputLayerEXT;
         typedef void *EGLOutputPortEXT;
         typedef void *EGLStreamKHR;
@@ -74,6 +76,7 @@
         typedef khronos_utime_nanoseconds_t EGLTimeNV;
         typedef khronos_utime_nanoseconds_t EGLuint64NV;
         typedef khronos_uint64_t EGLuint64KHR;
+        typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
         typedef int EGLNativeFileDescriptorKHR;
         typedef khronos_ssize_t EGLsizeiANDROID;
         typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
@@ -84,6 +87,7 @@
     EGLint iHeight;
     EGLint iStride;
 };
+        typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
     
 
     
@@ -109,6 +113,7 @@
             
+        
     
 
     
@@ -127,6 +132,12 @@
         
     
 
+    
+        
+        
+        
+    
+
     
         
         
@@ -162,7 +173,11 @@
          tokens are reused for different purposes in different
          extensions and API versions). -->
 
-    
+    
+        
+        
+        
+    
 
     
         
@@ -170,24 +185,25 @@
     
 
     
-        
-        
+        
+        
         
         
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
         
         
         
@@ -353,7 +369,7 @@
         
         
         
-        
+        
     
 
     
@@ -438,7 +454,10 @@
         
         
         
-            
+            
+        
+        
+            
     
 
     
@@ -471,12 +490,14 @@
         
         
         
-            
+        
         
         
         
         
-            
+            
+        
+            
     
 
     
@@ -529,7 +550,9 @@
         
         
         
-            
+            
+        
+            
     
 
     
@@ -602,7 +625,37 @@
         
         
         
-            
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
     
 
     
@@ -633,7 +686,9 @@
         
         
         
-            
+            
+        
+            
     
 
     
@@ -696,7 +751,51 @@
     
 
     
-            
+            
+        
+        
+        
+            
+        
+        
+        
+            
+        
+        
+        
+        
+        
+        
+        
+        
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
+        
+        
+        
+        
+        
+            
+        
+            
+        
+        
+        
+        
+            
     
 
     
@@ -705,8 +804,21 @@
             
     
 
-    
-            
+    
+        
+        
+        
+        
+        
+        
+        
+            
+        
+        
+        
+        
+        
+            
     
 
     
@@ -717,6 +829,37 @@
             
     
 
+    
+            
+    
+
+    
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
+    
+
+    
+            
+    
+
+    
+        
+        
+        
+        
+        
+    
+
 
-    
-            
+    
+            
     
 
     
@@ -820,6 +963,10 @@
             const EGLint *attrib_list
         
         
+            EGLClientBuffer eglCreateNativeClientBufferANDROID
+            const EGLint *attrib_list
+        
+        
             EGLSurface eglCreatePbufferFromClientBuffer
             EGLDisplay dpy
             EGLenum buftype
@@ -885,6 +1032,11 @@
             const EGLint *attrib_list
         
         
+            EGLStreamKHR eglCreateStreamAttribKHR
+            EGLDisplay dpy
+            const EGLAttrib *attrib_list
+        
+        
             EGLSurface eglCreateStreamProducerSurfaceKHR
             EGLDisplay dpy
             EGLConfig config
@@ -925,6 +1077,11 @@
             const EGLint *attrib_list
         
         
+            EGLint eglDebugMessageControlKHR
+            EGLDEBUGPROCKHR callback
+            const EGLAttrib *attrib_list
+        
+        
             EGLBoolean eglDestroyContext
             EGLDisplay dpy
             EGLContext ctx
@@ -1099,6 +1256,13 @@
             EGLint *minor
         
         
+            EGLint eglLabelObjectKHR
+            EGLDisplay display
+            EGLenum objectType
+            EGLObjectKHR object
+            EGLLabelKHR label
+        
+        
             EGLBoolean eglLockSurfaceKHR
             EGLDisplay dpy
             EGLSurface surface
@@ -1135,6 +1299,12 @@
             EGLint height
         
         
+            EGLBoolean eglPresentationTimeANDROID
+            EGLDisplay dpy
+            EGLSurface surface
+            EGLnsecsANDROID time
+        
+        
             EGLenum eglQueryAPI
         
         
@@ -1145,6 +1315,11 @@
             EGLint *value
         
         
+            EGLBoolean eglQueryDebugKHR
+            EGLint attribute
+            EGLAttrib *value
+        
+        
             EGLBoolean eglQueryDeviceAttribEXT
             EGLDeviceEXT device
             EGLint attribute
@@ -1166,6 +1341,36 @@
             EGLDisplay dpy
             EGLint attribute
             EGLAttrib *value
+            
+        
+        
+            EGLBoolean eglQueryDisplayAttribKHR
+            EGLDisplay dpy
+            EGLint name
+            EGLAttrib *value
+        
+        
+            EGLBoolean eglQueryDisplayAttribNV
+            EGLDisplay dpy
+            EGLint attribute
+            EGLAttrib *value
+            
+        
+        
+            EGLBoolean eglQueryDmaBufFormatsEXT
+            EGLDisplay dpy
+            EGLint max_formats
+            EGLint *formats
+            EGLint *num_formats
+        
+        
+            EGLBoolean eglQueryDmaBufModifiersEXT
+            EGLDisplay dpy
+            EGLint format
+            EGLint max_modifiers
+            EGLuint64KHR *modifiers
+            EGLBoolean *external_only
+            EGLint *num_modifiers
         
         
             EGLBoolean eglQueryNativeDisplayNV
@@ -1218,6 +1423,23 @@
             EGLint *value
         
         
+            EGLBoolean eglQueryStreamAttribKHR
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            EGLenum attribute
+            EGLAttrib *value
+        
+        
+            EGLBoolean eglQueryStreamMetadataNV
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            EGLenum name
+            EGLint n
+            EGLint offset
+            EGLint size
+            void *data
+        
+        
             EGLBoolean eglQueryStreamTimeKHR
             EGLDisplay dpy
             EGLStreamKHR stream
@@ -1267,6 +1489,11 @@
             EGLBoolean eglReleaseThread
         
         
+            EGLBoolean eglResetStreamNV
+            EGLDisplay dpy
+            EGLStreamKHR stream
+        
+        
             void eglSetBlobCacheFuncsANDROID
             EGLDisplay dpy
             EGLSetBlobFuncANDROID set
@@ -1280,6 +1507,22 @@
             EGLint n_rects
         
         
+            EGLBoolean eglSetStreamAttribKHR
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            EGLenum attribute
+            EGLAttrib value
+        
+        
+            EGLBoolean eglSetStreamMetadataNV
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            EGLint n
+            EGLint offset
+            EGLint size
+            const void *data
+        
+        
             EGLBoolean eglSignalSyncKHR
             EGLDisplay dpy
             EGLSyncKHR sync
@@ -1303,11 +1546,23 @@
             EGLStreamKHR stream
         
         
+            EGLBoolean eglStreamConsumerAcquireAttribKHR
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            const EGLAttrib *attrib_list
+        
+        
             EGLBoolean eglStreamConsumerGLTextureExternalKHR
             EGLDisplay dpy
             EGLStreamKHR stream
         
         
+            EGLBoolean eglStreamConsumerGLTextureExternalAttribsNV
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            EGLAttrib *attrib_list
+        
+        
             EGLBoolean eglStreamConsumerOutputEXT
             EGLDisplay dpy
             EGLStreamKHR stream
@@ -1319,6 +1574,12 @@
             EGLStreamKHR stream
         
         
+            EGLBoolean eglStreamConsumerReleaseAttribKHR
+            EGLDisplay dpy
+            EGLStreamKHR stream
+            const EGLAttrib *attrib_list
+        
+        
             EGLBoolean eglSurfaceAttrib
             EGLDisplay dpy
             EGLSurface surface
@@ -1394,6 +1655,44 @@
             EGLSyncKHR sync
             EGLint flags
         
+        
+            EGLBoolean eglCompositorSetContextListEXT
+            const EGLint *external_ref_ids
+            EGLint num_entries
+        
+        
+            EGLBoolean eglCompositorSetContextAttributesEXT
+            EGLint external_ref_id
+            const EGLint *context_attributes
+            EGLint num_entries
+        
+        
+            EGLBoolean eglCompositorSetWindowListEXT
+            EGLint external_ref_id
+            const EGLint *external_win_ids
+            EGLint num_entries
+        
+        
+            EGLBoolean eglCompositorSetWindowAttributesEXT
+            EGLint external_win_id
+            const EGLint *window_attributes
+            EGLint num_entries
+        
+        
+            EGLBoolean eglCompositorBindTexWindowEXT
+            EGLint external_win_id
+        
+        
+            EGLBoolean eglCompositorSetSizeEXT
+            EGLint external_win_id
+            EGLint width
+            EGLint height
+        
+        
+            EGLBoolean eglCompositorSwapPolicyEXT
+            EGLint external_win_id
+            EGLint policy
+        
     
 
     
@@ -1666,11 +1965,25 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+            
+        
         
             
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -1685,6 +1998,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -1716,6 +2034,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -1771,6 +2094,31 @@
                 
             
         
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
         
             
                 
@@ -1797,6 +2145,23 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -1834,6 +2199,13 @@
                 
             
         
+        
+            
+                
+                
+                
+            
+        
         
             
                 
@@ -1857,6 +2229,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -1867,6 +2244,21 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -1923,6 +2315,12 @@
                 
             
         
+        
+            
+                
+                
+            
+        
         
             
                 
@@ -1946,6 +2344,13 @@
             
         
         
+        
+            
+                
+                
+                
+            
+        
         
             
                 
@@ -1969,6 +2374,34 @@
                 
             
         
+        
+            
+                    
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
+        
+            
+                
+                
+            
+        
         
             
                 
@@ -2098,6 +2531,16 @@
                 
             
         
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
         
             
                 
@@ -2166,6 +2609,19 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -2238,6 +2694,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -2307,6 +2768,122 @@
                 
             
         
+        
+            
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
+        
+            
+                
+                
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+                
+                
+            
+            
+                
+            
+        
+        
+            
+                
+                
+                
+            
+        
+        
+            
+                
+            
+        
+        
+            
+                
+            
+        
         
             
                 
@@ -2353,5 +2930,27 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+
+                
+                
+                
+                
+                
+                
+                
+            
+        
+        
+            
+                
+                
+            
+        
     
 
diff -Nru libepoxy-1.3.1/registry/gl.xml libepoxy-1.4.3/registry/gl.xml
--- libepoxy-1.3.1/registry/gl.xml	2015-07-15 21:08:43.000000000 +0000
+++ libepoxy-1.4.3/registry/gl.xml	2017-11-13 11:34:09.000000000 +0000
@@ -1,7 +1,7 @@
 
 
     
-Copyright (c) 2013-2014 The Khronos Group Inc.
+Copyright (c) 2013-2016 The Khronos Group Inc.
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and/or associated documentation files (the
@@ -142,6 +142,11 @@
         typedef khronos_intptr_t GLintptr;
         typedef khronos_ssize_t GLsizeiptr;
             
+            
+        typedef khronos_uint8_t GLubyte;
+        typedef khronos_float_t GLfloat;
+        typedef khronos_intptr_t GLintptr;
+        typedef khronos_ssize_t GLsizeiptr;
             
         typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
         typedef unsigned short GLhalfNV;
@@ -330,6 +335,7 @@
             
             
             
+            
         
 
         
@@ -2058,9 +2064,10 @@
         
         
         
-        
         
+        
         
+        
     
 
     
@@ -2090,6 +2097,7 @@
         
         
         
+            
     
 
     
@@ -2404,6 +2412,7 @@
         
         
         
+        
         
         
         
@@ -2468,6 +2477,7 @@
         
         
         
+        
             
         
         
@@ -2730,6 +2740,7 @@
         
         
         
+        
         
         
         
@@ -2845,6 +2856,7 @@
         
         
             
+        
         
         
         
@@ -2996,30 +3008,38 @@
         
         
         
+        
         
         
         
         
+        
         
         
         
         
+        
         
         
         
         
+        
         
         
         
         
+        
         
         
         
         
+        
         
         
+        
         
         
+        
         
             
         
@@ -3953,18 +3973,22 @@
         
         
         
+        
         
         
         
+        
         
         
         
+        
         
         
         
         
         
         
+        
         
         
         
@@ -4060,7 +4084,6 @@
 
     
             
-            
         
         
         
@@ -4152,7 +4175,9 @@
         
         
         
+        
         
+        
         
         
         
@@ -4353,7 +4378,8 @@
         
         
         
-            
+            
+        
         
     
 
@@ -4847,6 +4873,7 @@
         
         
         
+        
         
         
         
@@ -5962,9 +5989,13 @@
         
         
         
+        
         
+        
         
+        
         
+        
         
         
         
@@ -6415,7 +6446,9 @@
         
             
         
-            
+            
+        
+            
     
 
     
@@ -7170,6 +7203,7 @@
         
         
         
+        
         
         
         
@@ -7314,7 +7348,14 @@
         
         
         
-            
+            
+        
+        
+        
+        
+        
+        
+            
         
         
         
@@ -7464,8 +7505,11 @@
         
         
         
+        
         
+        
         
+        
         
         
         
@@ -7475,8 +7519,11 @@
         
         
         
+        
         
+        
         
+        
         
         
         
@@ -7881,7 +7928,13 @@
         
         
         
-            
+        
+        
+        
+        
+        
+        
+        
     
 
     
@@ -7978,7 +8031,12 @@
         
         
         
-            
+            
+        
+        
+        
+        
+            
         
             
         
@@ -7987,7 +8045,17 @@
         
         
         
-            
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
     
 
     
@@ -8058,28 +8126,39 @@
         
         
             
+        
         
         
+        
         
         
+        
         
         
+        
         
         
+        
         
         
+        
         
         
+        
         
         
+        
         
         
+        
         
         
             
+        
         
         
         
+        
         
         
         
@@ -8092,19 +8171,27 @@
         
         
             
+        
         
         
+        
         
         
+        
         
         
+        
         
         
         
         
         
         
-            
+            
+        
+            
+        
+        
         
         
             
@@ -8209,6 +8296,7 @@
         
         
         
+        
         
         
         
@@ -8241,12 +8329,19 @@
         
         
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
         
         
@@ -8257,14 +8352,27 @@
         
         
         
-            
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
         
         
         
         
             
         
-            
+        
+        
         
         
         
@@ -8278,12 +8386,23 @@
         
         
         
-            
+            
+        
+        
+        
+        
+        
+        
+            
     
 
     
         
-            
+        
+        
+        
+        
+            
     
 
     
@@ -8298,19 +8417,33 @@
     
 
     
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
             
         
@@ -8324,19 +8457,33 @@
         
         
             
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
+        
         
             
         
@@ -8383,13 +8530,18 @@
     
 
     
-            
+            
+        
+        
+        
+            
     
 
     
         
         
         
+        
             
     
 
@@ -8399,6 +8551,21 @@
             
     
 
+    
+        
+        
+        
+            
+    
+
+    
+            
+    
+
+    
+            
+    
+
 
 
-    
-        
+    
+        
     
 
 
@@ -8579,6 +8746,9 @@
             GLfixed ref
         
         
+            void glApplyFramebufferAttachmentCMAAINTEL
+        
+        
             void glApplyTextureEXT
             GLenum mode
         
@@ -8838,6 +9008,14 @@
             const GLchar *name
         
         
+            void glBindFragDataLocationIndexedEXT
+            GLuint program
+            GLuint colorNumber
+            GLuint index
+            const GLchar *name
+            
+        
+        
             void glBindFragmentShaderATI
             GLuint id
         
@@ -9130,10 +9308,15 @@
             const GLubyte *bitmap
         
         
+            void glBlendBarrier
+        
+        
             void glBlendBarrierKHR
+            
         
         
             void glBlendBarrierNV
+            
         
         
             void glBlendColor
@@ -9741,7 +9924,8 @@
             void glClearNamedFramebufferfi
             GLuint framebuffer
             GLenum buffer
-            const GLfloat depth
+            GLint drawbuffer
+            GLfloat depth
             GLint stencil
         
         
@@ -9766,6 +9950,12 @@
             const GLuint *value
         
         
+            void glClearPixelLocalStorageuiEXT
+            GLsizei offset
+            GLsizei n
+            const GLuint *values
+        
+        
             void glClearStencil
             GLint s
             
@@ -9779,6 +9969,15 @@
             const void *data
         
         
+            void glClearTexImageEXT
+            GLuint texture
+            GLint level
+            GLenum format
+            GLenum type
+            const void *data
+            
+        
+        
             void glClearTexSubImage
             GLuint texture
             GLint level
@@ -9793,6 +9992,21 @@
             const void *data
         
         
+            void glClearTexSubImageEXT
+            GLuint texture
+            GLint level
+            GLint xoffset
+            GLint yoffset
+            GLint zoffset
+            GLsizei width
+            GLsizei height
+            GLsizei depth
+            GLenum format
+            GLenum type
+            const void *data
+            
+        
+        
             void glClientActiveTexture
             GLenum texture
         
@@ -10861,6 +11075,16 @@
             const void *bits
         
         
+            void glConservativeRasterParameterfNV
+            GLenum pname
+            GLfloat value
+        
+        
+            void glConservativeRasterParameteriNV
+            GLenum pname
+            GLint param
+        
+        
             void glConvolutionFilter1D
             GLenum target
             GLenum internalformat
@@ -11110,7 +11334,7 @@
             
         
         
-            void glCopyImageSubDataOES
+            void glCopyImageSubDataNV
             GLuint srcName
             GLenum srcTarget
             GLint srcLevel
@@ -11123,13 +11347,13 @@
             GLint dstX
             GLint dstY
             GLint dstZ
-            GLsizei srcWidth
-            GLsizei srcHeight
-            GLsizei srcDepth
-            
+            GLsizei width
+            GLsizei height
+            GLsizei depth
+            
         
         
-            void glCopyImageSubDataNV
+            void glCopyImageSubDataOES
             GLuint srcName
             GLenum srcTarget
             GLint srcLevel
@@ -11142,10 +11366,10 @@
             GLint dstX
             GLint dstY
             GLint dstZ
-            GLsizei width
-            GLsizei height
-            GLsizei depth
-            
+            GLsizei srcWidth
+            GLsizei srcHeight
+            GLsizei srcDepth
+            
         
         
             void glCopyMultiTexImage1DEXT
@@ -11493,6 +11717,15 @@
             GLboolean mask
         
         
+            void glCoverageModulationNV
+            GLenum components
+        
+        
+            void glCoverageModulationTableNV
+            GLsizei n
+            const GLfloat *v
+        
+        
             void glCoverageOperationNV
             GLenum operation
         
@@ -11507,11 +11740,6 @@
             GLuint *lists
         
         
-            void glCreateStatesNV
-            GLsizei n
-            GLuint *states
-        
-        
             void glCreateFramebuffers
             GLsizei n
             GLuint *framebuffers
@@ -11576,6 +11804,11 @@
             const GLchar **strings
         
         
+            void glCreateStatesNV
+            GLsizei n
+            GLuint *states
+        
+        
             GLsync glCreateSyncFromCLeventARB
             struct _cl_context *context
             struct _cl_event *event
@@ -11780,11 +12013,6 @@
             const GLuint *lists
         
         
-            void glDeleteStatesNV
-            GLsizei n
-            const GLuint *states
-        
-        
             void glDeleteFencesAPPLE
             GLsizei n
             const GLuint *fences
@@ -11931,6 +12159,11 @@
             
         
         
+            void glDeleteStatesNV
+            GLsizei n
+            const GLuint *states
+        
+        
             void glDeleteSync
             GLsync sync
         
@@ -12013,18 +12246,24 @@
             
         
         
-            void glDepthRangeArrayv
+            void glDepthRangeArrayfvNV
             GLuint first
             GLsizei count
-            const GLdouble *v
+            const GLfloat *v
         
         
-            void glDepthRangeArrayfvNV
+            void glDepthRangeArrayfvOES
             GLuint first
             GLsizei count
             const GLfloat *v
         
         
+            void glDepthRangeArrayv
+            GLuint first
+            GLsizei count
+            const GLdouble *v
+        
+        
             void glDepthRangeIndexed
             GLuint index
             GLdouble n
@@ -12037,6 +12276,12 @@
             GLfloat f
         
         
+            void glDepthRangeIndexedfOES
+            GLuint index
+            GLfloat n
+            GLfloat f
+        
+        
             void glDepthRangedNV
             GLdouble zNear
             GLdouble zFar
@@ -12310,32 +12555,32 @@
             const GLenum *bufs
         
         
-            void glDrawCommandsNV
+            void glDrawCommandsAddressNV
             GLenum primitiveMode
-            GLuint buffer
-            const GLintptr *indirects
+            const GLuint64 *indirects
             const GLsizei *sizes
             GLuint count
         
         
-            void glDrawCommandsAddressNV
+            void glDrawCommandsNV
             GLenum primitiveMode
-            const GLuint64 *indirects
+            GLuint buffer
+            const GLintptr *indirects
             const GLsizei *sizes
             GLuint count
         
         
-            void glDrawCommandsStatesNV
-            GLuint buffer
-            const GLintptr *indirects
+            void glDrawCommandsStatesAddressNV
+            const GLuint64 *indirects
             const GLsizei *sizes
             const GLuint *states
             const GLuint *fbos
             GLuint count
         
         
-            void glDrawCommandsStatesAddressNV
-            const GLuint64 *indirects
+            void glDrawCommandsStatesNV
+            GLuint buffer
+            const GLintptr *indirects
             const GLsizei *sizes
             const GLuint *states
             const GLuint *fbos
@@ -12446,45 +12691,45 @@
             GLint basevertex
         
         
-            void glDrawElementsInstancedBaseVertexEXT
+            void glDrawElementsInstancedBaseVertexBaseInstance
             GLenum mode
             GLsizei count
-            GLenum type
-            const void *indices
+            GLenum type
+            const void *indices
             GLsizei instancecount
             GLint basevertex
-            
+            GLuint baseinstance
         
         
-            void glDrawElementsInstancedBaseVertexOES
+            void glDrawElementsInstancedBaseVertexBaseInstanceEXT
             GLenum mode
             GLsizei count
-            GLenum type
-            const void *indices
+            GLenum type
+            const void *indices
             GLsizei instancecount
             GLint basevertex
-            
+            GLuint baseinstance
+            
         
         
-            void glDrawElementsInstancedBaseVertexBaseInstance
+            void glDrawElementsInstancedBaseVertexEXT
             GLenum mode
             GLsizei count
-            GLenum type
-            const void *indices
+            GLenum type
+            const void *indices
             GLsizei instancecount
             GLint basevertex
-            GLuint baseinstance
+            
         
         
-            void glDrawElementsInstancedBaseVertexBaseInstanceEXT
+            void glDrawElementsInstancedBaseVertexOES
             GLenum mode
             GLsizei count
-            GLenum type
-            const void *indices
+            GLenum type
+            const void *indices
             GLsizei instancecount
             GLint basevertex
-            GLuint baseinstance
-            
+            
         
         
             void glDrawElementsInstancedEXT
@@ -12655,12 +12900,25 @@
             GLuint id
         
         
+            void glDrawTransformFeedbackEXT
+            GLenum mode
+            GLuint id
+            
+        
+        
             void glDrawTransformFeedbackInstanced
             GLenum mode
             GLuint id
             GLsizei instancecount
         
         
+            void glDrawTransformFeedbackInstancedEXT
+            GLenum mode
+            GLuint id
+            GLsizei instancecount
+            
+        
+        
             void glDrawTransformFeedbackNV
             GLenum mode
             GLuint id
@@ -12982,6 +13240,9 @@
             
         
         
+            void glEvaluateDepthValuesARB
+        
+        
             void glExecuteProgramNV
             GLenum target
             GLuint id
@@ -13322,6 +13583,10 @@
             GLenum mode
         
         
+            void glFragmentCoverageColorNV
+            GLuint color
+        
+        
             void glFragmentLightModelfSGIX
             GLenum pname
             GLfloat param
@@ -13415,6 +13680,11 @@
             GLint param
         
         
+            void glFramebufferPixelLocalStorageSizeEXT
+            GLuint target
+            GLsizei size
+        
+        
             void glFramebufferReadBufferEXT
             GLuint framebuffer
             GLenum mode
@@ -13444,6 +13714,27 @@
             GLuint renderbuffer
         
         
+            void glFramebufferSampleLocationsfvARB
+            GLenum target
+            GLuint start
+            GLsizei count
+            const GLfloat *v
+        
+        
+            void glFramebufferSampleLocationsfvNV
+            GLenum target
+            GLuint start
+            GLsizei count
+            const GLfloat *v
+        
+        
+            void glFramebufferSamplePositionsfvAMD
+            GLenum target
+            GLuint numsamples
+            GLuint pixelindex
+            const GLfloat *values
+        
+        
             void glFramebufferTexture
             GLenum target
             GLenum attachment
@@ -13489,6 +13780,16 @@
             
         
         
+            void glFramebufferTexture2DDownsampleIMG
+            GLenum target
+            GLenum attachment
+            GLenum textarget
+            GLuint texture
+            GLint level
+            GLint xscale
+            GLint yscale
+        
+        
             void glFramebufferTexture2DMultisampleEXT
             GLenum target
             GLenum attachment
@@ -13562,14 +13863,6 @@
             
         
         
-            void glFramebufferTextureOES
-            GLenum target
-            GLenum attachment
-            GLuint texture
-            GLint level
-            
-        
-        
             void glFramebufferTextureFaceARB
             GLenum target
             GLenum attachment
@@ -13614,6 +13907,26 @@
             
         
         
+            void glFramebufferTextureLayerDownsampleIMG
+            GLenum target
+            GLenum attachment
+            GLuint texture
+            GLint level
+            GLint layer
+            GLint xscale
+            GLint yscale
+        
+        
+            void glFramebufferTextureMultisampleMultiviewOVR
+            GLenum target
+            GLenum attachment
+            GLuint texture
+            GLint level
+            GLsizei samples
+            GLint baseViewIndex
+            GLsizei numViews
+        
+        
             void glFramebufferTextureMultiviewOVR
             GLenum target
             GLenum attachment
@@ -13623,6 +13936,14 @@
             GLsizei numViews
         
         
+            void glFramebufferTextureOES
+            GLenum target
+            GLenum attachment
+            GLuint texture
+            GLint level
+            
+        
+        
             void glFreeObjectBufferATI
             GLuint buffer
         
@@ -14368,6 +14689,11 @@
             GLfixed *params
         
         
+            void glGetCoverageModulationTableNV
+            GLsizei bufsize
+            GLfloat *v
+        
+        
             GLuint glGetDebugMessageLog
             GLuint count
             GLsizei bufSize
@@ -14510,6 +14836,13 @@
             GLfloat *data
         
         
+            void glGetFloati_vEXT
+            GLenum pname
+            GLuint index
+            GLfloat *params
+            
+        
+        
             void glGetFloati_vNV
             GLenum target
             GLuint index
@@ -14517,10 +14850,10 @@
             
         
         
-            void glGetFloati_vEXT
-            GLenum pname
+            void glGetFloati_vOES
+            GLenum target
             GLuint index
-            GLfloat *params
+            GLfloat *data
             
         
         
@@ -14539,6 +14872,12 @@
             const GLchar *name
         
         
+            GLint glGetFragDataIndexEXT
+            GLuint program
+            const GLchar *name
+            
+        
+        
             GLint glGetFragDataLocation
             GLuint program
             const GLchar *name
@@ -14598,6 +14937,15 @@
             GLint *params
         
         
+            void glGetFramebufferParameterfvAMD
+            GLenum target
+            GLenum pname
+            GLuint numsamples
+            GLuint pixelindex
+            GLsizei size
+            GLfloat *values
+        
+        
             void glGetFramebufferParameteriv
             GLenum target
             GLenum pname
@@ -14610,6 +14958,10 @@
             GLint *params
         
         
+            GLsizei glGetFramebufferPixelLocalStorageSizeEXT
+            GLuint target
+        
+        
             GLenum glGetGraphicsResetStatus
         
         
@@ -14772,26 +15124,26 @@
             
         
         
-            void glGetInternalformati64v
+            void glGetInternalformatSampleivNV
             GLenum target
             GLenum internalformat
+            GLsizei samples
             GLenum pname
             GLsizei bufSize
-            GLint64 *params
+            GLint *params
         
         
-            void glGetInternalformativ
+            void glGetInternalformati64v
             GLenum target
             GLenum internalformat
             GLenum pname
             GLsizei bufSize
-            GLint *params
+            GLint64 *params
         
         
-            void glGetInternalformatSampleivNV
+            void glGetInternalformativ
             GLenum target
             GLenum internalformat
-            GLsizei samples
             GLenum pname
             GLsizei bufSize
             GLint *params
@@ -15170,6 +15522,15 @@
             void *data
         
         
+            void glGetNamedFramebufferParameterfvAMD
+            GLenum framebuffer
+            GLenum pname
+            GLuint numsamples
+            GLuint pixelindex
+            GLsizei size
+            GLfloat *values
+        
+        
             void glGetNamedFramebufferAttachmentParameteriv
             GLuint framebuffer
             GLenum attachment
@@ -15764,6 +16125,12 @@
             const GLchar *name
         
         
+            GLint glGetProgramResourceLocationIndexEXT
+            GLuint program
+            GLenum programInterface
+            const GLchar *name
+        
+        
             void glGetProgramResourceName
             GLuint program
             GLenum programInterface
@@ -16338,6 +16705,11 @@
             GLuint texture
         
         
+            GLuint64 glGetTextureHandleIMG
+            GLuint texture
+            
+        
+        
             GLuint64 glGetTextureHandleNV
             GLuint texture
         
@@ -16447,6 +16819,12 @@
             GLuint sampler
         
         
+            GLuint64 glGetTextureSamplerHandleIMG
+            GLuint texture
+            GLuint sampler
+            
+        
+        
             GLuint64 glGetTextureSamplerHandleNV
             GLuint texture
             GLuint sampler
@@ -16587,6 +16965,12 @@
             
         
         
+            void glGetUniformi64vARB
+            GLuint program
+            GLint location
+            GLint64 *params
+        
+        
             void glGetUniformi64vNV
             GLuint program
             GLint location
@@ -16606,6 +16990,12 @@
             
         
         
+            void glGetUniformui64vARB
+            GLuint program
+            GLint location
+            GLuint64 *params
+        
+        
             void glGetUniformui64vNV
             GLuint program
             GLint location
@@ -17175,6 +17565,13 @@
             
         
         
+            void glGetnUniformi64vARB
+            GLuint program
+            GLint location
+            GLsizei bufSize
+            GLint64 *params
+        
+        
             void glGetnUniformiv
             GLuint program
             GLint location
@@ -17204,6 +17601,13 @@
             
         
         
+            void glGetnUniformui64vARB
+            GLuint program
+            GLint location
+            GLsizei bufSize
+            GLuint64 *params
+        
+        
             void glGetnUniformuiv
             GLuint program
             GLint location
@@ -17555,13 +17959,13 @@
             
         
         
-            GLboolean glIsEnablediOES
+            GLboolean glIsEnablediNV
             GLenum target
             GLuint index
             
         
         
-            GLboolean glIsEnablediNV
+            GLboolean glIsEnablediOES
             GLenum target
             GLuint index
             
@@ -18570,6 +18974,10 @@
             GLfloat z
         
         
+            void glMaxShaderCompilerThreadsARB
+            GLuint count
+        
+        
             void glMemoryBarrier
             GLbitfield barriers
         
@@ -18682,14 +19090,6 @@
             
         
         
-            void glMultiDrawArraysIndirectEXT
-            GLenum mode
-            const void *indirect
-            GLsizei drawcount
-            GLsizei stride
-            
-        
-        
             void glMultiDrawArraysIndirectBindlessCountNV
             GLenum mode
             const void *indirect
@@ -18715,6 +19115,14 @@
             GLsizei stride
         
         
+            void glMultiDrawArraysIndirectEXT
+            GLenum mode
+            const void *indirect
+            GLsizei drawcount
+            GLsizei stride
+            
+        
+        
             void glMultiDrawElementArrayAPPLE
             GLenum mode
             const GLint *first
@@ -18776,15 +19184,6 @@
             GLsizei stride
         
         
-            void glMultiDrawElementsIndirectEXT
-            GLenum mode
-            GLenum type
-            const void *indirect
-            GLsizei drawcount
-            GLsizei stride
-            
-        
-        
             void glMultiDrawElementsIndirectAMD
             GLenum mode
             GLenum type
@@ -18822,6 +19221,15 @@
             GLsizei stride
         
         
+            void glMultiDrawElementsIndirectEXT
+            GLenum mode
+            GLenum type
+            const void *indirect
+            GLsizei drawcount
+            GLsizei stride
+            
+        
+        
             void glMultiDrawRangeElementArrayAPPLE
             GLenum mode
             GLuint start
@@ -19840,6 +20248,20 @@
             GLuint renderbuffer
         
         
+            void glNamedFramebufferSampleLocationsfvARB
+            GLuint framebuffer
+            GLuint start
+            GLsizei count
+            const GLfloat *v
+        
+        
+            void glNamedFramebufferSampleLocationsfvNV
+            GLuint framebuffer
+            GLuint start
+            GLsizei count
+            const GLfloat *v
+        
+        
             void glNamedFramebufferTexture
             GLuint framebuffer
             GLenum attachment
@@ -19847,6 +20269,13 @@
             GLint level
         
         
+            void glNamedFramebufferSamplePositionsfvAMD
+            GLuint framebuffer
+            GLuint numsamples
+            GLuint pixelindex
+            const GLfloat *values
+        
+        
             void glNamedFramebufferTexture1DEXT
             GLuint framebuffer
             GLenum attachment
@@ -20856,6 +21285,13 @@
             
         
         
+            void glPolygonOffsetClampEXT
+            GLfloat factor
+            GLfloat units
+            GLfloat clamp
+            
+        
+        
             void glPolygonOffsetEXT
             GLfloat factor
             GLfloat bias
@@ -20872,13 +21308,6 @@
             GLfixed units
         
         
-            void glPolygonOffsetClampEXT
-            GLfloat factor
-            GLfloat units
-            GLfloat clamp
-            
-        
-        
             void glPolygonStipple
             const GLubyte *mask
             
@@ -20940,6 +21369,29 @@
             GLuint key1
         
         
+            void glPrimitiveBoundingBox
+            GLfloat minX
+            GLfloat minY
+            GLfloat minZ
+            GLfloat minW
+            GLfloat maxX
+            GLfloat maxY
+            GLfloat maxZ
+            GLfloat maxW
+        
+        
+            void glPrimitiveBoundingBoxARB
+            GLfloat minX
+            GLfloat minY
+            GLfloat minZ
+            GLfloat minW
+            GLfloat maxX
+            GLfloat maxY
+            GLfloat maxZ
+            GLfloat maxW
+            
+        
+        
             void glPrimitiveBoundingBoxEXT
             GLfloat minX
             GLfloat minY
@@ -20949,6 +21401,7 @@
             GLfloat maxY
             GLfloat maxZ
             GLfloat maxW
+            
         
         
             void glPrimitiveBoundingBoxOES
@@ -20960,6 +21413,7 @@
             GLfloat maxY
             GLfloat maxZ
             GLfloat maxW
+            
         
         
             void glPrimitiveRestartIndex
@@ -21350,7 +21804,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform1dvEXT
@@ -21377,7 +21831,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniform1fvEXT
@@ -21394,12 +21848,25 @@
             GLint v0
         
         
+            void glProgramUniform1i64ARB
+            GLuint program
+            GLint location
+            GLint64 x
+        
+        
             void glProgramUniform1i64NV
             GLuint program
             GLint location
             GLint64EXT x
         
         
+            void glProgramUniform1i64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glProgramUniform1i64vNV
             GLuint program
             GLint location
@@ -21418,7 +21885,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLint *value
+            const GLint *value
         
         
             void glProgramUniform1ivEXT
@@ -21435,12 +21902,25 @@
             GLuint v0
         
         
+            void glProgramUniform1ui64ARB
+            GLuint program
+            GLint location
+            GLuint64 x
+        
+        
             void glProgramUniform1ui64NV
             GLuint program
             GLint location
             GLuint64EXT x
         
         
+            void glProgramUniform1ui64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glProgramUniform1ui64vNV
             GLuint program
             GLint location
@@ -21459,7 +21939,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLuint *value
+            const GLuint *value
         
         
             void glProgramUniform1uivEXT
@@ -21488,14 +21968,14 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform2dvEXT
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform2f
@@ -21517,7 +21997,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniform2fvEXT
@@ -21535,6 +22015,13 @@
             GLint v1
         
         
+            void glProgramUniform2i64ARB
+            GLuint program
+            GLint location
+            GLint64 x
+            GLint64 y
+        
+        
             void glProgramUniform2i64NV
             GLuint program
             GLint location
@@ -21542,6 +22029,13 @@
             GLint64EXT y
         
         
+            void glProgramUniform2i64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glProgramUniform2i64vNV
             GLuint program
             GLint location
@@ -21561,7 +22055,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLint *value
+            const GLint *value
         
         
             void glProgramUniform2ivEXT
@@ -21579,6 +22073,13 @@
             GLuint v1
         
         
+            void glProgramUniform2ui64ARB
+            GLuint program
+            GLint location
+            GLuint64 x
+            GLuint64 y
+        
+        
             void glProgramUniform2ui64NV
             GLuint program
             GLint location
@@ -21586,6 +22087,13 @@
             GLuint64EXT y
         
         
+            void glProgramUniform2ui64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glProgramUniform2ui64vNV
             GLuint program
             GLint location
@@ -21605,7 +22113,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLuint *value
+            const GLuint *value
         
         
             void glProgramUniform2uivEXT
@@ -21636,14 +22144,14 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform3dvEXT
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform3f
@@ -21667,7 +22175,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniform3fvEXT
@@ -21686,6 +22194,14 @@
             GLint v2
         
         
+            void glProgramUniform3i64ARB
+            GLuint program
+            GLint location
+            GLint64 x
+            GLint64 y
+            GLint64 z
+        
+        
             void glProgramUniform3i64NV
             GLuint program
             GLint location
@@ -21694,6 +22210,13 @@
             GLint64EXT z
         
         
+            void glProgramUniform3i64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glProgramUniform3i64vNV
             GLuint program
             GLint location
@@ -21714,7 +22237,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLint *value
+            const GLint *value
         
         
             void glProgramUniform3ivEXT
@@ -21733,6 +22256,14 @@
             GLuint v2
         
         
+            void glProgramUniform3ui64ARB
+            GLuint program
+            GLint location
+            GLuint64 x
+            GLuint64 y
+            GLuint64 z
+        
+        
             void glProgramUniform3ui64NV
             GLuint program
             GLint location
@@ -21741,6 +22272,13 @@
             GLuint64EXT z
         
         
+            void glProgramUniform3ui64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glProgramUniform3ui64vNV
             GLuint program
             GLint location
@@ -21761,7 +22299,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLuint *value
+            const GLuint *value
         
         
             void glProgramUniform3uivEXT
@@ -21794,14 +22332,14 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform4dvEXT
             GLuint program
             GLint location
             GLsizei count
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniform4f
@@ -21827,7 +22365,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniform4fvEXT
@@ -21847,6 +22385,15 @@
             GLint v3
         
         
+            void glProgramUniform4i64ARB
+            GLuint program
+            GLint location
+            GLint64 x
+            GLint64 y
+            GLint64 z
+            GLint64 w
+        
+        
             void glProgramUniform4i64NV
             GLuint program
             GLint location
@@ -21856,6 +22403,13 @@
             GLint64EXT w
         
         
+            void glProgramUniform4i64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glProgramUniform4i64vNV
             GLuint program
             GLint location
@@ -21877,7 +22431,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLint *value
+            const GLint *value
         
         
             void glProgramUniform4ivEXT
@@ -21897,6 +22451,15 @@
             GLuint v3
         
         
+            void glProgramUniform4ui64ARB
+            GLuint program
+            GLint location
+            GLuint64 x
+            GLuint64 y
+            GLuint64 z
+            GLuint64 w
+        
+        
             void glProgramUniform4ui64NV
             GLuint program
             GLint location
@@ -21906,6 +22469,13 @@
             GLuint64EXT w
         
         
+            void glProgramUniform4ui64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glProgramUniform4ui64vNV
             GLuint program
             GLint location
@@ -21927,7 +22497,7 @@
             GLuint program
             GLint location
             GLsizei count
-            const GLuint *value
+            const GLuint *value
         
         
             void glProgramUniform4uivEXT
@@ -21944,17 +22514,32 @@
             GLuint64 value
         
         
-            void glProgramUniformHandleui64NV
+            void glProgramUniformHandleui64IMG
             GLuint program
             GLint location
             GLuint64 value
+            
         
         
-            void glProgramUniformHandleui64vARB
+            void glProgramUniformHandleui64NV
+            GLuint program
+            GLint location
+            GLuint64 value
+        
+        
+            void glProgramUniformHandleui64vARB
+            GLuint program
+            GLint location
+            GLsizei count
+            const GLuint64 *values
+        
+        
+            void glProgramUniformHandleui64vIMG
             GLuint program
             GLint location
             GLsizei count
             const GLuint64 *values
+            
         
         
             void glProgramUniformHandleui64vNV
@@ -21969,7 +22554,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2dvEXT
@@ -21977,7 +22562,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2fv
@@ -21985,7 +22570,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix2fvEXT
@@ -22002,7 +22587,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2x3dvEXT
@@ -22010,7 +22595,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2x3fv
@@ -22018,7 +22603,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix2x3fvEXT
@@ -22035,7 +22620,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2x4dvEXT
@@ -22043,7 +22628,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix2x4fv
@@ -22051,7 +22636,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix2x4fvEXT
@@ -22068,7 +22653,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3dvEXT
@@ -22076,7 +22661,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3fv
@@ -22084,7 +22669,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix3fvEXT
@@ -22101,7 +22686,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3x2dvEXT
@@ -22109,7 +22694,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3x2fv
@@ -22117,7 +22702,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix3x2fvEXT
@@ -22134,7 +22719,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3x4dvEXT
@@ -22142,7 +22727,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix3x4fv
@@ -22150,7 +22735,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix3x4fvEXT
@@ -22167,7 +22752,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4dvEXT
@@ -22175,7 +22760,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4fv
@@ -22183,7 +22768,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix4fvEXT
@@ -22200,7 +22785,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4x2dvEXT
@@ -22208,7 +22793,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4x2fv
@@ -22216,7 +22801,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix4x2fvEXT
@@ -22233,7 +22818,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4x3dvEXT
@@ -22241,7 +22826,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLdouble *value
+            const GLdouble *value
         
         
             void glProgramUniformMatrix4x3fv
@@ -22249,7 +22834,7 @@
             GLint location
             GLsizei count
             GLboolean transpose
-            const GLfloat *value
+            const GLfloat *value
         
         
             void glProgramUniformMatrix4x3fvEXT
@@ -22527,6 +23112,11 @@
             const GLfixed *coords
         
         
+            void glRasterSamplesEXT
+            GLuint samples
+            GLboolean fixedsamplelocations
+        
+        
             void glReadBuffer
             GLenum src
             
@@ -22972,6 +23562,9 @@
             void glResizeBuffersMESA
         
         
+            void glResolveDepthValuesNV
+        
+        
             void glResolveMultisampleFramebufferAPPLE
         
         
@@ -23183,6 +23776,13 @@
             
         
         
+            void glScissorArrayvOES
+            GLuint first
+            GLsizei count
+            const GLint *v
+            
+        
+        
             void glScissorIndexed
             GLuint index
             GLint left
@@ -23200,6 +23800,15 @@
             
         
         
+            void glScissorIndexedOES
+            GLuint index
+            GLint left
+            GLint bottom
+            GLsizei width
+            GLsizei height
+            
+        
+        
             void glScissorIndexedv
             GLuint index
             const GLint *v
@@ -23211,6 +23820,12 @@
             
         
         
+            void glScissorIndexedvOES
+            GLuint index
+            const GLint *v
+            
+        
+        
             void glSecondaryColor3b
             GLbyte red
             GLbyte green
@@ -23791,6 +24406,11 @@
             const void *string
         
         
+            void glSubpixelPrecisionBiasNV
+            GLuint xbits
+            GLuint ybits
+        
+        
             void glSwizzleEXT
             GLuint res
             GLuint in
@@ -25650,11 +26270,22 @@
             GLint v0
         
         
+            void glUniform1i64ARB
+            GLint location
+            GLint64 x
+        
+        
             void glUniform1i64NV
             GLint location
             GLint64EXT x
         
         
+            void glUniform1i64vARB
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glUniform1i64vNV
             GLint location
             GLsizei count
@@ -25685,11 +26316,22 @@
             GLuint v0
         
         
+            void glUniform1ui64ARB
+            GLint location
+            GLuint64 x
+        
+        
             void glUniform1ui64NV
             GLint location
             GLuint64EXT x
         
         
+            void glUniform1ui64vARB
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glUniform1ui64vNV
             GLint location
             GLsizei count
@@ -25759,12 +26401,24 @@
             GLint v1
         
         
+            void glUniform2i64ARB
+            GLint location
+            GLint64 x
+            GLint64 y
+        
+        
             void glUniform2i64NV
             GLint location
             GLint64EXT x
             GLint64EXT y
         
         
+            void glUniform2i64vARB
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glUniform2i64vNV
             GLint location
             GLsizei count
@@ -25797,12 +26451,24 @@
             GLuint v1
         
         
+            void glUniform2ui64ARB
+            GLint location
+            GLuint64 x
+            GLuint64 y
+        
+        
             void glUniform2ui64NV
             GLint location
             GLuint64EXT x
             GLuint64EXT y
         
         
+            void glUniform2ui64vARB
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glUniform2ui64vNV
             GLint location
             GLsizei count
@@ -25877,6 +26543,13 @@
             GLint v2
         
         
+            void glUniform3i64ARB
+            GLint location
+            GLint64 x
+            GLint64 y
+            GLint64 z
+        
+        
             void glUniform3i64NV
             GLint location
             GLint64EXT x
@@ -25884,6 +26557,12 @@
             GLint64EXT z
         
         
+            void glUniform3i64vARB
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glUniform3i64vNV
             GLint location
             GLsizei count
@@ -25918,6 +26597,13 @@
             GLuint v2
         
         
+            void glUniform3ui64ARB
+            GLint location
+            GLuint64 x
+            GLuint64 y
+            GLuint64 z
+        
+        
             void glUniform3ui64NV
             GLint location
             GLuint64EXT x
@@ -25925,6 +26611,12 @@
             GLuint64EXT z
         
         
+            void glUniform3ui64vARB
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glUniform3ui64vNV
             GLint location
             GLsizei count
@@ -26004,6 +26696,14 @@
             GLint v3
         
         
+            void glUniform4i64ARB
+            GLint location
+            GLint64 x
+            GLint64 y
+            GLint64 z
+            GLint64 w
+        
+        
             void glUniform4i64NV
             GLint location
             GLint64EXT x
@@ -26012,6 +26712,12 @@
             GLint64EXT w
         
         
+            void glUniform4i64vARB
+            GLint location
+            GLsizei count
+            const GLint64 *value
+        
+        
             void glUniform4i64vNV
             GLint location
             GLsizei count
@@ -26048,6 +26754,14 @@
             GLuint v3
         
         
+            void glUniform4ui64ARB
+            GLint location
+            GLuint64 x
+            GLuint64 y
+            GLuint64 z
+            GLuint64 w
+        
+        
             void glUniform4ui64NV
             GLint location
             GLuint64EXT x
@@ -26056,6 +26770,12 @@
             GLuint64EXT w
         
         
+            void glUniform4ui64vARB
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+        
+        
             void glUniform4ui64vNV
             GLint location
             GLsizei count
@@ -26101,6 +26821,12 @@
             GLuint64 value
         
         
+            void glUniformHandleui64IMG
+            GLint location
+            GLuint64 value
+            
+        
+        
             void glUniformHandleui64NV
             GLint location
             GLuint64 value
@@ -26112,6 +26838,13 @@
             const GLuint64 *value
         
         
+            void glUniformHandleui64vIMG
+            GLint location
+            GLsizei count
+            const GLuint64 *value
+            
+        
+        
             void glUniformHandleui64vNV
             GLint location
             GLsizei count
@@ -28883,6 +29616,13 @@
             
         
         
+            void glViewportArrayvOES
+            GLuint first
+            GLsizei count
+            const GLfloat *v
+            
+        
+        
             void glViewportIndexedf
             GLuint index
             GLfloat x
@@ -28891,6 +29631,15 @@
             GLfloat h
         
         
+            void glViewportIndexedfOES
+            GLuint index
+            GLfloat x
+            GLfloat y
+            GLfloat w
+            GLfloat h
+            
+        
+        
             void glViewportIndexedfNV
             GLuint index
             GLfloat x
@@ -28905,12 +29654,32 @@
             const GLfloat *v
         
         
+            void glViewportIndexedfvOES
+            GLuint index
+            const GLfloat *v
+            
+        
+        
             void glViewportIndexedfvNV
             GLuint index
             const GLfloat *v
             
         
         
+            void glViewportPositionWScaleNV
+            GLuint index
+            GLfloat xcoeff
+            GLfloat ycoeff
+        
+        
+            void glViewportSwizzleNV
+            GLuint index
+            GLenum swizzlex
+            GLenum swizzley
+            GLenum swizzlez
+            GLenum swizzlew
+        
+        
             void glWaitSync
             GLsync sync
             GLbitfield flags
@@ -29341,6 +30110,12 @@
             const GLshort *v
         
         
+            void glWindowRectanglesEXT
+            GLenum mode
+            GLsizei count
+            const GLint *box
+        
+        
             void glWriteMaskEXT
             GLuint res
             GLuint in
@@ -29349,51 +30124,7 @@
             GLenum outZ
             GLenum outW
         
-        
-            void glCoverageModulationNV
-            GLenum components
-        
-        
-            void glCoverageModulationTableNV
-            GLsizei n
-            const GLfloat *v
-        
-        
-            void glFragmentCoverageColorNV
-            GLuint color
-        
-        
-            void glFramebufferSampleLocationsfvNV
-            GLenum target
-            GLuint start
-            GLsizei count
-            const GLfloat *v
-        
-        
-            void glGetCoverageModulationTableNV
-            GLsizei bufsize
-            GLfloat *v
-        
-        
-            void glNamedFramebufferSampleLocationsfvNV
-            GLuint framebuffer
-            GLuint start
-            GLsizei count
-            const GLfloat *v
-        
-        
-            void glRasterSamplesEXT
-            GLuint samples
-            GLboolean fixedsamplelocations
-        
-        
-            void glResolveDepthValuesNV
-        
-        
-            void glSubpixelPrecisionBiasNV
-            GLuint xbits
-            GLuint ybits
-        
+
     
 
     
@@ -35100,6 +35831,726 @@
             
         
     
+    
+        
+        
+            
+            
+        
+        
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+        
+        
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+        
+        
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+        
+        
+            
+            
+        
+        
+        
+            
+            
+            
+            
+            
+            
+        
+    
+    
+        
+            
+            
+            
+        
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+    
 
     
     
@@ -35178,7 +36629,36 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -35290,7 +36770,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -35341,8 +36821,10 @@
             
         
         
+        
         
         
+        
         
             
                 
@@ -35591,7 +37073,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -35760,6 +37242,14 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -36311,6 +37801,7 @@
                 
             
         
+        
         
             
                 
@@ -36520,6 +38011,54 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -36958,6 +38497,13 @@
                 
             
         
+        
+            
+                
+                
+                
+            
+        
         
             
                 
@@ -36997,6 +38543,7 @@
                 
             
         
+        
         
             
                 
@@ -37110,6 +38657,21 @@
             
         
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -37219,6 +38781,7 @@
                 
             
         
+        
         
             
                 
@@ -37253,7 +38816,9 @@
                 
             
         
+        
         
+        
         
         
         
@@ -37453,6 +39018,7 @@
         
         
         
+        
         
             
                 
@@ -37514,6 +39080,8 @@
                 
             
         
+        
+        
         
             
                 
@@ -37722,6 +39290,12 @@
                 
             
         
+        
+            
+                
+                
+            
+        
         
             
                 
@@ -38833,6 +40407,14 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -38881,6 +40463,21 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -38923,6 +40520,27 @@
                 
             
         
+        
+            
+                
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -38936,6 +40554,7 @@
                 
             
         
+        
         
             
                 
@@ -38960,6 +40579,7 @@
                 
             
         
+        
         
             
                 
@@ -39060,7 +40680,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -39076,7 +40696,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -39571,7 +41191,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -39584,6 +41204,12 @@
                 
             
         
+        
+            
+                
+                
+            
+        
         
         
             
@@ -39947,6 +41573,12 @@
                 
             
         
+        
+            
+                
+                
+            
+        
         
             
                 
@@ -40070,19 +41702,25 @@
                 
             
         
-        
+        
             
                 
                 
             
         
-        
+        
         
             
                 
                 
             
         
+        
+            
+                
+                
+            
+        
         
             
                 
@@ -40102,7 +41740,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -40194,7 +41832,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -40269,6 +41907,7 @@
                 
             
         
+        
         
         
             
@@ -40332,8 +41971,9 @@
             
         
         
-        
+        
         
+        
         
             
                 
@@ -40341,6 +41981,16 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+            
+        
         
         
         
@@ -40374,7 +42024,7 @@
                 
                 
                 
-                
+                
                 
             
         
@@ -40600,7 +42250,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -40675,7 +42325,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -40824,13 +42474,6 @@
                 
             
         
-        
-            
-                
-                
-                
-            
-        
         
             
                 
@@ -40841,6 +42484,13 @@
                 
             
         
+        
+            
+                
+                
+                
+            
+        
         
             
                 
@@ -41229,12 +42879,15 @@
                 
             
         
-        
+        
             
-                
-                
-                
-                
+                
+                
+                
+                
+                
+                
+                
             
         
         
@@ -41360,6 +43013,26 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -41411,6 +43084,13 @@
                 
             
         
+        
+            
+                
+                
+                
+            
+        
         
             
                 
@@ -41446,7 +43126,17 @@
                 
             
         
+        
+            
+                
+            
+        
         
+        
+            
+                
+            
+        
         
             
                 
@@ -41471,7 +43161,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -41505,9 +43195,8 @@
                 
             
         
-        
+        
             
-                
                 
                 
                 
@@ -41523,9 +43212,10 @@
                 
                 
                 
+                
             
         
-        
+        
             
                 
             
@@ -41757,6 +43447,7 @@
                 
             
         
+        
         
             
                 
@@ -41839,7 +43530,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -41856,7 +43547,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -41913,12 +43604,20 @@
                 
             
         
-        
+        
             
                 
             
         
         
+        
+            
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -41965,7 +43664,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -41975,7 +43674,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -41984,6 +43683,23 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+            
+        
+        
+            
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -42183,7 +43899,7 @@
                 
             
         
-        
+        
             
                 
             
@@ -42215,7 +43931,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -42251,7 +43967,7 @@
         
         
         
-        
+        
         
             
                 
@@ -42261,7 +43977,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -42326,7 +44042,7 @@
             
         
         
-        
+        
         
             
                 
@@ -42370,7 +44086,7 @@
             
         
         
-        
+        
             
                 
                 
@@ -42496,7 +44212,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -42575,7 +44291,7 @@
             
         
         
-        
+        
             
                 
                 
@@ -42815,6 +44531,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -42954,11 +44675,6 @@
                 
             
         
-        
-            
-                
-            
-        
         
             
                 
@@ -42966,6 +44682,11 @@
                 
             
         
+        
+            
+                
+            
+        
         
             
                 
@@ -42980,7 +44701,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -42995,10 +44716,11 @@
                 
             
         
-        
+        
         
         
-        
+        
+        
         
         
             
@@ -43048,6 +44770,7 @@
                 
             
         
+        
         
             
                 
@@ -43655,7 +45378,24 @@
                 
             
         
-        
+        
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -43755,12 +45495,12 @@
                 
             
         
-        
+        
             
                 
             
         
-        
+        
             
                 
             
@@ -44012,6 +45752,7 @@
                 
             
         
+        
         
             
                 
@@ -44050,7 +45791,6 @@
                 
             
         
-        
         
             
                 
@@ -44162,7 +45902,7 @@
                 
             
         
-        
+        
             
                 
                 
@@ -44195,7 +45935,7 @@
                 
             
         
-        
+        
             
                 
             
@@ -44226,6 +45966,7 @@
                 
             
         
+        
         
             
                 
@@ -44278,7 +46019,6 @@
                 
             
         
-        
         
             
                 
@@ -44447,12 +46187,12 @@
         
         
             
-                
                 
                 
                 
                 
                 
+                
             
         
         
@@ -44485,6 +46225,30 @@
                 
             
         
+        
+            
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+                
+            
+        
         
             
                 
@@ -44507,15 +46271,21 @@
                 
             
         
-        
+        
             
                 
                 
                 
+                
                 
             
         
-        
+        
+        
+            
+                
+            
+        
         
             
                 
diff -Nru libepoxy-1.3.1/registry/glx.xml libepoxy-1.4.3/registry/glx.xml
--- libepoxy-1.3.1/registry/glx.xml	2015-07-15 21:07:25.000000000 +0000
+++ libepoxy-1.4.3/registry/glx.xml	2017-11-13 11:34:09.000000000 +0000
@@ -1,7 +1,7 @@