aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-07-02Update everything for new release.0.47.0Jussi Pakkanen28-263/+294
2018-07-02Merge pull request #3823 from mesonbuild/nirbheek/fix-featurenew-subprojectsJussi Pakkanen17-153/+232
Nirbheek/fix featurenew subprojects
2018-07-02Documentation cleanup. [skip ci]Jussi Pakkanen1-102/+127
2018-07-02setup.cfg: Don't warn about commented codeNirbheek Chauhan1-0/+2
2018-07-02Contributing.md: Document procedure for new features [skip ci]Nirbheek Chauhan3-4/+18
2018-07-02FeatureNew: Make all checks subproject-specificNirbheek Chauhan13-149/+211
We now pass the current subproject to every FeatureNew and FeatureDeprecated call. This requires a bunch of rework to: 1. Ensure that we have access to the subproject in the list of arguments when used as a decorator (see _get_callee_args). 2. Pass the subproject to .use() when it's called manually. 3. We also can't do feature checks for new features in meson_options.txt because that's parsed before we know the meson_version from project()
2018-07-02meson.vim: Add missing disabler() entry [skip ci]Nirbheek Chauhan1-0/+1
2018-07-02FeatureNew: Declare functions as class methods explicitlyNirbheek Chauhan1-6/+10
2018-07-02interpreter: Use is_subproject() everywhereNirbheek Chauhan1-3/+3
2018-07-02FeatureNew: Fix method names for some feature checksNirbheek Chauhan2-11/+12
2018-07-02FeatureNew: Minor code cleanup, no changesNirbheek Chauhan1-42/+41
Early return reduces indentation level and makes the code easier to read.
2018-07-02Remove permittedSnippetKwargs, snippets are not specialNirbheek Chauhan4-24/+17
All we needed to do was change _get_callee_args() to also support snippets.
2018-07-02Add some tests for FeatureNewMathieu Duponchelle1-8/+33
2018-07-02Various bug fixes for FeatureNewSalamandar4-34/+70
* Use _get_callee_args to unwrap function call arguments, needed for module functions. * Move some FeatureNewKwargs from build.py to interpreter.py * Print a summary for featurenew only if conflicts were found. The summary now only prints conflicting features. * Report and store featurenew/featuredeprecated only once * Fix version comparison: use le/ge and resize arrays to not fail on '0.47.0>=0.47' Closes https://github.com/mesonbuild/meson/issues/3660
2018-07-01gnome: Use raw link arguments with g-ir and gtk-docNirbheek Chauhan4-19/+32
Those tools use our arguments to build a file and execute it to introspect it at runtime. However, they do not know that you can pass the full path to the library to use, and ignore the arguments. The long-term fix for this is to have them output a .c file that Meson will build for them, which they can then run, but that will require upstream changes: https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/1 Closes https://github.com/mesonbuild/meson/issues/3774
2018-07-01gnome: Distinguish between internal and external linker flagsTing-Wei Lan10-24/+194
When an older version of the library being built is installed in the same prefix as external dependencies, we have to be careful to construct the linker or compiler command line. If a -L flag from external dependencoes comes before a -L flag pointing to builddir, it is possible for the linker to load older libraries from the installation prefix instead of the newly built ones, which is likely to cause undefined reference error. Since the order of dependencies is not significant, we cannot expect internal dependencies to appear before external dependencies when recursively iterating the list of dependencies. To make it harder to make mistakes, linker flags come from internal and external dependencies are now stored in different order sets. Code using _get_dependencies_flags are expected to follow the order when constructing linker command line: 1. Internal linker flags 2. LDFLAGS set by users 3. External linker flags It is similar to what automake and libtool do for autotools projects.
2018-07-01Debug-log pkg-config callsChristopher Dunn1-2/+6
resolves #3607
2018-07-01Don't let build_always take precedence over build_by_default (#3816)Andrei Alexeyev4-15/+53
* Don't let build_always take precedence over build_by_default * Test for proper interaction of build_by_default with build_always Fixes #3815
2018-07-01Proper error message for non-found exe in run_target. Closes #3818Jussi Pakkanen2-0/+6
2018-07-01custom targets: Only add a dependency on absolute path external programsNirbheek Chauhan1-1/+5
If the external program is a string that is meant to be searched in PATH, we can't add a dependency on it at configure time because we don't know where it will be at compile time.
2018-07-01Add a helper for fetching of binaries from cross filesNirbheek Chauhan4-24/+38
A number of cases have to be taken care of while doing this, so refactor it into a helper on ExternalProgram and use it everywhere. 1. Command is a list of len > 1, use it as-is 2. Command is a list of len == 1 (or a string), use as a string 3. If command is an absolute path, use it as-is 4. If command is not an absolute path, search for it
2018-07-01Allow command lists for find_program cross file overridesNirbheek Chauhan3-4/+13
This is accepted by all other binaries in the cross file. With this change, we also don't check whether the specified command exists at configure time, but that's probably a feature anyway. Fixes https://github.com/mesonbuild/meson/issues/3737
2018-07-01Getting-meson.md: Fix incorrect image link [skip ci]Nirbheek Chauhan1-1/+1
2018-07-01Nirbheek/fix pkgconfig library dedup (#3813)Nirbheek Chauhan3-11/+22
* Add a test case for bad de-dup of -framework args https://github.com/mesonbuild/meson/issues/3800 * pkgconfig: Don't naively de-dup all arguments Honestly don't know what I was smoking. Of course the `Libs:` field in a pkg-config file can have arguments other than -l and -L Closes https://github.com/mesonbuild/meson/issues/3800 * pkgconfig module: Fix needlessly aggressive de-dup
2018-07-01Document merge workflow for contributors and maintainers. [skip ci]Jussi Pakkanen1-0/+37
2018-06-30Add missing file to manifest. [skip ci]Jussi Pakkanen1-0/+1
2018-06-30Improve logging when dependency is anonymousJon Turney1-8/+10
Various pieces of logging assume the dependency has a name, and aren't grammatical if the dependency is '', so say it is anonymous instead.
2018-06-30More tests to cover missing fallback for a non-found dependencyJon Turney3-1/+6
Fix logic so we correctly raise an exception about missing fallback in the case where the dependency is required.
2018-06-30Fix handling of dependency('', fallback: ['subproject', 'dep'])Jon Turney4-8/+16
Also extend a test case to cover this.
2018-06-30fix find_library when cross-compiling 32-bit on 64-bit systemsBruce Richardson1-1/+11
When find_library is used to find dependencies, meson checks all paths for libraries with all prefixes that could match. This means that when we are compiling with -m32 on a 64-bit system, meson will find 64-bit libraries and assumes that they will work. Naturally that is not the case. The obvious fix is to do a test link against those libraries, but the extra wrinkle here is that we need to do a "whole link" so as to test the static libs. A check with gcc+ld on linux shows that unless there are unresolved symbols from the main.c file, the static library is never checked so we avoid the error from an incompatible library.
2018-06-30Warn if using Clang+asan+b_lundef. Closes #764.Jussi Pakkanen1-0/+19
2018-06-30Add feature footerJuergen Hoetzel1-0/+2
2018-06-30Setup mode-specific `comment-start' and `'comment-end'Juergen Hoetzel1-15/+2
Get rid of meson.comment-dwim workaround.
2018-06-30d: Don't fail if -link-defaultlib is manually added to the LDC link argsMatthias Klumpp1-0/+8
2018-06-29add documentation of meson test --print-errorlogs (#3809) [skip ci]Alberto Sartori1-0/+6
2018-06-29Options: treat array option -Dopt= and -Dopt=[] as equivalentDylan Baker4-0/+30
Currently the former will be parsed as [''], while the latter is parsed as [] in python. This makes for some obnoxious special handling depending on what the user passes. This is even more obnoxious since for string type arguments this doesn't require special handling.
2018-06-28Add upgrade support to the MSI generator. [skip ci]Jussi Pakkanen1-0/+3
2018-06-27Fix ExtraFrameworkDependency Framework detectionMarvin Scholz1-1/+1
The name splitting was wrong and would not incorrectly handle folders with two dots, like Foo.framework.dSYM and treat this as 'Foo' instead of 'Foo.framework', which would lead to meson detecting dSYM bundles as frameworks and try to use those like a framework, which is wrong. Fix #3793
2018-06-26Refine documentation for build_always [skip ci]Jon Turney1-2/+3
We mention this is equivalent to setting both build_by_default and build_always_stale in the release note, and in the warning emitted when it's used, but not in the reference manual.
2018-06-26Fix glib build when using MSI installer. Closes #3762.Jussi Pakkanen2-1/+6
2018-06-26gtkdoc: Use generated types file if there is oneXavier Claessens1-0/+5
Closes: #3773.
2018-06-25ArLinker: Use response files on WindowsMathieu Duponchelle2-7/+3
ninja chokes when building FFmpeg's static libraries, as the command line can be larger than 32000. This was disabled on purpose in #1649, but the rsp syntax was different: this commit makes it so the options and output file are still passed on the command line, gcc-ar didn't work otherwise.
2018-06-24Update documentation about compiler envvars and cross files. [skip ci]Jussi Pakkanen1-11/+46
2018-06-24Warn if compiler envvars point to cross compilers. Closes #3782.Jussi Pakkanen1-0/+7
2018-06-24Return a better warning if compiled executable is invalid.Jussi Pakkanen1-1/+4
2018-06-24Write GNOME all uppercaseAlexandre Franke1-8/+8
GNOME (all caps) is a registered trademark
2018-06-24Add FractalAlexandre Franke1-0/+1
2018-06-21Print default option values that don't match the current valueNiklas Claesson2-2/+21
2018-06-21Added ARMCLANG compiler support for C/C++ (#3717)Vasu Penugonda8-2/+206
2018-06-21Merge pull request #3590 from mesonbuild/testcommandJussi Pakkanen7-457/+531
Made install a top level Meson command.