cvs: phpdoc-ja /internals2/buildsys configwin.xml environment.xml

From: Date: Sun, 17 Jun 2007 21:45:31 +0000
Subject: cvs: phpdoc-ja /internals2/buildsys configwin.xml environment.xml
Groups: php.doc.ja 
Request: Send a blank email to doc-ja+get-1844@lists.php.net to get a copy of this message
takagi Sun Jun 17 21:45:31 2007 UTC Added files: /phpdoc-ja/internals2/buildsys environment.xml configwin.xml Log: sync with en. http://cvs.php.net/viewvc.cgi/phpdoc-ja/internals2/buildsys/environment.xml?view=markup&rev=1.1 Index: phpdoc-ja/internals2/buildsys/environment.xml +++ phpdoc-ja/internals2/buildsys/environment.xml <?xml version="1.0" encoding="utf-8"?> <!-- $Revision: 1.1 $ --> <!-- EN-Revision: 1.1 Maintainer: takagi Status: ready --> <sect1 id="internals2.buildsys.environment"> <title>拡張モジュール開発用に PHP をビルドする方法</title> <para> PHP を普通にインストールすると、 デバッグ機能よりもパフォーマンスの向上に主眼を置いて最適化された設定になります。 実際に運用することを考えると、これは妥当な選択でしょう。 しかし、拡張モジュールを開発する環境としてはあまりよくありません。 何か問題がおこったときに、どこが悪いのかを調べやすくするように PHP をビルドする必要があります。 </para> <para> Zend Engine ではメモリマネージャが提供されており、 拡張モジュール内で発生したメモリリークを追跡することができます。 また、詳細なデバッグ情報を取得することもできます。 しかし、この機能はデフォルトでは無効になっており、 スレッドセーフであることを優先しています。 この機能を使うには、<filename>configure</filename> のオプションに <option role="configure">--enable-debug</option> と <literal>--enable-maintainer-zts</literal> を追加します。 PHP をソースからビルドする方法については <link linkend="install.general">インストールにあたっての一般的な注意事項</link> の説明を参照ください。典型的な <filename>configure</filename> の設定は次のようになります。 <programlisting role="shell"> <![CDATA[ $ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql ]]> </programlisting> </para> <note> <para> Windows システムでは <literal>--enable-maintainer-zts</literal> フラグは不要です。 Windows では常にスレッドセーフとなるからです。 同様に、常に有効となる設定が他にもいくつかあります。 </para> </note> </sect1> <!-- Write this later? <sect1 id="internals2.buildsys.environment.parallel"> <title>Running debug and production PHP builds in parallel</title> </sect1> --> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/viewvc.cgi/phpdoc-ja/internals2/buildsys/configwin.xml?view=markup&rev=1.1 Index: phpdoc-ja/internals2/buildsys/configwin.xml +++ phpdoc-ja/internals2/buildsys/configwin.xml <?xml version="1.0" encoding="utf-8"?> <!-- $Revision: 1.1 $ --> <!-- EN-Revision: 1.1 Maintainer: takagi Status: ready --> <sect1 id="internals2.buildsys.configwin"> <title>Windows 用のビルドシステム: config.w32</title> <para> 拡張モジュールに含まれている <filename>config.w32</filename> ファイルの使用法は <filename>config.m4</filename> とほぼ同じですが、 決定的な違いがふたつあります。まず第一に、これは Windows 版のビルド用に使うものです。 次に、これは JavaScript で書かれています。 このセクションでは、JavaScript の文法については特に扱いません。 現時点では、このセクションは未完成です。とりあえずのたたき台として用意したものであり、 ごらんいただけるのは <filename>config.m4</filename> のサンプルだけです。 </para> <example id="internals2.buildsys.configwin.sample-config"> <title>config.w32 ファイルのサンプル</title> <programlisting role="javascript"> <![CDATA[ // $Id: configwin.xml,v 1.1 2007/06/17 21:45:31 takagi Exp $ // vim:ft=javascript ARG_WITH("example", "for example support", "no"); ARG_ENABLE("example-debug", "for debugging support in example", "no") ARG_WITH("example-extra", "for extra functionality in example", "no") if (PHP_EXAMPLE != "no") { if (CHECK_LIB("libexample.lib", "example", PHP_EXAMPLE) && CHECK_HEADER_ADD_INCLUDE("example.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + "\\include")) { if (PHP_EXAMPLE_DEBUG != "no") { AC_DEFINE('USE_EXAMPLE_DEBUG', 1, 'Debug support in example'); } if (PHP_EXAMPLE_EXTRA != "no" && CHECK_LIB("libexample-extra.lib", "example", PHP_EXAMPLE) && CHECK_HEADER_ADD_INCLUDE("example-extra.h", "CFLAGS_EXAMPLE", PHP_EXAMPLE + ";" + PHP_PHP_BUILD + "\\include") { AC_DEFINE('HAVE_EXAMPLEEXTRA', 1, 'Extra functionality in example'); HAVE_EXTRA = 1; } else { WARNING( "extra example functionality not enabled, lib not found" ); } EXTENSION("example", "example.c"); if (HAVE_EXTRA == 1) { ADD_SOURCES("example-extra.c"); } } else { WARNING( "example not enabled; libraries not found" ); } } ]]> </programlisting> </example> </sect1> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->

« previous php.doc.ja (#1844) next »