1

PHP 拡張機能を作成する標準的な方法は、autoconf/automake を phpize というスクリプトと一緒に使用することです。これは、PHP 環境に固有のテンプレートに基づいて autoconf 構成を生成するようです。これで、適切なバージョンの PHP などの PHP 拡張機能をビルドできます。

autoconf と、それを構成するために使用される m4 言語は難解であり、人々は scons などの代替案を作成しています。PHP拡張機能を構築するときに、これらのいずれかを使用できるようにしたいと考えています。

原則として、scons または同様のツールを使用して PHP 拡張機能を構築できるはずです。ただし、phpize ステップをどのように置き換えるかはわかりません。

scons や別の最新のビルド ツールを使用して PHP 拡張機能をビルドすることに成功した人はいますか?

4

2 に答える 2

0

最も抵抗の少ない方法は、SCons に autoconf や phpize など、PHP 拡張機能に必要なものを実行させることです。そこからコンパイラ構成を抽出し、SCons に実際のビルドを行わせるか、単純に SCons を「make」で実行させることができます。

SCons からシェル コマンドのターゲットを宣言するのは簡単ですが、依存関係を正しく取得するのは常に注意が必要です。

基本的に、これらの外部ツールによって作成された中間ファイルを SCons に知らせる必要があります。このようにして、それらを適切にクリーンアップできるだけでなく、各中間結果のコンテンツ署名 (MD5 チェックサム) に基づいて一連のステップ全体をキャッシュすることもできます。

適切なキャッシングにより、コード ベースが変更されたときにこれらの外部ツールを実際に呼び出す必要がある回数が大幅に削減されます。

誰かが PHP 用の特定のソリューションを書いたとは思いませんが、SCons wikiには、似たようなことをするカスタム ビルダーがたくさんあります。

于 2010-01-24T08:26:39.350 に答える
0

phpize(1)は単なるシェルスクリプトなので、scons で動作するように変更できると思います...

于 2010-01-20T08:52:32.733 に答える