This manual is for GNU Autoconf Archive version 2024.10.16, a collection
of freely reusable Autoconf macros.

Copyright © 2022 Autoconf Archive Maintainers
<autoconf-archive-maintainers@gnu.org>

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

ax_prog_mysqlshow
=================

Synopsis
********

     AX_PROG_MYSQLSHOW

Description
***********

Check for the program 'mysqlshow' let script continue if exists & works
pops up error message if not.

Testing of functionality is by invoking it with root password
'rootpass'.  If it works, it should show all databases currently in
system.

Besides checking mysql, this macro also set these environment variables
upon completion:

       MYSQLSHOW = which mysqlshow

Source Code
***********

Download the latest version of ‘ax_prog_mysqlshow.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_mysqlshow.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_mysqlshow.m4).

License
*******

Copyright © 2008 Gleen Salmon <gleensalmon@yahoo.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_nasm
============

Synopsis
********

     AX_PROG_NASM([ACTION-IF-NOT-FOUND])

Description
***********

This macro searches for the NASM assembler and sets the variable "nasm"
to the name of the application or to "no" if not found.  If
ACTION-IF-NOT-FOUND is not specified, configure will fail when the
program is not found.

Example:

       AX_PROG_NASM()
       AX_PROG_NASM([nasm_avail="no"])

Source Code
***********

Download the latest version of ‘ax_prog_nasm.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_nasm.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_nasm.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_nasm_opt
================

Synopsis
********

     AX_PROG_NASM_OPT(option, var_name)

Description
***********

This macro checks if the NASM assembler accepts the given option.  If
yes, the option is appended to the variable 'var_name', otherwise
'var_name' is unchanged.

Example:

       AX_PROG_NASM_OPT([-f obj], [NASM_OPTS])

Source Code
***********

Download the latest version of ‘ax_prog_nasm_opt.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_nasm_opt.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_nasm_opt.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_perl_modules
====================

Synopsis
********

     AX_PROG_PERL_MODULES([MODULES], [ACTION-IF-TRUE], [ACTION-IF-FALSE])

Description
***********

Checks to see if the given perl modules are available.  If true the
shell commands in ACTION-IF-TRUE are executed.  If not the shell
commands in ACTION-IF-FALSE are run.  Note if $PERL is not set (for
example by calling AC_CHECK_PROG, or AC_PATH_PROG), AC_CHECK_PROG(PERL,
perl, perl) will be run.

MODULES is a space separated list of module names.  To check for a
minimum version of a module, append the version number to the module
name, separated by an equals sign.

Example:

       AX_PROG_PERL_MODULES( Text::Wrap Net::LDAP=1.0.3, ,
                             AC_MSG_WARN(Need some Perl modules)

Source Code
***********

Download the latest version of ‘ax_prog_perl_modules.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_perl_modules.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_perl_modules.m4).

License
*******

Copyright © 2009 Dean Povey <povey@wedgetail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_perl_version
====================

Synopsis
********

     AX_PROG_PERL_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])

Description
***********

Makes sure that perl supports the version indicated.  If true the shell
commands in ACTION-IF-TRUE are executed.  If not the shell commands in
ACTION-IF-FALSE are run.  Note if $PERL is not set (for example by
running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail.

Example:

       AC_PATH_PROG([PERL],[perl])
       AX_PROG_PERL_VERSION([5.8.0],[ ... ],[ ... ])

This will check to make sure that the perl you have supports at least
version 5.8.0.

NOTE: This macro uses the $PERL variable to perform the check.
AX_WITH_PERL can be used to set that variable prior to running this
macro.  The $PERL_VERSION variable will be valorized with the detected
version.

Source Code
***********

Download the latest version of ‘ax_prog_perl_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_perl_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_perl_version.m4).

License
*******

Copyright © 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_pgclient
================

Synopsis
********

     AX_PROG_PGCLIENT()

Description
***********

This macro searches for a program called 'pgclient'.  If found the
variable $pgclient is set to its path.  Else it is set to 0.  An option
is added to the configure script for setting an search path instead of
$PATH ($pgclient_dir).  If pgclient is necessary for installing your
program, you can do something like the following to stop configure with
an error if pgclient wasn't found:

       if test "x$pgclient" = "x0"; then AC_MSG_ERROR([We need that to setup the database!]); fi

pgclient can be found at http://pgclient.freesources.org

Source Code
***********

Download the latest version of ‘ax_prog_pgclient.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_pgclient.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_pgclient.m4).

License
*******

Copyright © 2008 Moritz Sinn <moritz@freesources.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_python_version
======================

Synopsis
********

     AX_PROG_PYTHON_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])

Description
***********

Makes sure that python supports the version indicated.  If true the
shell commands in ACTION-IF-TRUE are executed.  If not the shell
commands in ACTION-IF-FALSE are run.  Note if $PYTHON is not set (for
example by running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail.

Example:

       AC_PATH_PROG([PYTHON],[python])
       AX_PROG_PYTHON_VERSION([2.4.4],[ ... ],[ ... ])

This will check to make sure that the python you have supports at least
version 2.4.4.

NOTE: This macro uses the $PYTHON variable to perform the check.
AX_WITH_PYTHON can be used to set that variable prior to running this
macro.  The $PYTHON_VERSION variable will be valorized with the detected
version.

Source Code
***********

Download the latest version of ‘ax_prog_python_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_python_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_python_version.m4).

License
*******

Copyright © 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_robot
=============

Synopsis
********

     AX_PROG_ROBOT([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])

Description
***********

This macro searches for the "robot" command from the Robot Framework and
sets the variable "ROBOT" to the name of the application and the
"ROBOT_VERSION" variable to the version of the Robot Framework.  When
robot is found sets the "HAS_ROBOT" to "yes", otherwise to "no".

Example:

       AX_PROG_ROBOT([3.1.0], [], [])

Source Code
***********

Download the latest version of ‘ax_prog_robot.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_robot.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_robot.m4).

License
*******

Copyright © 2020, Adam Chyla <adam@chyla.org>

Distributed under the terms of the BSD 3-Clause License.

ax_prog_ruby_version
====================

Synopsis
********

     AX_PROG_RUBY_VERSION([VERSION],[ACTION-IF-TRUE],[ACTION-IF-FALSE])

Description
***********

Makes sure that ruby supports the version indicated.  If true the shell
commands in ACTION-IF-TRUE are executed.  If not the shell commands in
ACTION-IF-FALSE are run.  Note if $RUBY is not set (for example by
running AC_CHECK_PROG or AC_PATH_PROG) the macro will fail.

Example:

       AC_PATH_PROG([RUBY],[ruby])
       AC_PROG_RUBY_VERSION([1.8.0],[ ... ],[ ... ])

This will check to make sure that the ruby you have supports at least
version 1.6.0.

NOTE: This macro uses the $RUBY variable to perform the check.
AX_WITH_PROG([RUBY],[ruby],[VALUE-IF-NOT-FOUND],[PATH]) can be used to
set that variable prior to running this macro.  The $RUBY_VERSION
variable will be valorized with the detected version.

Source Code
***********

Download the latest version of ‘ax_prog_ruby_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_ruby_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_ruby_version.m4).

License
*******

Copyright © 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_scala
=============

Synopsis
********

     AX_PROG_SCALA

Description
***********

AX_PROG_SCALA will check that scala is available.  If it is SCALA will
be set to its path and SCALA_VERSION will be set to its version.

Hint: AX_COMPARE_VERSION can be used to check if SCALA_VERSION has an
acceptable value.

Source Code
***********

Download the latest version of ‘ax_prog_scala.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_scala.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_scala.m4).

License
*******

Copyright © 2013 Sveinung Kvilhaugsvik <sveinung84@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_scalac
==============

Synopsis
********

     AX_PROG_SCALAC

Description
***********

AX_PROG_SCALAC will check that a scala compiler is available, that it
works and set SCALAC for the Makefile.

AX_PROG_SCALAC will search the path for a Scala compiler.  To choose
another compiler use the environment variable SCALAC.

Source Code
***********

Download the latest version of ‘ax_prog_scalac.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_scalac.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_scalac.m4).

License
*******

Copyright © 2013 Sveinung Kvilhaugsvik <sveinung84@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_scp
===========

Synopsis
********

     AX_PROG_SCP

Description
***********

Check for the program 'scp', let script continue if exists, pops up
error message if not.

Besides checking existence, this macro also set these environment
variables upon completion:

       SCP = which scp

Source Code
***********

Download the latest version of ‘ax_prog_scp.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_scp.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_scp.m4).

License
*******

Copyright © 2008 Gleen Salmon <gleensalmon@yahoo.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_splint
==============

Synopsis
********

     AX_PROG_SPLINT([AX_SPLINTFLAGS])

Description
***********

Check for program splint, the static C code checking tool.  The splint
URL is given by http://www.splint.org.  This macro should be use
together with automake.

Enables following environment variables:

       SPLINT
       SPLINTFLAGS

and AX_SPLINTFLAGS is given by AC_SUBST. If AX_SPLINTFLAGS is not given
by AX_PROG_SPLINT it defaults to "-weak".

Enables the following make target:

       splint-check

which runs splint per PROGRAMS and LIBRARIES. Output from splint run is
collected in file ***_splint.log where *** is given by the PROGRAMS or
LIBRARIES name.

The following line is required in Makefile.am:

       include aminclude_static.am

Source Code
***********

Download the latest version of ‘ax_prog_splint.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_splint.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_splint.m4).

License
*******

Copyright © 2011 Henrik Uhrenholt

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_prog_ssh
===========

Synopsis
********

     AX_PROG_SSH

Description
***********

Check for the program 'ssh', let script continue if exists, pops up
error message if not.

Besides checking existence, this macro also set these environment
variables upon completion:

       SSH = which ssh

Source Code
***********

Download the latest version of ‘ax_prog_ssh.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_ssh.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_ssh.m4).

License
*******

Copyright © 2008 Gleen Salmon <gleensalmon@yahoo.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_tasm
============

Synopsis
********

     AX_PROG_TASM([ACTION-IF-NOT-FOUND])

Description
***********

This macro searches for the TASM assembler and sets the variable "tasm"
to the name of the application or to "no" if not found.  If
ACTION-IF-NOT-FOUND is not specified, configure will fail when the
program is not found.

Example:

       AX_PROG_TASM()
       AX_PROG_TASM([tasm_avail="no"])

Source Code
***********

Download the latest version of ‘ax_prog_tasm.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_tasm.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_tasm.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_tasm_opt
================

Synopsis
********

     AX_PROG_TASM_OPT(option, var_name)

Description
***********

This macro checks if the TASM assembler accepts the given option.  If
yes, the option is appended to the variable 'var_name', otherwise
'var_name' is unchanged.

Example:

       AX_PROG_TASM_OPT([/z], [TASM_OPTS])

Source Code
***********

Download the latest version of ‘ax_prog_tasm_opt.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_tasm_opt.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_tasm_opt.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_tcl
===========

Synopsis
********

     AX_PROG_TCL([min-version])

Description
***********

Searches for tcl (tclsh and wish) in PATH and checks which version is
installed.  The macro bails out if either tcl is not found or the
minimum version is not satisfied, unless minimum version is "0".

Example:

      AX_PROG_TCL

This checks for tcl and if not found, exits with an error.  If found, it
prints tcl path and version number.

      AX_PROG_TCL([8.0])

Checks for tcl and exits with an error if its not found or the version
is below 8.0.

Source Code
***********

Download the latest version of ‘ax_prog_tcl.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_tcl.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_tcl.m4).

License
*******

Copyright © 2008 David Cluytens
Copyright © 2008 Uwe Mayer <merkosh@hadiko.de>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_xsltproc
================

Synopsis
********

     AX_PROG_XSLTPROC([default-flags])

Description
***********

Find an xsltproc executable.

Input:

"default-flags" is the default $XSLTPROC_FLAGS, which will be overridden
if the user specifies -with-xsltproc-flags.

Output:

$XSLTPROC contains the path to xsltproc, or is empty if none was found
or the user specified -without-xsltproc.  $XSLTPROC_FLAGS contains the
flags to use with xsltproc.

Source Code
***********

Download the latest version of ‘ax_prog_xsltproc.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_xsltproc.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_xsltproc.m4).

License
*******

Copyright © 2008,2009 Zmanda Inc.  <http://www.zmanda.com/>
Copyright © 2008,2009 Dustin J. Mitchell <dustin@zmanda.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_yasm
============

Synopsis
********

     AX_PROG_YASM([ACTION-IF-NOT-FOUND])

Description
***********

This macro searches for the YASM assembler and sets the variable "yasm"
to the name of the application or to "no" if not found.  If
ACTION-IF-NOT-FOUND is not specified, configure will fail when the
program is not found.

Example:

       AX_PROG_YASM()
       AX_PROG_YASM([yasm_avail="no"])

Source Code
***********

Download the latest version of ‘ax_prog_yasm.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_yasm.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_yasm.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prog_yasm_opt
================

Synopsis
********

     AX_PROG_YASM_OPT(option, var_name)

Description
***********

This macro checks if the YASM assembler accepts the given option.  If
yes, the option is appended to the variable 'var_name', otherwise
'var_name' is unchanged.

Example:

       AX_PROG_YASM_OPT([-f bin], [YASM_OPTS])

Source Code
***********

Download the latest version of ‘ax_prog_yasm_opt.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_yasm_opt.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_yasm_opt.m4).

License
*******

Copyright © 2007,2009,2022 Bogdan Drozdowski <bogdro@users.sourceforge.net>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prototype
============

Synopsis
********

     AX_PROTOTYPE(function, includes, code, TAG1, values1 [, TAG2, values2 [...]])

Description
***********

Try all the combinations of <TAG1>, <TAG2>...  to successfully compile
<code>.  <TAG1>, <TAG2>, ...  are substituted in <code> and <include>
with values found in <values1>, <values2>, ...  respectively.
<values1>, <values2>, ...  contain a list of possible values for each
corresponding tag and all combinations are tested.  When
AC_TRY_COMPILE(include, code) is successful for a given substitution,
the macro stops and defines the following macros: FUNCTION_TAG1,
FUNCTION_TAG2, ...  using AC_DEFINE() with values set to the current
values of <TAG1>, <TAG2>, ...  If no combination is successful the
configure script is aborted with a message.

Intended purpose is to find which combination of argument types is
acceptable for a given function <function>.  It is recommended to list
the most specific types first.  For instance ARG1, [size_t, int] instead
of ARG1, [int, size_t].

Generic usage pattern:

1) add a call in configure.ac

      AX_PROTOTYPE(...)

2) call autoheader to see which symbols are not covered

3) add the lines in config.h

      /* Type of Nth argument of function */
      #undef FUNCTION_ARGN

4) Within the code use FUNCTION_ARGN instead of an hardwired type

Complete example:

1) configure.ac

      AX_PROTOTYPE(getpeername,
      [
       #include <sys/types.h>
       #include <sys/socket.h>
      ],
      [
       int a = 0;
       ARG2 * b = 0;
       ARG3 * c = 0;
       getpeername(a, b, c);
      ],
      ARG2, [struct sockaddr, void],
      ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int])

2) call autoheader

      autoheader: Symbol `GETPEERNAME_ARG2' is not covered by ./config.h
      autoheader: Symbol `GETPEERNAME_ARG3' is not covered by ./config.h

3) config.h

      /* Type of second argument of getpeername */
      #undef GETPEERNAME_ARG2

      /* Type of third argument of getpeername */
      #undef GETPEERNAME_ARG3

4) in the code

       ...
       GETPEERNAME_ARG2 name;
       GETPEERNAME_ARG3 namelen;
       ...
       ret = getpeername(socket, &name, &namelen);
       ...

