aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-06UserArrayOption: Small cleanup in value parsingXavier Claessens1-13/+12
It is nicer to early raise exception if the value from meson_options.txt is not a string in "[]" format than duplicating the parser code for both cases. Also it was checking for duplicated items only in the user_input case, but we should also check for dups in the default value from meson_options.txt.
2018-06-06UserArrayOption: Add support for splitting on space instead of comaXavier Claessens1-2/+6
2018-06-06Move get_args_from_envvars() from environment to compilersXavier Claessens4-56/+54
2018-06-06Compilers: Chain-up to parent class in get_options()Xavier Claessens2-52/+65
Parent class could have common options for all compilers, and we'll soon add some.
2018-06-06environment.py: Properly check platform on MSVC 2008Chun-wei Fan1-3/+11
The 'Platform' envvar may not be set on Visual Studio 2008, at least when using the SDK 7.0 compilers, so check the 'BUILD_PLAT' envvar so that we do not mis-detect x64 build environments as x86.
2018-06-06Revert "really switch to qmake automatically if pkg-config fails"Nirbheek Chauhan1-1/+1
This reverts commit 0045d95a16be18092adfb40a9a5df944bcb99aea. <jeandet> nirbheek, it seems 0045d95a16be18092adfb40a9a5df944bcb99aea is really wrong, I've tested on Ubuntu. While writing this line I was thinking that you can't have Qt without a working qmake in the path. On Ubuntu you have that qtchooser stuff which is misleading.
2018-06-06docs: Fix dictionary syntax [skip ci]Yudi Matsuzake1-1/+1
2018-06-06Warn when Apple bitcode support is enabled and in-useNirbheek Chauhan2-3/+17
We have to disable some options, so tell the user about them and point to the documentation so they can read more about it.
2018-06-06Add documentation for Builtin options and bitcodeNirbheek Chauhan3-0/+149
Also add a test that ensures that new base options and compiler options are always documented.
2018-06-06Add a new option for building with Apple bitcode supportNirbheek Chauhan4-17/+81
Normally, people would just pass -fembed-bitcode in CFLAGS, but this conflicts with -Wl,-dead_strip_dylibs and -bundle, so we need it as an option so that those can be quietly disabled.
2018-06-06meson introspect: Fix --installed argumentNirbheek Chauhan2-2/+5
Traceback (most recent call last): File "meson.py", line 29, in <module> sys.exit(mesonmain.main()) File "mesonbuild/mesonmain.py", line 411, in main return run(sys.argv[1:], launcher) File "mesonbuild/mesonmain.py", line 320, in run return mintro.run(remaining_args) File "mesonbuild/mintro.py", line 234, in run list_installed(installdata) File "mesonbuild/mintro.py", line 72, in list_installed for path, installdir, aliases, unknown1, unknown2 in installdata.targets: ValueError: too many values to unpack (expected 5)
2018-06-05Fix non-list used with FeatureNewKwargsJon Turney2-2/+2
The type of this argument needs checking, or single strings need handling correctly.
2018-06-05FeatureNew: Add decorators for new install_mode kwargsNirbheek Chauhan1-2/+5
2018-06-05docs: Add a release notes snippet about FeatureNewNirbheek Chauhan1-0/+32
2018-06-05FeatureNew: add two features that were just mergedNirbheek Chauhan2-2/+3
2018-06-05FeatureNew: Print WARNING instead of ERRORNirbheek Chauhan1-2/+2
ERROR is reserved for non-zero exit codes. People will probably get confused.
2018-06-05Add prog/lib dirs from the mingw cross-compiler to PATHNirbheek Chauhan3-11/+53
These directories contain DLLs that the executable may need, such as libstdc++-6.dll, libwinpthread, etc.
2018-06-05.travis.yml: Add CI for armhf and mingwNirbheek Chauhan2-21/+38
Also split them out to their own jobs. Travis gives us 5 parallel jobs now, so we can parallelize it a bit more.
2018-06-05Automatically add cross-mingw root and sysroot bindir to WINEPATHNirbheek Chauhan3-11/+31
This ensures that all the system DLLs required by executables such as libstdc++-6.dll can be found out of the box and tests can run
2018-06-05Add MinGW-w64 64-bit to the Travis CINirbheek Chauhan4-28/+50
Includes new cross files for MinGW-w64
2018-06-05Set WINEPATH when running serialized executablesNirbheek Chauhan4-3/+36
When the exe runner is `wine` or `wine32` or `wine64`, etc. This allows people to run tests with wine. Note that you also have to set WINEPATH to point to your custom prefix(es) if your tests use external dependencies. Closes https://github.com/mesonbuild/meson/issues/3620
2018-06-04Update environment.pyNiklas Claesson1-1/+1
Fix typo in environment.py
2018-06-03Add 'common/202 subproject array version' testAleksey Filippov2-0/+4
2018-06-03Use mesonlib.version_compare_many() first value only as an indicator of matchAleksey Filippov1-1/+1
2018-06-03Fix meson multiple version contraint errormikolajp1-1/+1
2018-06-03Extend test_rc_depends_files test caseJon Turney4-5/+23
Extend test_rc_depends_files test case to also cover depfile generation for a resource file generated by a custom_target
2018-06-03Have the windows.resource_compiler() preprocesor write a depfileJon Turney4-1/+17
When using binutils's windres, we can instruct it to invoke the preprocessor in such a way that it writes a depfile, so that dependencies on #included files are automatically tracked. Not implemented for MSVC tools, so skip testing it in that case.
2018-06-03Allow substitutions in custom_target() depfile:Jon Turney5-1/+23
Allow substitutions in custom_target() depfile: as well as in command:
2018-06-03Document @PLAINNAME@ and @BASENAME@ substitutions in custom_target(command:)Jon Turney1-0/+2
Since f3ff8fe6 (0.39.0), this has a common implementation with the same substitution in generators, but I think they existed earlier. @BASENAME@ is used internally by the custom target generated by windows.compile_resources()
2018-06-03Install implib where expected if default install_dir: is explicitly givenJon Turney2-14/+18
Install the implib into the default import lib directory if an explicit install_dir: is given, but the value happens to be the same as the default.
2018-06-03Link to our Getting-meson page instead of python.org [skip ci]Nirbheek Chauhan1-1/+1
2018-06-03docs: Add a section about the MSI installer [skip ci]Nirbheek Chauhan1-2/+11
2018-06-03Error out when someone tries to use msys/python to run MesonNirbheek Chauhan2-0/+15
This mistake seems to be a very common hiccup for people trying to use Meson with MSYS2 on Windows from git or with pip. msys/python uses POSIX paths with '/' as the root instead of a drive like `C:/`, and also does not identify the platform as Windows. This means that configure checks will be wrong, and many build tools will be unable to parse the paths that are returned by functions in Python such as shutil.which. Closes https://github.com/mesonbuild/meson/issues/3653
2018-06-03docs: Expand section on how to install Python3 and MesonNirbheek Chauhan4-11/+58
With screenshots!
2018-06-03Fix #mesondefine token error message formattingMarvin Scholz1-1/+1
2018-06-02test extra paths: move test to windowsMathieu Duponchelle8-0/+0
2018-06-02test extra paths: add extra paths for all build targetsMathieu Duponchelle1-2/+2
2018-06-02test extra paths: add test caseMathieu Duponchelle8-0/+51
2018-06-02test serialisation: determine windows extra paths ..Mathieu Duponchelle1-0/+2
.. for executable arguments too. This makes it possible to pass an executable to a test, which can then run it in an appropriate environment.
2018-06-02Add release-notes snippet for the extended install_modeFilipe Brandenburger1-0/+8
2018-06-02Update reference manual to include 'install_mode' where supportedFilipe Brandenburger1-0/+18
2018-06-02Add extended unit test for 'install_mode'Filipe Brandenburger1-0/+33
This new unit test will use the targets in '198 install_mode' and confirm that every file and directory gets the expected mode, ensuring that the setting is properly applied at install time.
2018-06-02Add test case for 'install_mode'Filipe Brandenburger11-0/+83
This is a simple test case, checking for installed_files.txt, which just makes sure the syntax is accepted. Manual tests confirmed the permissions were set correctly. A follow up commit adds a unit test based on this directory.
2018-06-02Make windows_proof_rmtree resilient to read-only filesFilipe Brandenburger1-0/+13
Start the process by traversing the tree and adding the S_IWRITE and S_IREAD bits to the file's mode (which are also preserved on Windows.) This fixes windows_proof_rmtree's inability to remove read-only files, which was uncovered in testing the new `install_mode` feature. Tested: ./run_tests.py passes on Linux, appveyor CI on Windows passes.
2018-06-02Add 'install_mode' to all installable targetsFilipe Brandenburger4-24/+51
This makes it possible to customize permissions of all installable targets, such as executable(), libraries, man pages, header files and custom or generated targets. This is useful, for instance, to install setuid/setgid binaries, which was hard to accomplish without access to this attribute.
2018-06-02Check mode of file, not subdirectory, in install_subdir.Filipe Brandenburger1-1/+1
When using an install_mode in install_subdir(), that should apply to the files and not to the directory tree. Otherwise, an install_mode not including the executable bit will make the tree inaccessible, since directories need it to be traversed. If the mode needs to be applied to both files and directories, then install_subdir() is only useful to install files with the executable bit set, which is not really that useful... So default to just using the umask for the directories and applying install_mode to the files only. This can be reviewed in the future, possibly by adding a separate install_dir_mode attribute, or perhaps adding an optional fourth field to FileMode with the mode for directories (this is similar to how RPM handles specifying mode of directory trees recursively added to the package.)
2018-06-01Fix assertRebuiltTarget with VS backendJon Turney1-2/+0
For the VS backend, assertRebuiltTarget() asserts the that target is both recompiled and relinked. This isn't correct for test_rc_depends_files, as changing the rc script's dependencies only causes the executable to be relinked, and not to also have it's source recompiled. assertRebuiltTarget already gets this right for the ninja backend.
2018-06-01Clarify how Windows resource compiler uses the include pathJon Turney1-2/+3
2018-06-01Also run Windows unit tests on CygwinJon Turney1-1/+2
2018-06-01Add a depend_files: keyword to windows.compile_resources()Jon Turney5-2/+22
Expose depend_files: from the custom_target this creates. This is the change suggested in #2815, with tests and documentation added. Fixes #2789 (duplicate #2830)