To be able to run on the same distributions as before we need to have
the same GLIBC version dependency as in Ubuntu 12.04, which is 2.15.
For that we need to remove all usages of GLIBC features from 2.16 and above.
Currently there are three methods used, so they're wrapped in a separate
static library, linux_glibc_wraps.
It is a separate library because it must be compiled without '-flto' flag,
otherwise the inline __asm__ is not working and we get unresolved symbols.
Starting with Ubuntu 17.10 the interface will be provided by an
extension (shipped by default):
https://github.com/ubuntu/gnome-shell-extension-appindicator
Legacy tray icons have been completely removed in GNOME 3.26. By
checking the interface, this will allow users of other distributions
with GNOME to also use Telegram's indicator with the extension.
Signed-off-by: Jan Niklas Hasse <jhasse@bixense.com> (github: jhasse)
Use a python script to generate the list of sources to build.
Now we don't include moc_*.cpp files in build by default, instead
we list only non-empty ones.
If you change a header so that the corresponding moc_*.cpp changes
its emptyness you may need to gyp/refresh to apply this change.
This should speed up the build significantly on GCC.
This will allow us to use C++14 library on all platforms.
Patches for macold versions got bigger and are now different for
crashpad and mini_chromium, so they were moved to a separate folder.
MetaLang, codegen_style and codegen_numbers utilities are now
built by GYP targets, rules added for codegen_style and actions
added for codegen_numbers and MetaLang.
WinXP supported without Windows 7.1A SDK, but with explicitly
setting MinimumRequiredVersion=5.01. It works (and that is strange).
If you attempt to use MSBuild instead of Ninja you should add
the latest Windows SDK include paths to include_dirs, because v140_xp
toolset implies the Windows 7.1A SDK (and is ignored by Ninja).
It already builds in Debug, using rules for Qt MOC and RCC.
Need to start use rules for styles/langs/numbers, test on WinXP.
Need to support Release and Deploy configurations.