Implementation notes: generating all possible permutations of the
arguments is not easily done with the usual mixture of shell and m4,
that is why this macro is almost 100% m4 code.  It generates long but
simple to read code.

Source Code
***********

Download the latest version of ‘ax_prototype.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prototype.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prototype.m4).

License
*******

Copyright © 2009 Loic Dachary <loic@senga.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prototype_accept
===================

Synopsis
********

     AX_PROTOTYPE_ACCEPT

Description
***********

Requires the AX_PROTOTYPE macro.  FIXME: Put this in the code!

Find the type of argument two and three of accept.  User must include
the following in acconfig.h:

      /* Type of second argument of accept */
      #undef ACCEPT_ARG2

      /* Type of third argument of accept */
      #undef ACCEPT_ARG3

Source Code
***********

Download the latest version of ‘ax_prototype_accept.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prototype_accept.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prototype_accept.m4).

License
*******

Copyright © 2008 Loic Dachary <loic@senga.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prototype_getsockname
========================

Synopsis
********

     AX_PROTOTYPE_GETSOCKNAME

Description
***********

Requires the AX_PROTOTYPE macro.  FIXME: Put this in the code!

Find the type of argument two and three of getsockname.  User must
include the following in acconfig.h:

      /* Type of second argument of getsockname */
      #undef GETSOCKNAME_ARG2

      /* Type of third argument of getsockname */
      #undef GETSOCKNAME_ARG3

Source Code
***********

Download the latest version of ‘ax_prototype_getsockname.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prototype_getsockname.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prototype_getsockname.m4).

License
*******

Copyright © 2008 Loic Dachary <loic@senga.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_prototype_setsockopt
=======================

Synopsis
********

     AX_PROTOTYPE_SETSOCKOPT

Description
***********

Requires the AX_PROTOTYPE macro.  FIXME: Put this in the code!

Find the type of argument three of setsockopt.  User must include the
following in acconfig.h:

      /* Type of third argument of setsockopt */
      #undef SETSOCKOPT_ARG3

Source Code
***********

Download the latest version of ‘ax_prototype_setsockopt.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prototype_setsockopt.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prototype_setsockopt.m4).

License
*******

Copyright © 2008 Loic Dachary <loic@senga.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_pthread
==========

Synopsis
********

     AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])

Description
***********

This macro figures out how to build C programs using POSIX threads.  It
sets the PTHREAD_LIBS output variable to the threads library and linker
flags, and the PTHREAD_CFLAGS output variable to any special C compiler
flags that are needed.  (The user can also force certain compiler
flags/libs to be tested by setting these environment variables.)

Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is
needed for multi-threaded programs (defaults to the value of CC
respectively CXX otherwise).  (This is necessary on e.g.  AIX to use the
special cc_r/CC_r compiler alias.)

NOTE: You are assumed to not only compile your program with these flags,
but also to link with them as well.  For example, you might link with
$PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ...  $PTHREAD_LIBS $LIBS
$PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ...  $PTHREAD_LIBS $LIBS

If you are only building threaded programs, you may wish to use these
variables in your default LIBS, CFLAGS, and CC:

       LIBS="$PTHREAD_LIBS $LIBS"
       CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
       CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
       CC="$PTHREAD_CC"
       CXX="$PTHREAD_CXX"

In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
that name (e.g.  PTHREAD_CREATE_UNDETACHED on AIX).

Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
PTHREAD_PRIO_INHERIT symbol is defined when compiling with
PTHREAD_CFLAGS.

ACTION-IF-FOUND is a list of shell commands to run if a threads library
is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
is not found.  If ACTION-IF-FOUND is not specified, the default action
will define HAVE_PTHREAD.

Please let the authors know if this macro fails on any platform, or if
you have any other suggestions or comments.  This macro was based on
work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with
help from M. Frigo), as well as ac_pthread and hb_pthread macros posted
by Alejandro Forero Cuervo to the autoconf macro repository.  We are
also grateful for the helpful feedback of numerous users.

Updated for Autoconf 2.68 by Daniel Richard G.

Source Code
***********

Download the latest version of ‘ax_pthread.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_pthread.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_pthread.m4).

License
*******

Copyright © 2008 Steven G. Johnson <stevenj@alum.mit.edu>
Copyright © 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
Copyright © 2019 Marc Stevens <marc.stevens@cwi.nl>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_python
=========

Synopsis
********

     AX_PYTHON

Description
***********

This macro does a complete Python development environment check.

It checks for all known versions.  When it finds an executable, it looks
to find the header files and library.

It sets PYTHON_BIN to the name of the python executable,
PYTHON_INCLUDE_DIR to the directory holding the header files, and
PYTHON_LIB to the name of the Python library.

This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG),
PYTHON_INCLUDE_DIR and PYTHON_LIB.

Source Code
***********

Download the latest version of ‘ax_python.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python.m4).

License
*******

Copyright © 2008 Michael Tindal

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_python_config_var
====================

Synopsis
********

     AX_PYTHON_CONFIG_VAR(PYTHON_VARIABLE, [SHELL_VARIABLE])
     AX_PYTHON_CONFIG_H
     AX_PYTHON_MAKEFILE

Description
***********

AX_PYTHON_CONFIG_VAR:

Using the Python module distutils.sysconfig[1], return a Python
configuration variable.  PYTHON_VARIABLE is the name of the variable to
request from Python, and SHELL_VARIABLE is the name of the shell
variable into which the results should be deposited.  If SHELL_VARIABLE
is not specified, the macro will prefix PY_ to the PYTHON_VARIABLE,
e.g., LIBS -> PY_LIBS.

SHELL_VARIABLE is AC_SUBST'd.  No action is taken if an error occurs.
Note if $PYTHON is not set, AC_CHECK_PROG(PYTHON, python, python) will
be run.

Example:

       AX_PYTHON_CONFIG_VAR(LINKFORSHARED, PY_LFS)

AX_PYTHON_CONFIG_H:

Using the Python module distutils.sysconfig[1], put the full pathname of
the config.h file used to compile Python into the shell variable
PY_CONFIG_H. PY_CONFIG_H is AC_SUBST'd.  Note if $PYTHON is not set,
AC_CHECK_PROG(PYTHON, python, python) will be run.

AX_PYTHON_MAKEFILE:

Using the Python module distutils.sysconfig[1], put the full pathname of
the Makefile file used to compile Python into the shell variable
PY_MAKEFILE. PY_MAKEFILE is AC_SUBST'd.  Note if $PYTHON is not set,
AC_CHECK_PROG(PYTHON, python, python) will be run.

[1]
http://www.python.org/doc/current/dist/module-distutils.sysconfig.html

Source Code
***********

Download the latest version of ‘ax_python_config_var.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python_config_var.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python_config_var.m4).

License
*******

Copyright © 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_python_devel
===============

Synopsis
********

     AX_PYTHON_DEVEL([version[,optional]])

Description
***********

Note: Defines as a precious variable "PYTHON_VERSION". Don't override it
in your configure.ac.

This macro checks for Python and tries to get the include path to
'Python.h'.  It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS)
output variables.  It also exports $(PYTHON_EXTRA_LIBS) and
$(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.

You can search for some particular version of Python by passing a
parameter to this macro, for example ">= '2.3.1'", or "== '2.4'".
Please note that you *have* to pass also an operator along with the
version to match, and pay special attention to the single quotes
surrounding the version number.  Don't use "PYTHON_VERSION" for this:
that environment variable is declared as precious and thus reserved for
the end-user.

By default this will fail if it does not detect a development version of
python.  If you want it to continue, set optional to true, like
AX_PYTHON_DEVEL([], [true]).  The ax_python_devel_found variable will be
"no" if it fails.

This macro should work for all versions of Python >= 2.1.0.  As an end
user, you can disable the check for the python version by setting the
PYTHON_NOVERSIONCHECK environment variable to something else than the
empty string.

If you need to use this macro for an older Python version, please
contact the authors.  We're always open for feedback.

Source Code
***********

Download the latest version of ‘ax_python_devel.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python_devel.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python_devel.m4).

License
*******

Copyright © 2009 Sebastian Huber <sebastian-huber@web.de>
Copyright © 2009 Alan W. Irwin
Copyright © 2009 Rafael Laboissiere <rafael@laboissiere.net>
Copyright © 2009 Andrew Collier
Copyright © 2009 Matteo Settenvini <matteo@member.fsf.org>
Copyright © 2009 Horst Knorr <hk_classes@knoda.org>
Copyright © 2013 Daniel Mullner <muellner@math.stanford.edu>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_python_embed
===============

Synopsis
********

     AX_PYTHON_DEFAULT
     AX_PYTHON_ENABLE
     AX_PYTHON_WITH
     AX_PYTHON_PATH
     AX_PYTHON_VERSION_ENSURE( [2.2] )
     AX_PYTHON_CSPEC
     AX_PYTHON_LSPEC

Description
***********

This file provides autoconf support for those applications that want to
embed python.  It supports all pythons >= 2.2 which is the first
official release containing distutils.  Version 2.2 of python was
released December 21, 2001.  Since it actually executes the python,
cross platform configuration will probably not work.  Also, most of the
platforms supported are consistent until you look into Mac OS X. The
python included with it is installed as a framework which is a very
different environment to set up the normal tools such as gcc and libtool
to deal with.  Therefore, once we establish which python that we are
going to use, we use its distutils to actually compile and link our
modules or applications.

At this time, it does NOT support linking with Python statically.  It
does support dynamic linking.

This set of macros help define $PYTHON, $PYTHON_USE, $PYTHON_CSPEC and
$PYTHON_LSPEC. $PYTHON defines the full executable path for the Python
being linked to and is used within these macros to determine if that has
been specified or found.  These macros do execute this python version so
it must be present on the system at configure time.

$PYTHON_USE is an automake variable that defines whether Python support
should be included or not in your application.  $PYTHON_CSPEC is a
variable that supplies additional CFLAGS for the compilation of the
application/shared library.  $PYTHON_LSPEC is a variable that supplies
additional LDFLAGS for linking the application/shared library.

The following is an example of how to set up for python usage within
your application in your configure.in:

       AX_PYTHON_DEFAULT( )
       AX_PYTHON_ENABLE( )             # Optional
       AX_PYTHON_WITH( )               # Optional
       AX_PYTHON_PATH( )               # or AX_PYTHON_INSIST( )
       # if $PYTHON is not defined, then the following do nothing.
       AX_PYTHON_VERSION_ENSURE( [2.2] )
       AX_PYTHON_CSPEC
       AX_PYTHON_LSPEC

The AX_PYTHON_DEFAULT sets the $PYTHON_USE to false.  Thereby, excluding
it if it was optional.

The AX_PYTHON_ENABLE looks for the optional configure parameters of
-enable-python/-disable-python and establishes the $PYTHON and
$PYTHON_USE variables accordingly.

The AX_PYTHON_WITH looks for the optional configure parameters of
-with-python/-without-python and establishes the $PYTHON and $PYTHON_USE
variables accordingly.

The AX_PYTHON_PATH looks for python assuming that none has been
previously found or defined and issues an error if it does not find it.
If it does find it, it establishes the $PYTHON and $PYTHON_USE variables
accordingly.  AX_PYTHON_INSIST could be used here instead if you want to
insist that Python support be included using the -enable-python or
-with-python checks previously done.

The AX_PYTHON_VERSION_ENSURE issues an error if the Python previously
found is not of version 2.2 or greater.

Once that these macros have be run, we can use PYTHON_USE within the
makefile.am file to conditionally add the Python support such as:

Makefile.am example showing optional inclusion of directories:

      if PYTHON_USE
      plugins = plugins
      src = src
      else
      plugins =
      src =
      endif

      SUBDIRS = . $(plugins) $(src)

Makefile.am example showing optional shared library build:

      if PYTHON_USE
      lib_LTLIBRARIES        = libElemList.la
      libElemList_la_SOURCES = libElemList.c
      libElemList_la_CFLAGS  = @PYTHON_CSPEC@
      libElemList_la_LDFLAGS = @PYTHON_LSPEC@
      endif

Makefile.am example showing optional program build:

      if PYTHON_USE
      bin_PROGRAMS    = runFunc
      runFunc_SOURCES = runFunc.c
      runFunc_CFLAGS  = @PYTHON_CSPEC@
      runFunc_LDFLAGS = @PYTHON_LSPEC@
      endif

The above compiles the modules only if PYTHON_USE was specified as true.
Also, the else portion of the if was optional.

Source Code
***********

Download the latest version of ‘ax_python_embed.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python_embed.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python_embed.m4).

License
*******

Copyright © 2008 Robert White <kranki@mac.com>
Copyright © 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_python_module
================

Synopsis
********

     AX_PYTHON_MODULE(modname[, fatal, python])

Description
***********

Checks for Python module.

If fatal is non-empty then absence of a module will trigger an error.
The third parameter can either be "python" for Python 2 or "python3" for
Python 3; defaults to Python 3.

Source Code
***********

Download the latest version of ‘ax_python_module.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python_module.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python_module.m4).

License
*******

Copyright © 2008 Andrew Collier

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_python_module_version
========================

Synopsis
********

     AX_PYTHON_MODULE_VERSION(modname, min_version[, python])

Description
***********

Checks for Python module with at least the given version.

Triggers an error if module is absent or present but at a lower version.
The third parameter can either be "python" for Python 2 or "python3" for
Python 3; defaults to Python 3.

Source Code
***********

Download the latest version of ‘ax_python_module_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_python_module_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_python_module_version.m4).

License
*******

Copyright © 2015 Endless Mobile, Inc.; contributed by Philip Chimento <philip@endlessm.com> and Kurt von Laven <kurt@endlessm.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_r_package
============

Synopsis
********

     AX_R_PACKAGE(pkgname[, version, R])

Description
***********

Checks for an R package.

Optionally checks for the version when a second argument is given.  A
different R can be used by providing a third argument.

Source Code
***********

Download the latest version of ‘ax_r_package.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_r_package.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_r_package.m4).

License
*******

Copyright © 2017, 2022 Ricardo Wurmus

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_recursive_eval
=================

Synopsis
********

     AX_RECURSIVE_EVAL(VALUE, RESULT)

Description
***********

Interpolate the VALUE in loop until it doesn't change, and set the
result to $RESULT. WARNING: It's easy to get an infinite loop with some
unsane input.

Source Code
***********

Download the latest version of ‘ax_recursive_eval.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_recursive_eval.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_recursive_eval.m4).

License
*******

Copyright © 2008 Alexandre Duret-Lutz <adl@gnu.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_require_defined
==================

Synopsis
********

     AX_REQUIRE_DEFINED(MACRO)

Description
***********

AX_REQUIRE_DEFINED is a simple helper for making sure other macros have
been defined and thus are available for use.  This avoids random issues
where a macro isn't expanded.  Instead the configure script emits a
non-fatal:

       ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found

It's like AC_REQUIRE except it doesn't expand the required macro.

Here's an example:

       AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG])

Source Code
***********

Download the latest version of ‘ax_require_defined.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_require_defined.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_require_defined.m4).

License
*******

Copyright © 2014 Mike Frysinger <vapier@gentoo.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_require_one_func
===================

Synopsis
********

     AX_REQUIRE_ONE_FUNC (FUNCTION..., [ACTION-IF-ANY-FOUND], [ACTION-IF-NONE-FOUND])

Description
***********

AX_REQUIRE_ONE_FUNC is a simple wrapper for AC_CHECK_FUNCS. It calls
AC_CHECK_FUNCS on the list of functions named in the first argument,
then invokes ACTION-IF-ANY-FOUND if at least one of the functions exists
or ACTION-IF-NONE-FOUND if none of the functions exist.

