aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2019-02-01Bump version to 0.49.2 for release0.49.20.49Nirbheek Chauhan1-1/+1
2019-02-01qt: Only look for a framework on macOS if building for macOSNirbheek Chauhan1-1/+3
When building for iOS, the Qt binaries only contain static libraries and headers. No framework. With this, Meson can successfully compile and link to Qt on iOS
2019-02-01deps: Don't reject cross usage of extra frameworksNirbheek Chauhan1-5/+0
This is a regression from previous releases and breaks existing build files, such as GStreamer. The proper fix is in master (#4857), but we cannot backport that since it is a complete rewrite of the framework detection.
2019-02-01pkgconfig: Only warn about deprecation at a location onceNirbheek Chauhan1-12/+20
See: https://github.com/mesonbuild/meson/pull/4630#issuecomment-459235498
2019-02-01pkgconfig: Avoid deprecation warning when using new syntaxXavier Claessens1-5/+6
When using pkg.generate(mylib, library : publicdep) it is pretty clear we don't want to associate publicdep to this generated pkg-config file. This is a small behaviour break in theory, but also fixes real bug in the case publicdep is later used to generate another pkg-config file that does not depend on mylib, that would write a wrong `Requires: mylib` in the genarated pkg-config file. This fix unavoidable deprecation warning when glib is cross built for Android. Glib does `pkg.generate(libglib, libraries : [libintl], ...)` which wrongly associates libintl to the generated glib-2.0.pc, so when later it generates gio-2.0.pc file that depends on libglib, it will warn about libintl being associated with libglib. This does not happen in normal glib build because libintl is usually provided by glibc and is only an internal library when it fallbacks to a subproject.
2019-02-01qt: Print the full path of the `qmake` binary foundNirbheek Chauhan1-1/+1
2019-01-23Bump version to 0.49.1 for release0.49.1Nirbheek Chauhan1-1/+1
2019-01-23coredata: Only reject a load if major version differsNirbheek Chauhan1-2/+5
Our builddir ABI is stable across minor (stable) releases, so there is no need to force a wipe. We already release pretty often, no need to force people to wipe twice as often.
2019-01-22pkgconfig: Fix link order of library dependenciesNiklas Haas1-2/+2
Since `_process_libs` appends the lib's dependencies this list already, the final return value of `_process_libs` will end up after its dependencies, which is the wrong way around. (The lib must come first, then its dependencies) The easiest solution is to simply pre-pend the return value of `_process_libs` rather than appending it, so that its dependencies come after the library itself. Closes #4091.
2019-01-22coredata: Serialize native files into the cmd_line.txt fileDylan Baker1-0/+6
Because we need to store those as well.
2019-01-22coredata: Handle EOFError like UnpicklingErrorDylan Baker1-1/+1
If the coredata file has been truncated, that's pretty much the same as being corrupt, handle that via the same path.
2019-01-22coredata: Handle AttributeError in unpickling coredataDylan Baker1-1/+6
Which can happen due to internal refactorings, such as the removal of the ConfData class between 0.49 and 0.50
2019-01-22mesonmain: Force to output UTF-8 even when the locale isn'tOlivier CrĂȘte1-0/+17
Otherwise Python gets all confused and it makes testing difficult. Also minimally emulate the behaviour of the normal object to make the rest of the code happy.
2019-01-22Save surrogates as-is in log filesOlivier CrĂȘte1-2/+2
When python sees an invalid character in a filename for the current locale, instead of clobbering it, it saves is as an invalid codepoint called a surrogate. We need to explicitly instruct the encoder to write those out as-is. In the JSON file, we replace them instead to produce valid json.
2019-01-14OpenBSD: register machine cpu "macppc" as cpu_family "ppc"Antoine Jacoutot1-0/+2
On OpenBSD, the main PowerPC machine is known as macppc, while the processor family is powerpc: $ uname -{m,p} macppc powerpc $ echo 'import platform; print (platform.machine())' | python3 macppc $ echo 'import platform; print (platform.processor())' | python3 powerpc This allows for e.g. GLib configure to properly detect that cpu: Build machine cpu family: ppc Build machine cpu: macppc While it failed before with: WARNING: Unknown CPU family 'macppc' <snip>
2019-01-14pkgconfig: Fix flag deduplicationXavier Claessens1-1/+5
This is a regression introduced by 2cbf7caf5, generated pkg-config files have many duplicated '-pthread' flags.
2019-01-14Better Python exe detector. Closes #4614.Jussi Pakkanen1-1/+5
2019-01-14msetup: Fix callig meson --wipe inside a build directoryDylan Baker2-1/+25
This seems to be related to deleting the current working directory. Simply deleting all of the trees inside the build directory instead seems to fix it. This only appears with some combination of generated targets, running the test case against say "1 trivial" doesn't show the bug. See this mesa bug: https://bugs.freedesktop.org/show_bug.cgi?id=109071
2019-01-14dependencies/ui: Fix qmake detection when not using cross or native fileDylan Baker1-3/+1
Fixes #4641
2019-01-14dependencies/ui: Fix Qt pkg-config detection on MacOSDylan Baker1-1/+9
Since 0.46.1 pkg-config detection has been broken using the qt from homebrew, due to a bug in homebrew (I think). Tested with qt 5.12.0 on Mojave.
2019-01-14Fixed subprojects build infoDaniel Mensinger1-1/+1
2019-01-14msetup: Give a nice error message if cmd_line.txt cannot be readDylan Baker1-2/+7
As would happen if someone tried to manually call meson --wipe on a directory configured with a version < 0.49.0
2019-01-14dependencies/ui: Don't require lrelease for qtDylan Baker1-1/+1
We previously didn't require it so we shouldn't silently start doing so. Fixes #4654
2018-12-09Update everything for release 0.49.00.49.0Jussi Pakkanen1-1/+1
2018-12-09Reinstate "compilers/c: Fix allow undefined link arg for PE/COFF"Martin Storsjö1-0/+3
This reinstates 2256e6314b610b8f6645d0c5384536001ddeccf9, which was lost in refactoring in 9f9cfd21396db5cd5eb1711916c8b0c6e433c702.
2018-12-09Do not write cp entry when it is empty. Closes #4602.Jussi Pakkanen1-1/+4
2018-12-07Print ASCII version of unrepresentable text. Closes #4600.Jussi Pakkanen1-1/+5
2018-12-07Update VS files only if something changed.John Preston1-6/+14
If you change only some project in meson.build, only that .vcxproj file will be updated and reloaded. If you change something not related to VS solution and projects or simply touch the meson.build file, nothing will be reloaded.
2018-12-07Error out if kwargs dict contains a kwargs entry.Jussi Pakkanen1-1/+3
Yo dawg! We heard U don't like kwargs in kwargs, so we made it impossible to put kwargs in your kwargs so now you can't kwargs with your kwargs.
2018-12-06Deduplicate export-dynamic and pthread. Closes #4567.Jussi Pakkanen2-3/+17
2018-12-05modules/python: Do not override link_args with None largsPhilippe Normand1-2/+2
None is not iterable so it would trigger a TypeError later when link_args are passed on to CompilerArgs.extend_direct().
2018-12-05Don't blame absent cmake for all missing dependenciesJon Turney1-8/+8
2018-12-05Correctly detect 32-bit arm userland on 64-bit armNirbheek Chauhan1-5/+14
This is the same case as 32-bit x86 on x86_64. Closes https://github.com/mesonbuild/meson/issues/4586
2018-12-05Reorganize cpu detection code to be more consistentNirbheek Chauhan1-32/+31
Use a single point of exit for the detect_cpu* functions, and factor out the compiler define code into a helper function.
2018-12-05Fix detection with VS 2017, and fix a bug in detection on VS 2008Nirbheek Chauhan1-3/+9
Starting with VS 2017, `Platform` is not always set (f.ex., if you use VsDevCmd.bat directly instead of vcvars*.bat), but `VSCMD_ARG_HOST_ARCH` is always set, so try that first.
2018-12-04Can specify keyword arguments with a dict.Jussi Pakkanen1-1/+15
2018-12-04Use correct environment for REGEN in VS backend.John Preston2-2/+34
Try to guess which VS Command Prompt was used for the Meson call. If one is chosen invoke it before calling Meson in REGEN command.
2018-12-04pkgconfig: Improve and document generator behaviourXavier Claessens1-8/+40
- Add libraries from InternalDependency.libraries - Deprecate association of libraries from the "libraries" keyword argument to the generated pkg-config file.
2018-12-04BuildTarget: Fix typo, self.install does not existsXavier Claessens1-1/+1
2018-12-03Use more `environment.default_*` for consistencyJohn Ericson1-12/+16
After we make this work consistently, we can try to abstract the new pattern.
2018-12-03Combine `run_tests` import lines in `run_unittests`John Ericson2-6/+9
2018-12-03pkgconfig: do not generated dependency on itselfLuca Boccassi1-1/+1
If a project generates a single pc file but multiple shared libraries with dependencies on each other, the generated pc name will be used to generate a Requires.private dependency, which means the project will depend on itself. This breaks at least some versions of pkg-config (0.27 in RHEL7) which cannot handle the recursion and error out. When adding the dependency using the pc name, check that it's not on the project itself. Fixes #4583
2018-12-02Merge pull request #4389 from xclaesse/subprojects-cmdJussi Pakkanen5-8/+246
Add 'meson subprojects update' command
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-12-02Add 'meson subprojects download' commandXavier Claessens1-1/+19
2018-12-02Add 'meson subprojects checkout' commandXavier Claessens1-32/+61
2018-12-02Add 'meson subprojects update' commandXavier Claessens5-8/+199
This is inspired by gst-build's git-update script.
2018-11-28Merge pull request #3061 from jon-turney/introspect-custom-target-filesJussi Pakkanen1-1/+7
Fix 'meson introspect --target-files' for a custom target
2018-11-28Use /O1 instead of /Os for MSVC as the latter is deprecated.Jussi Pakkanen1-2/+3
2018-11-27Merge pull request #4191 from trilader/feature/projectinfo-from-sourceJussi Pakkanen3-32/+141
mintro: Allow introspect --projectinfo without build directory