pyconfigure

(Brandon Invergo)
2013-01-08: more cleanup

more cleanup

diff --git a/doc/manual/python-configure.info b/doc/manual/python-configure.info
deleted file mode 100644
--- a/doc/manual/python-configure.info
+++ /dev/null
@@ -1,914 +0,0 @@
-This is python-configure.info, produced by makeinfo version 4.13 from
-/home/brandon/Projects/python-autoconfigure/doc/python-configure.texi.
-
-This manual is for python-configure (version 0.1, updated 02 November
-2012).
-
-   Copyright (C) 2012 Brandon Invergo
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU Free Documentation License,
-     Version 1.2 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."
-
-INFO-DIR-SECTION Miscellaneous
-START-INFO-DIR-ENTRY
-* python-configure: (python-configure)GNU Standards-compliant Python
-  configuration and installation
-END-INFO-DIR-ENTRY
-
-
-File: python-configure.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
-
-GNU Source Release Collection
-*****************************
-
-This manual is for python-configure (version 0.1, 02 November 2012).
-
-* Menu:
-
-* Introduction::
-* Using python-configure::
-* Appendix::
-* GNU Free Documentation License::
-
- --- The Detailed Node Listing ---
-
-Introduction
-
-* Configuring Python packages::
-
-Using python-configure
-
-* Required macros::
-* Verifying the Python version::
-* Checking for a module or function::
-* Writing test programs::
-* Using Sphinxbuild to build documentation::
-
-Appendix
-
-* Autoconf Macros
-
-
-File: python-configure.info,  Node: Introduction,  Next: Using python-configure,  Prev: Top,  Up: Top
-
-1 Introduction
-**************
-
-Python packages typically are configured and installed through the use
-of `distutils' or one of its derivatives. The user performs necessary
-actions via a Python script called `setup.py'. For simple programs,
-this is straight-forward. However, for more complex software packages,
-especially for those which also include code in other languages such as
-C or Fortran, the limitations of the `distutils' method quickly become
-apparent.
-
-   The configuration and installation of GNU software and many other
-programs, on the other hand, is done according to the use of standard
-`configure' scripts and Make recipes. This method has the advantage of
-being language-agnostic, very flexible, time-proven. python-configure
-consists of all the files necessary to use the standard GNU build
-process to configure and install Python packages.
-
-   Without modification, python-configure provides a wrapper around
-`setup.py', which allows the user to use the familiar GNU installation
-commands to install a Python package. With the powerful Autoconf macros
-that it provides, a Python developer can greatly extend or even replace
-altogether the capabilities of `setup.py'. Plus, since this method is
-language-agnostic, all the power of Autoconf for compiled languages is
-gained for free.
-
-* Menu:
-
-* Configuring Python packages::
-
-
-File: python-configure.info,  Node: Configuring Python packages,  Prev: Introduction,  Up: Introduction
-
-1.1 Configuring Python packages
-===============================
-
-Configuring and installing Python packages which use python-configure
-follows the familiar steps of all standard GNU software:
-
-     $ ./configure
-     $ make
-     $ make install
-
-   In fact, since most programs do not have anything to build, the
-second step could usually be skipped.
-
-   As usual, the user may pass arguments to `configure' in order to
-specify how she wants the software to be installed. By default,
-`configure' takes the following useful arguments:
-
-Argument           Description
--------------------------------------------------------------------------- 
-`--prefix'         Set the root directory in which to install files
-                   (default=/usr/local)
-`--with-virtualenv'Install to a virtualenv at `$prefix'
-`PYTHON'           Path to the Python interpreter to use
-`PYTHONPATH'       The PYTHONPATH to use during the installation
-
-   However, as the developer is expected to customize these files, the
-final `configure' script may take many more arguments. The developer is
-expected to provide proper documentation in this case.
-
-
-File: python-configure.info,  Node: Using python-configure,  Next: Appendix,  Prev: Introduction,  Up: Top
-
-2 Using python-configure
-************************
-
-While it is possible to simply copy the python-configure files into
-your project's source directory and use them unmodified, it is
-recommended that you customize them to more appropriately fit your
-needs. In particular, you will want to customize `configure.ac' and
-`Makefile.in'. `configure.ac' contains a series of macros which are
-used by Autoconf to build a portable `configure' shell script. When the
-user invokes `configure', it uses `Makefile.in' as a template to create
-the Make recipe `Makefile'.
-
-   Several Autoconf macros are provided in the python-configure file
-`m4/python.m4' to allow the developer to write robust tests *Note
-Autoconf macros::. Note that when you distribute your software, you
-must include this directory and file with your distribution.
-
-   Once you modify your `configure.ac' to your liking, you must
-regenerate your `configure' script with autoreconf:
-
-     $ autoreconf -fvi
-
-   A full explanation of the use of Autoconf macros is beyond the scope
-of this document, however it is worth presenting some examples.
-
-* Menu:
-
-* Required macros::
-* Verifying the Python version::
-* Checking for a module or function::
-* Writing test programs::
-* Using Sphinxbuild to build documentation::
-
-
-File: python-configure.info,  Node: Required macros,  Next: Verifying the Python version,  Prev: Using python-configure,  Up: Using python-configure
-
-2.1 Required macros
-===================
-
-Several macros are required in `configure.ac' to use python-configure.
-These are:
-
-     m4_include([m4/python.m4])
-
-   This macro imports all of the Python Autoconf macros. If you choose
-to write your own macros for other purposes, you would also include them
-in this manner.
-
-     AC_INIT(project_name, project_version)
-
-   This initializes Autoconf and also substitutes your project name and
-version in any output that it generates.
-
-     AC_CONFIG_MACRO_DIR([m4])
-
-   Now that Autoconf is initialized, we inform it of the location of our
-macros.
-
-     AC_PROG_PYTHON
-
-   This is the key macro. It finds the highest-version Python
-interpreter available on the system and saves its path in the `PYTHON'
-variable.
-
-     PC_PYTHON_SITE_PACKAGE_DIR
-     PC_PYTHON_EXEC_PACKAGE_DIR
-
-   These two macros figure out where Python expects packages to be
-installed (i.e. `/usr/lib/python2.7/site-packages/') and saves them in
-the variables `pkgpythondir' and `pkgpyexecdir', respectively, for use
-in `Makefile.in'
-
-
-File: python-configure.info,  Node: Verifying the Python version,  Next: Checking for a module or function,  Prev: Required macros,  Up: Using python-configure
-
-2.2 Verifying the Python version
-================================
-
-As described in the previous section, `AC_PROG_PYTHON' finds the Python
-interpreter with the highest version installed on the system. Often,
-you will want to be sure that the user has some minimum version
-installed. There is a macro available to simplify this,
-`PC_PYTHON_VERIFY_VERSION'.
-
-     m4_define(python_min_ver, 2.6.1)
-     PC_PYTHON_VERIFY_VERSION([$PYTHON], python_min_ver, ,
-                              [AC_MSG_ERROR(Python interpreter too old)])
-
-   In this example, we set the minimum version to 2.6.1 through the use
-of an M4 macro. We then check if the interpreter stored in the `PYTHON'
-variable (either set by the user or found by `AC_PROG_PYTHON') is at
-least of that version. If it is not, the resulting `configure' script
-will exit with an appropriate error message.
-
-   Unfortunately, the divide between Python 2 and Python 3 and many
-programs are only compatible with Python 2. Since `AC_PROG_PYTHON' will
-find the latest Python interpreter, if the user has any Python version
-3.x installed, `configure' must be able to instead find the most latest
-2.x version installed. This is slightly less straight-forward, but one
-possible implementation is as follows:
-
-     PC_PYTHON_VERIFY_VERSION([$PYTHON], 3.0,
-                               py3k=true,
-                               py3k=false)
-     # If a Python 3 interpreter was found, look specifically for a Python 2 one
-     if test "$py3k" = "true" ; then
-        m4_define_default([_PYTHON2_BINS], [python2 python2.7 python2.6])
-        AC_PATH_PROGS(PYTHON, [_PYTHON2_BINS])
-     else
-     # otherwise check that the Python 2 version is sufficient
-        PC_PYTHON_VERIFY_VERSION([$PYTHON], python_min_ver, ,
-                                 [AC_MSG_ERROR(Python interpreter too old)])
-     fi
-     if test -z "$PYTHON"; then
-        AC_MSG_ERROR(No Python 2 interpreter found)
-     fi
-
-   We first check to see if Python is version 3.0 or greater. If it is,
-we create a list of compatible Python interpreters and manually check
-for them using standard Autoconf macros. Finally, we check if the
-interpreter that we found this time is of sufficient version, otherwise
-`configure' will halt with an error. Likewise, if no appropriate
-interpreter was found, an error message will be printed and `configure'
-will stop.
-
-
-File: python-configure.info,  Node: Checking for a module or function,  Next: Writing test programs,  Prev: Verifying the Python version,  Up: Using python-configure
-
-2.3 Checking for a module or function
-=====================================
-
-It's reasonable to assume that many Python packages will have
-dependencies on other, external modules. With the provided
-python-configure macros, this is simple. All you have to do is use the
-`PC_PYTHON_CHECK_MODULE' macro as follows:
-
-     PC_PYTHON_CHECK_MODULE([foo])
-
-   If the module is a hard requirement, you may provide actions to do if
-it is not present:
-
-     PC_PYTHON_CHECK_MODULE([foo], , AC_MSG_ERROR([Module foo is not installed]))
-
-   If you need more fine-grained control, you can also test for a
-specific function:
-
-     PC_PYTHON_CHECK_FUNC([foo], [bar], [arg1, arg2])
-
-   Remember that you may omit arguments to Autoconf macros: in the above
-example, the final two arguments, which correspond to the action to
-take if the test is successful and if it fails simply are not present
-in the argument list. Similarly, if you do not need to pass arguments
-to the test function, you can entirely omit the third argument to the
-macro:
-
-     PC_PYTHON_CHECK_FUNC([foo], [bar])
-
-
-File: python-configure.info,  Node: Writing test programs,  Next: Using Sphinxbuild to build documentation,  Prev: Checking for a module or function,  Up: Using python-configure
-
-2.4 Writing test programs
-=========================
-
-One great benefit of Autoconf is the ability to embed test programs
-inside `configure'. The python-configure macros allow for this by
-defining Python as a language within Autoconf. You then would proceed
-to write test programs as you would in any other language that Autoconf
-supports like C.
-
-     AC_LANG_PUSH(Python)[]
-     AC_RUN_IFELSE([AC_LANG_PROGRAM([dnl
-     # some code here
-     import foo
-     ], [dnl
-         # some more code here
-         foo.bar()
-     ])], [ACTION-IF-SUCCESSFUL], [ACTION-IF-FAILED])
-     AC_LANG_POP(Python)[]
-
-   The first argument to `AC_LANG_PROGRAM' is the so-called "prolog",
-and typically will contain your `import' statements or function
-definitions. The second argument contains the main body of the program,
-which will be in the scope of an `if __name__=="__main__":' block. So,
-you must be sure to indent the code appropriately.
-
-
-File: python-configure.info,  Node: Using Sphinxbuild to build documentation,  Prev: Writing test programs,  Up: Using python-configure
-
-2.5 Using Sphinxbuild to build documentation
-============================================
-
-Using python-configure and Autoconf to test for other tools is quite
-easy. For example, many Python packages use Sphinxbuild to build their
-documentation. If this is the case for your project, you might do
-something like the following:
-
-     AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build sphinx-build3 sphinx-build2], [no])
-     AS_IF([test "x$SPHINXBUILD" = xno],
-     	    AC_MSG_WARN(sphinx-build is required to build documentation))
-
-   We simply use Autoconf's `AC_CHECK_PROGS' macro to check for a
-series of possible Sphinxbuild binaries and save the result to the
-SPHINXBUILD variable, which may then be used in `Makefile.in':
-
-     docs/build/index.html: $(wildcard $(srcdir)/docs/source/*)
-     ifneq ($(SPHINXBUILD),no)
-      	$(SPHINXBUILD) -b html docs/source/ docs/build/
-     endif
-
-
-File: python-configure.info,  Node: Appendix,  Next: GNU Free Documentation License,  Prev: Using python-configure,  Up: Top
-
-3 Appendix
-**********
-
-* Menu:
-
-* Autoconf macros::
-
-
-File: python-configure.info,  Node: Autoconf macros,  Up: Appendix
-
-3.1 Autoconf macros
-===================
-
-Macro Name & Arguments   Description              Variables exported
---------------------------------------------------------------------------- 
-`AC_PROG_PYTHON([NAME-TO-CHECK])'Find a Python            `PYTHON'
-                         interpreter              
-`PC_PROG_PYTHON_CONFIG([NAME-TO-CHECK])'Find a python-config     `PYTHON_CONFIG'
-                         program                  
-`PC_PYTHON_VERIFY_VERSION(VERSION,Verify that the Python   
-[ACTION-IF-TRUE],        interpreter is of a      
-[ACTION-IF-NOT-TRUE])'   sufficient version       
-                         number                   
-`PC_PYTHON_CHECK_VERSION'Get the version of the   `PYTHON_VERSION'
-                         Python interpreter       
-`PC_PYTHON_CHECK_PREFIX' Check what Python        `PYTHON_PREFIX'
-                         thinks is the prefix     
-`PC_PYTHON_CHECK_EXEC_PREFIX'Check what Python        `PYTHON_EXEC_PREFIX'
-                         thinks is the            
-                         exec_prefix              
-`PC_PYTHON_CHECK_INCLUDES'Check the include flags  `PYTHON_INCLUDES'
-                         ('-I[header]...') for    
-                         including the Python     
-                         header files             
-`PC_PYTHON_CHECK_HEADERS'Check for the Python     `HAVE_PYTHON_H'
-                         header files (i.e.       
-                         `Python.h')              
-`PC_PYTHON_CHECK_LIBS'   Check for the proper     `PYTHON_LIBS'
-                         LIBS flags to load the   
-                         Python shared libraries  
-`PC_PYTHON_TEST_LIBS'    Test for the presence    `HAVE_LIBPYTHON'
-                         of the Python shared     
-                         libraries                
-`PC_PYTHON_CHECK_CFLAGS' Find the CFLAGS that     `PYTHON_CFLAGS'
-                         Python expects           
-`PC_PYTHON_CHECK_LDFLAGS'Find the LDFLAGS that    `PYTHON_LDFLAGS'
-                         Python expects           
-`PC_PYTHON_CHECK_EXTENSION_SUFFIX'Check the extension      `PYTHON_EXTENSION_SUFFIX'
-                         suffix given to Python   
-                         extension modules        
-                         (Python 3 only)          
-`PC_PYTHON_CHECK_ABI_FLAGS'Check the ABI flags      `PC_PYTHON_ABI_FLAGS'
-                         used by Python (Python   
-                         3 only)                  
-`PC_PYTHON_CHECK_PLATFORM'Check what platform      
-                         Python thinks this is    
-                         `PYTHON_PLATFORM'        
-`PC_PYTHON_CHECK_SITE_DIR'Check the appropriate    `pythondir'
-                         place to install Python  
-                         packages (i.e.           
-                         `$(prefix)/lib/python2.7/site-packages')
-`PC_PYTHON_SITE_PACKAGE_DIR'A convenience macro;     `pkgpythondir'
-                         adds the package's name  
-                         to `pythondir'           
-`PC_PYTHON_CHECK_EXEC_DIR'Check directory for      `pyexecdir'
-                         installing Python        
-                         extension modules        
-`PC_PYTHON_EXEC_PACKAGE_DIR'A convenience macro;     `pkgpyexecdir'
-                         adds the package's name  
-                         to `pyexecdir'           
-`PC_PYTHON_CHECK_MODULE' Test if a given Python   
-                         module can be            
-                         successfully loaded      
-`PC_PYTHON_CHECK_FUNC'   Test if a given Python   
-                         function can be called   
-                         successfully.            
-
-
-File: python-configure.info,  Node: GNU Free Documentation License,  Prev: Appendix,  Up: Top
-
-Appendix A GNU Free Documentation License
-*****************************************
-
-                     Version 1.3, 3 November 2008
-
-     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-     `http://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
-     `http://www.gnu.org/copyleft/'.
-
-     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.
-
-
-
-Tag Table:
-Node: Top832
-Node: Introduction1454
-Node: Configuring Python packages2905
-Node: Using python-configure4139
-Node: Required macros5522
-Node: Verifying the Python version6722
-Node: Checking for a module or function9249
-Node: Writing test programs10484
-Node: Using Sphinxbuild to build documentation11593
-Node: Appendix12618
-Node: Autoconf macros12799
-Node: GNU Free Documentation License16502
-
-End Tag Table
diff --git a/doc/manual/python-configure.info.tar.gz b/doc/manual/python-configure.info.tar.gz
deleted file mode 100644
Binary file doc/manual/python-configure.info.tar.gz has changed
diff --git a/texinfo.tex b/texinfo.tex
--- a/texinfo.tex
+++ b/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2012-09-04.17}
+\def\texinfoversion{2012-11-08.11}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -2272,8 +2272,6 @@ end
 
 \gdef\markupsetcodequoteleft{\let`\codequoteleft}
 \gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
 }
 
 \let\markupsetuplqcode \markupsetcodequoteleft
@@ -2282,6 +2280,9 @@ end
 \let\markupsetuplqexample \markupsetcodequoteleft
 \let\markupsetuprqexample \markupsetcodequoteright
 %
+\let\markupsetuplqkbd     \markupsetcodequoteleft
+\let\markupsetuprqkbd     \markupsetcodequoteright
+%
 \let\markupsetuplqsamp \markupsetcodequoteleft
 \let\markupsetuprqsamp \markupsetcodequoteright
 %
@@ -2291,8 +2292,6 @@ end
 \let\markupsetuplqverbatim \markupsetcodequoteleft
 \let\markupsetuprqverbatim \markupsetcodequoteright
 
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
 % Allow an option to not use regular directed right quote/apostrophe
 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
 % The undirected quote is ugly, so don't make it the default, but it
@@ -2382,8 +2381,7 @@ end
   \aftersmartic
 }
 
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
+% Unconditional use \ttsl, and no ic.  @var is set to this for defuns.
 \def\ttslanted#1{{\ttsl #1}}
 
 % @cite is like \smartslanted except unconditionally use \sl.  We never want
@@ -2695,10 +2693,6 @@ end
   \let\email=\uref
 \fi
 
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
 %   `example' (@kbd uses ttsl only inside of @example and friends),
 %   or `code' (@kbd uses normal tty font always).
@@ -2722,11 +2716,17 @@ end
 % Default is `distinct'.
 \kbdinputstyle distinct
 
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
 \def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+\def\kbdsub#1#2#3\par{%
+  \def\one{#1}\def\three{#3}\def\threex{??}%
+  \ifx\one\xkey\ifx\threex\three \key{#2}%
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
 
 % definition of @key that produces a lozenge.  Doesn't adjust to text size.
 %\setfont\keyrm\rmshape{8}{1000}{OT1}
@@ -3272,7 +3272,8 @@ end
 % Settings used for typesetting titles: no hyphenation, no indentation,
 % don't worry much about spacing, ragged right.  This should be used
 % inside a \vbox, and fonts need to be set appropriately first.  Because
-% it is always used for titles, nothing else, we call \rmisbold.
+% it is always used for titles, nothing else, we call \rmisbold.  \par
+% should be specified before the end of the \vbox, since a vbox is a group.
 % 
 \def\raggedtitlesettings{%
   \rmisbold
@@ -3289,7 +3290,7 @@ end
 
 \parseargdef\title{%
   \checkenv\titlepage
-  \vbox{\titlefonts \raggedtitlesettings #1}
+  \vbox{\titlefonts \raggedtitlesettings #1\par}%
   % print a rule at the page bottom also.
   \finishedtitlepagefalse
   \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4256,7 +4257,7 @@ end
 }
 \def\ifcmddefinedfail{\doignore{ifcommanddefined}}
 
-% @ifcommandnotdefined CMD ... handlded similar to @ifclear above.
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
 \makecond{ifcommandnotdefined}
 \def\ifcommandnotdefined{%
   \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
@@ -5592,14 +5593,6 @@ end
 
 % Define @majorheading, @heading and @subheading
 
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-%       1) We use \vbox rather than the earlier \line to permit
-%          overlong headings to fold.
-%       2) \hyphenpenalty is set to 10000 because hyphenation in a
-%          heading is obnoxious; this forbids it.
-%       3) Likewise, headings look best if no \parindent is used, and
-%          if justification is not attempted.  Hence \raggedright.
-
 \def\majorheading{%
   {\advance\chapheadingskip by 10pt \chapbreak }%
   \parsearg\chapheadingzzz
@@ -5607,10 +5600,8 @@ end
 
 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
 \def\chapheadingzzz#1{%
-  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                    \parindent=0pt\ptexraggedright
-                    \rmisbold #1\hfill}}%
-  \bigskip \par\penalty 200\relax
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip \nobreak
   \suppressfirstparagraphindent
 }
 
@@ -5769,8 +5760,7 @@ end
     %
     % Typeset the actual heading.
     \nobreak % Avoid page breaks at the interline glue.
-    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
-          \hangindent=\wd0 \centerparametersmaybe
+    \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
           \unhbox0 #1\par}%
   }%
   \nobreak\bigskip % no page break after a chapter title
@@ -5792,18 +5782,18 @@ end
 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
 %
 \def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt\ptexraggedright
-                       \rmisbold #1\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings #1\par}%
+  \nobreak\bigskip\nobreak
 }
 \def\chfopen #1#2{\chapoddpage {\chapfonts
 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
 \par\penalty 5000 %
 }
 \def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
-                       \parindent=0pt
-                       \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+  \chapoddpage
+  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+  \nobreak\bigskip \nobreak
 }
 \def\CHAPFopen{%
   \global\let\chapmacro=\chfopen
@@ -6569,16 +6559,9 @@ end
 \makedispenvdef{quotation}{\quotationstart}
 %
 \def\quotationstart{%
-  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
-  \parindent=0pt
-  %
-  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \indentedblockstart % same as \indentedblock, but increase right margin too.
   \ifx\nonarrowing\relax
-    \advance\leftskip by \lispnarrowing
     \advance\rightskip by \lispnarrowing
-    \exdentamount = \lispnarrowing
-  \else
-    \let\nonarrowing = \relax
   \fi
   \parsearg\quotationlabel
 }
@@ -6604,6 +6587,32 @@ end
   \fi
 }
 
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+% 
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+  \par
+  {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
 
 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
 % If we want to allow any <char> as delimiter,
@@ -7082,7 +7091,10 @@ end
   \df \sl \hyphenchar\font=0
   %
   % On the other hand, if an argument has two dashes (for instance), we
-  % want a way to get ttsl.  Let's try @var for that.
+  % want a way to get ttsl.  We used to recommend @var for that, so
+  % leave the code in, but it's strange for @var to lead to typewriter.
+  % Nowadays we recommend @code, since the difference between a ttsl hyphen
+  % and a tt hyphen is pretty tiny.  @code also disables ?` !`.
   \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
   #1%
   \sl\hyphenchar\font=45