Here's an example:

       AX_REQUIRE_ONE_FUNC([posix_memalign memalign valloc], ,
         [AC_MSG_ERROR([unable to allocate page-aligned memory])])

Source Code
***********

Download the latest version of ‘ax_require_one_func.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_require_one_func.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_require_one_func.m4).

License
*******

Copyright © 2008 Scott Pakin <pakin@uiuc.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_restore_flags
================

Synopsis
********

     AX_RESTORE_FLAGS([namespace])

Description
***********

Restore common compilation flags from temporary variables.

Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS,
OBJCFLAGS.

By default these flags are restored to a global (empty) namespace, but
user could restore from specific NAMESPACE by using
AX_RESTORE_FLAGS(NAMESPACE) macro.

Typical usage is like:

       AX_SAVE_FLAGS(mypackage)
       CPPFLAGS="-Imypackagespath ${CPPFLAGS}"
       dnl ... do some detection ...
       AX_RESTORE_FLAGS(mypackage)

Source Code
***********

Download the latest version of ‘ax_restore_flags.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_restore_flags.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_restore_flags.m4).

License
*******

Copyright © 2009 Filippo Giunchedi <filippo@esaurito.net>
Copyright © 2011 The Board of Trustees of the Leland Stanford Junior University

Copyright © 2011 Russ Allbery <rra@stanford.edu>
Copyright © 2013 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_restore_flags_with_prefix
============================

Synopsis
********

     AX_RESTORE_FLAGS_WITH_PREFIX(PREFIX, LIST-OF-FLAGS)

Description
***********

Restore the flags saved by AX_SAVE_FLAGS_WITH_PREFIX.

Expansion example: AX_RESTORE_FLAGS_WITH_PREFIX([GL], [[CFLAGS],[LIBS]])
expands to

       CFLAGS="$gl_saved_flag_cflags"
       LIBS="$gl_saved_flag_libs"

One common use case is to define a package specific wrapper macro around
this one, and also restore other variables if needed.  For example:

       AC_DEFUN([_AX_CHECK_GL_RESTORE_FLAGS], [
         AX_RESTORE_FLAGS_WITH_PREFIX([GL],[$1])
         AC_LANG_POP([C])
       ])

       # Restores CFLAGS, LIBS and language state
       _AX_CHECK_GL_RESTORE_FLAGS([[CFLAGS],[LIBS]])

Source Code
***********

Download the latest version of ‘ax_restore_flags_with_prefix.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_restore_flags_with_prefix.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_restore_flags_with_prefix.m4).

License
*******

Copyright © 2016 Felix Chern <idryman@gmail.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_rpm_init
===========

Synopsis
********

     AX_RPM_INIT

Description
***********

Setup variables for creation of rpms.  It will define several variables
useful for creating rpms on a system where rpms are supported.
Currently, I requires changes to Makefile.am to function properly (see
the example below).

Also note that I do not use any non-UNIX OSs (and for the most part, I
only use RedHat), so this is probably generally not useful for other
systems.

Required setup:

In configure.in:

       dnl For my rpm.m4 macros
       RPM_RELEASE=1
       AC_SUBST(RPM_RELEASE)

       AX_RPM_INIT
       dnl Enable or disable the rpm making rules in Makefile.am
       AM_CONDITIONAL(MAKE_RPMS, test x$make_rpms = xtrue)

Furthermore, the %GNUconfigure rpm macro has a problem in that it does
not define CXXFLAGS for the target system correctly, so for compiling
C++ code, add the following line _before_ calling AC_PROG_CXX:

       dnl This is a little hack to make this work with rpm better (see mysql++.spec.in)
       test -z "$CXXFLAGS" && CXXFLAGS="${CFLAGS}"

Changes to Makefile.am (I am trying to get rid of this step; suggestions
invited):

       if MAKE_RPMS
       rpm: @RPM_TARGET@

       .PHONY: rpm

       $(RPM_TARGET): $(DISTFILES)
         ${MAKE} dist
         -mkdir -p $(RPM_DIR)/SRPMS
         -mkdir -p `dirname $(RPM_TARGET)`
         $(RPM_PROG) $(RPM_ARGS) $(RPM_TARBALL)
         @echo Congratulations, $(RPM_TARGET) "(and friends)" should now exist.
       else
       endif

