path: root/infrastructure
Commit message (Collapse)AuthorAge
* Add support for OpenSSL 1.1 and replace deprecated function callsChris Wilson2018-01-01
| | | | | | | | | | | | | | | | | | | | | | | See for details. Thanks to Chris West @FauxFaux for the initial patch! Use OpenSSL 1.1.0g for Windows superbuild. Fix Windows build by removing calls to obsolete do_ms.bat <>. Workaround for incorrect library suffixes searched by FindOpenSSL <>. Link OpenSSL statically and fix missing dependency on crypt32.lib. (cherry picked from commit edd3687f067c68b131822e0064cdeff5bf7a3835) (cherry picked from commit b003e009d1fccadf55a0f59a01c66f7b80f9b3e5) (cherry picked from commit cc6e20466b857f7e20d816a2c20cb36f112398ab) (cherry picked from commit 303c6405e3bc1e673dbc691792e0633742c01f4e) (cherry picked from commit 4e24006f75142a254f1a7db76cf9da1e752d9283) (cherry picked from commit 448ac48a89538f67f508f8d21931c5e6e90472c0) (cherry picked from commit 00b3bb0697219ef8c742698dd43d53b538e362b1)
* Fix quoting of CXXFLAGS and LDFLAGS in MakefilesChris Wilson2018-01-01
| | | | | | | | | Previously, it was impossible to include an @ sign in these flags (for example, to link to support --with-ssl-headers=/usr/local/opt/openssl@1.1/include/) because it was interpreted as a list variable name by Perl. Now the variables are evaluated single-quoted before being substituted into the Makefile output. (cherry picked from commit 2e9c90d3f32c69cc89d01fb64ced9fca80aae985)
* Detect which debugger to use in t-gdb scripts: lldb or gdbChris Wilson2018-01-01
| | | | | | | | | | | Should make debugging on Mac and BSD less painful. Make t-gdb fail with an error when no debugger was detected. (cherry picked from commit da98a8183737fb1fcb658cebd9612791a4750c4c) (cherry picked from commit ea6bc722131222d1fad08521e61f552f16941b01) (cherry picked from commit 38ba7510f2cad9accf445d5633c64e98a637a139) (cherry picked from commit 02bfd7e5bdd2abc185b12f37e1f536269db6817a)
* Remove BoxBackup install step from Windows unibuildChris Wilson2018-01-01
| | | | | | | | We don't need to install anything in C:\Program Files\BoxBackup, and often don't have permission to do that anyway. (cherry picked from commit 2d31a3178ba5a39af594c1a0188748f5c8045b18) (cherry picked from commit dab8ccc4b0b9eef06c9e063fc510f9952a0757f7)
* Speed up superbuild rebuild by not extracting Boost againChris Wilson2018-01-01
| | | | (cherry picked from commit 8976906a563ab04eb3d1310c59d4c13cdc3b525e)
* Install Box Backup in a temporary directory in Windows unibuildsChris Wilson2017-09-18
| | | | | Otherwise the unibuild fails at the end for non-administrator users when it tries to write to C:\Program Files\BoxBackup.
* Reduce AppVeyor build verbosity by passing extra args to sub-CMakeChris Wilson2017-09-16
| | | | (cherry picked from commit 4876a5573a8bcd3312e9804c27fe9f30f3369747)
* Build Win32/64 binary packages automaticallyChris Wilson2017-09-16
| | | | | | | | | | | Every AppVeyor build on the specified branches that passes will be packaged into a ZIP file and installer using CPack and uploaded to GitHub Releases. Generate version number entirely in AppVeyor config, and build it into the binary, and use it in the names of the created binary packages, and compile it into the binaries. (cherry picked from commit c5d8173bf03ab9fa93d3b3ffd871b378b0819567)
* Fix intercept of SYS_open on platforms that only have SYS_openat (e.g. arm64)Chris Wilson2017-06-22
* Use AX_CHECK_COMPILE_FLAG, add more checksChris Wilson2017-06-22
| | | | Disable pointless deprecation warnings for std::auto_ptr.
* Fix build on SmartOS by switching back to GNU MakeChris Wilson2017-06-18
| | | | | | | I have no idea where I got the idea that there was a "bmake" command on SmartOS that is BSD make, or why that would be better than gmake (GNU make). I can't find any reference to the existence of such a thing. So I've just switched back to using gmake unconditionally.
* Install executables in test tree after building, not during "make install"Chris Wilson2017-06-18
| | | | | | | Build buildenv-testmain-template.cpp in-place, instead of copying, modifying and compiling it. Increase timeouts for some tests that sometimes run out of time on AppVeyor.
* Add Boost to Travis build environment, and OSX buildsChris Wilson2017-06-18
* Update versions of dependencies for Windows unibuild, add BoostChris Wilson2017-06-18
| | | | | | | | * Add a variable in appveyor.yml for the CMake out-of-source build tree. * Update the directory name in commands in appveyor.yml to match new CMake unibuild tree structure. * Increase build verbosity slightly. * Disable GUI crash dialogs that cause test hangs. * Disable the AppVeyor cache that we don't use.
* Normalize all the line endingsChris Wilson2017-05-15
* Fix installation of scripts into parcel directory.Chris Wilson2016-11-03
| | | | Thanks to Billy for reporting the issue on the mailing list.
* Fix line endings of .vcxproj.user files to CRLF always.Chris Wilson2016-09-29
* Detect whether -Werror=return-type is supported by compiler.Chris Wilson2016-09-20
| | | | Fixes compilation on CentOS 5.
* Reduce test timeout for testbackupstorefix.Chris Wilson2016-09-19
| | | | | The longer timeout should not be necessary as it runs in 35 seconds on my VM.
* Remove old hard-coded MSVC and MinGW configs.Chris Wilson2016-09-10
| | | | Should be replaced by CMake now.
* Set test timeouts for CMake tests.Chris Wilson2016-09-10
| | | | | | Should avoid infinite test hangs, especially on Appveyor, where a bad compile (mixed runtimes) or an abort can popup an error message at runtime which hangs the test forever.
* Optimisation: for CMake builds, replace generated files only if changed.Chris Wilson2016-09-10
| | | | | Speeds up local development by avoiding unnecessary rebuilds when files have not changed.
* Replace most of Appveyor Windows build script with a CMakefile.Chris Wilson2016-09-09
| | | | | Should make it easier for Windows developers to get started by automating almost everything.
* Add clean and realclean targets to each module's mini Makefile.Chris Wilson2016-09-09
| | | | Remove unnecessary extra printing while configuring modules.
* Fix Unix compilation using CMake.Chris Wilson2016-09-09
| | | | | | | | | | Add platform detection that's compatible with the old buildsystem and its m4 autoconfigury. Make Travis build and test using CMake as a separate target. Remove unused function BoxGetTemporaryDirectoryName() to fixes compile using CMake on Unix.
* Break dependency on Cygwin commands in Windows tests.Chris Wilson2016-09-03
| | | | | | Define WIN32 properly when building with CMake, and in this case, use native commands such as attrib.exe instead of Cygwin chmod, so that users don't have to install Cygwin or msys-git.
* Update platform feature detection to work with CMake.Chris Wilson2016-09-03
| | | | | | | Rewrite some macros in forms that can be parsed by our parser written in CMake language (fake m4 with regexps). Fix incorrect conditional includes and incorrect #if/#ifdef assumptions.
* Skip building the parts of QDBM that we don't need with CMake.Chris Wilson2016-08-28
| | | | | Avoids spurious compiler warnings about redefinitions of symbols in files that we don't need to link with anyway.
* Use builtin TO_NATIVE_PATH in CMake instead of rolling our own.Chris Wilson2016-08-28
* Use ccache if available in CMake builds.Chris Wilson2016-08-28
* Update test runner to support CMake better.Chris Wilson2016-08-28
| | | | | | | | | | | Add support for: * Out-of-tree builds (by passing executable name from CMake to * AppVeyor test status * Cross-platform cmake (using cmake -E instead of platform-specific commands) Get CMake to install binaries needed by tests, in correct locations, with correct names.
* Fix case of filenames of "text" files used to generate protocols and docs.Chris Wilson2016-08-28
* Add MSVC user settings files to version control.Chris Wilson2016-08-28
* Standardise dependent library location for CMake.Chris Wilson2016-08-28
| | | | Add a CMake module to find readline libraries for us.
* Merge and, write monolithic Makefiles.Chris Wilson2016-08-28
| | | | | | | | | | | | | | | | | | | | | | This is necessary to fix compilation on machines with large numbers of cores (e.g. Travis build workers) because the build system automatically attempts maximum parallelism, and the old one is broken and tries to build multiple libraries simultaneously. The new buildsystem almost entirely avoids recursive Make: only trivial Makefiles in target directories (which invoke the top-level Makefile to build the appropriate output file) and the old docs makefile are not part of the new master Makefile. Due to higher parallelism and better dependency checking, Make should be much faster now. Not all old targets are supported though. I've removed implicit dependencies hard-coded in the build system, and expressed all dependencies in modules.txt, since the implicit dependencies were confusing, obscure and unnecessary, and it was hard to express their own dependencies on each other. Test both the default target and explicitly "parcels" for release builds on Travis.
* Replace Travis build instructions with a script.Chris Wilson2016-08-28
| | | | Easier to run locally to help reproduce issues with Travis builds.
* Make executable.Chris Wilson2016-05-16
* Update paths to match new cmake-generated project files location.Chris Wilson2016-02-14
* Move user properties files into build folder.Chris Wilson2016-02-13
| | | | | | | These are the only version-controlled files that should be in the build folder for CMake. Ideally even these would not be here, to make it easier to delete the folder completely, but Visual Studio expects them to be in the same directory as the (generated) project files.
* Fix passing of "release" argument to in release mode.Chris Wilson2015-12-27
* Substitute TARGET_PERL in test/bbackupd config.Chris Wilson2015-12-24
| | | | This is needed for executing the SyncAllowScript, on which several tests depend.
* Run release tests, not debug tests, in the release configuration.Chris Wilson2015-12-24
* In release configuration, install binaries into release tree, not debug tree.Chris Wilson2015-12-24
* Build release libs as well as debug in Appveyor, and link the right ones ↵Chris Wilson2015-12-24
| | | | into boxbackup.
* Add Visual Studio .user files to start executables in the right working ↵Chris Wilson2015-12-24
| | | | directories.
* Remove duplicate printing of exception details on test errors.Chris Wilson2015-12-24
| | | | | BoxException::what() now contains the full details of the exception, so we don't need to print the value returned by GetMessage() as well.
* Fix OpenSSL makefile caching against version upgrades.Chris Wilson2015-12-20
| | | | | Cache the previous OpenSSL makefile for its timestamp, but rebuild it each time, compare to the cached one, and invalidate if necessary.
* Fix PERL_EXECUTABLE #define to use properly-escaped pathChris Wilson2015-12-19
* Add dependencies between modules properlyChris Wilson2015-12-19
* Fix PERL_EXECUTABLE to be a native path, so that system() works.Chris Wilson2015-12-17