Server-Root/notes.txt

45 lines
1.2 KiB
Plaintext

Before you're doing something:
git submodule update --remote
git submodule update --remote -f --merge --recursive
Build everythink with C++ ABI = 0
(yaml-cpp needs CMakeLists.txt entry)
make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"
For jsoncpp:
make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11"
NOTE: May was CXXFLAGS (without the underscore)
For yaml:
cmake .. -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=Release
make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -fPIC"
For breakpad:
git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss
mkdir build && cd build
../configure
make CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11"
For MySQL:
git submodule update --init
mkdir build && cd build
cmake .. -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -static-libgcc -static-libstdc++" -DWITH_JDBC=ON
make -j 12
For boringssl:
cmake .. -DBUILD_SHARED_LIBS=ON
make -j 8
Instal protobuf:
sudo apt-get install -y git autoconf automake libtool curl make g++ unzip
git clone https://github.com/google/protobuf.git
cd protobuf/
./autogen.sh
./configure
make
make check
sudo make install