Also, it works best with a XXXX.spec.in file like the following (this is
way down on the wishlist, but a program to generate the skeleton spec.in
much like autoscan would just kick butt!):

       ---------- 8< ----------
       # -*- Mode:rpm-spec -*-
       # mysql++.spec.in
       Summary: Your package description goes here
       %define rel @RPM_RELEASE@

       %define version @VERSION@
       %define pkgname @PACKAGE@
       %define prefix /usr

       %define lt_release @LT_RELEASE@
       %define lt_version @LT_CURRENT@.@LT_REVISION@.@LT_AGE@

       # This is a hack until I can figure out how to better handle replacing
       # autoconf macros... (gotta love autoconf...)
       %define __aclocal   aclocal || aclocal -I ./macros
       %define configure_args  @RPM_CONFIGURE_ARGS@

       Name: %{pkgname}
       Version: %{version}
       Release: %{rel}

       Copyright: LGPL
       Group: # your group name goes here
       Source: %{pkgname}-%{version}.tar.gz
       Requires: # additional requirements
       Buildroot: /tmp/%{pkgname}-root
       URL: http://yoururl.go.here
       Prefix: %{prefix}
       BuildArchitectures: # Target platforms, i.e., i586
       Packager: Your Name <youremail@your.address>

       %description
       Your package description

       %changelog

       %prep
       %setup
       #%patch

       %build
       %GNUconfigure %{configure_args}
       # This is why we copy the CFLAGS to the CXXFLAGS in configure.in
       # CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{prefix}
       make

       %install
       # To make things work with BUILDROOT
       if [ "$RPM_BUILD_ROOT" != "/tmp/%{pkgname}-root" ]
       then
         echo
         echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         echo @                                                                    @
         echo @  RPM_BUILD_ROOT is not what I expected.  Please clean it yourself. @
         echo @                                                                    @
         echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         echo
       else
         echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT"
         rm -rf "$RPM_BUILD_ROOT"
       fi
       make DESTDIR="$RPM_BUILD_ROOT" install

       %clean
       # Call me paranoid, but I do not want to be responsible for nuking
       # someone's harddrive!
       if [ "$RPM_BUILD_ROOT" != "/tmp/%{pkgname}-root" ]
       then
         echo
         echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         echo @                                                                    @
         echo @  RPM_BUILD_ROOT is not what I expected.  Please clean it yourself. @
         echo @                                                                    @
         echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         echo
       else
         echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT"
         rm -rf "$RPM_BUILD_ROOT"
       fi

       %files
       %defattr(-, root, root)
       # Your application file list goes here
       # %{prefix}/lib/lib*.so*
       %doc COPYRIGHT ChangeLog README AUTHORS NEWS
       %doc doc/*

       # If you install a library
       %post -p /sbin/ldconfig

       # If you install a library
       %postun -p /sbin/ldconfig

       %package devel
       Summary: Development files for %{pkgname}
       Group: Applications/Databases
       %description devel
       Development files for %{pkgname}.

       %files devel
       %defattr(-, root, root)
       # Your development files go here
       # Programmers documentation goes here
       %doc doc

       # end of file
       ---------- >8 ----------

Source Code
***********

Download the latest version of ‘ax_rpm_init.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_rpm_init.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_rpm_init.m4).

License
*******

Copyright © 2008 Dale K. Hawkins <dhawkins@cdrgts.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_ruby_devel
=============

Synopsis
********

     AX_RUBY_DEVEL([version])

Description
***********

This macro checks for Ruby and tries to get the include path to
'ruby.h'.  It provides the $(RUBY_CPPFLAGS) and $(RUBY_LDFLAGS) output
variables.  It also exports $(RUBY_EXTRA_LIBS) for embedding Ruby in
your code.

You can search for some particular version of Ruby by passing a
parameter to this macro, for example "2.2.1".

Source Code
***********

Download the latest version of ‘ax_ruby_devel.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_ruby_devel.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_ruby_devel.m4).

License
*******

Copyright © 2008 Rafal Rzepecki <divided.mind@gmail.com>
Copyright © 2008 Sebastian Huber <sebastian-huber@web.de>
Copyright © 2008 Alan W. Irwin
Copyright © 2008 Rafael Laboissiere <rafael@laboissiere.net>
Copyright © 2008 Andrew Collier
Copyright © 2008 Matteo Settenvini <matteo@member.fsf.org>
Copyright © 2008 Horst Knorr <hk_classes@knoda.org>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_ruby_ext
===========

Synopsis
********

     AX_RUBY_EXT

Description
***********

Fetches the linker flags and C compiler flags for compiling and linking
Ruby binary extensions.  The macro substitutes RUBY_VERSION,
RUBY_EXT_INC, RUBY_EXT_LIB, RUBY_EXT_CPPFLAGS, RUBY_EXT_LDFLAGS and
RUBY_EXT_DLEXT variables if Ruby executable has been found.  It also
checks the same variables before trying to retrieve them from the Ruby
configuration.

       RUBY_VERSION: version of the Ruby interpreter
       RUBY_EXT_INC: Ruby include directory
       RUBY_EXT_LIB: Ruby extensions destination directory
       RUBY_EXT_CPPFLAGS: C preprocessor flags to compile extensions
       RUBY_EXT_LDFLAGS: linker flags to build extensions
       RUBY_EXT_DLEXT: extensions suffix for ruby modules (e.g. "so")

Examples:

       AX_RUBY_EXT
       if test x"$RUBY" = x; then
          AC_ERROR(["cannot find Ruby"])
       fi

Source Code
***********

Download the latest version of ‘ax_ruby_ext.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_ruby_ext.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_ruby_ext.m4).

License
*******

Copyright © 2011 Stanislav Sedov <stas@FreeBSD.org>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1.  Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2.  Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

ax_save_flags
=============

Synopsis
********

     AX_SAVE_FLAGS([NAMESPACE])

Description
***********

Save common compilation flags into temporary variables.

Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS,
OBJCFLAGS.

By default these flags are saved to a global (empty) namespace, but user
could specify a specific NAMESPACE to AX_SAVE_FLAGS macro and latter
restore it by using AX_RESTORE_FLAGS(NAMESPACE).

       AX_SAVE_FLAGS(mypackage)
       CPPFLAGS="-Imypackagespath ${CPPFLAGS}"
       dnl .. do some detection ...
       AX_RESTORE_FLAGS(mypackage)

Source Code
***********

Download the latest version of ‘ax_save_flags.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_save_flags.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_save_flags.m4).

License
*******

Copyright © 2009 Filippo Giunchedi <filippo@esaurito.net>
Copyright © 2011 The Board of Trustees of the Leland Stanford Junior University

Copyright © 2011 Russ Allbery <rra@stanford.edu>
Copyright © 2013 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_save_flags_with_prefix
=========================

Synopsis
********

     AX_SAVE_FLAGS_WITH_PREFIX(PREFIX, LIST-OF-FLAGS)

Description
***********

For each flag in LIST-OF-FLAGS, it expands to lower-cased shell variable
with the prefix holding the flag original value.  The saved variables
can be restored by AX_RESTORE_FLAGS_WITH_PREFIX

As an example: AX_SAVE_FLAGS_WITH_PREFIX([GL], [[CFLAGS],[LIBS]])
expands to

       gl_saved_flag_cflags="$CFLAGS"
       gl_saved_flag_libs="$LIBS"
       CFLAGS="$GL_CFLAGS $CFLAGS"
       LIBS="$GL_LIBS $LIBS"

One common use case is to define a package specific wrapper macro around
this one, and also setup other variables if needed.  For example:

       AC_DEFUN([_AX_CHECK_GL_SAVE_FLAGS], [
         AX_SAVE_FLAGS_WITH_PREFIX([GL],[$1])
         AC_LANG_PUSH([C])
       ])

       # pushes GL_CFLAGS and GL_LIBS to CFLAGS and LIBS
       # also set the current language to test to C
       _AX_CHECK_GL_SAVE_FLAGS([[CFLAGS],[LIBS]])

Source Code
***********

Download the latest version of ‘ax_save_flags_with_prefix.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_save_flags_with_prefix.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_save_flags_with_prefix.m4).

License
*******

Copyright © 2016 Felix Chern <idryman@gmail.com>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_set_default_paths_system
===========================

Synopsis
********

     AX_SET_DEFAULT_PATHS_SYSTEM

Description
***********

the most interesting changes go about windows-targets - where the
default_prefix is set to /programs, and quite some directories are
aliased: sbindir := libdir := bindir and the docprefix-defaults are also
a bit different, even on FHS2-compliant systems where the mandir is
going to $prefix/man only if prefix=/usr, otherwise they shall go to
$datadir/man.  We use an extra docprefix to express it which is either
defined as being prefix or datadir.  not SUBSTed here.

Source Code
***********

Download the latest version of ‘ax_set_default_paths_system.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_set_default_paths_system.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_set_default_paths_system.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_short_sleep
==============

Synopsis
********

     AX_SHORT_SLEEP

Description
***********

This macro searches for a "sleep" function that has 1/1000 of a second
accuracy.  On some systems, this is known as nap() and on others
usleep() / 1000.  There are probably other functions like this defined
in other system libraries, but we don't know how to search for them yet.
Contributions joyously accepted.  :)

Source Code
***********

Download the latest version of ‘ax_short_sleep.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_short_sleep.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_short_sleep.m4).

License
*******

Copyright © 2008 Warren Young <warren@etr-usa.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_silent_mode
==============

Synopsis
********

     AX_SILENT_MODE(on|off)

Description
***********

Temporarily disable console output when running Autoconf macros.  For
example:

       AX_SILENT_MODE(on)    dnl disable console output
       AC_PROG_CXX
       AX_SILENT_MODE(off)   dnl enable console output
       AC_PROG_RANLIB

Source Code
***********

Download the latest version of ‘ax_silent_mode.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_silent_mode.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_silent_mode.m4).

License
*******

Copyright © 2008 Peter Simons <simons@cryp.to>
Copyright © 2008 Paolo Bonzini <bonzini@gnu.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sip_devel
============

Synopsis
********

     AX_SIP_DEVEL([<min_version>])

Description
***********

Searches for the sip executable and the sip include path.  The sip
include path consists of two components, one which contains the file
qt/qtmod.sip and the other one the path to sip.h, which should be found
in the include/pythonX.Y directory.

The macro bails out if the executable or the file cannot be located.
Otherwise it defines:

       SIP           the path to the sip executable
       SIP_CPPFLAGS  include path: -I<path-to-qt/qtmod.sip> -I<path-to-sip.h-dir>

Example:

       AX_SIP_DEVEL
       AX_SIP_DEVEL([4.1])

Requires: perl (for version string comparison)

FIXME: Use AX_COMPARE_VERSION instead.

Source Code
***********

Download the latest version of ‘ax_sip_devel.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sip_devel.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sip_devel.m4).

License
*******

Copyright © 2008 Uwe Mayer <merkosh@hadiko.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_spec_file
============

Synopsis
********

     AX_SPEC_FILE [(rpmspecfile [,subdirpath])]

Description
***********

set the specfile - if no argument has been given then check whether the
ac_unique_file looks like a .spec file and use it.  This macro is
ac_REQUIRED by many AX_SPEC_ routines.

the AX_SPEC_EXTRACT macro is a helper used by many AX_SPEC_ routines and
therefore placed here to be automatically included in the macro set of
(older) aclocal/acinclude.

AX_SPEC_EXTRACT(shellvar [,specvar [,defaultvalue]])

Source Code
***********

Download the latest version of ‘ax_spec_file.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_spec_file.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_spec_file.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_spec_package_version
=======================

Synopsis
********

     AX_SPEC_PACKAGE_AND_VERSION ([specfile])
     AX_SPEC_PACKAGE_NAME ([shellvar],[defaultvalue])
     AX_SPEC_PACKAGE_VERSION ([shellvar],[defaultvalue])
     AX_SPEC_PACKAGE_SUMMARY ([shellvar],[defaultvalue])
     AX_SPEC_PACKAGE_LICENSE ([shellvar],[defaultvalue])
     AX_SPEC_PACKAGE_CATEGORY ([shellvar],[defaultvalue])
     AX_SPEC_PACKAGE_ICON ([shellvar],[defaultvalue])
     AX_SPEC_DEFAULTS([specfile])

Description
***********

set PACKAGE from the given specfile - default to basename of the
rpmspecfile if no "name:" could be found in the spec file.

set VERSION from the given specfile - default to a date-derived value if
no "version:" could be found in the spec file.

this macro builds on top of AX_SPEC_FILE / AX_SPEC_EXTRACT

more specific: if not "name:" or "%define name" was found in the
myproject.spec file then the PACKAGE var is set to the basename
"myproject".  When no spec file was present then it will usually default
to "TODO".

The version spec looks for "version:" or "%define version" in the spec
file.  When no such value was seen or no spec file had been present then
the value is set to 'date +0.%y.%W%w'.

the version value itself is sanitized somewhat with making it to always
carry at least three digits (1.2.3) and cleansing superfluous "0" chars
around from generating numbers elsewhere.

additional macros are provided that extract a specific value from the
spec file, among these:

set PACKAGE_SUMMARY from the given specfile - default to package and try
to detect a type suffix if "summary:" was not in the spec file

set PACKAGE_LICENSE from the given specfile - if no "license:" tag was
given in the spec file then various COPYING files are grepped to have a
guess and the final fallback will be GNU GPL (or GNU LGPL).

set PACKAGE_ICON from the given specfile - if no "icon:" tag was given
in the spec file then we default to $PACKAGE-icon.png

the final AX_SPEC_INIT(specfile) will initialize all variables to its
defaults according to the spec file given.

Source Code
***********

Download the latest version of ‘ax_spec_package_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_spec_package_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_spec_package_version.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_split_version
================

Synopsis
********

     AX_SPLIT_VERSION

Description
***********

Splits a version number in the format MAJOR.MINOR.POINT into its
separate components.

Sets the variables.

Source Code
***********

Download the latest version of ‘ax_split_version.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_split_version.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_split_version.m4).

License
*******

Copyright © 2008 Tom Howard <tomhoward@users.sf.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_string_strcasecmp
====================

Synopsis
********

     AX_STRING_STRCASECMP

Description
***********

This macro tries to find strcasecmp() in string.h.

Use this macro in conjunction with AX_STRINGS_STRCASECMP in your
configure.in like so:

       AX_STRING_STRCASECMP
       if test x"$ac_cv_string_strcasecmp" = "xno" ; then
           AX_STRINGS_STRCASECMP
       fi

This will cause either HAVE_STRING_STRCASECMP or HAVE_STRINGS_STRCASECMP
to be defined in config.h, which will tell your code what header to
include to get strcasecmp()'s prototype.

Source Code
***********

Download the latest version of ‘ax_string_strcasecmp.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_string_strcasecmp.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_string_strcasecmp.m4).

License
*******

Copyright © 2008 Warren Young <warren@etr-usa.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_strings_strcasecmp
=====================

Synopsis
********

     AX_STRINGS_STRCASECMP

Description
***********

This macro tries to find strcasecmp() in strings.h.  See the
AX_STRING_STRCASECMP macro's commentary for usage details.

Source Code
***********

Download the latest version of ‘ax_strings_strcasecmp.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_strings_strcasecmp.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_strings_strcasecmp.m4).

License
*******

Copyright © 2008 Warren Young <warren@etr-usa.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_struct_semun
===============

Synopsis
********

     AX_STRUCT_SEMUN

Description
***********

This macro checks to see if sys/sem.h defines struct semun.  Some
systems do, some systems don't.  Your code must be able to deal with
this possibility; if HAVE_STRUCT_SEMUM isn't defined for a given system,
you have to define this structure before you can call functions like
semctl().

You should call AX_SYSV_IPC before this macro, to separate the check for
System V IPC headers from the check for struct semun.

Source Code
***********

Download the latest version of ‘ax_struct_semun.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_struct_semun.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_struct_semun.m4).

License
*******

Copyright © 2008 Warren Young <warren@etr-usa.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_subdir_files
===============

Synopsis
********

     AX_SUBDIR_FILES [(SUBDIRS [, CASEPATTERN])]

Description
***********

Look into subdirs and copy the (real) files that match pattern into the
local directory.  Preferably we use a symbolic link of course.  existing
local files are not overwritten.

The default casepattern is "*.?|*.cc|*.cpp", the default subdir-list
contains all subdirs available.

Source Code
***********

Download the latest version of ‘ax_subdir_files.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_subdir_files.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_subdir_files.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_subdirs_configure
====================

Synopsis
********

     AX_SUBDIRS_CONFIGURE( [subdirs], [mandatory arguments], [possibly merged arguments], [replacement arguments], [forbidden arguments])

Description
***********

AX_SUBDIRS_CONFIGURE attempts to be the equivalent of AC_CONFIG_SUBDIRS
with customizable options for configure scripts.

Run the configure script for each directory from the comma-separated m4
list 'subdirs'.  This macro can be used multiple times.  All arguments
of this macro must be comma-separated lists.

All command line arguments from the parent configure script will be
given to the subdirectory configure script after the following
modifications (in that order):

1.  The arguments from the 'mandatory arguments' list shall always be
appended to the argument list.

2.  The arguments from the 'possibly merged arguments' list shall be
added if not present in the arguments of the parent configure script or
merged with the existing argument otherwise.

3.  The arguments from the 'replacement arguments' list shall be added
if not present in the arguments of the parent configure script or
replace the existing argument otherwise.

4.  The arguments from the 'forbidden arguments' list shall always be
removed from the argument list.

The lists 'mandatory arguments' and 'forbidden arguments' can hold any
kind of argument.  The 'possibly merged arguments' and 'replacement
arguments' expect their arguments to be of the form -option-name=value.

This macro aims to remain as close as possible to the AC_CONFIG_SUBDIRS
macro.  It corrects the paths for '-srcdir' and adds
'-disable-option-checking' and '-silent' if necessary.  However, it does
not change the '-cache-file' argument: typically, configure scripts run
with different arguments will not be able to share the same cache.  If
you wish to share a single cache, you should give an absolute path to
'-cache-file'.

This macro also sets the output variable subdirs_extra to the list of
directories recorded with AX_SUBDIRS_CONFIGURE. This variable can be
used in Makefile rules or substituted in configured files.

This macro shall do nothing more than managing the arguments of the
configure script.  Just like when using AC_CONFIG_SUBDIRS, it is up to
the user to check any requirements or define and substitute any required
variable for the remainder of the project.

Configure scripts recorded with AX_SUBDIRS_CONFIGURE may be executed
before configure scripts recorded with AC_CONFIG_SUBDIRS.

Without additional arguments, the behaviour of AX_SUBDIRS_CONFIGURE
should be identical to the behaviour of AC_CONFIG_SUBDIRS, apart from
the contents of the variables subdirs and subdirs_extra (except that
AX_SUBDIRS_CONFIGURE expects a comma-separated m4 list):

       AC_CONFIG_SUBDIRS([something])
       AX_SUBDIRS_CONFIGURE([something])

This macro may be called multiple times.

Usage example:

Let us assume our project has 4 dependencies, namely A, B, C and D. Here
are some characteristics of our project and its dependencies:

- A does not require any special option.

- we want to build B with an optional feature which can be enabled with
its configure script's option '-enable-special-feature'.

- B's configure script is strange and has an option '-with-B=build'.
After close inspection of its documentation, we don't want B to receive
this option.

- C and D both need B.

- Just like our project, C and D can build B themselves with the option
'-with-B=build'.

- We want C and D to use the B we build instead of building it
themselves.

Our top-level configure script will be called as follows:

       $ <path/to/configure> --with-A=build --with-B=build --with-C=build \
         --with-D=build --some-option

Thus we have to make sure that:

- neither B, C or D receive the option '-with-B=build'

- C and D know where to find the headers and libraries of B.

Under those conditions, we can use the AC_CONFIG_SUBDIRS macro for A,
but need to use AX_SUBDIRS_CONFIGURE for B, C and D:

- B must receive '-enable-special-feature' but cannot receive
'-with-B=build'

- C and D cannot receive '-with-B=build' (or else it would be built
thrice) and need to be told where to find B (since we are building it,
it would probably not be available in standard paths).

Here is a configure.ac snippet that solves our problem:

       AC_CONFIG_SUBDIRS([dependencies/A])
       AX_SUBDIRS_CONFIGURE(
           [dependencies/B], [--enable-special-feature], [], [],
           [--with-B=build])
       AX_SUBDIRS_CONFIGURE(
           [[dependencies/C],[dependencies/D]],
           [],
           [[CPPFLAGS=-I${ac_top_srcdir}/dependencies/B -I${ac_top_builddir}/dependencies/B],
            [LDFLAGS=-L${ac_abs_top_builddir}/dependencies/B/.libs]],
           [--with-B=system],
           [])

If using automake, the following can be added to the Makefile.am (we use
both $(subdirs) and $(subdirs_extra) since our example above used both
AC_CONFIG_SUBDIRS and AX_SUBDIRS_CONFIGURE):

       SUBDIRS = $(subdirs) $(subdirs_extra)

Source Code
***********

Download the latest version of ‘ax_subdirs_configure.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_subdirs_configure.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_subdirs_configure.m4).

License
*******

Copyright © 2017 Harenome Ranaivoarivony-Razanajato <ranaivoarivony-razanajato@hareno.me>

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.

Under Section 7 of GPL version 3, you are granted additional permissions
described in the Autoconf Configure Script Exception, version 3.0, as
published by the Free Software Foundation.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

ax_subst_with
=============

Synopsis
********

     AX_SUBST_WITH([varname])

Description
***********

a very simple macro but also very helpful - the varname is usually the
one from an AC_ARG_ENABLE or AC_ARG_WITH option.  it is transliterated
into uppercase and a prefix WITH_ and WITHOUT_ that are both _SUBSTed.

Only one of these is set to "#" while the other is empty.  In other
words a call like AC_WITHNONE(enable-call) will create two SUBST-symbols
as WITH_ENABLE_CALL and WITHOUT_ENABLE_CALL. When the varname had been
set to something not "no" or "0" or ":" or "false" then it results in

      WITH_ENABLE_CALL="" ; WITHOUT_ENABLE_CALL="#"

which you can use in your Makefile quite easily as if using an
AM_CONDITIONAL but which can be also parsed by normal make

USE = @WITH_ENABLE_CALL@ -Denabled USE = @WITHOUT_ENABLE_CALL@
-Dnot_enabled

Source Code
***********

Download the latest version of ‘ax_subst_with.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_subst_with.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_subst_with.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_swig_enable_cxx
==================

Synopsis
********

     AX_SWIG_ENABLE_CXX

Description
***********

Enable SWIG C++ support.  This affects all invocations of $(SWIG).

Source Code
***********

Download the latest version of ‘ax_swig_enable_cxx.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_swig_enable_cxx.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_swig_enable_cxx.m4).

License
*******

Copyright © 2008 Sebastian Huber <sebastian-huber@web.de>
Copyright © 2008 Alan W. Irwin
Copyright © 2008 Rafael Laboissiere <rafael@laboissiere.net>
Copyright © 2008 Andrew Collier

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_swig_multi_module_support
============================

Synopsis
********

     AX_SWIG_MULTI_MODULE_SUPPORT

Description
***********

Enable support for multiple modules.  This effects all invocations of
$(SWIG). You have to link all generated modules against the appropriate
SWIG runtime library.  If you want to build Python modules for example,
use the AX_SWIG_PYTHON macro and link the modules against
$(AX_SWIG_PYTHON_LIBS).

Source Code
***********

Download the latest version of ‘ax_swig_multi_module_support.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_swig_multi_module_support.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_swig_multi_module_support.m4).

License
*******

Copyright © 2008 Sebastian Huber <sebastian-huber@web.de>
Copyright © 2008 Alan W. Irwin
Copyright © 2008 Rafael Laboissiere <rafael@laboissiere.net>
Copyright © 2008 Andrew Collier

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_swig_python
==============

Synopsis
********

     AX_SWIG_PYTHON([use-shadow-classes = {no, yes}])

Description
***********

Checks for Python and provides the $(AX_SWIG_PYTHON_CPPFLAGS), and
$(AX_SWIG_PYTHON_OPT) output variables.

$(AX_SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
code for Python.  Shadow classes are enabled unless the value of the
optional first argument is exactly 'no'.  If you need multi module
support (provided by the AX_SWIG_MULTI_MODULE_SUPPORT macro) use
$(AX_SWIG_PYTHON_LIBS) to link against the appropriate library.  It
contains the SWIG Python runtime library that is needed by the type
check system for example.

Source Code
***********

Download the latest version of ‘ax_swig_python.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_swig_python.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_swig_python.m4).

License
*******

Copyright © 2008 Sebastian Huber <sebastian-huber@web.de>
Copyright © 2008 Alan W. Irwin
Copyright © 2008 Rafael Laboissiere <rafael@laboissiere.net>
Copyright © 2008 Andrew Collier

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_switch_flags
===============

Synopsis
********

     AX_SWITCH_FLAGS(newnamespace,[oldnamespace])

Description
***********

Switch common compilation flags from temporary variables between two
compilation namespace.

Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS,
OBJCFLAGS.

By default these flags are restored to a global (empty) namespace, but
user could restore from specific NAMESPACE by using
AX_RESTORE_FLAGS(NAMESPACE) macro.

Typical usage is like:

       AX_SAVE_FLAGS(beginprogram)
       CPPFLAGS="-Imypackagespath ${CPPFLAGS}"
       AX_SWITCH_FLAGS(mypackage,beginprogram)

Source Code
***********

Download the latest version of ‘ax_switch_flags.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_switch_flags.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_switch_flags.m4).

License
*******

Copyright © 2009 Filippo Giunchedi <filippo@esaurito.net>
Copyright © 2011 The Board of Trustees of the Leland Stanford Junior University

Copyright © 2011 Russ Allbery <rra@stanford.edu>
Copyright © 2013 Bastien ROUCARIES <roucaries.bastien+autoconf@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sys_dev_poll
===============

Synopsis
********

     AX_SYS_DEV_POLL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])

Description
***********

This macro tests for the presence of /dev/poll support in the build
environment.  It checks that the needed structure (dvpoll) is available,
with the standard fields.  /dev/poll is most often seen under Solaris.

Note that it does not attempt to actually open /dev/poll - you should
test for errors when you open it and then fall back to poll() if it is
unavailable.

Source Code
***********

Download the latest version of ‘ax_sys_dev_poll.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sys_dev_poll.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sys_dev_poll.m4).

License
*******

Copyright © 2008 Dave Benson <daveb@ffem.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sys_largefile_sensitive
==========================

Synopsis
********

     AX_SYS_LARGEFILE_SENSITIVE

Description
***********

Check whether the current system is sensitive to -Ddefines making off_t
having different types/sizes.  Automatically define a config.h symbol
LARGEFILE_SENSITIVE if that is the case, otherwise leave everything as
is.

This macro builds on top of AC_SYS_LARGEFILE to detect whether special
options are needed to make the code use 64bit off_t - in many setups
this will also make the code use 64bit off_t immediately.

The common use of a LARGEFILE_SENSITIVE config.h-define is to rename
exported functions, usually adding a 64 to the original function name.
Such renamings are only needed on systems being both (a) 32bit off_t by
default and (b) implementing large.file extensions (as for unix98).

a renaming section could look like this:

      #if defined LARGEFILE_SENSITIVE && _FILE_OFFSET_BITS+0 == 64
      #define zzip_open zzip_open64
      #define zzip_seek zzip_seek64
      #endif

for libraries, it is best to take advantage of the prefix-config.h
macro, otherwise you want to export a renamed LARGEFILE_SENSITIVE in an
installed header file.  -> see AX_PREFIX_CONFIG_H

Source Code
***********

Download the latest version of ‘ax_sys_largefile_sensitive.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sys_largefile_sensitive.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sys_largefile_sensitive.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sys_perlsharpbang
====================

Synopsis
********

     AX_SYS_PERLSHARPBANG

Description
***********

Determine how the perl interpreter is located by the OS kernel and make
substitution variable PERL_SHEBANG available.  Does AC_PATH_PROG to find
the path to perl.  As a side-effect, that sets PERLINTERP and makes it
available as a substitution variable.

Note: The macro allows for the possibility (expected to be seldom used)
of an explicit user override (the "user" being the operator executing
the final 'configure' script, in this context) by making the option
argument like:

       --with-perl-shebang='#! /my/funky/perlpath' # OR
       --with-perl-shebang='/my/funky/perlpath'  # we just throw away the #! anyway
                                                 # as it must not appear in Makefile

Rationale: The are various ways of starting an interpreter on different
*nix-like systems.  Many use the simple

       #!/usr/bin/perl

but it could be instead

       #!/usr/local/bin/perl

and there is even the possibility that the user wants

       #!/usr/bin/env perl

to find whichever perl comes first in the current $PATH. This is
preferred by some of us because we run multiple perl installations on
the same box.  Adjusting our $PATH then allows us to set precedence over
other perls, even whatever the "house" version is.

Users on very non-unix systems like MS Windows do not have a kernel that
does this kind of thing from the first line of script files, but instead
the perl on their machine is started and merely notices whatever comes
after the interpreter path on this first line of the script (options
like "-w").

Acknowledgement: this macro was in part inspired by Dean Povey's
AC_PROG_PERL_VERSION.

Source Code
***********

Download the latest version of ‘ax_sys_perlsharpbang.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sys_perlsharpbang.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sys_perlsharpbang.m4).

License
*******

Copyright © 2009 Soren Andersen <somian@pobox.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sys_weak_alias
=================

Synopsis
********

     AX_SYS_WEAK_ALIAS

Description
***********

Determines whether weak aliases are supported on the system, and if so,
what scheme is used to declare them.  Also checks to see if aliases can
cross object file boundaries, as some systems don't permit them to.

Most systems permit something called a "weak alias" or "weak symbol."
These aliases permit a library to provide a stub form of a routine
defined in another library, thus allowing the first library to operate
even if the other library is not linked.  This macro will check for
support of weak aliases, figure out what schemes are available, and
determine some characteristics of the weak alias support - primarily,
whether a weak alias declared in one object file may be referenced from
another object file.

There are four known schemes of declaring weak symbols; each scheme is
checked in turn, and the first one found is preferred.  Note that only
one of the mentioned preprocessor macros will be defined!

1.  Function attributes

This scheme was first introduced by the GNU C compiler, and attaches
attributes to particular functions.  It is among the easiest to use, and
so is the first one checked.  If this scheme is detected, the
preprocessor macro HAVE_SYS_WEAK_ALIAS_ATTRIBUTE will be defined to 1.
This scheme is used as in the following code fragment:

       void __weakf(int c)
       {
         /* Function definition... */
       }

       void weakf(int c) __attribute__((weak, alias("__weakf")));

