Added a small environment setup helper file

canary
WolverinDEV 2018-10-09 01:46:44 +02:00
parent 194445b70d
commit a01b70c04c
1 changed files with 98 additions and 0 deletions

98
setup.md Normal file
View File

@ -0,0 +1,98 @@
# Environment setup
## Basic system requirements
I used a clean debian jessi docker
```bash
apt-get install git wget gcc make python2.7 xz-utils php5 autoconf libtool zip
```
ATTENTION: Its important to have python2.7 as default `python` command.
## Install java (Required for emscripten)
```bash
apt-get install software-properties-common
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
```
## Install cmake (For webassembly and emscripten)
```bash
wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar xvf cmake-*.tar.gz
cd cmake-*
./configure
make -j 4
make install
```
## Install nodjs (Later for emscripten too)
```bash
wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
tar xvf node-*.tar.xz
cd node-*
cp -R * /usr/local/
```
## Install emscripten with fastcomp and llvm + clang
### Fastcomp and CLang compiler
```bash
git clone https://github.com/kripken/emscripten-fastcomp
cd emscripten-fastcomp
git clone https://github.com/kripken/emscripten-fastcomp-clang tools/clang
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="host;JSBackend" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF
make -j 4
make install
```
### Emscripten
```bash
git clone https://github.com/kripken/emscripten.git
cd emscripten
python emscripten.py
python emscripten.py #Execute it twice to detekt error
echo "PATH=\"$PATH:`pwd`\"" >> ~/.bashrc
```
# Build TeaWeb
## Close and initialize project
```bash
git clone https://github.com/TeaSpeak/TeaWeb
git submodule update --init --recursive --remote --checkout
```
## Build native libraries
### Opus
```bash
cd asm
./make_opus.sh
```
### Tommath
```bash
cd libraries/tommath
mkdir build; cd build
emcmake cmake ..
emmake make -j 4
```
### Tomcrypt
ATTENTION: Do not create_build.sh!
```bash
cd libraries/tomcrypt
emmake make -f makefile CFLAGS="-DUSE_LTM -DLTM_DESC -I../tommath/" EXTRALIBS="$(pwd)/../tommath/build/libtommathStatic.a" test
```
### Make js files
```bash
cd asm
mkdir build; cd build
emcmake cmake ..
emmake make -j 4
```
# Now generate project structure
```bash
npm install --only=dev
./scripts/build_web_release.sh
./scripts/package_web_release.sh
```