<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<appendix xml:id="wincache.win32build" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <title>Building for Windows</title>
  <section xml:id="wincache.win32build.prereq">
   <title>Prerequisites</title>
   <para>
    Building WinCache extension will require:
   </para>
   <orderedlist spacing="compact">
    <listitem>
     <simpara>PHP source code</simpara>
    </listitem>
    <listitem>
     <simpara>PHP build environment</simpara>
    </listitem>
    <listitem>
     <simpara>WinCache source code</simpara>
    </listitem>
   </orderedlist>
   <para>
    For completing first two steps, follow the step-by-step guide for how 
    to <link xlink:href="&url.php.win.build;">build PHP on Windows</link>.
   </para>
   <para>
    For getting the WinCache source code follow the instructions described in 
    <link linkend="install.pecl.downloads">Downloading PECL extensions</link>.
   </para>
  </section>
  <section xml:id="wincache.win32build.building">
   <title>Compiling and building</title>
   <para>
    The following steps describe how to compile and build WinCache on Windows OS:
   </para>
   <procedure>
    <step>
     <simpara>Open a command prompt which is used to build PHP</simpara>
    </step>
    <step>
     <simpara>Go to the root folder where PHP sources are present</simpara>
    </step>
    <step>
     <para>
      Run the command:
      <programlisting role="cmd">
<![CDATA[
cscript.exe win32\build\buildconf.js
]]>
      </programlisting>
     </para>
    </step>
    <step>
     <para>
      Run the command:
      <programlisting role="cmd">
<![CDATA[
configure.bat --help
]]>
      </programlisting>
      The output will contain a new flag <literal>--enable-wincache</literal>.
     </para>
    </step>
    <step>
     <para>
      Run the command:
      <programlisting role="cmd">
<![CDATA[
configure.js [all options used to build PHP] --enable-wincache
]]>
      </programlisting>
      <literal>--enable-wincache</literal> is the only extra option which is 
      required to ensure that WinCache extension gets built properly. 
      This option will build WinCache and will statically link it with PHP dll. 
      To build WinCache extension as a stand-alone DLL use the option 
      <literal>--enable-wincache=shared</literal>.
     </para>
    </step>
    <step>
     <para>
      Run the command:
      <programlisting role="cmd">
<![CDATA[
nmake
]]>
      </programlisting>
     </para>
    </step>
   </procedure>
  </section>
  <section xml:id="wincache.win32build.verify">
   <title>Verifying the build</title>
   <para>
    The following steps describe how to verify that WinCache has been built correctly:
   </para>
   <procedure>
    <step>
     <simpara>
      Go to the folder where the PHP binaries are built
     </simpara>
    </step>
    <step>
     <para>
      Run the command:
      <programlisting role="cmd">
<![CDATA[
php.exe -n -d extension=php_wincache.dll -re wincache
]]>
      </programlisting>
      If WinCache has been built properly, the output of this command will
      list the INI directives and functions supported by WinCache.
     </para>
    </step>
   </procedure>
  </section>
</appendix>

<!-- 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:"~/.phpdoc/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
-->
