Merge commit 'eafc9d2caa38813caccdf2d93a0fb9f026358009'

This commit is contained in:
Andrea Cavalli 2020-11-08 17:33:32 +01:00
commit 1f2e2707cb
2 changed files with 26 additions and 6 deletions

View File

@ -32,6 +32,8 @@ select.large { font-size: large; }
<select id="linuxSelect" onchange="onOsChanged(false)" class="large">
<option>Choose a Linux distro:</option>
<option>Alpine</option>
<option>CentOS 7</option>
<option>CentOS 8</option>
<option>Debian 8</option>
<option>Debian 9</option>
<option>Debian 10</option>
@ -174,7 +176,7 @@ function onOptionsChanged() {
document.getElementById('buildCommandsDiv').style.display = 'block';
var use_clang = os_freebsd || os_openbsd;
if (os_linux && linux_distro !== 'Alpine') {
if (os_linux && linux_distro !== 'Alpine' && !linux_distro.includes('CentOS')) {
document.getElementById('buildCompilerDiv').style.display = 'block';
use_clang = document.getElementById('buildCompilerRadioClang').checked;
} else {
@ -309,6 +311,7 @@ function onOptionsChanged() {
var commands = [];
var cmake = 'cmake';
if (os_mac) {
commands.push('xcode-select --install');
commands.push('/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"');
@ -321,6 +324,21 @@ function onOptionsChanged() {
var packages = 'alpine-sdk linux-headers git zlib-dev openssl-dev gperf cmake';
commands.push(sudo + 'apk add --update ' + packages);
break;
case 'CentOS 7':
case 'CentOS 8':
commands.push(sudo + 'yum update -y');
var packages = 'gcc-c++ make git zlib-devel openssl-devel';
if (linux_distro === 'CentOS 7') {
commands.push(sudo + 'yum install -y centos-release-scl-rh epel-release');
commands.push(sudo + 'yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++');
cmake = 'cmake3';
packages += ' gperf';
} else {
commands.push(sudo + 'dnf --enablerepo=PowerTools install gperf');
}
packages += ' ' + cmake;
commands.push(sudo + 'yum install -y ' + packages);
break;
case 'Debian 8':
case 'Debian 9':
case 'Debian 10':
@ -463,19 +481,21 @@ function onOptionsChanged() {
prefix = 'CC=/usr/bin/clang' + clang_version_suffix + ' CXX=/usr/bin/clang++' + clang_version_suffix + ' ';
} else if (linux_distro === 'Ubuntu 14') {
prefix = 'CC=/usr/bin/gcc-4.9 CXX=/usr/bin/g++-4.9 ';
} else if (linux_distro === 'CentOS 7') {
prefix = 'CC=/opt/rh/devtoolset-9/root/usr/bin/gcc CXX=/opt/rh/devtoolset-9/root/usr/bin/g++ ';
}
}
return prefix + 'cmake ' + options.join(' ') + ' ..';
return prefix + cmake + ' ' + options.join(' ') + ' ..';
}
commands.push(getCmakeInitCommand(cmake_init_options));
if (os_openbsd) {
commands.push('cmake --build . --target prepare_cross_compiling');
commands.push(cmake + ' --build . --target prepare_cross_compiling');
commands.push('cd ../td');
commands.push('php-7.2 SplitSource.php');
commands.push('cd ../build');
}
let build_command = 'cmake --build . --target install';
let build_command = cmake + ' --build . --target install';
if (use_msvc) {
if (!is_debug_build) {
commands.push(build_command + ' --config Release');

View File

@ -192,8 +192,8 @@ int main(int argc, char *argv[]) {
std::tie(rem, mod) = td::split(rem_mod, '/');
TRY_RESULT(rem_i, td::to_integer_safe<td::uint64>(rem));
TRY_RESULT(mod_i, td::to_integer_safe<td::uint64>(mod));
if (rem_i < 0 || rem_i >= mod_i) {
return td::Status::Error("Wrong argument specified: ensure that 0 <= remainder < modulo");
if (rem_i >= mod_i) {
return td::Status::Error("Wrong argument specified: ensure that remainder < modulo");
}
token_range = {rem_i, mod_i};
return td::Status::OK();