2.  #pragma weak

This scheme is in use by many compilers other than the GNU C compiler.
It is also particularly easy to use, and fairly portable - well, as
portable as these things get.  If this scheme is detected first, the
preprocessor macro HAVE_SYS_WEAK_ALIAS_PRAGMA will be defined to 1.
This scheme is used as in the following code fragment:

       extern void weakf(int c);
       #pragma weak weakf = __weakf
       void __weakf(int c)
       {
         /* Function definition... */
       }

3.  #pragma _HP_SECONDARY_DEF

This scheme appears to be in use by the HP compiler.  As it is rather
specialized, this is one of the last schemes checked.  If it is the
first one detected, the preprocessor macro
HAVE_SYS_WEAK_ALIAS_HPSECONDARY will be defined to 1.  This scheme is
used as in the following code fragment:

       extern void weakf(int c);
       #pragma _HP_SECONDARY_DEF __weakf weakf
       void __weakf(int c)
       {
         /* Function definition... */
       }

4.  #pragma _CRI duplicate

This scheme appears to be in use by the Cray compiler.  As it is rather
specialized, it too is one of the last schemes checked.  If it is the
first one detected, the preprocessor macro
HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE will be defined to 1.  This scheme is
used as in the following code fragment:

       extern void weakf(int c);
       #pragma _CRI duplicate weakf as __weakf
       void __weakf(int c)
       {
         /* Function definition... */
       }

In addition to the preprocessor macros listed above, if any scheme is
found, the preprocessor macro HAVE_SYS_WEAK_ALIAS will also be defined
to 1.

Once a weak aliasing scheme has been found, a check will be performed to
see if weak aliases are honored across object file boundaries.  If they
are, the HAVE_SYS_WEAK_ALIAS_CROSSFILE preprocessor macro is defined to
1.

This Autoconf macro also makes two substitutions.  The first,
WEAK_ALIAS, contains the name of the scheme found (one of "attribute",
"pragma", "hpsecondary", or "criduplicate"), or "no" if no weak aliasing
scheme was found.  The second, WEAK_ALIAS_CROSSFILE, is set to "yes" or
"no" depending on whether or not weak aliases may cross object file
boundaries.

Source Code
***********

Download the latest version of ‘ax_sys_weak_alias.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sys_weak_alias.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sys_weak_alias.m4).

License
*******

Copyright © 2008 Kevin L. Mitchell <klmitch@mit.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_sysv_ipc
===========

Synopsis
********

     AX_SYSV_IPC

Description
***********

This macro checks for the SysV IPC header files.  It only checks that
you can compile a program with them, not whether the system actually
implements working SysV IPC.

Source Code
***********

Download the latest version of ‘ax_sysv_ipc.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_sysv_ipc.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_sysv_ipc.m4).

License
*******

Copyright © 2008 Warren Young <warren@etr-usa.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_tls
======

Synopsis
********

     AX_TLS([action-if-found], [action-if-not-found])

Description
***********

Provides a test for the compiler support of thread local storage (TLS)
extensions.  Defines TLS if it is found.  Currently knows about C++11,
GCC/ICC, and MSVC. I think SunPro uses the same as GCC, and Borland
apparently supports either.

Source Code
***********

Download the latest version of ‘ax_tls.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_tls.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_tls.m4).

License
*******

Copyright © 2008 Alan Woodland <ajw05@aber.ac.uk>
Copyright © 2010 Diego Elio Petteno' <flameeyes@gmail.com>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_trilinos_amesos
==================

Synopsis
********

     AX_TRILINOS_AMESOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.amesos" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_amesos.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_amesos.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_amesos.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_base
================

Synopsis
********

     AX_TRILINOS_BASE([, MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])

Description
***********

Test for the Trilinos (http://trilinos.sandia.gov/) libraries.

Provides a -with-trilinos=DIR option.  Searches -with-trilinos,
$TRILINOS_HOME, and the usual places for Trilinos installation headers.

Requires that a development branch or released version greater than
MINIMUM-VERSION be found.  If not specified, the default minimum version
is 8.0.0.

Supports separately specifying -with-trilinos-include or
-with-trilinos-libdir to override default locations underneath either
-with-trilinos or $TRILINOS_HOME.

On success, adds -Ipath to CPPFLAGS, -Lpath to LDFLAGS, sets the
variable TRILINOS_INCLUDE based on the discovered location of
Trilinos_version.h, and #defines HAVE_TRILINOS. When ACTION-IF-NOT-FOUND
is not specified, the default behavior is for configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_base.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_base.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_base.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>
Copyright © 2009 Thomas Porschberg <thomas@randspringer.de>
Copyright © 2009 Caolan McNamara <caolan@skynet.ie>
Copyright © 2009 Alexandre Duret-Lutz <adl@gnu.org>
Copyright © 2009 Matthew Mueller <donut@azstarnet.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_epetra
==================

Synopsis
********

     AX_TRILINOS_EPETRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.epetra" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_epetra.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_epetra.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_epetra.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_epetraext
=====================

Synopsis
********

     AX_TRILINOS_EPETRAEXT([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.epetraext" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_epetraext.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_epetraext.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_epetraext.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_epetraext_hdf5
==========================

Synopsis
********

     AX_TRILINOS_EPETRAEXT_HDF5([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

Checks if EpetraExt was compiled with HDF5 support
(-enable-epetraext-hdf5) enabled.  When ACTION-IF-NOT-FOUND is not
specified, the default behavior is for configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_epetraext_hdf5.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_epetraext_hdf5.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_epetraext_hdf5.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_rtop
================

Synopsis
********

     AX_TRILINOS_RTOP([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.rtop" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_rtop.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_rtop.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_rtop.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_rythmos
===================

Synopsis
********

     AX_TRILINOS_RYTHMOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.rythmos" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_rythmos.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_rythmos.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_rythmos.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_teuchos
===================

Synopsis
********

     AX_TRILINOS_TEUCHOS([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.teuchos" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.

When ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_teuchos.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_teuchos.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_teuchos.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_thyra
=================

Synopsis
********

     AX_TRILINOS_THYRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

On success, adds "include Makefile.export.thyra" statements to every
Automake file containing @INC_AMINCLUDE@.  Requires that Trilinos was
configured with the -enable-export-makefiles option.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_thyra.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_thyra.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_thyra.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_thyra_epetra
========================

Synopsis
********

     AX_TRILINOS_THYRA_EPETRA([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

Checks if the Thyra/Epetra adapters were compiled with Trilinos.  When
ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_thyra_epetra.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_thyra_epetra.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_thyra_epetra.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_trilinos_thyra_epetraext
===========================

Synopsis
********

     AX_TRILINOS_THYRA_EPETRAEXT([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])

Description
***********

Checks if the Thyra/EpetraExt adapters were compiled with Trilinos.
When ACTION-IF-NOT-FOUND is not specified, the default behavior is for
configure to fail.

Source Code
***********

Download the latest version of ‘ax_trilinos_thyra_epetraext.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_trilinos_thyra_epetraext.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_trilinos_thyra_epetraext.m4).

License
*******

Copyright © 2009 Rhys Ulerich <rhys.ulerich@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_try_awk_anyout
=================

Synopsis
********

     AX_TRY_AWK_ANYOUT(NAME,TEST-INPUT,TEST-BODY,[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE])

Description
***********

Run a test using the awk program found on AWK variable.  The test being
run has TEST-BODY as body and is fed with TEST-INPUT. If successful
execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE

This work is heavily based upon testawk.sh script by Heiner Steven.  You
should find his script (and related works) at
<http://www.shelldorado.com/articles/awkcompat.html>.  Thanks to
Alessandro Massignan for his suggestions and extensive nawk tests on
FreeBSD.

Source Code
***********

Download the latest version of ‘ax_try_awk_anyout.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_try_awk_anyout.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_try_awk_anyout.m4).

License
*******

Copyright © 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_try_awk_expout
=================

Synopsis
********

     AX_TRY_AWK_EXPOUT(NAME,TEST-INPUT,TEST-BODY,EXPECTED-OUTPUT,[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE])

Description
***********

Run a test using the awk program found on AWK variable.  The test being
run has TEST-BODY as body and is fed with TEST-INPUT. Check if the test
gives the expected output.  If successful execute ACTION-IF-SUCCESS
otherwise ACTION-IF-FAILURE.

This work is heavily based upon testawk.sh script by Heiner Steven.  You
should find his script (and related works) at
<http://www.shelldorado.com/articles/awkcompat.html>.  Thanks to
Alessandro Massignan for his suggestions and extensive nawk tests on
FreeBSD.

Source Code
***********

Download the latest version of ‘ax_try_awk_expout.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_try_awk_expout.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_try_awk_expout.m4).

License
*******

Copyright © 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_try_compile_java
===================

Synopsis
********

     AX_TRY_COMPILE_JAVA

Description
***********

AX_TRY_COMPILE_JAVA attempt to compile user given source.

*Warning*: its success or failure can depend on a proper setting of the
CLASSPATH env.  variable.

Note: This is part of the set of autoconf M4 macros for Java programs.
It is VERY IMPORTANT that you download the whole set, some macros depend
on other.  Unfortunately, the autoconf archive does not support the
concept of set of macros, so I had to break it for submission.  The
general documentation, as well as the sample configure.in, is included
in the AX_PROG_JAVA macro.

Source Code
***********

Download the latest version of ‘ax_try_compile_java.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_try_compile_java.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_try_compile_java.m4).

License
*******

Copyright © 2008 Devin Weaver <ktohg@tritarget.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_try_run_java
===============

Synopsis
********

     AX_TRY_RUN_JAVA

Description
***********

AX_TRY_RUN_JAVA attempt to compile and run user given source.

*Warning*: its success or failure can depend on a proper setting of the
CLASSPATH env.  variable.

Note: This is part of the set of autoconf M4 macros for Java programs.
It is VERY IMPORTANT that you download the whole set, some macros depend
on other.  Unfortunately, the autoconf archive does not support the
concept of set of macros, so I had to break it for submission.  The
general documentation, as well as the sample configure.in, is included
in the AX_PROG_JAVA macro.

Source Code
***********

Download the latest version of ‘ax_try_run_java.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_try_run_java.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_try_run_java.m4).

License
*******

Copyright © 2008 Devin Weaver <ktohg@tritarget.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_type_socklen_t
=================

Synopsis
********

     AX_TYPE_SOCKLEN_T

Description
***********

Check whether sys/socket.h defines type socklen_t.  Please note that
some systems require sys/types.h to be included before sys/socket.h can
be compiled.

Source Code
***********

Download the latest version of ‘ax_type_socklen_t.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_type_socklen_t.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_type_socklen_t.m4).

License
*******

Copyright © 2008 Lars Brinkhoff <lars@nocrew.org>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_upload
=========

Synopsis
********

     AX_UPLOAD([command])

Description
***********

Adds support for uploading dist files.  %%s in the command will be
substituted with the name of the file.  e.g:

       AX_UPLOAD([ncftpput -v upload.sourceforge.net /incoming %%s])

To add upload support for other custom dists add upload-<TYPE> to
UPLOAD_BIN or UPLOAD_SRC, where <TYPE> is the type of dist that is being
uploaded and add a mapping from <TYPE> to the dist file name in the
format '{<TYPE>=><FILENAME>}' to UPLOAD_TARGETS. For example:

       UPLOAD_BIN += upload-foobar
       UPLOAD_TARGETS += {foobar=>@PACKAGE@-@VERSION@.fb}

You can then upload of the src distribution files by running:

       make upload-src

all the binary distribution files by running:

       make upload-bin

or both by running:

       make upload

Source Code
***********

Download the latest version of ‘ax_upload.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_upload.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_upload.m4).

License
*******

Copyright © 2009 Tom Howard <tomhoward@users.sf.net>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_valgrind_check
=================

Synopsis
********

     AX_VALGRIND_DFLT(memcheck|helgrind|drd|sgcheck, on|off)
     AX_VALGRIND_CHECK()

Description
***********

AX_VALGRIND_CHECK checks whether Valgrind is present and, if so, allows
running 'make check' under a variety of Valgrind tools to check for
memory and threading errors.

Defines VALGRIND_CHECK_RULES which should be substituted in your
Makefile; and $enable_valgrind which can be used in subsequent configure
output.  VALGRIND_ENABLED is defined and substituted, and corresponds to
the value of the -enable-valgrind option, which defaults to being
enabled if Valgrind is installed and disabled otherwise.  Individual
Valgrind tools can be disabled via -disable-valgrind-<tool>, the default
is configurable via the AX_VALGRIND_DFLT command or is to use all
commands not disabled via AX_VALGRIND_DFLT. All AX_VALGRIND_DFLT calls
must be made before the call to AX_VALGRIND_CHECK.

If unit tests are written using a shell script and automake's
LOG_COMPILER system, the $(VALGRIND) variable can be used within the
shell scripts to enable Valgrind, as described here:

       https://www.gnu.org/software/gnulib/manual/html_node/Running-self_002dtests-under-valgrind.html

Usage example:

configure.ac:

       AX_VALGRIND_DFLT([sgcheck], [off])
       AX_VALGRIND_CHECK

in each Makefile.am with tests:

       @VALGRIND_CHECK_RULES@
       VALGRIND_SUPPRESSIONS_FILES = my-project.supp
       EXTRA_DIST = my-project.supp

This results in a "check-valgrind" rule being added.  Running 'make
check-valgrind' in that directory will recursively run the module's test
suite ('make check') once for each of the available Valgrind tools (out
of memcheck, helgrind and drd) while the sgcheck will be skipped unless
enabled again on the commandline with -enable-valgrind-sgcheck.  The
results for each check will be output to test-suite-$toolname.log.  The
target will succeed if there are zero errors and fail otherwise.

Alternatively, a "check-valgrind-$TOOL" rule will be added, for $TOOL in
memcheck, helgrind, drd and sgcheck.  These are useful because often
only some of those tools can be ran cleanly on a codebase.

The macro supports running with and without libtool.

Source Code
***********

Download the latest version of ‘ax_valgrind_check.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_valgrind_check.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_valgrind_check.m4).

License
*******

Copyright © 2014, 2015, 2016 Philip Withnall <philip.withnall@collabora.co.uk>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_var_pop
==========

Synopsis
********

     AX_VAR_POPVALUE(VARIABLE)

Description
***********

Restores a variable's previous value.  Compile, link and running tests
usually require the programmer to provide additional flags.  However, it
is strongly recommended not to override flags defined by the user
through the configure command.  AX_VAR_PUSHVALUE and AX_VAR_POPVALUE are
clean way to temporarily store a variable's value and restore it later,
using a stack-like behaviour.  This macro supports nesting.

Example:

       AX_VAR_PUSHVALUE([CXXFLAGS],["my test flags"])
       perform some checks with CXXFLAGS...
       CXXFLAGS value will be "my test flags"
       AX_VAR_POPVALUE([CXXFLAGS])
       CXXFLAGS is restored to its original value

Source Code
***********

Download the latest version of ‘ax_var_pop.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_var_pop.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_var_pop.m4).

License
*******

Copyright © 2015 Jorge Bellon <jbelloncastro@gmail.com>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_var_push
===========

Synopsis
********

     AX_VAR_PUSHVALUE(VARIABLE, [VALUE])

Description
***********

Stores a copy of variable_name's value and assigns it to 'value' If no
value is given, its original value is kept.  Compile, link and running
tests usually require the programmer to provide additional flags.
However, it is strongly recommended not to override flags defined by the
user through the configure command.  AX_VAR_PUSHVALUE and
AX_VAR_POPVALUE are clean way to temporarily store a variable's value
and restore it later, using a stack-like behaviour.  This macro supports
nesting.

Example:

       AX_VAR_PUSHVALUE([CXXFLAGS],["my test flags"])
       perform some checks with CXXFLAGS...
       CXXFLAGS value will be "my test flags"
       AX_VAR_POPVALUE([CXXFLAGS])
       CXXFLAGS is restored to its original value

Source Code
***********

Download the latest version of ‘ax_var_push.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_var_push.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_var_push.m4).

License
*******

Copyright © 2015 Jorge Bellon <jbelloncastro@gmail.com>

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_var_timezone_externals
=========================

Synopsis
********

     AX_VAR_TIMEZONE_EXTERNALS

Description
***********

Use instead of 'AC_STRUCT_TIMEZONE' to determine whether the external
timezone variables 'timezone', 'altzone' and 'daylight' exist, defining
'HAVE_TIMEZONE', 'HAVE_ALTZONE' and 'HAVE_DAYLIGHT' respectively (as
well as gaining the macros defined by 'AC_STRUCT_TIMEZONE').

Rewritten for Autoconf 2.68, and made robust against BSD's timezone()
function, by Daniel Richard G.

Source Code
***********

Download the latest version of ‘ax_var_timezone_externals.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_var_timezone_externals.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_var_timezone_externals.m4).

