(automake-1.16.info)Python
10.5 Python
===========
Automake provides support for Python compilation with the ‘PYTHON’
primary. A typical setup is to call ‘AM_PATH_PYTHON’ in ‘configure.ac’
and use a line like the following in ‘Makefile.am’:
python_PYTHON = tree.py leave.py
Any files listed in a ‘_PYTHON’ variable will be byte-compiled with
‘py-compile’ at install time. ‘py-compile’ actually creates both
standard (‘.pyc’) and optimized (‘.pyo’) byte-compiled versions of the
source files. Note that because byte-compilation occurs at install
time, any files listed in ‘noinst_PYTHON’ will not be compiled. Python
source files are included in the distribution by default, prepend
‘nodist_’ (as in ‘nodist_python_PYTHON’) to omit them.
Automake ships with an Autoconf macro called ‘AM_PATH_PYTHON’ that
will determine some Python-related directory variables (see below). If
you have called ‘AM_PATH_PYTHON’ from ‘configure.ac’, then you may use
the variables ‘python_PYTHON’ or ‘pkgpython_PYTHON’ to list Python
source files in your ‘Makefile.am’, depending on where you want your
files installed (see the definitions of ‘pythondir’ and ‘pkgpythondir’
below).
-- Macro: AM_PATH_PYTHON ([VERSION], [ACTION-IF-FOUND],
[ACTION-IF-NOT-FOUND])
Search for a Python interpreter on the system. This macro takes
three optional arguments. The first argument, if present, is the
minimum version of Python required for this package:
‘AM_PATH_PYTHON’ will skip any Python interpreter that is older
than VERSION. If an interpreter is found and satisfies VERSION,
then ACTION-IF-FOUND is run. Otherwise, ACTION-IF-NOT-FOUND is
run.
If ACTION-IF-NOT-FOUND is not specified, as in the following
example, the default is to abort ‘configure’.
AM_PATH_PYTHON([2.2])
This is fine when Python is an absolute requirement for the
package. If Python >= 2.5 was only _optional_ to the package,
‘AM_PATH_PYTHON’ could be called as follows.
AM_PATH_PYTHON([2.5],, [:])
If the ‘PYTHON’ variable is set when ‘AM_PATH_PYTHON’ is called,
then that will be the only Python interpreter that is tried.
‘AM_PATH_PYTHON’ creates the following output variables based on
the Python installation found during configuration.
‘PYTHON’
The name of the Python executable, or ‘:’ if no suitable
interpreter could be found.
Assuming ACTION-IF-NOT-FOUND is used (otherwise ‘./configure’ will
abort if Python is absent), the value of ‘PYTHON’ can be used to
setup a conditional in order to disable the relevant part of a
build as follows.
AM_PATH_PYTHON(,, [:])
AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
‘PYTHON_VERSION’
The Python version number, in the form MAJOR.MINOR (e.g., ‘2.5’).
This is currently the value of ‘sys.version[:3]’.
‘PYTHON_PREFIX’
The string ‘${prefix}’. This term may be used in future work that
needs the contents of Python’s ‘sys.prefix’, but general consensus
is to always use the value from ‘configure’.
‘PYTHON_EXEC_PREFIX’
The string ‘${exec_prefix}’. This term may be used in future work
that needs the contents of Python’s ‘sys.exec_prefix’, but general
consensus is to always use the value from ‘configure’.
‘PYTHON_PLATFORM’
The canonical name used by Python to describe the operating system,
as given by ‘sys.platform’. This value is sometimes needed when
building Python extensions.
‘pythondir’
The directory name for the ‘site-packages’ subdirectory of the
standard Python install tree.
‘pkgpythondir’
This is the directory under ‘pythondir’ that is named after the
package. That is, it is ‘$(pythondir)/$(PACKAGE)’. It is provided
as a convenience.
‘pyexecdir’
This is the directory where Python extension modules (shared
libraries) should be installed. An extension module written in C
could be declared as follows to Automake:
pyexec_LTLIBRARIES = quaternion.la
quaternion_la_SOURCES = quaternion.c support.c support.h
quaternion_la_LDFLAGS = -avoid-version -module
‘pkgpyexecdir’
This is a convenience variable that is defined as
‘$(pyexecdir)/$(PACKAGE)’.
All of these directory variables have values that start with either
‘${prefix}’ or ‘${exec_prefix}’ unexpanded. This works fine in
‘Makefiles’, but it makes these variables hard to use in ‘configure’.
This is mandated by the GNU coding standards, so that the user can run
‘make prefix=/foo install’. The Autoconf manual has a section with more
details on this topic (*note Installation Directory Variables:
(autoconf)Installation Directory Variables.). See also Note: Hard-Coded
Install Paths.
automatically generated by info2www version 1.2.2.9