aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-09-02Prefer pkgconfig for `GMockDependency`David Seifert1-2/+25
* Also bring `main` semantics in line with `GTestDependency`
2018-09-02Prefer pkgconfig for `GTestDependency`David Seifert1-2/+20
2018-09-02Remove unnecessary -lquadmath from FORTRAN flags.Jussi Pakkanen1-1/+1
2018-09-02Meson should warn if b_lundef is mixed with any sanitizer with clangAlexis Jeandet1-4/+3
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-08-31gnome: fix generate_gir when linking with libasanMathieu Duponchelle2-1/+9
The regression was introduced in my recent refactoring of that method (8377ea4). This commit simply restores the ordering of the generated scan_command, ensuring `-lasan` and other internal linker flags come before `--library` or `--program`
2018-08-29Improve support for macOS dylib versioningNirbheek Chauhan9-73/+183
We now use the soversion to set compatibility_version and current_version by default. This is the only sane thing we can do by default because of the restrictions on the values that can be used for compatibility and current version. Users can override this value with the `darwin_versions:` kwarg, which can be a single value or a two-element list of values. The first one is the compatibility version and the second is the current version. Fixes https://github.com/mesonbuild/meson/issues/3555 Fixes https://github.com/mesonbuild/meson/issues/1451
2018-08-29Merge pull request #4016 from thiblahute/hotdocJussi Pakkanen17-23/+595
modules: Add an 'hotdoc' module
2018-08-29Make `-std=` fallback remapping more robustDavid Seifert1-11/+54
* The current version matching logic is brittle with respect to Clang. LLVM and Apple Clang use slightly different but nowadays overlapping version ranges. Instead, we now just check whether the compiler supports the given `-std=` variant and try its respective fallback instead of testing version ranges.
2018-08-28Deduplicate build-tree RPATHs on macOSDavid Seifert2-2/+10
* Currently, RPATHs coming from dependencies and `build_rpath` provided by the user might contain the same path. Apple's `install_name` tool is allergic to providing the same argument twice when removing RPATHs: error: install_name_tool: "-delete_rpath /usr/lib" specified more than once
2018-08-28hotdoc: Add documentationThibault Saunier4-2/+105
2018-08-28docs: Use meson to build documentationThibault Saunier4-24/+25
Let's eat our own dogfood.
2018-08-28modules: Add an 'hotdoc' moduleThibault Saunier9-1/+464
hotdoc: http://github.com/hotdoc/hotdoc/
2018-08-28CompilerArgs: -Wl,-lfoo is also a valid way to pass a libraryNirbheek Chauhan2-2/+5
Treat it the same as -lfoo by deduping and adding to --start/end-group Reported at https://gitlab.gnome.org/GNOME/glib/issues/1496 We don't do any advanced transformation for MSVC or de-dup because this is a very rare syntax.
2018-08-27d: fix how the DC variable is handledFFY001-6/+2
2018-08-27Add support for custom dist scripts.Jussi Pakkanen10-16/+123
2018-08-27Merge pull request #3981 from GoaLitiuM/d-win-fixesJussi Pakkanen19-57/+278
Fix D support on Windows
2018-08-27Add a `required` argument to `subproject`Thibault Saunier14-15/+140
Allowing to use the new "feature" option type and allowing not to fail on subproject if it is not necessary to fail. By default subprojects are "required" so previous behaviour is not changed. Fixes #3880
2018-08-27Merge pull request #4035 from jon-turney/factor-out-version-checkJussi Pakkanen24-67/+145
Apply dependency(version:) check for all dependency types
2018-08-27d: disallow dmd frontends (ldmd and gdc)FFY001-0/+6
2018-08-27Remove some spurious calls to the format() functionJon Turney1-3/+3
Remove some spurious calls to the format() function, left by mistake after c2f37853
2018-08-27using urlopen() with explicit timeoutAndrei Antonov3-6/+8
2018-08-26Add a release note snippetJon Turney2-2/+19
Also adjust relevant documentation
2018-08-26Tests for version constraints on custom lookup dependenciesJon Turney16-0/+62
2018-08-26Don't use version to check for a not-found fallbackJon Turney1-1/+1
In _find_cached_fallback_dep(), actually check if dependency is not found, rather than using a specific version as a proxy for that.
2018-08-26Comparison with an unknown dependency version should always failJon Turney5-36/+36
Consistently use None to store an unknown dependency version (rather than 'none', 'unknown' or some made up version)
2018-08-26Apply dependency(version:) check for all dependency typesJon Turney1-33/+31
At the moment, this check only exists for pkg-config dependencies (and dub, where the code is cut-and-pasted) Factor it out and apply it to all dependency type
2018-08-26Only use the numeric part of the pcap_lib_version()Jon Turney1-2/+5
Trim 'libpcap version ' and ' -- Apple version' Future work: Note that method of finding the pcap version can't work when cross-compiling.
2018-08-26Pass kwargs to ThreadDependency superclass constructorJon Turney1-1/+1
2018-08-26Drop redundant logging in OpenMPDependency constructorJon Turney1-1/+0
This should have been removed in f2673d9b
2018-08-26Set is_found in AppleFrameworks constructorJon Turney1-2/+1
Set is_found in AppleFrameworks constructor, rather than overriding the found() method, as other superclass methods may access is_found.
2018-08-26Fix a misplaced bracket in GLDependency constructorJon Turney1-1/+1
This is a typo in 82bdf07a
2018-08-23Revert symlink copy behaviour. Closes #4069.Jussi Pakkanen1-1/+13
2018-08-23My bad.Jussi Pakkanen1-1/+1
2018-08-23CompilerArgs: Allow calling to_native() multiple timesNirbheek Chauhan2-12/+39
Add a keyword argument to to_native() to operate on a copy so that we can call it multiple times instead of modifying the original compiler args while iterating. This is used in the unit test, and might be used in Meson at some point too.
2018-08-23compilers: Handle dupes in the --start/end-group logicOle André Vadla RavnÄs1-3/+4
The index calculated through `self.index()` may find the same flag earlier in the list and end up putting `--end-group` in the wrong spot.
2018-08-23Merge pull request #4068 from ndufresne/masterXavier Claessens1-1/+8
help: Fix printing list of wrap mode
2018-08-23Merge pull request #3769 from xclaesse/command-line-step2Xavier Claessens7-36/+24
Command line step2
2018-08-22Added "native" kwarg to add_XXX_args. Closes #3669.Jussi Pakkanen10-40/+160
2018-08-22compilers: Reduce sizes of MSVC linked binariesOle André Vadla RavnÄs2-4/+7
- For optimization=s add /O1: Use Maximum Optimization (Favor Size), and remove /Os as it's implied by /O1. - Because we add /O1, this implies /Gy, i.e. Function-Level Linking, so unused code can be omitted. - Add /Gw: Optimize Global Data, so unused data can be omitted. With buildtype=minsize on x86 this reduces the size of a statically linked Vala compiler binary from 5 MB down to just 1.87 MB.
2018-08-22Test that system shlibs with undefined symbols can be foundNirbheek Chauhan5-43/+80
2018-08-22find_library: Allow undefined symbols while linkingNirbheek Chauhan2-1/+29
Shared libraries may not always be linkable without the use of other libraries, so don't make it a linker error.
2018-08-22find_library: Use _build_wrapper to get library dirsBruce Richardson6-67/+66
This means that we will take into account all the flags set in the cross file when fetching the list of library dirs, which means we won't incorrectly look for 64-bit libraries when building for 32-bit. Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com> Closes https://github.com/mesonbuild/meson/issues/3881
2018-08-22Set wrap_mode to None by default to know if user passed a valueXavier Claessens2-2/+3
2018-08-22mesonmain: Use MesonException instead of RuntimeError in MesonApp initXavier Claessens1-5/+5
2018-08-22mlog.shutdown(): Return the log file path or None if not initializedXavier Claessens1-0/+3
2018-08-22Remove useless __main__ in files that cannot be executedXavier Claessens3-11/+1
2018-08-22interpreter: Simplify get_option_internal() and fix base option fallbackXavier Claessens1-18/+12
The fallback to compilers.base_options was done after optname is changed to have subproject prefix. Simplify the code by looping over all dictionaries and only keep user_options separate because that one is special.
2018-08-22help: Fix printing list of wrap modeNicolas Dufresne1-1/+8
Implement a string converter in our WrapMode enum so that argparse will only print the names in the doc instead of WrapMode.<name>. This changes --help command from printing: --wrap-mode {WrapMode.default,WrapMode.nofallback,WrapMode.nodownload,WrapMode.forcefallback} to: --wrap-mode {default,nofallback,nodownload,forcefallback} Fixes issue #4067
2018-08-21PkgConfigDependency: Parse library paths in a separate stepNirbheek Chauhan2-21/+46
pkg-config and pkgconf treat additional search paths in PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR differently when PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 is set. pkg-config always outputs -L flags for the additional paths first, and pkgconf always outputs -L flags for the default paths first. To account for this inconsistency, we now sort the library paths into two separate sets: system (default) and prefix (additional) paths. We can do this because we always query pkg-config twice: once with PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 set and once without it. Then, we ensure that the prefix paths are searched before the system paths. Closes https://github.com/mesonbuild/meson/issues/4023 Closes https://github.com/mesonbuild/meson/issues/3951
2018-08-21Merge pull request #4064 from xclaesse/allow-dupsXavier Claessens2-4/+5
UserArrayOption: Allow duplicates when used as <lang>_args option