This commit is contained in:
WolverinDEV 2018-08-07 20:46:15 +02:00
parent 1cd45a7fa4
commit 742fadc459
18 changed files with 267 additions and 9 deletions

6
.gitmodules vendored
View File

@ -50,3 +50,9 @@
[submodule "libraries/boringssl"] [submodule "libraries/boringssl"]
path = libraries/boringssl path = libraries/boringssl
url = https://boringssl.googlesource.com/boringssl url = https://boringssl.googlesource.com/boringssl
[submodule "libraries/protobuf"]
path = libraries/protobuf
url = https://github.com/google/protobuf.git
[submodule "libraries/DataPipes"]
path = libraries/DataPipes
url = https://github.com/WolverinDEV/DataPipes.git

2
.idea/TeaSpeak.iml Normal file
View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />

View File

@ -0,0 +1,29 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
</code_scheme>
</component>

View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" />
</state>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="EndlessLoop" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>

7
.idea/misc.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/TeaSpeak.iml" filepath="$PROJECT_DIR$/.idea/TeaSpeak.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

159
.idea/workspace.xml Normal file
View File

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeRunConfigurationManager" shouldGenerate="true" shouldDeleteObsolete="true" buildAllGenerated="false">
<generated />
</component>
<component name="CMakeSettings">
<configurations>
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
</configurations>
</component>
<component name="ChangeListManager">
<list default="true" id="82f14300-bc72-4a0b-aff9-578f9bd5703c" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/TeaSpeak" afterPath="$PROJECT_DIR$/TeaSpeak" />
<change beforePath="$PROJECT_DIR$/libraries/CXXTerminal" afterPath="$PROJECT_DIR$/libraries/CXXTerminal" />
<change beforePath="$PROJECT_DIR$/libraries/StringVariable" afterPath="$PROJECT_DIR$/libraries/StringVariable" />
<change beforePath="$PROJECT_DIR$/libraries/Thread-Pool" afterPath="$PROJECT_DIR$/libraries/Thread-Pool" />
</list>
<ignored path="$PROJECT_DIR$/cmake-build-debug/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="NodePackageJsonFileManager">
<packageJsonPaths>
<path value="$PROJECT_DIR$/TeaSpeak/Web-Client/package.json" />
</packageJsonPaths>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="107" />
<option name="y" value="2156" />
<option name="width" value="3775" />
<option name="height" value="2164" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
<State>
<id>BashSupport</id>
</State>
</expanded-state>
<selected-state>
<State>
<id>AWS CloudFormation Inspections</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
<manualOrder />
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="TeaSpeak" type="b2602c69:ProjectViewProjectNode" />
<item name="TeaSpeak" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/TeaSpeak" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.C/C++" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="82f14300-bc72-4a0b-aff9-578f9bd5703c" name="Default" comment="" />
<created>1533152440978</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1533152440978</updated>
<workItem from="1533152448087" duration="49000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="49000" />
</component>
<component name="ToolWindowManager">
<frame x="65" y="2156" width="3777" height="2172" extended-state="6" />
<layout>
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
</project>

@ -1 +1 @@
Subproject commit 565f7c83ad4f20852bbf2b500621325223e31733 Subproject commit 6628b86d0c9f4b4ca275237d5c3ba6ff55e720ce

@ -1 +1 @@
Subproject commit 15d52159371b12da64230dfc4bb9e844c023d249 Subproject commit 13d2119a83b517a6f2355dca61314c2ac14df977

1
libraries/DataPipes Submodule

@ -0,0 +1 @@
Subproject commit 43c97648631c22d2ac9439944c7214175eda7605

@ -1 +1 @@
Subproject commit 7868b90427efa06e8d3cf8fb3eba9305e3aa1081 Subproject commit b4b64d5b58b5fc2e51c66aca94022e7b8d21b613

@ -1 +1 @@
Subproject commit 83664441746e91bba8c8636ca4d51a9be7bfa249 Subproject commit 5362de13ea91fb272437e3f761fcd3419bc7c821

1
libraries/protobuf Submodule

