Age | Commit message (Collapse) | Author |
|
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
|
|
Test-Information:
Ran it on Slimber/Cocoa/CocoaMenulet.mm. It was sorted
correctly.
Change-Id: I197e84c9bfb5ec2619c43f98fcaa927f85425083
|
|
This commit changes our TLS backend configuration behavior.
It introduces the tls_backend Scons argument, which defaults
to the native backend, but can also explicitly set to
'openssl' to use a project external OpenSSL installation or
'openssl_bundled' to build and configure with the OpenSSL
source in the 3rdParty directory.
Test-Information:
Tested on OS X 10.11.3.
./scons ends up using Secure Transport.
./scons tls_backend=openssl \
openssl_include=/usr/local/opt/openssl/include \
openssl_libdir=/usr/local/opt/openssl/lib \
openssl=/usr/local/opt/openssl successfully builds with
openssl from Homebrew.
./scons tls_backend=openssl_bundled successfully builds with
OpenSSL in 3rdParty.
Change-Id: I4fb0ef9d197609afe793554f86e54fe67fc1cab5
|
|
scons2ninja was broken since our last update to SCons in
3rdParty. This commit fixes it.
This also includes a workaround to AppBundle.py working
around an SCons encoding bug.
Test-Information:
Successfully run ./BuildTools/scons2ninja.py followed by
ninja.
Change-Id: I2f9dbbb33dc559ca339bb26ba11b885b39135011
|
|
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
The file displayed Unspupported System when you ran ./BuildTools/InstallSwiftDependencies.sh on a system not included in the Unix Distribution. The typo was fixed, and it now shows Unsupported System.
Change-Id: I1a57f0d3e33d58b21b27e76bdd52c57f9831df50
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
This will print errors like missing Qt linguist tools.
Test-Information:
Tested on Fedora 22 and OS X 10.11.3.
Change-Id: I0817f368920b839805597d8eb2f3297b1fbd90e6
|
|
Test-Information:
Tested on clean Fedora 22 system and successfully built
Swift afterwards.
Change-Id: I7451d03e1d88907d8356e4b43b837d5514bf32a0
|
|
Swifttob used to be an initial approach of a XMPP bot using
Swiften. Today such a bot would probably use Sluift.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I976f26d906f3007b4395e90fdd966e2c00cb1c2c
|
|
It used to be a common way to use the QTDIR environment
variable to tell SCons the location of the Qt installation
on the system.
Swift however uses the 'qt' SCons config variable for the
location and the 'qt5' variable for the version of Qt to use.
On Unix/Linux systems with pkg-config, SCons will use it to
detect the Qt installation and its flags.
The QTDIR environment variable is rarely used and tested so
the warning about missing environment variable is removed.
Test-Information:
Tested on Debian 8.
Change-Id: I2cd793f12b8607743db2848765011cc719b106aa
|
|
Test-Information:
Tested on Debian 8 with system Boost packages.
Change-Id: Ice6a98dc8ba3f09502d79e704c3e1b744d829d5d
|
|
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
|
|
Updated documentation accordingly.
Test-Information:
Build and ran unit tests on OS X 10.11.2.
Change-Id: Iec4e82d3b63a6b0d24b854734879dd2fbfe17d79
|
|
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: I31a731d0fb5142f1ec23c5c2e9f0ca60f5f9a288
|
|
Test-Information:
Tested build works with upcoming fixes with VS 2015
Community.
Change-Id: Ia4f78cc9efdae56ef78a2b7ae09f11fa1bd8bc37
|
|
Thanks to https://github.com/damianb-03.
Test-Information:
Inspection
Change-Id: I68de7fe5c3206dd24dc6443e6bf54e881e9c5b6a
|
|
Added integration tests for certificate validation and
revocation behavior checking.
Test-Information:
Tested client login over TLS against Prosody and M-Link.
Verified client certificate authentication works against
M-Link.
Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
|
|
Test-Information:
Tested script on Ubuntu 15.04.
Change-Id: I7fdf700a3cc943c1cb517b6d33a91548c682cb0d
|
|
Previously, if a base installation of Qt was available but not
all Qt modules required by Swift are available Scons would fail
configuration. If a basic Qt installation is available SCons will
try to configure Swift even if you only want to build Swiften.
This commit changes the hard failure in Swift configuration to a
warning. This allows only Swiften to be build.
In addition, the warning now lists the Qt packages required by
Swift.
Test-Information:
Tested on Arch Linux.
Change-Id: I220ea61a7e4af849912e1fb1ae66cbecf5136d29
|
|
At some point during the Qt5 timeline they moved platform
dependent audio playback code into a plugin. This fix will
ensure that audio plugins are always shipped with out packages.
Test-Information:
Tested playing sound works on Windows 7 and Windows 8.
Change-Id: I8976f1c1fb85d5efaadec5db26adec907a0a9f7b
|
|
Test-Information:
Tested on an updated Arch Linux.
Change-Id: I12bc9ebea6363a48025b5ab856b62e6bd2232a59
|
|
This script detects the system type and distribution and installs
dependencies to build Swift with Qt5.
Currently, it only supports Debian, but will be extended to more
systems in future.
Test-Information:
Tested on Debian 8.
Change-Id: I56f8fe5738f057cff519755fe2f823eac721d318
|
|
Previously the pre-commit would require a correct copyright
header on all files, including modified files that only have a
couple lines changed.
Now, a correct copyright file header is only required on new files
added to the repository.
Test-Information:
Changed git author information to a new user and tried committing
a changed file, and afterwards a new file. Only the commit of a
new file failed due to missing copyright header. It was accepted
after setting BSD header.
Change-Id: I8e1324846fd904a72728e7c01da4c98f49a77282
|
|
Running './scons check_headers=1 will compile each header file
as an object file.
Test-Information:
Tested on OS X 10.9.5 and Elementary OS 0.2.
Change-Id: Ia429ccc6dc0a5bd76c08a2c2e91bf192c6ad2901
|
|
Added Swiften/Base/Concat.h to the exception list for <algorithm>
include, as Concat.h uses std::copy, defined in <algorithm>.
Added Swiften/FileTransfer/S5BTransportSession.h to the exception
list for <boost/bind.hpp> include, as S5BTransportSession.h
declares a template class using boost::bind.
Test-Information:
Tested that each of Swiften's public header files compiles on its
own.
Change-Id: Iac794b6e0f5959cd8261888a67761813b710fe85
|
|
Introducing SWIFT_NETWORK_TEST_IPV4 and SWIFT_NETWORK_TEST_IPV6 for
the host addresses used in BoostConnectionTest.cpp.
Passing these variables and ASAN/LSAN_OPTIONS for memory leak
detection when calling the test from SCons.
Test-Information:
Tested on Elementary OS with correct available hosts and unavailable
hosts. In both cases the behavior is the same as before.
Change-Id: I24128c766642c5a2ee273f7c11624525ae33e270
|
|
Test-Information:
Tested on Elementary OS 0.2.
Change-Id: Ieae4fc2a2c6fdfaaac9895153b09c9504ef71495
|
|
Test-information:
Tested on Windows using WIP GSSAPI code.
Unit tests pass.
Change-Id: If872863d6a8b5a164f8ebec4f88e9939b4e73c62
|
|
The tool had syntax errors (missing subprocess. in front of PIPE) and
SCons errors (missing conf.Finish() calls).
Test-Information:
Tested on Arch Linux 1.4.
Change-Id: Ibab23e1dc776ee9fe96de45221c4fb9659f4a185
|
|
Some platforms, e.g. KUbuntu, provide a wrapper around Qt's commands
that allow easy switching between different Qt versions. With this
change SCons will execute the found moc tool and check whether it works
or not.
Test-Information:
Tested with correctly installed Qt and uninstalled Qt on KUbuntu 14.04.
Change-Id: I88f0a36af462e909829c30115aa5481abdcd3ac6
|
|
Refactored the code to handle the following cases nicely:
- no copyright for current user present yet
- outdated copyright for current user present (with and without range)
- copyright present and up to date
Test-Information:
Tested with SWIFT_LICENSE_CONFIG set to "Isode Limited|default".
Change-Id: I4df475f7ecd55aebe892411b2323da50fcbca525
|
|
Correctly use pkg-config to test for Qt, if no qt path is specified
in config.py. 'Import(…)' at the top caused an error which was hidden
by try/catch at upper layer.
Test-Information:
Tested on Kubuntu 14.04, with and w/o qt path set and verified that
no exception is thrown if Qt is registered at pkg-config.
Change-Id: I82800c23e9f75bd5f6b136fe384a70165a92bb45
|
|
Test-Information:
Tested on Elementary OS 0.2.1 with all Qt components uninstalled.
Previously it would abort configuration and build. Now it simply builds
without Swift and other parts depending on Qt.
Change-Id: I84c91985a0ba1fdab98e97f80621cd41e0a7507b
|
|
By default cl.exe writes debug info to a static file name resulting
in all cl.exe trying to write to the same file when using parallel
builds.
This leads to race conditions and can have parallel builds fail.
This only takes effect if parallel builds are made by scons.
Test-Information:
Tested with VS 2013.
Change-Id: I8ea7e9370f5b149ded608e4c6f5e66a3fc6301c4
|
|
Test-Information:
Tested on FreeBSD 10.0.
Change-Id: Ic1c8a1637f0fbc9128973b41d6988a8afd61e387
|
|
Test-Information:
Verified that SCons still runs on OS X.
Change-Id: I7e9b97f90ee5581a691a959b6f2c999d93e0be53
|
|
This also converts CheckTabs.py script to tab indentation.
Test-Information:
Ran the script over all files in our repo and it detected space and
mixed indented Python files.
Change-Id: Ifed86d64c8e87ed55e85ef4d35157e312b937291
|
|
Test-Information:
Tested on Elementary OS 0.2.0. Without this patch scons crashed if not
all required Qt libs are installed. Now it marks Qt as unavailable and
will configure a build without Swift.
Change-Id: I5aa28ab8438e4c326d16413deb3a3fa739c94480
|
|
Test-Information:
Tested with Qt 5.3.2 and Qt 5.4.1 from qt.io website.
Change-Id: Iada3e64e530d8a5b53b8b5c8943bcafbd9bd6c64
|
|
shlex.split has a 3rd parameter specifying whether or not to run in
POSIX mode, which defaults to True. This breaks splitting of Windows
paths so it is set to False on Windows.
Test-Information:
Tested on OS X 10.9.5 and Windows 8.
Change-Id: Icdc9fc07e89a80249526daa8f13dba081f957670
|
|
Test-Information:
Tested behavior on Elementary OS 0.2.1.
Change-Id: I887b85b78bfe5210844e0ea31f496fdbc8c21fa0
|
|
Test-Information:
Tested behavior on Elementary OS 0.2.1.
Change-Id: Icc0611181fbf7dbe22d6c0c8cb18be9c1cdbc138
|
|
Test-Information:
Verified with Clang 3.7.0 on OS X.
Change-Id: I345ef288163214288d41c3980c8e67529db0657d
|
|
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
|
|
Fix qt4.py SCons module to use the specific tools of the correct Qt
verison.
On non-Windows and non-Darwin platforms SCons will try to detect the
correct Qt compiler and linker flags from pkg-config.
Added the ability to build Slimber with Qt5.
Fixed Qt5 support on Linux when using prebuilt Qt distribution from Qt.
This patch adds support for building Swift on Arch Linux, with Qt4 and
Qt5.
Test-Information:
Tested under Mac OS X 10.9.5 and Manjaor Linux (Arch Linux) in Qt4
and Qt5 configuration, and tested Qt5 Linux binary from their website
on Arch Linux with the qt variable set in config.py.
Change-Id: I2e19ab4aa7a26fdd989e2a12faa51a0f3f89c3ce
|
|
Test-Information:
Tested on OS X 10.9.5 with Clang 3.7.0.
Change-Id: Ic3a5ec77ca488c1688da35f75dd7424f8f59784b
|
|
In-place modification can be enabled by passing -i as second parameter.
Added detection of other preprocessor directives not supported by this
tool. It will report a warning in this case.
Test-Information:
Ran the tool over all .h/.cpp files in Swiften. Still build on OS X with
clang.
Change-Id: Ic6e15142379ab9fc8a2bc5a6f9c1c2a906dec692
|
|
Previously every time WiX heat.exe ran it generated new GUIDs for all
the file components that MSI was going to install. Windows installer
deletes components if there is no software/component left that is
referencing it.
This patch uses the -ag flag instead of the -gg flag for heat.exe so
it will generate deterministic GUIDs based on the filename and other
things instead of completely random new one on each run.
In addition we schedule the upgrade to run after the new version has
been installed. This way old files are first replaced with the new
ones, shortcuts remain and are not deleted, pinned shortcuts remain
usable. Afterwards MSI uninstalls the old version, specifically the
components that are not reference anymore.
Test-Information:
Tested (a) two version upgrade with this patch and (b) an upgrade from
a version without this patch to a version with this patch.
a) The upgrade works as expected. MSI installs the new version and then
uninstalls the old version. The pinned shortcut stays alive and works.
b) In this case during the deinstallation files of the new installation
are deleted, since there are two components with different GUIDs which
however use the same filenames.
Running a repair on this installation, or first deinstalling the old
version and then the new one manually fixes this.
Change-Id: I842a288d837962e77efaa15b17d3877e923c7e49
|
|
createWindowsBundle implementation
Test-Information:
Did a clear rebuild with dist=1 and confirmed that it now starts the
WiX process after all dependencies are copied over.
Change-Id: Icbb9ec127b0d56e10f2620790f0fc6b6a29d5aa5
|
|
If windeployqt.exe is available for Qt5, it will be used to detect
which Qt DLLs to put in the Windows distribution and its dependencies
correctly.
Added a note to our Windows building documentation about the VS
redistributable.
Test-Information:
Tested building a MSI package on Windows 8.1 Pro with Qt 5.3.2 32-bit
msvc2013_opengl which successfully installs and runs.
Change-Id: I786da40d6467f1de8e64bfae275f8363ac1d5ba8
|