summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-12Fix Python 3 compatibility of our SCons and tooling Python codeTobias Markmann
For the upcoming update to Scons 3, which works with Python 2 and Python 3, this change makes our code compatible with Python 3 so that it still works with Python 2. Test-Information: Tested these changes with SCons 3.0.1 on macOS 10.13.6 with Python 2.7.15 and Python 3.7.0. Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
2018-03-20Merge branch 'swift-4.x'swift-5.0alpha2Tobias Markmann
* swift-4.x: (44 commits) Test-Information: Builds on macOS 10.13.3 with clang trunk. Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
2018-01-29Mark OpenSSL headers as system includesTobias Markmann
This avoids warnings in code out of our control. Test-Information: Less warnings are emitted on macOS 10.13.2 with clang trunk. Change-Id: Ie5f28743000e5a7865fea9677e4429ab0543e378
2017-10-19Upgrade Breakpad to latestThanos Doukoudakis
This commit will upgrade breakpad to version 1.0.86 (I9957f27cd134f862b9831e4b1d90f8a014eb37b6) from https://chromium.googlesource.com/breakpad/breakpad Added a script(BreakpadSwiftCleanup.sh) that remove files from Breakpad's repository that are not used by Swift. This commit also re-applies the changes that were introduced in commit 7f0fe603be200c09c74cf9cc295a972f3c3dbdfd, that change the minidump filename format to include version and date Test-Information: https://travis-ci.org/google/breakpad/builds/283789304 https://ci.appveyor.com/project/vapier/breakpad/build/job/1bu73ysmcfpwg9e4 Tested by adding some code that forces a crash to the client on Windows 10 with VS2015. Verified the name and contents of the generated crash dump. Change-Id: Ied9e74088e43137845edc09d070c2c27494aeade
2017-06-20Update 3rdParty/Expat to version 2.2.1Tobias Markmann
Test-Information: Build successfully on macOS 10.12.5 with clang trunk and ./scons test=all try_libxml=no try_expat=no . Change-Id: I0cc0680086ea40f92bbfa7296d10beb08cc657e3
2017-05-17Update 3rdParty/LibNATPMP to libnatpmp-20150609Tobias Markmann
Furthermore applied current patches. Test-Information: Builds on macOS 10.12.5 with Qt 5.4.2 and all unit and integration tests pass. Change-Id: I7a8a3b7e8b37b20532e3ed5fe32f1cef5b09b1f6
2017-05-17Update 3rdParty/LibMiniUPnPc to miniupnpc-2.0.20170509Tobias Markmann
Test-Information: Builds on macOS 10.12.5 with Qt 5.4.2 and all unit and integration tests pass. Change-Id: I491c0f78bf8773056feb3825d21989d6c7a2aeab
2017-02-22Add LRUCache utility class to SwiftenTobias Markmann
This implements a simple lookup cache with least recently used replacement strategy. This also adds Boost.MultiIndex from version 1.56 to 3rdParty. Test-Information: Added some unit tests for LRUCache, which pass on macOS 10.12.3 with clang-5.0 Change-Id: I0567945b1197d3fe786bf9d82fdb5e755743b975
2017-01-11Integrate googletest and googlemock libraries to 3rdPartyTobias Markmann
googletest and googlemock from release 1.8.0 have been copied to the 3rdParty folder. With this commit tests for Swift project can also written using googletest and googlemock APIs. The test runners will execute test suites written to either test library. Passing —-xml to a test runner will now create two test report XML files, namely $programName-report.cppunit.xml and $programName-report.gtest.xml. The ByteArrayTest has been converted to use googletest instead of googlemock to serve as an example and test the integration. Test-Information: Build all tests via ‘./scons test=all’ and verified all tests are run. Build all tests via ‘./scons test=all checker_report=1’ and verified that two report XML files are generated per test runner executed. Change-Id: I81a9fb2c7ea5612fc1b34eef70ed7e711bfeea81
2016-11-23Migrate remaining Swiften/Base/foreach.h use to range-based for loopTobias Markmann
Test-Information: Build on macOS 10.12.1 and all tests pass. Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
2016-07-12Remove Snarl notification supportTobias Markmann
This removes Snarl from 3rdParty, our adapter to it in SwifTools and the integration in Swift UI. Test-Information: Builds and installer still work on Windows 8. Standard system tray balloon notifications still work. Change-Id: Id580642932eac260c79eaf2343a94ec9d5606f11
2016-06-23Change minidump filename format to include version and dateTobias Markmann
The new format is VERSION_DATE_UUID.dmp. Included the diff for the Breakpad modification. Test-Information: Tested by adding crashing code and verified the filename of the created minidump file on Windows 8 with VS 2013. Change-Id: I963e7913fadf4787742439da590e12e121ef3435
2016-04-25Convert hard tabs to four spaces in all our SConscript/*.py filesTobias Markmann
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
2016-04-25Update 3rdParty lcov to version 1.12Tobias Markmann
The old version caused errors when running BuildTools/Coverage/GenerateCoverageResults.sh. Test-Information: Successfully ran BuildTools/Coverage/GenerateCoverageResults.sh on OS X 10.11.4. Change-Id: If6f53a85e8051388c6d5b17d980f0c3fa8e65b6e
2016-04-12Use C++11 threading library instead of Boost.ThreadTobias Markmann
This cuts down our dependency on Boost further. Another benefit is that mutex classes of C++11 standard library are recognized by TSAN. Test-Information: Unit and integration tests pass on OS X 10.11.4. Change-Id: Id4dcdb42e3d5155e107ce1d7618acbf26f913b6f
2016-04-05Migrate to Boost.Signals2 from Boost.SignalsTobias Markmann
Boost.Signals was deprecated and is not improved further. This patch removes Boost.Signals from 3rdParty and adds Boost.Signals2 and its dependencies. Also removed the Qt signals compatibility file Swiften/Base/boost_bsignals.h. Test-Information: Build and ran unit tests on OS X 10.11.4. Confirmed successful login using Swift client. Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
2016-03-14Build all Swift projects as C++11Tobias Markmann
Added a SCons compiler test so that the build process fails early if C++11 is not supported. Remove C++11 checks as we now default to C++11 and they are not needed anymore. Ignore a Clang warning if building 3rdParty Boost. Test-Information: Tested build and unit tests on OS X 10.11.3. Change-Id: Icbecbd1e25e8d8bbe5f402f75355373a86b5f8a1
2016-01-15Always link secur32.lib to Swiften on WindowsTobias Markmann
Even when using the OpenSSL TLS backend for Swiften secur32.lib is required by Swiften/SASL/WindowsAuthentication. This also adds additional flags needed to build a bundled OpenSSL on Windows. Test-Information: Tested on Windows 8 with VS 2013. Change-Id: I51da79cfa7931c07c8da3f0c5d941a637ac26d0c
2016-01-11Fix IPv6 DNS resolution issues on WindowsTobias Markmann
Use values instead of define names for _WIN32_WINNT and NTDDI_VERSION defined needed for Windows.h configuration. Using the names boost fails to correctly detect getaddrinfo() support on Windows. Only run IPv6 related test cases in DomainNameResolverTest on Windows, if test_ipv6=1 is passed to the scons arguments. This is because on Windows getaddrinfo() will not return IPv6 related results when called with the AF_UNSPEC hint, unless the Windows host has global IPv6 connectivity. Changed the BoostConnectionTest to time out and not endlessly wait on a response from the remote host. Test-Information: Ran the following test configurations: * (SUCCESS) On Windows 8 with HE.net IPv6 tunnel to provide full IPv6 connectiviy: scons.bat test=system test_ipv6=1 Swiften/QA/NetworkTest * (SUCCESS) On Windows 8 with HE.net IPv6 tunnel to provide full IPv6 connectiviy: scons.bat test=system Swiften/QA/NetworkTest * (EXPECTED FAIL) On Windows 8 with no IPv6 connectiviy: scons.bat test=system test_ipv6=1 Swiften/QA/NetworkTest * (SUCCESS) On Windows 8 with no IPv6 connectiviy: scons.bat test=system Swiften/QA/NetworkTest Change-Id: I5adcd28e09e22acf61f7cca40b614e71df75dd70
2015-12-173rdParty fixes to enable compatibility with VS 2015Tobias Markmann
Included patches for future reference. Test-Information: Tested patches with VS 2015 Community and unit tests for 32 bit and 64 bit builds. Change-Id: Ifa8d0ca3bf33010af8d8094c6df45f2a5702976c
2015-12-17Update SCons to version 2.4.0Tobias Markmann
Test-Information: Tested build works with upcoming fixes with VS 2015 Community. Change-Id: Ia4f78cc9efdae56ef78a2b7ae09f11fa1bd8bc37
2015-10-30Update libIDN in 3rdParty to version 1.32Tobias Markmann
Updated existing libIDN files in 3rdParty folder to latest 1.32 version and added remaining dependencies for compilation. Updated SConscript file accordingly. Test-Information: Build and ran test=unit on OS X 10.10. Change-Id: Iec6506e1cc88fe2983b2019aca95a42580d1c80e
2015-05-26Fix compilation on FreeBSD 10Tobias Markmann
Configuration for LibMiniUPNPc did not detect size of ip_mreqn correctly. Test-Information: Tested on FreeBSD 10. Change-Id: I5d91695b6ec2f1ad91e4fe6bf0e73876fef4fa8b
2015-05-04Hide 3rdParty warnings for LibIDN and LibMiniUPnPc with Clang/GCCTobias Markmann
Test-Information: Tested behavior on Elementary OS 0.2.1. Change-Id: I5f4c77202e000f691682caf06df7c1f7976299c4
2015-05-04Correctly handle full paths when detecting Clang/GCC compilersTobias Markmann
Test-Information: Tested behavior on Elementary OS 0.2.1. Change-Id: I887b85b78bfe5210844e0ea31f496fdbc8c21fa0
2015-04-29Ignore compiler warnings from 3rdParty librariesTobias Markmann
When compiling with Clang or GCC, include 3rdParty libraries as system headers and frameworks (-isystem and -f). Test-Information: Tested with Clang on OS X. Change-Id: I184221ddc4b34d30ee6ba66e202953619b5afd56
2015-02-19Fix missing 'conf.Finish()' in libMiniUPnPc's SConscriptTobias Markmann
Reported by Scrool. Test-Information: Scons would fail during configuration with 'File "/home/pbabinca/ workspace/swift/3rdParty/LibIDN/SConscript", line 30, in <module>' without this patch. Change-Id: I785d0535d1a20b8ff22eb78c1ea2b65eb80ac0db
2015-02-09Update libnatpmp to version of release 20140401Tobias Markmann
Additional fixes: - applied our Android patch, as it has been applied before - added and applied a new patch that disables getdefaultgateway() dummy on the Windows platform Test-Information: Verified that it builds. Change-Id: Id5ebbada26fadbaf3aff1135aa997c49d88c9d84
2015-02-09Update libminiupnpc to version 1.9Tobias Markmann
Fixes to our build of libminiupnpc: * do not build minissdpc.c on windows * if size of ip_mreqn is not defined, add -DNEED_STRUCT_IP_MREQN to the CFLAGS Test-Information: Verified it still builds. Change-Id: Idd3e19d6302cccc95fff0a01540b9abc1bc91e9e
2014-12-10Updating build script for 3rdParty OpenSSL for latest release (openssl-1.0.1j).Tobias Markmann
Test-Information: Tested building with latest OpenSSL release for Android. Change-Id: I1cae5ea0ca5800fa719e59753bffafee043ac54b
2014-11-17Pass Boost include/linker flags along when building bundled Expat.Tobias Markmann
Test-Information: Tested under OS X with external boost and forced bundled Expat. Change-Id: I846b52e6c40e35523553a404af991aee6ef6e9cc
2014-11-12Link to rt-library when linking against bundled Boost.Tobias Markmann
Test-Information: Tested on CentOS 6.6 and FreeBSD 10. Did not build before on CentOS. Change-Id: I4ab4e283a0d951a9776ba89ab921d8c31e9c9ec4
2014-11-11Disable Boost signals deprecation warning.Tobias Markmann
Test-Information: Tested on Mac OS X. Change-Id: Ieba9521cd8131a08ddde000c194903f52c060a73
2014-10-21Fix crash when Swiften isn't loaded dynamically via JNI.Tobias Markmann
Test-Information: This change re-enables pushing our integration tests to an android device or vm and running them successfully. These executables are statically build and linked against Swiften, so no Java environment will be available at runtime. Change-Id: I3a156cc38c062a47084c73d05a0b1383c963ec2a
2014-10-20Update Boost in 3rdParty to version 1.56.0.Tobias Markmann
This updates Boost in our 3rdParty directory to version 1.56.0. Updated our update.sh script to stop on error. Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to missing include of <iostream> with newer Boost. Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
2014-10-16Specify minimal Windows API version for Windows builds.Tobias Markmann
This sets _WIN32_WINNT and NTDDI_VERSION defines. The minimal version required is Windows Vista since smart card support requires this version. Test-Information: With these defines Swift/-en builds successfully on Windows 8.1 with VisualStudio Express 2013 for Desktop. Change-Id: I8745f201559cd9c401caef7661f09939dffae38f
2014-10-16Add missing shebang to Boost update script.Tobias Markmann
Test-Information: Without it would lead to executing failures for users of non-bash shells. Now it works nicely for these users. Change-Id: I63ef0c91d88800b382714692c0a37f6dcb14c283
2014-10-01Port many of Isode's local fixes upstreamKevin Smith
Includes fixes to: Build with new Visual Studio and Boost Avoid error caused when Avahi is present but Qt is not Make declaration of XMPPRosterImpl::addContact consistent with implementation Includes enhancements to: Allow user-configurable mt.exe Allow splitting openssl paths Allow disabling gconf lookup Make idn support optional Allow disabling various library detections Remove use of non-Python2.4 features in sconscripts Test-Information: Builds Change-Id: Iee91ee80291a8bdf87cc169c915e4dad1cc1055b
2014-07-29Fix DNS resolution on Android.Richard Maudsley
Test-Information: Try accessing local hosts on a local network and make sure that the local DNS server is queried. Change-Id: Ie594b3eed5772c58d46ec1a4435b2df24d6d8212
2014-05-29Add boost::optional serializationKevin Smith
Needed by one of Richard's pending patches Change-Id: I64f6ab56065a51019a2d0c826e1bde6856970994
2013-10-13Apply MiniUPNP and NatPMP Android patchesRemko Tronçon
Change-Id: Iaa8c564f21d1f7354f597ceca478e52fae6c774e
2013-09-30Provide map serialization.Kevin Smith
Needed for Tobias's upcoming patch Change-Id: Ie3a86f17338c053c80f7d02e696b9fe92741beba
2013-09-16Disable dynamic loading in bundled LuaRemko Tronçon
Change-Id: Ic1c4b9020db28c8646139ee75bf65fb8ac2886e3
2013-09-07Add boost serialization for std::setKevin Smith
Change-Id: Ide4798f72e9250e710e5e295f8d4c513272f65d2
2013-09-07Add boost::serialization for posix_time.Kevin Smith
Change-Id: Ie6acca254457933d891654cd0d29459e4c733270
2013-08-27PubSub implementation & Sluift refactoring.Remko Tronçon
Change-Id: I04ff7111b73565c00bff6db183451774a633344f
2013-08-22Add boost/scope_exit.Remko Tronçon
Change-Id: I6a38e842252aa24f456465d181ccf0aae763abb5
2013-08-17Fix building sluift as .dll on Mac OS X.Remko Tronçon
Change-Id: Ia8043d66ef676048e7fe1d0347b65e8d64aa3bd5
2013-08-13Adding auto-generated Ldns/Unbound files for Android.Remko Tronçon
Change-Id: I13dd702273dce5560ebaeb3fa4cf0ea3be37afbc
2013-08-13Adding basic support for Android and Unbound (No IPv6 yet).Tobias Markmann
Change-Id: I1d74324515b20e0dc3d0ef4aa2f556fea7b4bee3 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.s