Add OpenBSD build instructions.
GitOrigin-RevId: 89940edf0ec15563aea0e04eb941ffb00a491d65
This commit is contained in:
parent
c369ec608c
commit
b929fbf673
40
build.html
40
build.html
@ -163,16 +163,16 @@ function getSupportedOs(language) {
|
|||||||
case 'Choose a programming language:':
|
case 'Choose a programming language:':
|
||||||
return [];
|
return [];
|
||||||
case 'JavaScript':
|
case 'JavaScript':
|
||||||
return ['Windows (Node.js)', 'Linux (Node.js)', 'macOS (Node.js)', 'FreeBSD (Node.js)', 'Browser'];
|
return ['Windows (Node.js)', 'Linux (Node.js)', 'macOS (Node.js)', 'FreeBSD (Node.js)', 'OpenBSD (Node.js)', 'Browser'];
|
||||||
case 'Java':
|
case 'Java':
|
||||||
return ['Windows', 'Linux', 'macOS', 'FreeBSD', 'Android'];
|
return ['Windows', 'Linux', 'macOS', 'FreeBSD', 'OpenBSD', 'Android'];
|
||||||
case 'C#':
|
case 'C#':
|
||||||
return ['Windows (through C++/CLI)', 'Universal Windows Platform (through C++/CX)', 'Windows (.Net Core)', 'Linux (.Net Core)', 'macOS (.Net Core)', 'FreeBSD (.Net Core)'];
|
return ['Windows (through C++/CLI)', 'Universal Windows Platform (through C++/CX)', 'Windows (.Net Core)', 'Linux (.Net Core)', 'macOS (.Net Core)', 'FreeBSD (.Net Core)'];
|
||||||
case 'Swift':
|
case 'Swift':
|
||||||
case 'Objective-C':
|
case 'Objective-C':
|
||||||
return ['Windows', 'Linux', 'macOS', 'iOS', 'tvOS', 'watchOS'];
|
return ['Windows', 'Linux', 'macOS', 'iOS', 'tvOS', 'watchOS'];
|
||||||
default:
|
default:
|
||||||
return ['Windows', 'Linux', 'macOS', 'FreeBSD'];
|
return ['Windows', 'Linux', 'macOS', 'FreeBSD', 'OpenBSD'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,6 +341,7 @@ function onOptionsChanged() {
|
|||||||
var os_linux = os.includes('Linux');
|
var os_linux = os.includes('Linux');
|
||||||
var os_mac = os.includes('macOS');
|
var os_mac = os.includes('macOS');
|
||||||
var os_freebsd = os.includes('FreeBSD');
|
var os_freebsd = os.includes('FreeBSD');
|
||||||
|
var os_openbsd = os.includes('OpenBSD');
|
||||||
|
|
||||||
var display_commands = 'block';
|
var display_commands = 'block';
|
||||||
var linux_distro = 'none';
|
var linux_distro = 'none';
|
||||||
@ -355,7 +356,7 @@ function onOptionsChanged() {
|
|||||||
}
|
}
|
||||||
document.getElementById('buildCommandsDiv').style.display = display_commands;
|
document.getElementById('buildCommandsDiv').style.display = display_commands;
|
||||||
|
|
||||||
var use_clang = os_freebsd;
|
var use_clang = os_freebsd || os_openbsd;
|
||||||
if (os_linux && linux_distro !== 'Alpine') {
|
if (os_linux && linux_distro !== 'Alpine') {
|
||||||
document.getElementById('buildCompilerDiv').style.display = 'block';
|
document.getElementById('buildCompilerDiv').style.display = 'block';
|
||||||
use_clang = document.getElementById('buildCompilerRadioClang').checked;
|
use_clang = document.getElementById('buildCompilerRadioClang').checked;
|
||||||
@ -364,7 +365,7 @@ function onOptionsChanged() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var low_memory = false;
|
var low_memory = false;
|
||||||
if (os_linux || os_freebsd) {
|
if (os_linux || os_freebsd || os_openbsd) {
|
||||||
low_memory = document.getElementById('buildLowMemoryCheckbox').checked;
|
low_memory = document.getElementById('buildLowMemoryCheckbox').checked;
|
||||||
document.getElementById('buildLowMemoryText').innerHTML = 'I have less than ' + (use_clang ? '1.5' : '3.5') +' GB of RAM.' +
|
document.getElementById('buildLowMemoryText').innerHTML = 'I have less than ' + (use_clang ? '1.5' : '3.5') +' GB of RAM.' +
|
||||||
(low_memory ? ' Now you will need only ' + (use_clang ? '0.5' : '1') +' GB of RAM to build TDLib.' : '');
|
(low_memory ? ' Now you will need only ' + (use_clang ? '0.5' : '1') +' GB of RAM to build TDLib.' : '');
|
||||||
@ -431,7 +432,7 @@ function onOptionsChanged() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var sudo = 'sudo ';
|
var sudo = 'sudo ';
|
||||||
if (use_root || linux_distro.includes('Debian') || os_freebsd) {
|
if (use_root || linux_distro.includes('Debian') || os_freebsd || os_openbsd) {
|
||||||
sudo = '';
|
sudo = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -504,6 +505,9 @@ function onOptionsChanged() {
|
|||||||
pre_text.push('Note that following instruction is for FreeBSD 11.');
|
pre_text.push('Note that following instruction is for FreeBSD 11.');
|
||||||
pre_text.push('Note that following calls to <code>pkg</code> needs to be run as <code>root</code>.');
|
pre_text.push('Note that following calls to <code>pkg</code> needs to be run as <code>root</code>.');
|
||||||
}
|
}
|
||||||
|
if (os_openbsd) {
|
||||||
|
pre_text.push('Note that following instruction is for OpenBSD 6.4 and default KSH shell.');
|
||||||
|
}
|
||||||
|
|
||||||
var terminal_name = (function () {
|
var terminal_name = (function () {
|
||||||
if (os_windows) {
|
if (os_windows) {
|
||||||
@ -512,6 +516,9 @@ function onOptionsChanged() {
|
|||||||
if (os_mac) {
|
if (os_mac) {
|
||||||
return 'Terminal';
|
return 'Terminal';
|
||||||
}
|
}
|
||||||
|
if (os_openbsd) {
|
||||||
|
return 'ksh';
|
||||||
|
}
|
||||||
if (use_csh) {
|
if (use_csh) {
|
||||||
return 'tcsh/csh';
|
return 'tcsh/csh';
|
||||||
}
|
}
|
||||||
@ -538,6 +545,7 @@ function onOptionsChanged() {
|
|||||||
|
|
||||||
var commands = [];
|
var commands = [];
|
||||||
|
|
||||||
|
var php = "php";
|
||||||
if (os_mac) {
|
if (os_mac) {
|
||||||
commands.push('xcode-select --install');
|
commands.push('xcode-select --install');
|
||||||
commands.push('/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"');
|
commands.push('/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"');
|
||||||
@ -617,6 +625,20 @@ function onOptionsChanged() {
|
|||||||
packages += ' openjdk';
|
packages += ' openjdk';
|
||||||
}
|
}
|
||||||
commands.push(sudo + 'pkg install ' + packages);
|
commands.push(sudo + 'pkg install ' + packages);
|
||||||
|
} else if (os_openbsd) {
|
||||||
|
if (!use_root) {
|
||||||
|
commands.push('su -');
|
||||||
|
}
|
||||||
|
var packages = 'git gperf php-7.2.10 cmake';
|
||||||
|
if (target === 'JNI') {
|
||||||
|
packages += ' jdk';
|
||||||
|
}
|
||||||
|
commands.push('pkg_add ' + packages);
|
||||||
|
if (!use_root) {
|
||||||
|
commands.push('exit');
|
||||||
|
}
|
||||||
|
|
||||||
|
php = "php-7.2";
|
||||||
}
|
}
|
||||||
commands.push('git clone https://github.com/tdlib/td.git');
|
commands.push('git clone https://github.com/tdlib/td.git');
|
||||||
|
|
||||||
@ -748,7 +770,7 @@ function onOptionsChanged() {
|
|||||||
if (low_memory) {
|
if (low_memory) {
|
||||||
commands.push('cmake --build . --target prepare_cross_compiling');
|
commands.push('cmake --build . --target prepare_cross_compiling');
|
||||||
commands.push('cd ..');
|
commands.push('cd ..');
|
||||||
commands.push('php SplitSource.php');
|
commands.push(php + ' SplitSource.php');
|
||||||
commands.push('cd build');
|
commands.push('cd build');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,7 +812,7 @@ function onOptionsChanged() {
|
|||||||
if (os_freebsd) {
|
if (os_freebsd) {
|
||||||
cmake_init_options.push('-DJAVA_HOME=/usr/local/openjdk7/');
|
cmake_init_options.push('-DJAVA_HOME=/usr/local/openjdk7/');
|
||||||
}
|
}
|
||||||
var resolve_path = use_powershell ? 'Resolve-Path' : (os_mac ? 'greadlink -e' : (is_alpine || os_freebsd ? 'readlink -f' : 'readlink -e'));
|
var resolve_path = use_powershell ? 'Resolve-Path' : (os_mac ? 'greadlink -e' : (is_alpine || os_freebsd || os_openbsd ? 'readlink -f' : 'readlink -e'));
|
||||||
var resolved_path = resolve_path + ' ../td/lib/cmake/Td';
|
var resolved_path = resolve_path + ' ../td/lib/cmake/Td';
|
||||||
if (use_csh) {
|
if (use_csh) {
|
||||||
cmake_init_options.push('-DTd_DIR:PATH=$td_dir');
|
cmake_init_options.push('-DTd_DIR:PATH=$td_dir');
|
||||||
@ -813,7 +835,7 @@ function onOptionsChanged() {
|
|||||||
commands.push('git checkout td/telegram/Client.h td/telegram/Log.h td/tl/TlObject.h');
|
commands.push('git checkout td/telegram/Client.h td/telegram/Log.h td/tl/TlObject.h');
|
||||||
}
|
}
|
||||||
if (low_memory) {
|
if (low_memory) {
|
||||||
commands.push('php SplitSource.php --undo');
|
commands.push(php + ' SplitSource.php --undo');
|
||||||
}
|
}
|
||||||
commands.push('cd ..');
|
commands.push('cd ..');
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user