From 8d130146134de2b14d33cd82019d26b363cb8087 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 9 Oct 2016 11:30:56 +0300 Subject: [PATCH 1/4] Travis other jobs fixed. --- .travis/build.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis/build.sh b/.travis/build.sh index 40b107eb2..30ff208f8 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -77,27 +77,27 @@ build() { # Configure the build if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_AUTOUPDATE" + GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE" fi if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" + GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" fi if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_CRASH_REPORTS" + GYP_DEFINES+=",TDESKTOP_DISABLE_CRASH_REPORTS" fi if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_NETWORK_PROXY" + GYP_DEFINES+=",TDESKTOP_DISABLE_NETWORK_PROXY" fi if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION" + GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION" fi if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then - GYP_DEFINES += ",TDESKTOP_DISABLE_UNITY_INTEGRATION" + GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION" fi info_msg "Build defines: ${GYP_DEFINES}" From 9950629e4eb4a84a4899804c2798fe55ab128bc7 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 11 Oct 2016 12:56:51 +0300 Subject: [PATCH 2/4] Removed some download-in-ZIP from build docs. --- doc/building-cmake.md | 2 - doc/building-msvc.md | 83 ++++++++++++++------------------------- doc/building-qtcreator.md | 2 - doc/building-xcode-old.md | 6 +-- doc/building-xcode.md | 15 ------- 5 files changed, 31 insertions(+), 77 deletions(-) diff --git a/doc/building-cmake.md b/doc/building-cmake.md index 7d13fa7a4..769d43ce5 100644 --- a/doc/building-cmake.md +++ b/doc/building-cmake.md @@ -23,8 +23,6 @@ By git – in Terminal go to **/home/user/TBuild** and run git clone https://github.com/telegramdesktop/tdesktop.git -or download in ZIP and extract to **/home/user/TBuild** rename **tdesktop-master** to **tdesktop** - ###Prepare libraries Install dev libraries diff --git a/doc/building-msvc.md b/doc/building-msvc.md index 64c314f46..446045299 100644 --- a/doc/building-msvc.md +++ b/doc/building-msvc.md @@ -28,21 +28,27 @@ ## Prepare folder -Choose a folder for the future build, for example **D:\TBuild\**. There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app. +Choose a folder for the future build, for example **D:\\TBuild\\**. There you will have two folders, **Libraries** for third-party libs and **tdesktop** for the app. + +All commands (if not stated otherwise) will be launched from **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder). ## Clone source code -By git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild** and run +Go to **D:\\TBuild** + + D: + cd TBuild + +and run git clone https://github.com/telegramdesktop/tdesktop.git - -or download in ZIP and extract to **D:\TBuild\**, rename **tdesktop-master** to **tdesktop** to have **D:\TBuild\tdesktop\Telegram.sln** solution + mkdir Libraries ## Prepare libraries ### OpenSSL -Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder), go to **D:\\TBuild\\Libraries** and run +Go to **D:\\TBuild\\Libraries** and run git clone https://github.com/openssl/openssl.git cd openssl @@ -60,16 +66,15 @@ Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > nmake -f ms\nt.mak nmake -f ms\nt.mak install - ### LZMA SDK 9.20 http://www.7-zip.org/sdk.html > Download [**LZMA SDK (C, C++, C#, Java)** 9.20](http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2) -Extract to **D:\TBuild\Libraries** +Extract to **D:\\TBuild\\Libraries** #### Building library -* Open in VS2015 **D:\TBuild\Libraries\lzma\C\Util\LzmaLib\LzmaLib.dsw** > One-way upgrade – **OK** +* Open in VS2015 **D:\\TBuild\\Libraries\\lzma\\C\\Util\\LzmaLib\\LzmaLib.dsw** > One-way upgrade – **OK** * For **Debug** and **Release** configurations * LzmaLib Properties > General > Configuration Type = **Static library (.lib)** – **Apply** * LzmaLib Properties > Librarian > General > Target Machine = **MachineX86 (/MACHINE:X86)** – **OK** @@ -83,11 +88,11 @@ Extract to **D:\TBuild\Libraries** http://www.zlib.net/ > Download [**zlib source code, version 1.2.8, zipfile format**](http://zlib.net/zlib128.zip) -Extract to **D:\\TBuild\\Libraries\\** +Extract to **D:\\TBuild\\Libraries** #### Building library -* Open in VS2015 **D:\TBuild\Libraries\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln** > One-way upgrade – **OK** +* Open in VS2015 **D:\\TBuild\\Libraries\\zlib-1.2.8\\contrib\\vstudio\\vc11\\zlibvc.sln** > One-way upgrade – **OK** * We are interested only in **zlibstat** project, but it depends on some custom pre-build step, so build all * For **Debug** configuration * zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded Debug (/MTd)** – **OK** @@ -98,21 +103,19 @@ Extract to **D:\\TBuild\\Libraries\\** ### libexif 0.6.20 -Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run +Go to **D:\\TBuild\\Libraries** and run git clone https://github.com/telegramdesktop/libexif-0.6.20.git -or download in ZIP and extract to **D:\TBuild\Libraries\**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln** solution - #### Building library -* Open in VS2015 **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln** +* Open in VS2015 **D:\\TBuild\\Libraries\\libexif-0.6.20\\win32\\lib_exif.sln** * Build Debug configuration * Build Release configuration ### OpenAL Soft, slightly patched -Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder), go to **D:\\TBuild\\Libraries** and run +Go to **D:\\TBuild\\Libraries** and run git clone git://repo.or.cz/openal-soft.git cd openal-soft @@ -122,29 +125,27 @@ Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > #### Building library * Install [CMake](http://www.cmake.org/) -* Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder), go to **D:\TBuild\Libraries\openal-soft\build\** and run +* Go to **D:\\TBuild\\Libraries\\openal-soft\\build** and run - cmake -G "Visual Studio 14 2015" -D LIBTYPE:STRING=STATIC -D FORCE_STATIC_VCRT:STRING=ON .. + cmake -G "Visual Studio 14 2015" -D LIBTYPE:STRING=STATIC -D FORCE_STATIC_VCRT:STRING=ON .. -* Open in VS2015 **D:\TBuild\Libraries\openal-soft\build\OpenAL.sln** and build Debug and Release configurations +* Open in VS2015 **D:\\TBuild\\Libraries\\openal-soft\\build\\OpenAL.sln** and build Debug and Release configurations ### Opus codec -Get sources by git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run +Go to **D:\\TBuild\\Libraries** and run git clone https://github.com/telegramdesktop/opus.git -to have **D:\TBuild\Libraries\opus\win32** - #### Building libraries -* Open in VS2015 **D:\TBuild\Libraries\opus\win32\VS2010\opus.sln** +* Open in VS2015 **D:\\TBuild\\Libraries\\opus\\win32\\VS2010\\opus.sln** * Build Debug configuration * Build Release configuration (it will be required in **FFmpeg** build!) ### FFmpeg -Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder) and run +Go to **D:\\TBuild\\Libraries** and run git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg cd ffmpeg @@ -156,7 +157,7 @@ http://msys2.github.io/ > Download [msys2-x86_64-20150512.exe](http://sourceforg Download [yasm for Win64](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe) from http://yasm.tortall.net/Download.html, rename **yasm-1.3.0-win64.exe** to **yasm.exe** and place it to your Visual C++ **bin** directory, like **\\Program Files (x86)\\Microsoft Visual Studio 14\\VC\\bin\\** -Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder), go to **D:\\msys64\\** and launch **msys2_shell.bat**, there run +Go to **D:\\msys64** and launch **msys2_shell.bat**, there run PATH="/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN:$PATH" @@ -177,14 +178,7 @@ Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > ### Qt 5.6.0, slightly patched * Install Python 3.3.2 from https://www.python.org/download/releases/3.3.2 > [**Windows x86 MSI Installer (3.3.2)**](https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi) -* Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder) - -There go to Libraries directory - - D: - cd TBuild\Libraries - -and run +* Go to **D:\\TBuild\\Libraries** and run git clone git://code.qt.io/qt/qt5.git qt5_6_0 cd qt5_6_0 @@ -205,11 +199,8 @@ If you didn't install Windows SDKs before, you need to install them now. To inst If you already have Windows SDKs then find the library folder and correct it at configure's command below (like **C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86**). #### Building library -go to Libraries directory - D: - cd /tbuild/libraries/qt5_6_0/qtbase -and run +Go to **D:\\TBuild\\Libraries** and run configure -debug-and-release -force-debug-info -opensource -confirm-license -static -I "D:\TBuild\Libraries\openssl\Release\include" -L "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib" -l Gdi32 -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="D:\TBuild\Libraries\openssl_debug\Debug\lib\ssleay32.lib D:\TBuild\Libraries\openssl_debug\Debug\lib\libeay32.lib" OPENSSL_LIBS_RELEASE="D:\TBuild\Libraries\openssl\Release\lib\ssleay32.lib D:\TBuild\Libraries\openssl\Release\lib\libeay32.lib" -mp -nomake examples -nomake tests -platform win32-msvc2015 nmake @@ -230,14 +221,7 @@ Breakpad is a set of client and server components which implement a crash-report #### Install * Install Python 2.7.12 from https://www.python.org/downloads/release/python-2712/ > [**Windows x86 MSI installer**](https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi). Make sure that python is added to your `PATH` (there is an option for this in the python installer). -* Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder) - -There go to Libraries directory - - D: - cd TBuild\Libraries - -and run +* Go to **D:\\TBuild\\Libraries** and run git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git cd depot_tools @@ -251,7 +235,7 @@ and run #### Build -* Open in VS2015 **D:\TBuild\Libraries\breakpad\src\client\windows\breakpad_client.sln** +* Open in VS2015 **D:\\TBuild\\Libraries\\breakpad\\src\\client\\windows\\breakpad_client.sln** * Change "Treat WChar_t As Built in Type" to "No" in all projects & configurations (should be in project>>properties>>C/C++>>Language) * Change "Treat Warnings As Errors" to "No" in all projects & configurations (should be in project>>properties>>C/C++>>General) * Build Debug configuration @@ -262,14 +246,7 @@ and run #### Setup GYP/Ninja and generate VS solution * Download [Ninja binaries](https://github.com/ninja-build/ninja/releases/download/v1.7.1/ninja-win.zip) and unpack them to **D:\\TBuild\\Libraries\\ninja** to have **D:\\TBuild\\Libraries\\ninja\\ninja.exe** -* Open **VS2015 x86 Native Tools Command Prompt.bat** (should be in **Start Menu > Programs > Visual Studio 2015** menu folder) - -There go to Libraries directory - - D: - cd TBuild\Libraries - -and run +* Go to **D:\\TBuild\\Libraries** and run git clone https://chromium.googlesource.com/external/gyp SET PATH=%PATH%;D:\TBuild\Libraries\gyp;D:\TBuild\Libraries\ninja; diff --git a/doc/building-qtcreator.md b/doc/building-qtcreator.md index 92751c4c4..42500c225 100644 --- a/doc/building-qtcreator.md +++ b/doc/building-qtcreator.md @@ -26,8 +26,6 @@ By git – in Terminal go to **/home/user/TBuild** and run git clone https://github.com/telegramdesktop/tdesktop.git -or download in ZIP and extract to **/home/user/TBuild** rename **tdesktop-master** to **tdesktop** to have **/home/user/TBuild/tdesktop/Telegram/Telegram.pro** project - ###Prepare libraries Install dev libraries diff --git a/doc/building-xcode-old.md b/doc/building-xcode-old.md index 313471146..fd8ebf922 100644 --- a/doc/building-xcode-old.md +++ b/doc/building-xcode-old.md @@ -14,7 +14,7 @@ By git – in Terminal go to **/Users/user/TBuild** and run git clone https://github.com/telegramdesktop/tdesktop.git -or download in ZIP and extract to **/Users/user/TBuild** rename **tdesktop-master** to **tdesktop** to have **/Users/user/TBuild/tdesktop/Telegram/Telegram.xcodeproj** project, then go to **/Users/user/TBuild/tdesktop** and run +then go to **/Users/user/TBuild/tdesktop** and run git checkout mac32 @@ -46,8 +46,6 @@ Get sources from https://github.com/telegramdesktop/openssl-xcode, by git – in git clone https://github.com/telegramdesktop/openssl-xcode.git -or download in ZIP and extract to **/Users/user/TBuild/Libraries**, rename **openssl-xcode-master** to **openssl-xcode** to have **/Users/user/TBuild/Libraries/openssl-xcode/openssl.xcodeproj** project - http://www.openssl.org/source/ > Download [**openssl-1.0.1h.tar.gz**](http://www.openssl.org/source/openssl-1.0.1h.tar.gz) (4.3 Mb) Extract openssl-1.0.1h.tar.gz and copy everything from **openssl-1.0.1h** to **/Users/user/TBuild/Libraries/openssl-xcode** to have **/Users/user/TBuild/Libraries/openssl-xcode/include** @@ -81,8 +79,6 @@ Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – i git clone https://github.com/telegramdesktop/libexif-0.6.20.git -or download in ZIP and extract to **/Users/user/TBuild/Libraries**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **/Users/user/TBuild/Libraries/libexif-0.6.20/configure** script - #####Building library In Terminal go to **/Users/user/TBuild/Libraries/libexif-0.6.20** and there run diff --git a/doc/building-xcode.md b/doc/building-xcode.md index 0a547a2b4..e713678df 100644 --- a/doc/building-xcode.md +++ b/doc/building-xcode.md @@ -14,10 +14,6 @@ By git – in Terminal go to **/Users/user/TBuild** and run: git clone https://github.com/telegramdesktop/tdesktop.git -or: -* download in ZIP and extract to **/Users/user/TBuild** -* rename **tdesktop-master** to **tdesktop**. - ###Prepare libraries In your build Terminal run: @@ -51,11 +47,6 @@ From https://github.com/telegramdesktop/openssl-xcode with git in Terminal: git clone https://github.com/telegramdesktop/openssl-xcode.git -or: - -* download in ZIP and extract to **/Users/user/TBuild/Libraries**, -* rename **openssl-xcode-master** to **openssl-xcode** - The path to openssl.xcodeproj should now be: **/Users/user/TBuild/Libraries/openssl-xcode/openssl.xcodeproj** #####Get the source code: @@ -98,12 +89,6 @@ From https://github.com/telegramdesktop/libexif-0.6.20 with git in Terminal: git clone https://github.com/telegramdesktop/libexif-0.6.20.git -or: - -* download in ZIP -* extract to **/Users/user/TBuild/Libraries** -* rename **libexif-0.6.20-master** to **libexif-0.6.20** - The folder configure should have this path: **/Users/user/TBuild/Libraries/libexif-0.6.20/configure** From d919f3e705ebe2a41a642bd9d1e936d3d43cbe94 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 11 Oct 2016 19:56:58 +0300 Subject: [PATCH 3/4] Fixed error display in qrc dependencies update. --- Telegram/gyp/update_dependent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Telegram/gyp/update_dependent.py b/Telegram/gyp/update_dependent.py index 62e3f9a89..ebdbef192 100644 --- a/Telegram/gyp/update_dependent.py +++ b/Telegram/gyp/update_dependent.py @@ -63,7 +63,7 @@ def handle_qrc_dependencies(file_path): if latest_modified < dependency_modified: latest_modified = dependency_modified else: - eprint('File not found: ' + full_path) + eprint('File not found: ' + path) if file_modified < latest_modified: os.utime(file_path, None); one_modified = 1 From 72b26861a97d6d0cf8723458c3a98a6bf42779e7 Mon Sep 17 00:00:00 2001 From: worm202 Date: Tue, 18 Oct 2016 00:20:30 +0400 Subject: [PATCH 4/4] Fixed Markdown parsing issues in build documentation for Windows (#2527) The issue is that Markdown parser doesn't handle code blocks after lists right. Instead of putting code into a block, it is shown as regular unformatted text. To resolve this issue, the empty HTML comments were added between lists and code blocks. Signed-off-by: Sergey Filatov (github: worm202) --- doc/building-msvc.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/building-msvc.md b/doc/building-msvc.md index 446045299..a07492f12 100644 --- a/doc/building-msvc.md +++ b/doc/building-msvc.md @@ -127,6 +127,8 @@ Go to **D:\\TBuild\\Libraries** and run * Install [CMake](http://www.cmake.org/) * Go to **D:\\TBuild\\Libraries\\openal-soft\\build** and run + + cmake -G "Visual Studio 14 2015" -D LIBTYPE:STRING=STATIC -D FORCE_STATIC_VCRT:STRING=ON .. * Open in VS2015 **D:\\TBuild\\Libraries\\openal-soft\\build\\OpenAL.sln** and build Debug and Release configurations @@ -180,6 +182,8 @@ Go to **D:\\msys64** and launch **msys2_shell.bat**, there run * Install Python 3.3.2 from https://www.python.org/download/releases/3.3.2 > [**Windows x86 MSI Installer (3.3.2)**](https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi) * Go to **D:\\TBuild\\Libraries** and run + + git clone git://code.qt.io/qt/qt5.git qt5_6_0 cd qt5_6_0 git checkout 5.6 @@ -223,6 +227,8 @@ Breakpad is a set of client and server components which implement a crash-report * Install Python 2.7.12 from https://www.python.org/downloads/release/python-2712/ > [**Windows x86 MSI installer**](https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi). Make sure that python is added to your `PATH` (there is an option for this in the python installer). * Go to **D:\\TBuild\\Libraries** and run + + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git cd depot_tools gclient config "https://chromium.googlesource.com/breakpad/breakpad.git" @@ -248,6 +254,8 @@ Breakpad is a set of client and server components which implement a crash-report * Download [Ninja binaries](https://github.com/ninja-build/ninja/releases/download/v1.7.1/ninja-win.zip) and unpack them to **D:\\TBuild\\Libraries\\ninja** to have **D:\\TBuild\\Libraries\\ninja\\ninja.exe** * Go to **D:\\TBuild\\Libraries** and run + + git clone https://chromium.googlesource.com/external/gyp SET PATH=%PATH%;D:\TBuild\Libraries\gyp;D:\TBuild\Libraries\ninja; cd ..\tdesktop\Telegram