@ -0,0 +1 @@
Subproject commit 3d62db3ecd5377025a458bca827ab4ca12d5c1f0

@ -1 +1 @@
Subproject commit 94c2ddf19d6ccbb60ff54ab7b0933689b0c0d0ee Subproject commit 96e840155393fce947c427aa2faf5ba0ef100a22

@ -1 +1 @@
Subproject commit 5f0bdabfc023376fed3640391f1a9228a4449fb0 Subproject commit 0f7fd3c606c204cf13b39ca35722782d3d05e319

View File

@ -3,13 +3,19 @@ First time: git submodule update --init --recursive --remote
Afterworks: git submodule update --remote -f --merge --recursive Afterworks: git submodule update --remote -f --merge --recursive
#IMPORTANT:
Build everything with -static-libgcc -static-libstdc++
Build everythink with C++ ABI = 0 Build everythink with C++ ABI = 0
(yaml-cpp needs CMakeLists.txt entry) (yaml-cpp needs CMakeLists.txt entry)
make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"
For libevent:
cmake .. -DCMAKE_C_FLAGS="-fPIC"
For jsoncpp: For jsoncpp:
make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11" make -j 12 CXX_FLAGS="-std=c++11 -fPIC"
NOTE: May was CXXFLAGS (without the underscore) NOTE: May was CXXFLAGS (without the underscore)
For yaml: For yaml:
@ -19,12 +25,12 @@ make -j 12 CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -fPIC"
For breakpad: For breakpad:
git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss git clone https://chromium.googlesource.com/linux-syscall-support src/third_party/lss
../configure ../configure
make CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11" make CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=1 -std=c++11"
For MySQL: For MySQL:
git submodule update --init git submodule update --init
mkdir build && cd build mkdir build && cd build
cmake .. -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 -static-libgcc -static-libstdc++" -DWITH_JDBC=ON cmake .. -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=1 -static-libgcc -static-libstdc++" -DWITH_JDBC=ON
make -j 12 make -j 12
For boringssl: For boringssl:
@ -41,3 +47,25 @@ make
make check make check
sudo make install sudo make install
WebRTC:
Build:
edit file: webrtc/BUILD.gn and add
gn gen out/release --args="enable_iterator_debugging=false is_debug=false is_desktop_linux=false use_ozone=true use_custom_libcxx=false"
find . -name '*.a' -exec nm -A -C {} \; | grep "rtc::FatalMessage"
ar -rcs libraries/libboringssl_asm.a src/out/release/obj/third_party/boringssl/boringssl_asm/aes-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/aesni-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/bsaes-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/vpaes-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/rsaz-avx2.o src/out/release/obj/third_party/boringssl/boringssl_asm/x86_64-mont.o src/out/release/obj/third_party/boringssl/boringssl_asm/x86_64-mont5.o src/out/release/obj/third_party/boringssl/boringssl_asm/chacha-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/p256-x86_64-asm.o src/out/release/obj/third_party/boringssl/boringssl_asm/md5-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/ghash-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/rdrand-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/sha1-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/sha256-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/sha512-x86_64.o src/out/release/obj/third_party/boringssl/boringssl_asm/x25519-asm-x86_64.o
ar -rcs libraries/libjsoncpp.a src/out/release/obj/third_party/jsoncpp/jsoncpp/json_reader.o src/out/release/obj/third_party/jsoncpp/jsoncpp/json_value.o src/out/release/obj/third_party/jsoncpp/jsoncpp/json_writer.o
ln -s src/out/release/obj/third_party/boringssl/libboringssl.a libraries/
ln -s src/out/release/obj/webrtc/system_wrappers/libfield_trial_default.a libraries/
ln -s src/out/release/obj/webrtc/base/librtc_base.a libraries/
ln -s src/out/release/obj/webrtc/base/librtc_base_approved.a libraries/
ln -s src/out/release/obj/webrtc/p2p/librtc_p2p.a libraries/
ln -s src/out/release/obj/third_party/protobuf/libprotobuf_lite.a libraries/