License
*******

Copyright © 2008 Mark R. Bannister <markb@freedomware.co.uk>
Copyright © 2011 Daniel Richard G. <skunk@iSKUNK.ORG>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_very_nice
============

Synopsis
********

     AX_VERY_NICE

Description
***********

A macro to check the options of nice, in order to have a VERY_NICE
variable which runs a program at the lowest priority VERY_NICE is
undefined if we don't find the proper options, so you can safely use:

       @VERY_NICE@ mycommand

in a shell script.

The VERY_NICE variable includes the placeholder NICE_VALUE that you have
to instantiate at run-time.  If you give a argument to AX_VERY_NICE, it
will be used as an argument of nice for testing and included in
VERY_NICE instead of the above placeholder.

Source Code
***********

Download the latest version of ‘ax_very_nice.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_very_nice.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_very_nice.m4).

License
*******

Copyright © 2008 Stephane Bortzmeyer <bortzmeyer@pasteur.fr>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_warning_default_aclocaldir
=============================

Synopsis
********

     AX_WARNING_DEFAULT_ACLOCALDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])]
     AX_ENABLE_DEFAULT_ACLOCALDIR [(dirvariable [,defsetting])]

Description
***********

print a warning message if the $(datadir)/aclocal directory is not in
the dirlist searched by the aclocal tool.  This macro is useful if some
'make install' would target $(datadir)/aclocal to install an autoconf m4
file of your project to be picked up by other projects.

      default $1 dirvariable = aclocaldir
      default $2 defsetting  = ${datadir}/aclocal
      default $3 action = nothing to do
      default $4 action = warn the user about mismatch

In the _WARNING_ variant, the defsetting is not placed in dirvariable
nor is it ac_subst'ed in any way.  The default fail-action $4 is to send
a warning message to the user, and the default accept-action $3 is
nothing.  It is expected that a Makefile is generated with
aclocaldir=${datadir}/aclocal

The _ENABLE_ variant however will set not only the $aclocaldir shell var
of the script, but it is also AC-SUBST'ed on default - and furthermore a
configure option "-enable-default-aclocaldir" is provided.  Only if that
option is set then $2 default is not set to the canonic default in the a
$prefix subpath but instead $2 default is set to the primary path where
'aclocal' looks for macros.  The user may also override the default on
the command line.

Source Code
***********

Download the latest version of ‘ax_warning_default_aclocaldir.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_warning_default_aclocaldir.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_warning_default_aclocaldir.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_warning_default_pkgconfig
============================

Synopsis
********

     AX_WARNING_DEFAULT_PKGCONFIGDIR [(dirvariable [,[defsetting][,[A][,[N/A]]]])]
     AX_ENABLE_DEFAULT_PKGCONFIGDIR [(dirvariable [,defsetting])]

Description
***********

print a warning message if the $(datadir)/aclocal directory is not in
the dirlist searched by the aclocal tool.  This macro is useful if some
'make install' would target $(datadir)/aclocal to install an autoconf m4
file of your project to be picked up by other projects.

      default $1 dirvariable = pkgconfigdir
      default $2 defsetting  = ${libdir}/pkgconfig
      default $3 action = nothing to do
      default $4 action = warn the user about mismatch

In the _WARNING_ variant, the defsetting is not placed in dirvariable
nor is it ac_subst'ed in any way.  The default fail-action $4 is to send
a warning message to the user, and the default accept-action $3 is
nothing.  It is expected that a Makefile is generated with
pkgconfigdir=${libdir}/pkgconfig

The _ENABLE_ variant however will set not only the $pkgconfigdir shell
var of the script, but it is also AC-SUBST'ed on default - and
furthermore a configure option "-enable-default-pkgconfigdir" is
provided.  Only if that option is set then $2 default is not set to the
canonic default in the a $prefix subpath but instead $2 default is set
to the primary path where 'pkg-config' looks for .pc files.  The user
may also override the default on the command line.

Source Code
***********

Download the latest version of ‘ax_warning_default_pkgconfig.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_warning_default_pkgconfig.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_warning_default_pkgconfig.m4).

License
*******

Copyright © 2008 Guido U. Draheim <guidod@gmx.de>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_wint_t
=========

Synopsis
********

     AX_WINT_T

Description
***********

It turns out that MacOS X doesn't guarantee to provide the "wint_t" type
unless you include the strange header <runetype.h> in addition to
<wchar.h>.  Consequently, the "do I have a system wint_t?"  probe fails
and an alternate gets used.  Unfortunately, by the time the program gets
built, one way or another that funny header winds up getting included
and the "#define wint_t unsigned int" patch-up-hack mutilates the
typedef.  This macro will get it right.

Source Code
***********

Download the latest version of ‘ax_wint_t.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_wint_t.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_wint_t.m4).

License
*******

Copyright © 2008 Bruce Korb <bkorb@gnu.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_with_apxs
============

Synopsis
********

     AX_WITH_APXS([value-if-not-found], [path])

Description
***********

Locates an installed apxs binary, placing the result in the precious
variable $APXS. Accepts a preset $APXS, then -with-apxs, and failing
that searches for apxs in the given path (which defaults to the system
path).  If apxs is found, $APXS is set to the full path of the binary;
otherwise it is set to VALUE-IF-NOT-FOUND, which defaults to apxs.

Example:

       AX_WITH_APXS(missing)

Source Code
***********

Download the latest version of ‘ax_with_apxs.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_apxs.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_apxs.m4).

License
*******

Copyright © 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_with_build_path
==================

Synopsis
********

     AX_WITH_BUILD_PATH

Description
***********

This macro adds a "-with-build-path" option to the configure script.
This configure option provides a convenient way to add "-I" options to
CPPFLAGS and "-L" options to LDFLAGS, at configure time.

Invoking "./configure -with-build-path=DIR" results in "-I DIR/include"
being added to CPPFLAGS if DIR/include exists, and "-L DIR/lib" being
added to LDFLAGS if DIR/lib exists.

Separate multiple directories using colons; e.g.
"-with-build-path=DIR1:DIR2:DIR3".

Source Code
***********

Download the latest version of ‘ax_with_build_path.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_build_path.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_build_path.m4).

License
*******

Copyright © 2008 Steve M. Robbins <smr@debian.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_with_curses
==============

Synopsis
********

     AX_WITH_CURSES

Description
***********

This macro checks whether a SysV or X/Open-compatible Curses library is
present, along with the associated header file.  The NcursesW
(wide-character) library is searched for first, followed by Ncurses,
then the system-default plain Curses.  The first library found is the
one returned.  Finding libraries will first be attempted by using
pkg-config, and should the pkg-config files not be available, will
fallback to combinations of known flags itself.

The following options are understood: -with-ncursesw, -with-ncurses,
-without-ncursesw, -without-ncurses.  The "-with" options force the
macro to use that particular library, terminating with an error if not
found.  The "-without" options simply skip the check for that library.
The effect on the search pattern is:

       (no options)                           - NcursesW, Ncurses, Curses
       --with-ncurses     --with-ncursesw     - NcursesW only [*]
       --without-ncurses  --with-ncursesw     - NcursesW only [*]
                          --with-ncursesw     - NcursesW only [*]
       --with-ncurses     --without-ncursesw  - Ncurses only [*]
       --with-ncurses                         - NcursesW, Ncurses [**]
       --without-ncurses  --without-ncursesw  - Curses only
                          --without-ncursesw  - Ncurses, Curses
       --without-ncurses                      - NcursesW, Curses

[*] If the library is not found, abort the configure script.

[**] If the second library (Ncurses) is not found, abort configure.

The following preprocessor symbols may be defined by this macro if the
appropriate conditions are met:

       HAVE_CURSES             - if any SysV or X/Open Curses library found
       HAVE_CURSES_ENHANCED    - if library supports X/Open Enhanced functions
       HAVE_CURSES_COLOR       - if library supports color (enhanced functions)
       HAVE_CURSES_OBSOLETE    - if library supports certain obsolete features
       HAVE_NCURSESW           - if NcursesW (wide char) library is to be used
       HAVE_NCURSES            - if the Ncurses library is to be used

       HAVE_CURSES_H           - if <curses.h> is present and should be used
       HAVE_NCURSESW_H         - if <ncursesw.h> should be used
       HAVE_NCURSES_H          - if <ncurses.h> should be used
       HAVE_NCURSESW_CURSES_H  - if <ncursesw/curses.h> should be used
       HAVE_NCURSES_CURSES_H   - if <ncurses/curses.h> should be used

(These preprocessor symbols are discussed later in this document.)

The following output variables are defined by this macro; they are
precious and may be overridden on the ./configure command line:

       CURSES_LIBS  - library to add to xxx_LDADD
       CURSES_CFLAGS  - include paths to add to xxx_CPPFLAGS

In previous versions of this macro, the flags CURSES_LIB and
CURSES_CPPFLAGS were defined.  These have been renamed, in keeping with
AX_WITH_CURSES's close bigger brother, PKG_CHECK_MODULES, which should
eventually supersede the use of AX_WITH_CURSES. Neither the library
listed in CURSES_LIBS, nor the flags in CURSES_CFLAGS are added to LIBS,
respectively CPPFLAGS, by default.  You need to add both to the
appropriate xxx_LDADD/xxx_CPPFLAGS line in your Makefile.am.  For
example:

       prog_LDADD = @CURSES_LIBS@
       prog_CPPFLAGS = @CURSES_CFLAGS@

If CURSES_LIBS is set on the configure command line (such as by running
"./configure CURSES_LIBS=-lmycurses"), then the only header searched for
is <curses.h>.  If the user needs to specify an alternative path for a
library (such as for a non-standard NcurseW), the user should use the
LDFLAGS variable.

The following shell variables may be defined by this macro:

       ax_cv_curses           - set to "yes" if any Curses library found
       ax_cv_curses_enhanced  - set to "yes" if Enhanced functions present
       ax_cv_curses_color     - set to "yes" if color functions present
       ax_cv_curses_obsolete  - set to "yes" if obsolete features present

       ax_cv_ncursesw      - set to "yes" if NcursesW library found
       ax_cv_ncurses       - set to "yes" if Ncurses library found
       ax_cv_plaincurses   - set to "yes" if plain Curses library found
       ax_cv_curses_which  - set to "ncursesw", "ncurses", "plaincurses" or "no"

These variables can be used in your configure.ac to determine the level
of support you need from the Curses library.  For example, if you must
have either Ncurses or NcursesW, you could include:

       AX_WITH_CURSES
       if test "x$ax_cv_ncursesw" != xyes && test "x$ax_cv_ncurses" != xyes; then
           AC_MSG_ERROR([requires either NcursesW or Ncurses library])
       fi

If any Curses library will do (but one must be present and must support
color), you could use:

       AX_WITH_CURSES
       if test "x$ax_cv_curses" != xyes || test "x$ax_cv_curses_color" != xyes; then
           AC_MSG_ERROR([requires an X/Open-compatible Curses library with color])
       fi

