aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts
AgeCommit message (Collapse)AuthorFilesLines
2019-09-26Q&D experiment to scan and build C++ modules with VS.vsmodtestJussi Pakkanen1-0/+71
2019-09-14uniform scan-build detection processGabriel Ganne1-34/+6
Detect scan-build the same way when trying to launch it and when generating the target. The detection method is: 1. look within SCANBUILD env variable 2. shutil.which('scan-build') 3. *on non-linux platforms only*: go through all the possible name candidates and test them individually. The third step is added following this comment https://github.com/mesonbuild/meson/pull/5857#issuecomment-528305788 However, going through a list of all the possible candidates is neither easily maintainable nor performant, and is therefore skipped on platforms that should not require such a step (currently, only Linux platforms). This is a follow-up to the issue raised by @lantw44 during PR: https://github.com/mesonbuild/meson/pull/5857
2019-09-05mesonlib.split_args/quote_arg/join_argsAleksey Gurtovoy2-6/+4
2019-08-24wine: Try to get the short paths when generating WINEPATHThibault Saunier1-8/+4
The size of WINEPATH is limited (1024 [until recently]), we can very easily reach that limit, and even the new one (2048) so try to keep path as small as possible by using the shortPath version of paths. Also assert that we do not reach the new hard limit. And avoid having duplicates in the list of path. [until recently]: https://bugs.winehq.org/show_bug.cgi?id=45810
2019-08-04gtkdoc: Use find_program() to get gtkdoc toolsXavier Claessens1-14/+19
This will allow using gtk-doc as a subproject instead of having to install it on the system. It also has the side effect of failing at configuration time with a proper message if gtkdoc is not installed, instead of failing at build time with a python backtrace.
2019-08-03Merge pull request #5644 from bonzini/meson-exe-cmdlineJussi Pakkanen1-30/+27
Show command line in `ninja -v` for `capture: true` custom targets and generators
2019-08-02remove unreachable codeMichael Hirsch, Ph.D1-3/+2
2019-07-23Made dist a top level command.Jussi Pakkanen1-210/+0
2019-07-19backends: do not split command and arguments in ExecutableSerialisationPaolo Bonzini1-8/+5
This is not needed anymore, just make a single field with the whole command line.
2019-07-19backends: remove unnecessary fields from ExecutableSerialisationPaolo Bonzini1-10/+5
"exe.is_cross and exe.needs_exe_wrapper" is the same condition under which meson chooses whether to include the exe_wrapper. meson_exe has an assertion for that, but now that meson_exe does not need anymore exe.is_cross, we can simplify the code if we just "trust" meson to do the right thing. Remove both fields from ExecutableSerialisation and just test the presence of the wrapper, and also remove the executable basename which is only used to "beautify" an assertion failure.
2019-07-19backends: discover java/mono wrapper at generation timePaolo Bonzini1-20/+10
Move the magic to execute jar and .exe files from "meson --internal exe" to the backend, so that "ninja -v" shows more clearly what is happening. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-07-19backends: create ExecutableSerialisation in meson_exe if possiblePaolo Bonzini1-9/+24
If meson_exe is only being used to capture the output of the command, we can skip going through a pickled ExecutableSerialization object. This makes "ninja -v" output more useful.
2019-07-18fix all flake8 issuesDaniel Mensinger1-1/+0
2019-07-15meson: skip captured write if content didn't changeMarc-André Lureau1-2/+9
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2019-07-10Reference error code as hex value and improve commentNorbert Nemec1-2/+2
2019-07-10diagnostics for missing DLLs on Windows in meson_exe.pyNorbert Nemec1-0/+5
2019-07-01Use the same directory names for dist so that ccache works. Closes #5583.Jussi Pakkanen1-5/+9
2019-06-27meson_exe: Don't assert that we need an exe_wrapper when we say we don't ↵Dylan Baker1-3/+3
need one Fixes cross compiling mesa from x86_64 -> x86 on an x86_64 system. Fixes #5567
2019-06-06gnome.yelp(): Fix media symlink fallback pathChristoph Reiter1-2/+4
When the media file for a specific language doesn't exist we try to symlink it to the C one. If symlinking fails we need to fall back to copying the C one like in the non-symlink case. The fallback code path didn't set the source so this always failed. Also check if the C fallback exists before trying to symlink/copy, otherwise we crash if C isn't the first lang we try.
2019-04-29Fix unused variables warningsDaniel Mensinger1-1/+1
2019-04-29Fix blind exceptionsDaniel Mensinger1-1/+1
2019-04-25Don't use len() to test for container emptinessDylan Baker4-11/+11
I ran the numbers once before (it's in the meson history) but it's *much* faster to *not* use len for testing if a container is empty or not.
2019-04-24Add gcovr 4.2 supportRichard Kjerstadius1-16/+13
The out-of-source build syntax for gcovr 4.2 is different compared to previous versions and therefore an update was needed. In researching the most appropriate solution it was found that any gcovr version older than 3.3 always resulted in 0% coverage. Because of this, rather than adding an additional layer of logic, some already existing logic was modified to ensure correct syntax for the new version, while versions older than 3.3 are flagged as not supported. Closes mesonbuild#5089.
2019-04-22Update list of potential scan-build binaries. Closes #5287.Jussi Pakkanen1-3/+6
2019-04-22i18n: add args keyword to merge_fileKonstantin1-1/+2
* i18n: add args keyword to merge_file * i18n: add testcase to msgfmt args
2019-04-21dist: recurse into git submodulesVladimír Čunát1-1/+1
2019-04-04Add symbol sizes to .symbols filesArkadiusz Hiler1-1/+8
If we change a symbol size (e.g. array) in a .c file that is a part of .so, executables that use it are not re-linked resulting in a runtime error: "Symbol xyz has different size in shared object, consider re-linking" Adding symbol sizes to .symbol files fixes this issue.
2019-04-03Read file as utf8 on python3jonathan MERCIER1-3/+5
2019-04-01Also format headers with Clang-Format. Closes #5184.Jussi Pakkanen1-0/+1
2019-03-28gettext: prefer POTFILES.in if it existsEli Schwartz1-2/+2
If POTFILES.in exists, then it will have come from autotools, in which case it is explicitly the file passed to xgettext -f, and the POTFILES file itself is generated by autotools as a proxy file which eventually gets inlined into the final Makefile as a variable "POTFILES = ......" In this case, attempting to use POTFILES as the input file will simply result in syntax errors and the inability to find files with a literal trailing " \" in the name. Usually POTFILES will not exist at all, and we would fallback on POTFILES.in, but if the source tree happens to be dirty, this would result in errors. Since it's never going to be right to use it, we can just do the right thing from the start and carry on.
2019-01-30dist: Handle git worktrees, which have a .git file instead of dirDylan Baker1-1/+2
This is the second most straight forward stupid way of handling this (with usiing os.path.exists) as the most stupid obvious way. The only major advantage is that having .git as something other than a file or directory still doesn't register. Fixes: #3378
2018-12-30Add a clang-format target.Jussi Pakkanen1-0/+37
2018-12-16coverage: Also remove source_root prefixesWilliam A. Kennington III1-0/+1
The code our projects care about verifying coverage for mostly lives in the source_root with the exception of the generated source files in build_root. This change cleans up the output so we don't have prefixed paths on our source files anymore.
2018-12-12Better Python exe detector. Closes #4614.Jussi Pakkanen1-1/+5
2018-12-02coverage: Print summary after gcovr html generationMohammed Sadiq1-1/+2
summary from stdout is often used by Automated builds to show build details The --print-summary option was added to gcovr in v3.2, since html output was added only in 3.1, limitting support to 3.2 won’t be a big deal. --print-summary is not enabled for text/xml report generation as it will result in meson not supporting any gcovr version less than 3.2.
2018-10-25depfixer: Do not try to fix rpaths of dllsMarvin Scholz1-0/+3
2018-10-24Fix flake8 'imported but unused' reportsJon Turney1-1/+0
$ flake8 | grep F401 ./mesonbuild/minstall.py:15:1: F401 'gzip' imported but unused ./mesonbuild/backend/backends.py:26:1: F401 '..compilers.get_macos_dylib_install_name' imported but unused ./mesonbuild/backend/backends.py:29:1: F401 'functools.lru_cache' imported but unused ./mesonbuild/scripts/dist.py:27:1: F401 'mesonbuild.dependencies.ExternalProgram' imported but unused
2018-10-14Do not try to remove duplicate RPATH entries on macOSDavid Seifert1-2/+23
2018-10-09coverage: fix lcov branch coverage generationMohammed Sadiq1-0/+3
lcov branch coverage are disabled by default. So branch coverage has to be enabled for every stage to make them work. Fixes https://github.com/mesonbuild/meson/issues/4319
2018-10-08scanbuild: Split SCANBUILD using shlexGuido Günther1-7/+14
This allows invocations like SCANBUILD="scan-build --status-bugs" ninja scan-build Closes: #4334
2018-10-04Make custom dist scripts accept arguments.Jan Tojnar1-10/+11
meson.add_dist_script, introduced in #3906, did not accept any arguments other than script name. Since all other meson.add_*_script methods do accept args, this makes the dist script accept them as well.
2018-10-04Fixed the lack of stdout being displayed when not in capture mode for ↵dx-mon1-0/+2
meson_exe (meson --internal exe)
2018-09-28Merge pull request #4261 from rossburton/crossJussi Pakkanen1-1/+1
WIP RFC gnome.py cross improvements
2018-09-28dist: Warn if there are uncommitted changes in the repositoryNirbheek Chauhan1-2/+18
Closes https://github.com/mesonbuild/meson/issues/1977
2018-09-28dist: Make usage of period in messages consistentNirbheek Chauhan1-10/+10
Having a period at the end of sentences in messages is confusing when a file or path is being outputted, and is inconsistent when not. This is part of an ongoing effort to fix this inconsistency across the message outputs everywhere in Meson.
2018-09-28gtkdochelper: show full command if it failsRoss Burton1-1/+1
Instead of showing just the command invoked, it's useful when debugging to also show all of the arguments.
2018-09-21gnome: add support for `module_version`Marco Trevisan (Treviño)1-3/+14
gtk-doc for autotools has the concept of module version, that is used to define the module install path and the devhelp2 basename. Add a `module_version` parameter to gnome.gtkdoc to replicate the same behavior. Updated the test checking that the install_dir is properly computed (if not passed), and that the .devhelp2 file has proper name. https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_29/buildsystems/autotools/gtk-doc.make#L269
2018-08-29Merge pull request #4016 from thiblahute/hotdocJussi Pakkanen1-0/+36
modules: Add an 'hotdoc' module
2018-08-28modules: Add an 'hotdoc' moduleThibault Saunier1-0/+36
hotdoc: http://github.com/hotdoc/hotdoc/
2018-08-27Add support for custom dist scripts.Jussi Pakkanen1-4/+25