aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2018-10-24Fix flake8 'imported but unused' reportsJon Turney3-4/+2
$ 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-24module-qt: add rcc_extra_arguments to pass extra arguments to rcc (#4406)xiannox1-5/+6
2018-10-23Add 'disabler' argument to functions returning not-found objectsXavier Claessens3-2/+21
When dependency(), find_library(), find_program(), or python.find_installation() return a not-found object and disabler is true, they return a Disabler object instead.
2018-10-22add cpp_std support for MSVCNicole Mazzuca1-3/+34
2018-10-21wrap: Fix crash with file based wrapsXavier Claessens1-3/+3
Add unit test to avoid regressions in the future.
2018-10-20Skip creating a PDB file if a debug build hasn't been requestedMartin Storsjö1-1/+2
When running MSVC on linux via wine, the PDB output doesn't work; this allows skipping that part.
2018-10-20Order rpaths so that internal ones come first.Jussi Pakkanen1-1/+17
2018-10-20Keep absolute rpaths to libraries outside the build dir.Jussi Pakkanen1-10/+13
2018-10-20Remove implicit compression of man pagesMichał Górny2-12/+2
Remove the code responsible for implicitly compressing manpages as .gz files. It has been established that manpage compression is a distro packager's task, with existing distros already having their own implementations of compression. Fixes #4330
2018-10-20Merge pull request #4327 from xclaesse/wrapJussi Pakkanen3-260/+195
wrap: Support using local files instead of downloading
2018-10-20Add 'b_pie' compiler optionXavier Claessens4-8/+50
On Android executables must be position independent, many distributions enable it by default too for security reasons.
2018-10-18wrap: Make 'directory' key optionalXavier Claessens1-23/+20
wrap files can now omit the 'directory' key, in that case it will default to the packagename.
2018-10-18wrap: Rename p to self.wrapXavier Claessens1-48/+48
2018-10-18wrap: Disable interpolationXavier Claessens1-1/+1
2018-10-18wrap: Improve error handling and loggingXavier Claessens2-55/+62
2018-10-18wrap: Remove dead code trying to update git/hg/svn repositoriesXavier Claessens1-72/+21
If the directory exists we early return or raise exception in resolve() method. It was already like that even before the recent refactoring of the code. It is safer like that anyway, we don't want a project reconfigure to silently pull new code. Updating subprojects should be an explicit action of the user. For example gst-build has a 'git-update' script that does that. In the future we could add a 'meson subprojects update' command.
2018-10-17msetup: Remove dead codeXavier Claessens1-9/+0
2018-10-17wrap: Allow source and patch to be local filesXavier Claessens1-87/+78
It is sometimes important to be able to build projects offline, in that case subproject tarballs and patches could be shipped directly within the project's repository.
2018-10-17wrap: Some cleanups and fixes in resolverXavier Claessens1-66/+66
- Use CongifParser instead of parsing ourself, this will give more flexibility in the future. - Always read the .wrap file first, because if it contains the 'directory' key we should use that value instead of packagename for the path where do download/lookup for the subproject. - If we download the subproject (git/submodule/tarball/etc) we should still check it contains a meson.build file.
2018-10-17Added basic detection for AIX linker (not really a better way)Aki Van Ness1-0/+2
2018-10-15Regression fix: Don't try to import empty-string custom target include dirs ↵Matthias Klumpp1-0/+2
(#4342) * Don't try to import empty-string custom target include dirs * Import current directory if custom target dir is empty This restores the previous behavior and fixes test failures caused by the previous commit.
2018-10-14Use relative build-tree RPATHs on macOSDavid Seifert2-30/+33
* This helps with reproducibility on macOS in the same way `$ORIGIN` improves reproducibility on Linux-like systems. * This makes the build-tree more resilient to users injecting rpaths via `LDFLAGS`. Currently Meson on macOS crashes when a build-tree rpath and a user-provided `-Wl,-rpath` in LDFLAGS collide, leading to `install_name_tool` failures. While this still does not solve the root cause, it makes the occurrence much less likely, as users will generally pass absolute `-Wl,-rpath` arguments into Meson.
2018-10-14Do not try to remove duplicate RPATH entries on macOSDavid Seifert1-2/+23
2018-10-14Move some cross file parsing validition to MachineInfoJohn Ericson1-8/+11
This is a domain-specific validation not tied to the surface syntax, so it belongs here in the pipeline.
2018-10-13Added .so to list possible darwin dynamic library suffixes (#4364)gsobala1-1/+1
Occasionally Darwin libraries can be .so rather than .dylib e.g. tensorflow_cc.so tensorflow_cc is a c++ API for Tensorflow (https://github.com/FloopCZ/tensorflow_cc) which was primarily written for Linux but is also compilable on Darwin. Possibly through laziness, possibly just to have consistent filenames, the developers did not opt to change the suffix from the Linux default when this is compiled on Darwin. Also, the Darwin linker will find libraries with a .so suffix if they are in its path. find_library() needs to match the linker behaviour.
2018-10-11dependencies/llvm: Mark as not found when not foundDylan Baker1-0/+3
When either the shard or static libs are not available, and the dependency is not required mark the dependency as not found and return. Fixes #4360
2018-10-10os.path.relpath() can fail on WindowsJon Turney3-13/+15
If builddir and sourcedir have different drive letters, a relative path doesn't exist, and os.path.relpath fails with a ValueError exception. This just fixes the places which are hit by test cases in a simple-minded way. There are several other uses of os.path.relpath(), which might be suspect.
2018-10-10gnome.compile_resources: Put dependency directories before current source dirTingPing1-2/+2
This avoids the problem of generated files with the same name as something in source existing and using the wrong file.
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-08gnome: Quote arguments passed to gtkdoc-scangobjTing-Wei Lan1-4/+5
It is possible for compiler flags to include special characters, such as double quotes which are needed to define macros with -D options. Since gtkdoc-scangobj uses shlex.split to split arguments passed to --cc, --ld, --cflags, --ldflags into lists, we can safely use shlex.quote to properly quote arguments for these options.
2018-10-08Pass arguments from in xcode projectsGuillermo Ignacio Enriquez Gutierrez1-4/+7
2018-10-08Xcode project now supports assembly filesGuillermo Ignacio Enriquez Gutierrez1-1/+7
2018-10-08configure_file: Support taking values from a dictXavier Claessens1-4/+18
Closes #4218
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-07d: Allow static library to be passed with -L to dmd/ldcMatthias Klumpp1-2/+6
2018-10-07Expose wrap_mode as an option. Closes #4266.Jussi Pakkanen4-11/+27
2018-10-07Merge pull request #3900 from xclaesse/in-operatorJussi Pakkanen3-13/+60
Interpreter: Add "in", "not in", "break", and "continue" operators
2018-10-07dependency variable from subproject could be not-foundXavier Claessens1-16/+14
When using a subproject as fallback for a required dependency, we should check if the dependency object we get from the subproject is found.
2018-10-07Print warning when using deprecated 'python3' moduleXavier Claessens1-1/+2
2018-10-07Adding "compiler_type" flag to ARM compilers.Mohammed Amer Khalidi4-13/+19
2018-10-07Substitute output file then check for conflict.Christoph Behle1-5/+5
Fixes Issue #4323. The check to see if a call to configure_file() overwrites the output of a preceding call should perform the substitution for the output file before doing the check. Added tests to ensure the proper behaviour.
2018-10-06i18n: replace path separator with @Marty E. Plummer1-1/+1
using state.subdir will cause / or \ to be inserted into the target name. Replace them with @ to future-proof it. Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
2018-10-05Rewrite `for_*` machine checks in terms of MachineInfo and phase outJohn Ericson2-23/+101
It's much better to directly query the machine in question rather than do some roundabout "is_cross" thing. This is the first step for much natve- and cross- code path deduplication.
2018-10-05MachineInfo: Make equality structuralJohn Ericson1-0/+14
For existing use cases, pointer equality sufficies, but structural is much better going forward: these are intended to be immutable descriptors of the machines.
2018-10-05Pull out essence total map essence of MachineInfos into PerMachineJohn Ericson2-5/+52
We'll eventually have many other data structure duplicated for each build, host, and target machines. This sets up the infrastructure for that.
2018-10-04Interpreter: Add 'continue' and 'break' keywordsXavier Claessens2-4/+34
Closes: #3601
2018-10-04Interpreter: Add "in" and "not in" operatorsXavier Claessens3-11/+28
Closes: #3600
2018-10-05Fix handling generated .desktop files. Closes #4304.Jussi Pakkanen1-10/+12
2018-10-05Centralize description of build, host, and target, machinesJohn Ericson2-68/+98
Instead of just putting these together in the interpreter, put them together in `environment.py` so Meson's implementation can also better take advantage of them.
2018-10-04backends: allow running host arch binaries on compatible build machinesDylan Baker1-4/+6
Meson 0.48.0 some validation for using compiled binaries in custom targets and generators, which is nice. It didn't take into account though that as long as the OS is the same, some architectures support running a related architecture natively (x86_64 can run x86 natively, for example). Fortunately we already have a method for covering this case available through the Environment class. Fixes #4254