Adding stuff
This commit is contained in:
parent
fd13ffaf27
commit
b1727206c0
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ Web-Client
|
|||||||
WebClient.zip
|
WebClient.zip
|
||||||
Web-Client-I18N
|
Web-Client-I18N
|
||||||
.idea
|
.idea
|
||||||
|
symbols
|
||||||
|
156
Jenkinsfile
vendored
156
Jenkinsfile
vendored
@ -3,7 +3,7 @@ pipeline {
|
|||||||
|
|
||||||
parameters {
|
parameters {
|
||||||
booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build')
|
booleanParam(defaultValue: true, description: 'Deploy this build', name: 'deploy_build')
|
||||||
choice(choices: ['none', 'x86_debug', 'x86_release', 'x86_stable', 'x64_debug', 'x64_release', 'x64_stable'], description: 'Which target do you want to build?', name: 'target')
|
choice(choices: ['none', 'x86_debug', 'x86_release', 'x86_stable', 'amd64_debug', 'amd64_release', 'amd64_stable', 'arm32v7_debug', 'arm32v7_release', 'arm32v7_stable'], description: 'Which target do you want to build?', name: 'target')
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -19,12 +19,12 @@ pipeline {
|
|||||||
|
|
||||||
stages {
|
stages {
|
||||||
/* build all amd64 stuff */
|
/* build all amd64 stuff */
|
||||||
stage ('build::x64') {
|
stage ('build::amd64') {
|
||||||
agent {
|
agent {
|
||||||
label 'linux && amd64 && teaspeak'
|
label 'linux && amd64 && teaspeak'
|
||||||
}
|
}
|
||||||
when {
|
when {
|
||||||
expression { params.target == "x64_debug" || params.target == "x64_release" || params.target == "x64_stable" }
|
expression { params.target == "amd64_debug" || params.target == "amd64_release" || params.target == "amd64_stable" }
|
||||||
}
|
}
|
||||||
|
|
||||||
environment {
|
environment {
|
||||||
@ -33,7 +33,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::x64::libraries') {
|
stage ('build::amd64::libraries') {
|
||||||
environment {
|
environment {
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
||||||
}
|
}
|
||||||
@ -45,13 +45,13 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stage ('build::x64::debug') {
|
stage ('build::amd64::debug') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "x64_debug" }
|
expression { params.target == "amd64_debug" }
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::x64::debug::build') {
|
stage ('build::amd64::debug::build') {
|
||||||
environment {
|
environment {
|
||||||
TEASPEAK_BUILD_TYPE="Debug"
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
CMAKE_BUILD_TYPE="Debug"
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
@ -76,13 +76,13 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::x64::release') {
|
stage ('build::amd64::release') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "x64_release" }
|
expression { params.target == "amd64_release" }
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::x64::release::build') {
|
stage ('build::amd64::release::build') {
|
||||||
environment {
|
environment {
|
||||||
TEASPEAK_BUILD_TYPE="Release"
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
@ -107,13 +107,13 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::x64::stable') {
|
stage ('build::amd64::stable') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "x64_stable" }
|
expression { params.target == "amd64_stable" }
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage ('build::x64::stable::build') {
|
stage ('build::amd64::stable::build') {
|
||||||
environment {
|
environment {
|
||||||
TEASPEAK_BUILD_TYPE="Release"
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
@ -187,7 +187,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::debug::deploy') {
|
stage ('build::x86::debug::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
@ -218,7 +218,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::release::deploy') {
|
stage ('build::x86::release::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
@ -230,7 +230,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::x64::stable') {
|
stage ('build::x86::stable') {
|
||||||
when {
|
when {
|
||||||
expression { params.target == "x86_stable" }
|
expression { params.target == "x86_stable" }
|
||||||
}
|
}
|
||||||
@ -249,7 +249,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage ('build::amd64::stable::deploy') {
|
stage ('build::x86::stable::deploy') {
|
||||||
when {
|
when {
|
||||||
expression { params.deploy_build }
|
expression { params.deploy_build }
|
||||||
}
|
}
|
||||||
@ -262,5 +262,127 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* build all arm32v7 stuff */
|
||||||
|
stage ('build::arm32v7') {
|
||||||
|
agent {
|
||||||
|
label 'linux && arm32v7 && teaspeak'
|
||||||
|
}
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_debug" || params.target == "arm32v7_release" || params.target == "arm32v7_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
environment {
|
||||||
|
build_os_type="linux"
|
||||||
|
build_os_arch="arm32v7"
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::arm32v7::libraries') {
|
||||||
|
environment {
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo" /* we build out libraries every time in release mode! (Performance improve) */
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './attach_modules.sh'
|
||||||
|
sh 'cd libraries; ./build.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
stage ('build::arm32v7::debug') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_debug" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::amd64::debug::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Debug"
|
||||||
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::amd64::debug::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_debug'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::release') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_release" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::arm32v7::release::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=1 -DBUILD_TYPE_NAME='beta'"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::release::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_optimized'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::stable') {
|
||||||
|
when {
|
||||||
|
expression { params.target == "arm32v7_stable" }
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ('build::arm32v7::stable::build') {
|
||||||
|
environment {
|
||||||
|
TEASPEAK_BUILD_TYPE="Release"
|
||||||
|
CMAKE_BUILD_TYPE="RelWithDebInfo"
|
||||||
|
|
||||||
|
TEASPEAK_DEPLOY_TYPE_SPECIFIER="-DBUILD_TYPE=0 -DBUILD_TYPE_NAME=''"
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh './build_teaspeak.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ('build::arm32v7::stable::deploy') {
|
||||||
|
when {
|
||||||
|
expression { params.deploy_build }
|
||||||
|
}
|
||||||
|
|
||||||
|
steps {
|
||||||
|
sh 'cd TeaSpeak/server/repro/; chmod 400 build_private_key; ./build.sh linux/arm32v7_stable'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
TeaSpeak
2
TeaSpeak
@ -1 +1 @@
|
|||||||
Subproject commit 10092cfab0a3c6d751eb4e1b402bdc77119ea56c
|
Subproject commit 8fc8e43b2cf6b6c0cec31df9f5c0cb11e7d79092
|
@ -1 +1 @@
|
|||||||
Subproject commit d7203d854b75cb7954a2580c645729e7def8f297
|
Subproject commit 516071dfe82a8af80a54adebdb13cfaabdf8c090
|
@ -1,4 +1,9 @@
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
|
## General dependencies
|
||||||
|
```shell script
|
||||||
|
sudo apt install -y texinfo bison flex libglib2.0-dev
|
||||||
|
```
|
||||||
|
|
||||||
## Python 3.6
|
## Python 3.6
|
||||||
```shell script
|
```shell script
|
||||||
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz && \
|
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz && \
|
||||||
@ -12,12 +17,7 @@ sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3
|
|||||||
pip3.6 install --upgrade pip
|
pip3.6 install --upgrade pip
|
||||||
```
|
```
|
||||||
|
|
||||||
## Ninja
|
## Ninja (from source)
|
||||||
### Using official version (may be outdated)
|
|
||||||
```shell script
|
|
||||||
sudo apt install ninja
|
|
||||||
```
|
|
||||||
### Building from source
|
|
||||||
```shell script
|
```shell script
|
||||||
apt-get purge ninja
|
apt-get purge ninja
|
||||||
|
|
||||||
@ -35,14 +35,14 @@ pip3.6 install meson
|
|||||||
|
|
||||||
## objcopy
|
## objcopy
|
||||||
`objcopy` must be build from source because the option "--add-symbol" is mouse likely not available...
|
`objcopy` must be build from source because the option "--add-symbol" is mouse likely not available...
|
||||||
|
You might have to append `--target=i386-pc-linux-gnu` for 32 bit PCs
|
||||||
```shell script
|
```shell script
|
||||||
apt-get install -y texinfo bison flex
|
git clone git://sourceware.org/git/binutils-gdb.git && cd binutils-gdb/binutils && \
|
||||||
|
|
||||||
git clone git://sourceware.org/git/binutils-gdb.git && cd binutils-gdb && \
|
|
||||||
git checkout binutils-2_32-branch && \
|
git checkout binutils-2_32-branch && \
|
||||||
CXXFLAGS="-Wno-error=unused-function -O2" CFLAGS="-Wno-error=unused-function -O2" ./configure && \
|
CXXFLAGS="-Wno-error=unused-function -O2" CFLAGS="-Wno-error=unused-function -O2" ./configure && \
|
||||||
make -j32 && \
|
make -j32 && \
|
||||||
make install
|
make install && \
|
||||||
|
cd ../..
|
||||||
```
|
```
|
||||||
|
|
||||||
# Building GLIB2.0
|
# Building GLIB2.0
|
||||||
@ -87,7 +87,6 @@ Build libnice
|
|||||||
[[ -z "${build_os_type}" ]] && export build_os_type=linux
|
[[ -z "${build_os_type}" ]] && export build_os_type=linux
|
||||||
[[ -z "${build_os_type}" ]] && export build_os_arch=amd64
|
[[ -z "${build_os_type}" ]] && export build_os_arch=amd64
|
||||||
|
|
||||||
apt-get install -y gtk-doc-tools
|
|
||||||
git clone https://github.com/libnice/libnice.git && cd libnice
|
git clone https://github.com/libnice/libnice.git && cd libnice
|
||||||
|
|
||||||
export glib20_dir="`pwd`/../glibc-prebuild/${build_os_type}_${build_os_arch}/"
|
export glib20_dir="`pwd`/../glibc-prebuild/${build_os_type}_${build_os_arch}/"
|
||||||
@ -101,7 +100,8 @@ export GLIB_CFLAGS="-I$glib20_dir/include/glib-2.0 -I`echo "$glib20_dir/lib/"*"/
|
|||||||
export GLIB_LIBS="-lgio-2.0 -lz -lresolv -lgmodule-2.0 -ldl -lgobject-2.0 -lffi -lglib-2.0 -lpcre -pthread" # Shared
|
export GLIB_LIBS="-lgio-2.0 -lz -lresolv -lgmodule-2.0 -ldl -lgobject-2.0 -lffi -lglib-2.0 -lpcre -pthread" # Shared
|
||||||
export LDFLAGS="-L$boringssl_path/crypto/ -L$boringssl_path/ssl/ -L$glib20_lib_path"
|
export LDFLAGS="-L$boringssl_path/crypto/ -L$boringssl_path/ssl/ -L$glib20_lib_path"
|
||||||
|
|
||||||
./autogen.sh --prefix=`pwd`/out --with-pic --with-crypto-library=openssl --without-gstreamer --disable-assert --disable-gtk-doc --enable-static=no --enable-shared=yes && \
|
sed 's/gtkdocize/#gtkdocize/g' autogen.sh # Fix for ARM
|
||||||
|
CFLAGS="-Wno-error=cast-align" ./autogen.sh --prefix=`pwd`/out --with-pic --with-crypto-library=openssl --without-gstreamer --disable-assert --disable-gtk-doc --enable-static=no --enable-shared=yes && \
|
||||||
make && \
|
make && \
|
||||||
make install
|
make install
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ if [[ ${build_os_type} != "win32" && "${_datapipes_webrtc}" == "ON" ]]; then
|
|||||||
|
|
||||||
# TODO: pcre really required here?
|
# TODO: pcre really required here?
|
||||||
web_cmake_flags="$web_cmake_flags -DGLIB_PREBUILD_FLAGS=\"-I$glib20_dir/include -I$glib20_dir/include/glib-2.0/ -I$glib20_lib_path/glib-2.0/include/\""
|
web_cmake_flags="$web_cmake_flags -DGLIB_PREBUILD_FLAGS=\"-I$glib20_dir/include -I$glib20_dir/include/glib-2.0/ -I$glib20_lib_path/glib-2.0/include/\""
|
||||||
web_cmake_flags="$web_cmake_flags -DGLIB_PREBUILD_LIBRARIES=\"$glib20_lib_path/libgio-2.0.so;z;resolv;$glib20_lib_path/libgmodule-2.0.so;$glib20_lib_path/libgobject-2.0.so;$glib20_lib_path/libffi.a;$glib20_lib_path/libglib-2.0.so;pcre\""
|
web_cmake_flags="$web_cmake_flags -DGLIB_PREBUILD_LIBRARIES=\"$glib20_lib_path/libgio-2.0.so;z;resolv;$glib20_lib_path/libgmodule-2.0.so;$glib20_lib_path/libgobject-2.0.so;$glib20_lib_path/libffi.so;$glib20_lib_path/libglib-2.0.so;pcre\""
|
||||||
web_cmake_flags="$web_cmake_flags -DLIBNICE_PREBUILD_PATH=\"../libnice/linux_${build_os_arch}\""
|
web_cmake_flags="$web_cmake_flags -DLIBNICE_PREBUILD_PATH=\"../libnice/linux_${build_os_arch}\""
|
||||||
echo "WebRTC flags: $web_cmake_flags"
|
echo "WebRTC flags: $web_cmake_flags"
|
||||||
fi
|
fi
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Basic Setup
|
# Basic Setup
|
||||||
#linux-headers for unistd.h
|
#linux-headers for unistd.h
|
||||||
#bsd-compat-headers for sys/cdefs.h (arm only!)
|
#bsd-compat-headers for sys/cdefs.h (arm only!)
|
||||||
apk add bash coreutils build-base autoconf git wget sqlite-dev openssl-dev cmake patchelf go linux-headers bsd-compat-headers
|
apk add bash coreutils build-base autoconf git wget sqlite-dev openssl-dev cmake patchelf go linux-headers bsd-compat-headers libexecinfo-dev
|
||||||
git config --global credential.helper store
|
git config --global credential.helper store
|
||||||
|
|
||||||
# Create TeaSpeak
|
# Create TeaSpeak
|
||||||
|
16
setup_arm
16
setup_arm
@ -1,17 +1,19 @@
|
|||||||
sudo apt-get update && \
|
sudo apt-get update && \
|
||||||
sudo apt-get install build-essential software-properties-common -y && \
|
sudo apt-get install build-essential software-properties-common -y && \
|
||||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
|
||||||
sudo apt-get update
|
sudo apt-get update && \
|
||||||
|
|
||||||
sudo apt-get install gcc-9 g++-9 -y && \
|
sudo apt-get install gcc-9 g++-9 -y && \
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9 && \
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9 && \
|
||||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-9 60 --slave /usr/bin/c++ c++ /usr/bin/c++-9
|
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-9 60 --slave /usr/bin/c++ c++ /usr/bin/c++-9 # THis fails for some reason
|
||||||
|
|
||||||
apt-get install autoconf git wget libssl-dev realpath libsqlite3-dev libmysqlclient-dev
|
Sometimes its required to build from source:
|
||||||
|
https://raw.githubusercontent.com/darrenjs/howto/master/build_scripts/build_gcc_9.sh
|
||||||
|
|
||||||
wget https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz && tar xvf cmake-3.16.3.tar.gz
|
apt-get install -y autoconf git wget libssl-dev realpath libsqlite3-dev libmysqlclient-dev
|
||||||
cd cmake-3.16.3 && ./configure --parallel=16
|
|
||||||
make -j16 && make install
|
wget https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz && tar xvf cmake-3.16.3.tar.gz && \
|
||||||
|
cd cmake-3.16.3 && ./configure --parallel=16 && \
|
||||||
|
make -j16 && make install && \
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
git config --global credential.helper store
|
git config --global credential.helper store
|
||||||
|
Loading…
Reference in New Issue
Block a user