Certain preprocessor symbols and shell variables defined by this macro
can be used to determine various features of the Curses library.  In
particular, HAVE_CURSES and ax_cv_curses are defined if the Curses
library found conforms to the traditional SysV and/or X/Open Base Curses
definition.  Any working Curses library conforms to this level.

HAVE_CURSES_ENHANCED and ax_cv_curses_enhanced are defined if the
library supports the X/Open Enhanced Curses definition.  In particular,
the wide-character types attr_t, cchar_t and wint_t, the functions
wattr_set() and wget_wch() and the macros WA_NORMAL and _XOPEN_CURSES
are checked.  The Ncurses library does NOT conform to this definition,
although NcursesW does.

HAVE_CURSES_COLOR and ax_cv_curses_color are defined if the library
supports color functions and macros such as COLOR_PAIR, A_COLOR,
COLOR_WHITE, COLOR_RED and init_pair().  These are NOT part of the
X/Open Base Curses definition, but are part of the Enhanced set of
functions.  The Ncurses library DOES support these functions, as does
NcursesW.

HAVE_CURSES_OBSOLETE and ax_cv_curses_obsolete are defined if the
library supports certain features present in SysV and BSD Curses but not
defined in the X/Open definition.  In particular, the functions
getattrs(), getcurx() and getmaxx() are checked.

To use the HAVE_xxx_H preprocessor symbols, insert the following into
your system.h (or equivalent) header file:

       #if defined HAVE_NCURSESW_CURSES_H
       #  include <ncursesw/curses.h>
       #elif defined HAVE_NCURSESW_H
       #  include <ncursesw.h>
       #elif defined HAVE_NCURSES_CURSES_H
       #  include <ncurses/curses.h>
       #elif defined HAVE_NCURSES_H
       #  include <ncurses.h>
       #elif defined HAVE_CURSES_H
       #  include <curses.h>
       #else
       #  error "SysV or X/Open-compatible Curses header file required"
       #endif

For previous users of this macro: you should not need to change anything
in your configure.ac or Makefile.am, as the previous (serial 10)
semantics are still valid.  However, you should update your system.h (or
equivalent) header file to the fragment shown above.  You are encouraged
also to make use of the extended functionality provided by this version
of AX_WITH_CURSES, as well as in the additional macros
AX_WITH_CURSES_PANEL, AX_WITH_CURSES_MENU and AX_WITH_CURSES_FORM.

Source Code
***********

Download the latest version of ‘ax_with_curses.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_curses.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_curses.m4).

License
*******

Copyright © 2009 Mark Pulford <mark@kyne.com.au>
Copyright © 2009 Damian Pietras <daper@daper.net>
Copyright © 2012 Reuben Thomas <rrt@sc3d.org>
Copyright © 2011 John Zaitseff <J.Zaitseff@zap.org.au>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_with_curses_extra
====================

Synopsis
********

     AX_WITH_CURSES_PANEL
     AX_WITH_CURSES_MENU
     AX_WITH_CURSES_FORM

Description
***********

These macros try to find additional libraries that often come with
SysV-compatible Curses.  In particular, the Panel, Menu and Form
libraries are searched, along with their header files.  These macros
depend on AX_WITH_CURSES.

The following preprocessor symbols may be defined by these macros:

       By AX_WITH_CURSES_PANEL:

       HAVE_PANEL              - if the Panel library is present
       HAVE_PANEL_H            - if <panel.h> is present and should be used
       HAVE_NCURSES_PANEL_H    - if <ncurses/panel.h> should be used
       HAVE_NCURSESW_PANEL_H   - if <ncursesw/panel.h> should be used

       By AX_WITH_CURSES_MENU:

       HAVE_MENU               - if the Menu library is present
       HAVE_MENU_H             - if <menu.h> is present and should be used
       HAVE_NCURSES_MENU_H     - if <ncurses/menu.h> should be used
       HAVE_NCURSESW_MENU_H    - if <ncursesw/menu.h> should be used

       By AX_WITH_CURSES_FORM:

       HAVE_FORM               - if the Form library is present
       HAVE_FORM_H             - if <form.h> is present and should be used
       HAVE_NCURSES_FORM_H     - if <ncurses/form.h> should be used
       HAVE_NCURSESW_FORM_H    - if <ncursesw/form.h> should be used

The following output variables may be defined by these macros; these are
precious and may be overridden on the ./configure command line:

       PANEL_LIBS   - library to add to xxx_LDADD before CURSES_LIBS
       MENU_LIBS    - library to add to xxx_LDADD before CURSES_LIBS
       FORM_LIBS    - library to add to xxx_LDADD before CURSES_LIBS

In previous versions of this macro, the flags PANEL_LIB, MENU_LIB and
FORM_LIB were defined.  These have been renamed, in keeping with the
variable scheme of PKG_CHECK_MODULES, which should eventually supersede
the use of AX_WITH_CURSES and AX_WITH_CURSES_* macros.  These libraries
are NOT added to LIBS by default.  You need to add them to the
appropriate xxx_LDADD line in your Makefile.am in front of the
equivalent CURSES_LIBS incantation.  For example:

       prog_LDADD = @PANEL_LIBS@ @CURSES_LIBS@

If one of the xxx_LIBS variables is set on the configure command line
(such as by running "./configure PANEL_LIBS=-lmypanel"), then the header
file searched must NOT contain a subpath.  In this case, in other words,
only <panel.h> would be searched for.  The user may use the CPPFLAGS
precious variable to override the standard #include search path.

The following shell variables may be defined by these macros:

       ax_cv_panel   - set to "yes" if Panels library is present
       ax_cv_menu    - set to "yes" if Menu library is present
       ax_cv_form    - set to "yes" if Form library is present

These variables can be used in your configure.ac to determine whether a
library you require is actually present.  For example:

       AX_WITH_CURSES
       if test "x$ax_cv_curses" != xyes; then
           AC_MSG_ERROR([requires a SysV or X/Open-compatible Curses library])
       fi
       AX_WITH_CURSES_PANEL
       if test "x$ax_cv_panel" != xyes; then
           AC_MSG_ERROR([requires the Curses Panel library])
       fi

To use the HAVE_xxx_H preprocessor symbols, insert the following into
your system.h (or equivalent) header file:

       For AX_WITH_CURSES_PANEL:

       #if defined HAVE_NCURSESW_PANEL_H
       #  include <ncursesw/panel.h>
       #elif defined HAVE_NCURSES_PANEL_H
       #  include <ncurses/panel.h>
       #elif defined HAVE_PANEL_H
       #  include <panel.h>
       #else
       #  error "SysV-compatible Curses Panel header file required"
       #endif

       For AX_WITH_CURSES_MENU:

       #if defined HAVE_NCURSESW_MENU_H
       #  include <ncursesw/menu.h>
       #elif defined HAVE_NCURSES_MENU_H
       #  include <ncurses/menu.h>
       #elif defined HAVE_MENU_H
       #  include <menu.h>
       #else
       #  error "SysV-compatible Curses Menu header file required"
       #endif

       For AX_WITH_CURSES_FORM:

       #if defined HAVE_NCURSESW_FORM_H
       #  include <ncursesw/form.h>
       #elif defined HAVE_NCURSES_FORM_H
       #  include <ncurses/form.h>
       #elif defined HAVE_FORM_H
       #  include <form.h>
       #else
       #  error "SysV-compatible Curses Form header file required"
       #endif

Source Code
***********

Download the latest version of ‘ax_with_curses_extra.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_curses_extra.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_curses_extra.m4).

License
*******

Copyright © 2011 John Zaitseff <J.Zaitseff@zap.org.au>

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 <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_with_dmalloc
===============

Synopsis
********

     AX_WITH_DMALLOC

Description
***********

Let the user enable/disable support for the dmalloc library available
from <http://www.dmalloc.org/>.

The macro adds the command-line flag "-with-dmalloc".  Furthermore,
"-IPREFIX/include" will be added to "$CPPFLAGS", "-LPREFIX/lib" to
"$LDFLAGS", and "-DDEBUG_DMALLOC" and "-DDMALLOC_FUNC_CHECK" to
"$CPPFLAGS".

To enable dmalloc support in your code, add the following snippet to
your header files:

       #ifdef DEBUG_DMALLOC
       #  include <dmalloc.h>
       #endif

Source Code
***********

Download the latest version of ‘ax_with_dmalloc.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_dmalloc.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_dmalloc.m4).

License
*******

Copyright © 2008 Peter Simons <simons@cryp.to>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_with_mpatrol
===============

Synopsis
********

     AX_WITH_MPATROL(DEFAULT)

Description
***********

Integrates the mpatrol malloc debugging library into a new or existing
project and also attempts to determine the support libraries that need
to be linked in when libmpatrol is used.

It takes one optional parameter specifying whether mpatrol should be
included in the project ('yes') or not ('no').  This can also be
specified as 'threads' if you wish to use the threadsafe version of the
mpatrol library.  You can override the value of the optional parameter
with the '-with-mpatrol' option to the resulting 'configure' shell
script.

Source Code
***********

Download the latest version of ‘ax_with_mpatrol.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_mpatrol.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_mpatrol.m4).

License
*******

Copyright © 2008 Graeme S. Roy <graeme@epc.co.uk>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_with_prog
============

Synopsis
********

     AX_WITH_PROG([VARIABLE],[program],[VALUE-IF-NOT-FOUND],[PATH])

Description
***********

Locates an installed program binary, placing the result in the precious
variable VARIABLE. Accepts a present VARIABLE, then -with-program, and
failing that searches for program in the given path (which defaults to
the system path).  If program is found, VARIABLE is set to the full path
of the binary; if it is not found VARIABLE is set to VALUE-IF-NOT-FOUND
if provided, unchanged otherwise.

A typical example could be the following one:

       AX_WITH_PROG(PERL,perl)

NOTE: This macro is based upon the original AX_WITH_PYTHON macro from
Dustin J. Mitchell <dustin@cs.uchicago.edu>.

Source Code
***********

Download the latest version of ‘ax_with_prog.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_with_prog.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_with_prog.m4).

License
*******

Copyright © 2008 Francesco Salvestrini <salvestrini@users.sourceforge.net>

Copyright © 2008 Dustin J. Mitchell <dustin@cs.uchicago.edu>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_xercesc
==========

Synopsis
********

     AX_XERCESC

Description
***********

Define $HAVE_LIBXERCES_C, $LIBXERCES_C, and $LTLIBXERCES_C to signify
whether Xerces is available.

Source Code
***********

Download the latest version of ‘ax_xercesc.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_xercesc.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_xercesc.m4).

License
*******

Copyright © 2008 Ronald Landheer-Cieslak <blytkerchan@users.sourceforge.net>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_xsdcxx
=========

Synopsis
********

     AX_XSDCXX

Description
***********

This macro tries to find the CodeSynthesis XSD executable and the
corresponding headers.

Supported options:

       --with-xsdcxx
           use CodeSynthesis XSD from given prefix (ARG=path);
           check PATH (ARG=yes); disable (ARG=no)

       --with-xsdcxx-inc
           path to CodeSynthesis XSD headers (ARG=path); use standard prefix
           (ARG=yes); disable (ARG=no)

Output variables:

       XSDCXX
       XSDCXX_CPPFLAGS

Source Code
***********

Download the latest version of ‘ax_xsdcxx.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_xsdcxx.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_xsdcxx.m4).

License
*******

Copyright © 2013 Laszlo Kajan <lkajan@rostlab.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_xtra_classpath
=================

Synopsis
********

     AX_XTRA_CLASSPATH(<classpath>,<class>,<jarfile>,<action-if-found>,<action-if-not-found>)

Description
***********

Set $1 to extra classpath components required for class $2 found in a
jar file in $3.  If the class is found do $4 and otherwise do $5.  Uses
AX_JAVA_CHECK_CLASS for testing whether a class is available

Source Code
***********

Download the latest version of ‘ax_xtra_classpath.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_xtra_classpath.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_xtra_classpath.m4).

License
*******

Copyright © 2008 Duncan Simpson <dps@simpson.demon.co.uk>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program.  If not, see <https://www.gnu.org/licenses/>.

As a special exception, the respective Autoconf Macro's copyright owner
gives unlimited permission to copy, distribute and modify the configure
scripts that are the output of Autoconf when processing the Macro.  You
need not follow the terms of the GNU General Public License when using
or distributing such scripts, even though portions of the text of the
Macro appear in them.  The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.

This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive.  When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.

ax_zmq
======

Synopsis
********

     AX_ZMQ([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])

Description
***********

Test for the ZMQ libraries of a particular version (or newer).  The
default version tested for is 4.0.0.

The macro tests for ZMQ libraries in the library/include path, and, when
provided, also in the path given by -with-zmq.

This macro calls:

       AC_SUBST(ZMQ_CPPFLAGS) / AC_SUBST(ZMQ_LDFLAGS) / AC_SUBST(ZMQ_LIBS)

And sets:

       HAVE_ZMQ

Source Code
***********

Download the latest version of ‘ax_zmq.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_zmq.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_zmq.m4).

License
*******

Copyright © 2016 Jeroen Meijer <jjgmeijer@gmail.com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

ax_zoneinfo
===========

Synopsis
********

     AX_ZONEINFO([options...])

Description
***********

This macro finds compiled zoneinfo files.  If successful it will define
HAVE_ZONEINFO per:

       AC_DEFINE([HAVE_ZONEINFO], [1], [...])

and have the variable TZDIR point to the zoneinfo directory as per

       AC_SUBST([TZDIR])
       AC_DEFINE_UNQUOTED([TZDIR], [/path/to/zic/files], [...])

Optionally, OPTIONS can be 'right' to trigger further tests that will
determine if leap second fix-ups are available.  If so the variables
HAVE_ZONEINFO_RIGHT, ZONEINFO_UTC_RIGHT and TZDIR_RIGHT will be
populated:

       AC_DEFINE([HAVE_ZONEINFO_RIGHT], [1], [...])
       AC_SUBST([TZDIR_RIGHT])
       AC_DEFINE_UNQUOTED([TZDIR_RIGHT], [/path/to/right/zic/files], [...])
       AC_SUBST([ZONEINFO_UTC_RIGHT])
       AC_DEFINE_UNQUOTED([ZONEINFO_UTC_RIGHT], [$ZONEINFO_UTC_RIGHT], [...])

Source Code
***********

Download the latest version of ‘ax_zoneinfo.m4’
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_zoneinfo.m4)
or browse the macro's revision history
(http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_zoneinfo.m4).

License
*******

Copyright © 2012 Sebastian Freundt <freundt@fresse.org>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.  This file is offered as-is, without any
warranty.

