Automakeは,‘PYTHON’プライマリを用いることで,Pythonのコンパイル に対するサポートを提供します.
‘_PYTHON’変数でリストアップされているすべてのファイルは,インストー
ル時にpy-compile
でバイトコンパイルされます.py-compile
は,
実際にはソースファイルの標準的なバージョン(.pyc)とバイトコンパ
イルされたバージョン(.pyo)の両方を作成します.バイトコンパイル
はインストール時に行なわれるので,‘noinst_PYTHON’にリストアップさ
れているファイルはコンパイルされないことに注意してください.Pythonのソー
スファイルは,デフォルトで配布物に含められます.
Automakeは,Pythonに関連するディレクトリ変数(以下を参照してください)を
決定するAM_PATH_PYTHON
と呼ばれるAutoconfとともに出荷されていま
す.configure.acでAM_PATH_PYTHON
が呼び出す場合,Pythonソー
スファイルをリストアップするために以下の変数を変数内に使用してもかまい
ません.‘python_PYTHON’,‘pkgpython_PYTHON’,
‘pyexecdir_PYTHON’,‘pkgpyexecdir_PYTHON’はファイルをインス
トールしたい場所に依存します.
AM_PATH_PYTHON([
VERSION], [
ACTION-IF-FOUND],
[
ACTION-IF-NOT-FOUND])
は三つのオプション引数を受け取ります.そ
れはPythonのインタプリタをシステムで探します.最初の引数が存在する場合,
それはパッケージが要求するPythonの最小バージョンです.
AM_PATH_PYTHON
は,VERSIONより古いPythonのインタプリタをス
キップします.インタプリタが見つかりVERSIONを満たしている場合,
ACTION-IF-FOUNDが実行されます.それ以外では
ACTION-IF-NOT-FOUNDが実行されます.
ACTION-IF-NOT-FOUNDが指定されていない場合,デフォルトはconfigure
の中止です.これは,Pythonがパッケージに対する必須条件のときは良いもの
です.このため,Python >= 2.2がパッケージに対してオプションの場
合,AM_PATH_PYTHON
を以下のように呼び出すことができます.
AM_PATH_PYTHON(2.2,, :)
AM_PATH_PYTHON
は,configureで分かったPythonのインストール状況を
基に,いくつかの出力変数を生成します.
PYTHON
:
です.
ACTION-IF-NOT-FOUNDが使用されていると仮定すると(それ以外では
Pythonが無い場合,./configureが中止されます),PYTHON
の値
は,以下のようにビルドに関連する部分を利用不可能にするため,条件設定で
使用することが可能です.
AM_PATH_PYTHON(,, :) AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
ACTION-IF-NOT-FOUNDが使用されている場合,それが実行されます.
PYTHON_VERSION
sys.version[:3]
の値です.
PYTHON_PREFIX
${prefix}
です.この単語は,Pythonのsys.prefix
の
内容が必要となる将来の動作で使用されるかもしれませんが,一般的な同意事
項としてconfigure
からの値が常に使用されます.
PYTHON_EXEC_PREFIX
${exec_prefix}
です.この単語は,Pythonの
sys.exec_prefix
の内容が必要となる将来の動作で使用されるかもしれ
ませんが,一般的な同意事項としてconfigure
からの値が常に使用され
ます.
PYTHON_PLATFORM
sys.platform
で与えられます.この値は,Pythonの拡張をビルドする
時,必要となるときもあります.
pythondir
pkgpythondir
pythondir
以下のディレクトリで
す.すなわち,それは‘$(pythondir)/$(PACKAGE)’です.それは便宜上提
供されます.
pyexecdir
pkgpyexecdir
これらすべてのディレクトリ変数は,展開されていない${prefix}
ま
たは${exec_prefix}
のいずれかで開始される値になります.これは
Makefileでうまく動作しますが,これらの変数をconfigureで
使用することは難しくなります.これはGNUコーディング標準に従っているの
で,ユーザはmake prefix=/foo install
を実行することが可能です.
Autoconfのマニュアルには,このトピックの詳細が書かれたセクションがあり
ます(see Installation Directory Variables).