(automake-1.16.info)Python


Prev: Java Up: Other GNU Tools
Enter node , (file) or (file)node

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