summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-05-05Fix scons2ninja.py for WindowsTobias Markmann
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
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-05-04Ignore 3rdParty warnings on Linux platforms when using Clang or GCCTobias Markmann
Test-Information: Tested behavior on Elementary OS 0.2.1. Change-Id: Icc0611181fbf7dbe22d6c0c8cb18be9c1cdbc138
2015-04-30Disable potentially-evaluated-expression Clang warningTobias Markmann
Test-Information: Verified with Clang 3.7.0 on OS X. Change-Id: I345ef288163214288d41c3980c8e67529db0657d
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-04-28Add Qt flags detection using pkg-config on Linux platformsTobias Markmann
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
2015-04-09Disable documentation-unknown-command warnings in clangTobias Markmann
Test-Information: Tested on OS X 10.9.5 with Clang 3.7.0. Change-Id: Ic3a5ec77ca488c1688da35f75dd7424f8f59784b
2015-04-04Improve FixIncludes.py script to support in-place modificationTobias Markmann
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
2015-03-27Improve Windows MSI installer upgrade experienceTobias Markmann
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
2015-02-12Fix missing to return some dependencies in windeployqt-based ↵Tobias Markmann
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
2015-02-06Use windeployqt.exe if available and Win distribution documentation fixTobias Markmann
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
2014-12-15Update Copyright In BuildToolsKevin Smith
Change-Id: I353f4ee3c2df722c2af5c5cd51c4ac4e5d5c67dd
2014-12-10Use ar tool from the cross-compiling toolchain when building for Android.Tobias Markmann
Test-Information: Tested with nm tool from cross-compiling toolchain. Before it would report 'Malformed archive' for libSwiften.a. Now it correctly lists all symbols without reporting an error. Change-Id: I3901bb206487a05124986bbdc53f336aed932f5b
2014-12-10Add FixIncludes.py utility.Tobias Markmann
This tool reads in implementation or header files and groups and sorts include statements at the top according to our guidelines. It does not support files using #if statements in head of the file. Change-Id: I34b02546ecaf1653372f6edd319126b2ebb22ab5
2014-11-24Disable file-transfer support for iOS.Tobias Markmann
iOS SDK does not have net/route.h interface as part of its public API. File-transfer requires UPnP/NAT-PMP for a good user experience which in turn require detection of the default gateway/router. Disabiling file-transfer support for iOS until we know a valid way to detect the default gateway/router on iOS. Test-Information: Tested against iPhone/iPhoneSimulator8.1 SDKs. Change-Id: I1303f37c025e8c6309acefcd80b9b30a3ac18fbb
2014-11-24Use the correct compiler/linker on modern iOS SDKs.Tobias Markmann
Test-Information: Tested against iPhone/iPhoneSimulator8.1 SDKs. Change-Id: I8837f653799587edf43885c3632b1f647832f429
2014-11-13Fix build system documentation typo.Tobias Markmann
Test-Infromation: No testing required. Change-Id: I93dbd239f37d3982ddaf939cd903127349e404f3
2014-11-13Fix iOS build and add iOS build documentation.Tobias Markmann
Test-Information: Tested on OS X 10.9.5 with XCode 6.1. Change-Id: Ib223977192fce274e5585ef0768fd755b1fa734d
2014-10-13Regress Python requirement to 2.4 againKevin Smith
Test-information: Ran through the configuration step on a machine with only Python 2.4 Change-Id: I3d5ba54395ede875c7f21c2769151fe6d308e760
2014-10-06Allow scons to not require an IDN libraryKevin Smith
This will clearly break all the tests, Swift, Sluift etc., but is useful if someone wants to use Swiften and inject their own IDN provider. Test-information: Compiles with Isode's IDN provider Change-Id: Ia55991054f42f332bf34b653d7b55f64f654820e
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-06-07scons2ninja: Don't buffer SCons outputRemko Tronçon
Change-Id: I6a2c485a90a988e9560f4c4af0c5d118542cfa44
2014-06-01Fix .deb packagingKevin Smith
Contcatenating the .. onto the filename breaks os.path.dirname. Change-Id: Ib018276166c9554c9adf53342d9c8bc5f954d13d
2014-02-22Make git and wix wrappers in build system more convenient for use by other ↵Kevin Smith
projects Change-Id: I173f42bfe2dde7d18be3d54976649aa1bac13dbf
2014-02-16Don't try to install git hooks when Swift is used as a submodule.Kevin Smith
Change-Id: I7c83c416507635f5bba6411824bd1a540dffc910
2014-01-19Make SCons Qt4 tool work on all non-Windows/OS X platformsRemko Tronçon
Change-Id: Ib59fe1d9d71194f9b34b655ab817811d673c5187
2014-01-19Sluift: Add iTunes & PEP User Tune supportRemko Tronçon
Change-Id: I25b3840bb40ce38531922cc737bc82828e026d3f
2014-01-03Sluift: Custom console/interpreterRemko Tronçon
- Prints results of each command (if it can be interpreted as an expression) - Stores results of last command in _1, _2, ... - Supports tab completion - Compatible with Lua 5.2 Other changes: - Add support for specifying custom editline library - Don't load sluift into global namespace. Tab completion should be convenient enough. Change-Id: I2a26346469d67c281d09d47cacaa0b267f5ea9f9
2013-12-27Sluift: RefactoringRemko Tronçon
- Rename boot.lua to core.lua - Support Lua 5.2 - Support version prefixes for sluift module - Add Client:process_events Change-Id: I3fa6d06d1dbdf86f65b9f4203bd2ec5b5526b104
2013-11-07Get past the configure stage for iOS-based xcode targetsKevin Smith
Without telling the linker that it's for iOS, you get link errors during configure, like: ld: building for MacOSX, but linking against dylib built for iOS Simulator file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation' for architecture i386 Change-Id: I446bc99d5b8a2ba95a441e9ac0b82d6b64ff3d83
2013-11-03Split experimental File Transfer out from History and Whiteboarding.Kevin Smith
Effectively disables whiteboarding and history in default builds so we can avoid having to do a full cleanup of them for 3.0. File transfer remains enabled in default builds as we're intending getting that ready and shipping it. Change-Id: I8c1dcc989f238b58d6d7c426485e7cf582514d8f
2013-10-01Adding support for impromptu MUCs.Tobias Markmann
Change-Id: I363e9d740bbec311454827645f4ea6df8bb60bed License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-09-16Disable Boost Signals warningsRemko Tronçon
Change-Id: I6bb4c81b1f92a5b038ff034a4e03bab997fe8880
2013-09-15Install SluiftRemko Tronçon
Change-Id: Ia08269b51528b4458418939e5478cb320f4ba40d
2013-09-15Use system Lua if presentRemko Tronçon
Change-Id: I665a603b1afa1e24e1b73618e976113a87be2001
2013-09-08scons2ninja: Support quoted flags.Remko Tronçon
Change-Id: Iea4206b281400995734263fc39062196d2d0446f
2013-09-02scons2ninja: Added support for dist=1.Remko Tronçon
Change-Id: I2c07f916b4a4a14707a182c027d5eda3a736649b
2013-08-27PubSub implementation & Sluift refactoring.Remko Tronçon
Change-Id: I04ff7111b73565c00bff6db183451774a633344f
2013-08-22Ignore unknown pragmas.Remko Tronçon
Change-Id: I9a15163da44a964eaa5ce452cb23524ecf10a2c3
2013-08-16Make missing SConstruct dependencies non-fatal for Ninja build.Remko Tronçon
Change-Id: Id11311c9fca7b7baa3d02e3ebce62deadc5a7de5
2013-08-15Add "-Wno-missing-variable-declarations" (some CPPUnit annoyance) and ↵Tobias Markmann
"-Wno-direct-ivar-access" to our default clang flags. Change-Id: If6f544696128967e0785a5afc86bdd2ca9ea352a License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-08-14Adjust Android test deployment path.Tobias Markmann
Change-Id: I3791b31beb7a968901b33722a18771185e7aa61e License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
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
2013-08-09Include accessibility plugin in Windows packagesKevin Smith
Change-Id: I9bff93b9bd9d81cec4143d0ba35a1045077e1e82
2013-08-08Package necessary plugins for qt5 on WindowsKevin Smith
Change-Id: Icfcf31668a3bcba687885aab0e548a8b42c30773
2013-07-15Fixed Qt5 compilation on Windows.Remko Tronçon
Change-Id: I2d4de311e7d8c6909f6a35dbb650380e2b0b1da9
2013-07-15Ported scons2ninja to python.Remko Tronçon
Change-Id: I0cf2c0123686d6cad487e423072f4fc5b28ea1ce
2013-07-13Added scons2ninja script.Remko Tronçon
This script allows you to use ninja to drive your build, but using SCons in the back to generate the ninja files. Change-Id: I410d80d91f3c2ca6f369169d9b004b531625022f
2013-07-12Add temporary workaround for VS2012 support.Remko Tronçon
Change-Id: Iecd927ceb0c7146af3e7a2b99b6ff0d6cf3b619f
2013-07-09Add settings to make scons build faster.Remko Tronçon
Change-Id: Iaa86883f483f0d852fceeaf5b645395457547428