Appendix A GNU Free Documentation License
*****************************************

                     Version 1.3, 3 November 2008

     Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
     <https://fsf.org/>

     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

  0. PREAMBLE

     The purpose of this License is to make a manual, textbook, or other
     functional and useful document “free” in the sense of freedom: to
     assure everyone the effective freedom to copy and redistribute it,
     with or without modifying it, either commercially or
     noncommercially.  Secondarily, this License preserves for the
     author and publisher a way to get credit for their work, while not
     being considered responsible for modifications made by others.

     This License is a kind of "copyleft", which means that derivative
     works of the document must themselves be free in the same sense.
     It complements the GNU General Public License, which is a copyleft
     license designed for free software.

     We have designed this License in order to use it for manuals for
     free software, because free software needs free documentation: a
     free program should come with manuals providing the same freedoms
     that the software does.  But this License is not limited to
     software manuals; it can be used for any textual work, regardless
     of subject matter or whether it is published as a printed book.  We
     recommend this License principally for works whose purpose is
     instruction or reference.

  1. APPLICABILITY AND DEFINITIONS

     This License applies to any manual or other work, in any medium,
     that contains a notice placed by the copyright holder saying it can
     be distributed under the terms of this License.  Such a notice
     grants a world-wide, royalty-free license, unlimited in duration,
     to use that work under the conditions stated herein.  The
     "Document", below, refers to any such manual or work.  Any member
     of the public is a licensee, and is addressed as "you".  You accept
     the license if you copy, modify or distribute the work in a way
     requiring permission under copyright law.

     A "Modified Version" of the Document means any work containing the
     Document or a portion of it, either copied verbatim, or with
     modifications and/or translated into another language.

     A "Secondary Section" is a named appendix or a front-matter section
     of the Document that deals exclusively with the relationship of the
     publishers or authors of the Document to the Document's overall
     subject (or to related matters) and contains nothing that could
     fall directly within that overall subject.  (Thus, if the Document
     is in part a textbook of mathematics, a Secondary Section may not
     explain any mathematics.)  The relationship could be a matter of
     historical connection with the subject or with related matters, or
     of legal, commercial, philosophical, ethical or political position
     regarding them.

     The "Invariant Sections" are certain Secondary Sections whose
     titles are designated, as being those of Invariant Sections, in the
     notice that says that the Document is released under this License.
     If a section does not fit the above definition of Secondary then it
     is not allowed to be designated as Invariant.  The Document may
     contain zero Invariant Sections.  If the Document does not identify
     any Invariant Sections then there are none.

     The "Cover Texts" are certain short passages of text that are
     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
     that says that the Document is released under this License.  A
     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     be at most 25 words.

     A "Transparent" copy of the Document means a machine-readable copy,
     represented in a format whose specification is available to the
     general public, that is suitable for revising the document
     straightforwardly with generic text editors or (for images composed
     of pixels) generic paint programs or (for drawings) some widely
     available drawing editor, and that is suitable for input to text
     formatters or for automatic translation to a variety of formats
     suitable for input to text formatters.  A copy made in an otherwise
     Transparent file format whose markup, or absence of markup, has
     been arranged to thwart or discourage subsequent modification by
     readers is not Transparent.  An image format is not Transparent if
     used for any substantial amount of text.  A copy that is not
     "Transparent" is called "Opaque".

     Examples of suitable formats for Transparent copies include plain
     ASCII without markup, Texinfo input format, LaTeX input format,
     SGML or XML using a publicly available DTD, and standard-conforming
     simple HTML, PostScript or PDF designed for human modification.
     Examples of transparent image formats include PNG, XCF and JPG.
     Opaque formats include proprietary formats that can be read and
     edited only by proprietary word processors, SGML or XML for which
     the DTD and/or processing tools are not generally available, and
     the machine-generated HTML, PostScript or PDF produced by some word
     processors for output purposes only.

     The "Title Page" means, for a printed book, the title page itself,
     plus such following pages as are needed to hold, legibly, the
     material this License requires to appear in the title page.  For
     works in formats which do not have any title page as such, "Title
     Page" means the text near the most prominent appearance of the
     work's title, preceding the beginning of the body of the text.

     The "publisher" means any person or entity that distributes copies
     of the Document to the public.

     A section "Entitled XYZ" means a named subunit of the Document
     whose title either is precisely XYZ or contains XYZ in parentheses
     following text that translates XYZ in another language.  (Here XYZ
     stands for a specific section name mentioned below, such as
     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     To "Preserve the Title" of such a section when you modify the
     Document means that it remains a section "Entitled XYZ" according
     to this definition.

     The Document may include Warranty Disclaimers next to the notice
     which states that this License applies to the Document.  These
     Warranty Disclaimers are considered to be included by reference in
     this License, but only as regards disclaiming warranties: any other
     implication that these Warranty Disclaimers may have is void and
     has no effect on the meaning of this License.

  2. VERBATIM COPYING

     You may copy and distribute the Document in any medium, either
     commercially or noncommercially, provided that this License, the
     copyright notices, and the license notice saying this License
     applies to the Document are reproduced in all copies, and that you
     add no other conditions whatsoever to those of this License.  You
     may not use technical measures to obstruct or control the reading
     or further copying of the copies you make or distribute.  However,
     you may accept compensation in exchange for copies.  If you
     distribute a large enough number of copies you must also follow the
     conditions in section 3.

     You may also lend copies, under the same conditions stated above,
     and you may publicly display copies.

  3. COPYING IN QUANTITY

     If you publish printed copies (or copies in media that commonly
     have printed covers) of the Document, numbering more than 100, and
     the Document's license notice requires Cover Texts, you must
     enclose the copies in covers that carry, clearly and legibly, all
     these Cover Texts: Front-Cover Texts on the front cover, and
     Back-Cover Texts on the back cover.  Both covers must also clearly
     and legibly identify you as the publisher of these copies.  The
     front cover must present the full title with all words of the title
     equally prominent and visible.  You may add other material on the
     covers in addition.  Copying with changes limited to the covers, as
     long as they preserve the title of the Document and satisfy these
     conditions, can be treated as verbatim copying in other respects.

     If the required texts for either cover are too voluminous to fit
     legibly, you should put the first ones listed (as many as fit
     reasonably) on the actual cover, and continue the rest onto
     adjacent pages.

     If you publish or distribute Opaque copies of the Document
     numbering more than 100, you must either include a machine-readable
     Transparent copy along with each Opaque copy, or state in or with
     each Opaque copy a computer-network location from which the general
     network-using public has access to download using public-standard
     network protocols a complete Transparent copy of the Document, free
     of added material.  If you use the latter option, you must take
     reasonably prudent steps, when you begin distribution of Opaque
     copies in quantity, to ensure that this Transparent copy will
     remain thus accessible at the stated location until at least one
     year after the last time you distribute an Opaque copy (directly or
     through your agents or retailers) of that edition to the public.

     It is requested, but not required, that you contact the authors of
     the Document well before redistributing any large number of copies,
     to give them a chance to provide you with an updated version of the
     Document.

  4. MODIFICATIONS

     You may copy and distribute a Modified Version of the Document
     under the conditions of sections 2 and 3 above, provided that you
     release the Modified Version under precisely this License, with the
     Modified Version filling the role of the Document, thus licensing
     distribution and modification of the Modified Version to whoever
     possesses a copy of it.  In addition, you must do these things in
     the Modified Version:

       A. Use in the Title Page (and on the covers, if any) a title
          distinct from that of the Document, and from those of previous
          versions (which should, if there were any, be listed in the
          History section of the Document).  You may use the same title
          as a previous version if the original publisher of that
          version gives permission.

       B. List on the Title Page, as authors, one or more persons or
          entities responsible for authorship of the modifications in
          the Modified Version, together with at least five of the
          principal authors of the Document (all of its principal
          authors, if it has fewer than five), unless they release you
          from this requirement.

       C. State on the Title page the name of the publisher of the
          Modified Version, as the publisher.

       D. Preserve all the copyright notices of the Document.

       E. Add an appropriate copyright notice for your modifications
          adjacent to the other copyright notices.

       F. Include, immediately after the copyright notices, a license
          notice giving the public permission to use the Modified
          Version under the terms of this License, in the form shown in
          the Addendum below.

       G. Preserve in that license notice the full lists of Invariant
          Sections and required Cover Texts given in the Document's
          license notice.

       H. Include an unaltered copy of this License.

       I. Preserve the section Entitled "History", Preserve its Title,
          and add to it an item stating at least the title, year, new
          authors, and publisher of the Modified Version as given on the
          Title Page.  If there is no section Entitled "History" in the
          Document, create one stating the title, year, authors, and
          publisher of the Document as given on its Title Page, then add
          an item describing the Modified Version as stated in the
          previous sentence.

       J. Preserve the network location, if any, given in the Document
          for public access to a Transparent copy of the Document, and
          likewise the network locations given in the Document for
          previous versions it was based on.  These may be placed in the
          "History" section.  You may omit a network location for a work
          that was published at least four years before the Document
          itself, or if the original publisher of the version it refers
          to gives permission.

       K. For any section Entitled "Acknowledgements" or "Dedications",
          Preserve the Title of the section, and preserve in the section
          all the substance and tone of each of the contributor
          acknowledgements and/or dedications given therein.

       L. Preserve all the Invariant Sections of the Document, unaltered
          in their text and in their titles.  Section numbers or the
          equivalent are not considered part of the section titles.

       M. Delete any section Entitled "Endorsements".  Such a section
          may not be included in the Modified Version.

       N. Do not retitle any existing section to be Entitled
          "Endorsements" or to conflict in title with any Invariant
          Section.

       O. Preserve any Warranty Disclaimers.

     If the Modified Version includes new front-matter sections or
     appendices that qualify as Secondary Sections and contain no
     material copied from the Document, you may at your option designate
     some or all of these sections as invariant.  To do this, add their
     titles to the list of Invariant Sections in the Modified Version's
     license notice.  These titles must be distinct from any other
     section titles.

     You may add a section Entitled "Endorsements", provided it contains
     nothing but endorsements of your Modified Version by various
     parties--for example, statements of peer review or that the text
     has been approved by an organization as the authoritative
     definition of a standard.

     You may add a passage of up to five words as a Front-Cover Text,
     and a passage of up to 25 words as a Back-Cover Text, to the end of
     the list of Cover Texts in the Modified Version.  Only one passage
     of Front-Cover Text and one of Back-Cover Text may be added by (or
     through arrangements made by) any one entity.  If the Document
     already includes a cover text for the same cover, previously added
     by you or by arrangement made by the same entity you are acting on
     behalf of, you may not add another; but you may replace the old
     one, on explicit permission from the previous publisher that added
     the old one.

     The author(s) and publisher(s) of the Document do not by this
     License give permission to use their names for publicity for or to
     assert or imply endorsement of any Modified Version.

  5. COMBINING DOCUMENTS

     You may combine the Document with other documents released under
     this License, under the terms defined in section 4 above for
     modified versions, provided that you include in the combination all
     of the Invariant Sections of all of the original documents,
     unmodified, and list them all as Invariant Sections of your
     combined work in its license notice, and that you preserve all
     their Warranty Disclaimers.

     The combined work need only contain one copy of this License, and
     multiple identical Invariant Sections may be replaced with a single
     copy.  If there are multiple Invariant Sections with the same name
     but different contents, make the title of each such section unique
     by adding at the end of it, in parentheses, the name of the
     original author or publisher of that section if known, or else a
     unique number.  Make the same adjustment to the section titles in
     the list of Invariant Sections in the license notice of the
     combined work.

     In the combination, you must combine any sections Entitled
     "History" in the various original documents, forming one section
     Entitled "History"; likewise combine any sections Entitled
     "Acknowledgements", and any sections Entitled "Dedications".  You
     must delete all sections Entitled "Endorsements."

  6. COLLECTIONS OF DOCUMENTS

     You may make a collection consisting of the Document and other
     documents released under this License, and replace the individual
     copies of this License in the various documents with a single copy
     that is included in the collection, provided that you follow the
     rules of this License for verbatim copying of each of the documents
     in all other respects.

     You may extract a single document from such a collection, and
     distribute it individually under this License, provided you insert
     a copy of this License into the extracted document, and follow this
     License in all other respects regarding verbatim copying of that
     document.

  7. AGGREGATION WITH INDEPENDENT WORKS

     A compilation of the Document or its derivatives with other
     separate and independent documents or works, in or on a volume of a
     storage or distribution medium, is called an "aggregate" if the
     copyright resulting from the compilation is not used to limit the
     legal rights of the compilation's users beyond what the individual
     works permit.  When the Document is included in an aggregate, this
     License does not apply to the other works in the aggregate which
     are not themselves derivative works of the Document.

     If the Cover Text requirement of section 3 is applicable to these
     copies of the Document, then if the Document is less than one half
     of the entire aggregate, the Document's Cover Texts may be placed
     on covers that bracket the Document within the aggregate, or the
     electronic equivalent of covers if the Document is in electronic
     form.  Otherwise they must appear on printed covers that bracket
     the whole aggregate.

  8. TRANSLATION

     Translation is considered a kind of modification, so you may
     distribute translations of the Document under the terms of section
     4.  Replacing Invariant Sections with translations requires special
     permission from their copyright holders, but you may include
     translations of some or all Invariant Sections in addition to the
     original versions of these Invariant Sections.  You may include a
     translation of this License, and all the license notices in the
     Document, and any Warranty Disclaimers, provided that you also
     include the original English version of this License and the
     original versions of those notices and disclaimers.  In case of a
     disagreement between the translation and the original version of
     this License or a notice or disclaimer, the original version will
     prevail.

     If a section in the Document is Entitled "Acknowledgements",
     "Dedications", or "History", the requirement (section 4) to
     Preserve its Title (section 1) will typically require changing the
     actual title.

  9. TERMINATION

     You may not copy, modify, sublicense, or distribute the Document
     except as expressly provided under this License.  Any attempt
     otherwise to copy, modify, sublicense, or distribute it is void,
     and will automatically terminate your rights under this License.

     However, if you cease all violation of this License, then your
     license from a particular copyright holder is reinstated (a)
     provisionally, unless and until the copyright holder explicitly and
     finally terminates your license, and (b) permanently, if the
     copyright holder fails to notify you of the violation by some
     reasonable means prior to 60 days after the cessation.

     Moreover, your license from a particular copyright holder is
     reinstated permanently if the copyright holder notifies you of the
     violation by some reasonable means, this is the first time you have
     received notice of violation of this License (for any work) from
     that copyright holder, and you cure the violation prior to 30 days
     after your receipt of the notice.

     Termination of your rights under this section does not terminate
     the licenses of parties who have received copies or rights from you
     under this License.  If your rights have been terminated and not
     permanently reinstated, receipt of a copy of some or all of the
     same material does not give you any rights to use it.

  10. FUTURE REVISIONS OF THIS LICENSE

     The Free Software Foundation may publish new, revised versions of
     the GNU Free Documentation License from time to time.  Such new
     versions will be similar in spirit to the present version, but may
     differ in detail to address new problems or concerns.  See
     <https://www.gnu.org/licenses/>.

     Each version of the License is given a distinguishing version
     number.  If the Document specifies that a particular numbered
     version of this License "or any later version" applies to it, you
     have the option of following the terms and conditions either of
     that specified version or of any later version that has been
     published (not as a draft) by the Free Software Foundation.  If the
     Document does not specify a version number of this License, you may
     choose any version ever published (not as a draft) by the Free
     Software Foundation.  If the Document specifies that a proxy can
     decide which future versions of this License can be used, that
     proxy's public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.

  11. RELICENSING

     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
     World Wide Web server that publishes copyrightable works and also
     provides prominent facilities for anybody to edit those works.  A
     public wiki that anybody can edit is an example of such a server.
     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
     site means any set of copyrightable works thus published on the MMC
     site.

     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
     license published by Creative Commons Corporation, a not-for-profit
     corporation with a principal place of business in San Francisco,
     California, as well as future copyleft versions of that license
     published by that same organization.

     "Incorporate" means to publish or republish a Document, in whole or
     in part, as part of another Document.

     An MMC is "eligible for relicensing" if it is licensed under this
     License, and if all works that were first published under this
     License somewhere other than this MMC, and subsequently
     incorporated in whole or in part into the MMC, (1) had no cover
     texts or invariant sections, and (2) were thus incorporated prior
     to November 1, 2008.

     The operator of an MMC Site may republish an MMC contained in the
     site under CC-BY-SA on the same site at any time before August 1,
     2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents
====================================================

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

       Copyright (C)  YEAR  YOUR NAME.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
       Texts.  A copy of the license is included in the section entitled ``GNU
       Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover Texts
         being LIST.

If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.