<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mysql-xdevapi.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'mysql-xdevapi.build.php',
    1 => 'Сборка / Компиляция из исходного кода',
    2 => 'Сборка / Компиляция из исходного кода',
  ),
  'up' => 
  array (
    0 => 'mysql-xdevapi.setup.php',
    1 => 'Установка и настройка',
  ),
  'prev' => 
  array (
    0 => 'mysql-xdevapi.configuration.php',
    1 => 'Настройка во время выполнения',
  ),
  'next' => 
  array (
    0 => 'mysql-xdevapi.constants.php',
    1 => 'Предопределённые константы',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/mysql_xdevapi/setup.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysql-xdevapi.build" class="section">
  <h2 class="title">Сборка / Компиляция из исходного кода</h2>
  <p class="para">
   Соображения по компиляции этого модуля из исходного кода.
  </p>

  <ul class="itemizedlist">
   <li class="listitem">
    <p class="para">
     Имя модуля - &#039;mysql_xdevapi&#039;, поэтому используйте <code class="literal">--enable-mysql-xdevapi</code>.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Boost: обязателен, при необходимости используйте параметр конфигурации --with-boost=DIR
     или задайте переменную окружения MYSQL_XDEVAPI_BOOST_ROOT.
     Требуются только файлы заголовков boost; не двоичные файлы.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Google Protocol Buffers (protobuf): обязателен, при необходимости используйте параметр конфигурации --with-protobuf=DIR
     или задайте переменную окружения MYSQL_XDEVAPI_PROTOBUF_ROOT.
    </p>
    <p class="para">
     При желании используйте <code class="literal">make protobufs</code> для создания файлов protobuf (*.pb.cc/.h) и <code class="literal">make clean-protobufs</code> для удаления созданных файлов protobuf.
    </p>
    <p class="para">
     Примечание к protobuf на Windows: в зависимости от окружения
     может потребоваться статическая библиотека с многопоточным временем выполнения DLL.
     Для подготовки используйте следующие параметры:
     <em>-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF</em>
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Google Protocol Buffers / protocol compiler (protoc): обязательны, убедитесь,
     что во время сборки в PATH доступен правильный &#039;protoc&#039;. Это особенно
     важно, поскольку пакетные сценарии Windows PHP SDK могут перезаписывать окружение.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Bison: обязателен, и доступен из PATH.
    </p>
    <p class="para">
     Примечание к bison на Windows: мы настоятельно рекомендуем, чтобы bison, поставляемый с
     выбранным PHP SDK, использовал ещё одну ошибку, похожую на &quot;zend_globals_macros.h(39):
     error C2375: &#039;zendparse&#039;: redefinition; different linkage
     Zend/zend_language_parser.h(214): примечание: note: see declaration of &#039;zendparse&#039;&quot;.
     Кроме того, пакетные сценарии Windows PHP SDK могут перезаписывать окружение.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Примечания для Windows: Чтобы подготовить окружение, ознакомьтесь с официальной
     документацией по сборке Windows для
     <a href="https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2" class="link external">&raquo;&nbsp;текущего SDK</a>.
    </p>
    <p class="para">
     Мы рекомендуем использовать обратную косую черту &#039;\\&#039; вместо косой черты &#039;/&#039; для всех путей.
    </p>
   </li>
  </ul>
 </div><?php manual_footer($setup); ?>