aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2019-01-17Merge pull request #4792 from scivision/flangJussi Pakkanen4-2/+24
Flang Fortran compiler added.
2019-01-17add support for generating cmake filesDavid Fort1-0/+221
This new cmake module allows to generate cmake package files. This may ease the porting for cmake projects that are exporting cmake package informations for other depending projects. The module uses as much as possible the templates provided by the cmake installation (and so cmake needs to be installed).
2019-01-17custom_target: do not let install override build_by_defaultLuca Boccassi2-3/+10
A custom_target, if install is set to true, will always be built by default even if build_by_default is explicitly set to false. Ensure that this does not happen if it's set explicitly. To keep backward compatibility, if build_by_default is not set explicitly and install is true, set build_by_default to true. Fixes #4107
2019-01-17coredata: Serialize native files into the cmd_line.txt fileDylan Baker1-0/+6
Because we need to store those as well.
2019-01-17coredata: 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-17coredata: 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-17Merge pull request #4719 from ocrete/fix-posix-langJussi Pakkanen2-2/+19
Replace surrogates with valid codepoints to print env
2019-01-16FlangFortranCompiler inherit ClangCompilerMichael Hirsch, Ph.D2-28/+8
2019-01-16better handle link args: PGI and FlangMichael Hirsch, Ph.D2-4/+10
correct flang, pgi options
2019-01-16Flang Fortran compiler added.Michael Hirsch, Ph.D4-0/+36
2019-01-16mintro: Introspection interpreter refactoring (#4733)Daniel Mensinger4-153/+100
* Fixed spelling * Merged the Buildoptions and Projectinfo interpreter * Moved detect_compilers to Environment * Added removed test case * Split detect_compilers and moved even more code into Environment * Moved set_default_options to coredata * Small code simplification in mintro.run * Move cmd_line_options back to `environment` We don't actually wish to persist something this unstructured, so we shouldn't make it a field on `coredata`. It would also be data denormalization since the information we already store in coredata depends on the CLI args.
2019-01-16find_external_dependency: Return NotFoundDependency()Xavier Claessens1-6/+1
The returned not-found object can be from any type because we were returning the first of the failed attempts. It also can happen that we don't have any dependency object in which case we should just return NotFoundDependency() object as well instead of raising an exception. That exception was happening before, but dependency_impl() was calling find_external_dependency() in a try block so it was hidden.
2019-01-16ConfigTool: Avoid None being printed in logsXavier Claessens1-13/+17
When req_version is None (e.g. pcap-config case) it gets printed in the logs. Take this opportunity to reformat the message to look more like ExternalProgram messages.
2019-01-16Fix flake8 errorsXavier Claessens4-6/+3
2019-01-16do_subproject: Improve log messages and formattingXavier Claessens2-27/+32
2019-01-16extract_required_kwarg: Fix typoXavier Claessens1-1/+1
2019-01-16dependency: Cleanup code by avoiding nested if blocksXavier Claessens1-35/+29
2019-01-16dependency: Not all DependencyException means not-found depXavier Claessens1-4/+3
2019-01-16dependency: Add has_fallback variableXavier Claessens1-5/+6
2019-01-16dependency_fallback: Set 'required' in subproject's kwargsXavier Claessens1-16/+11
This makes error clearer because it stops exactly where the error occurs during the subproject configuration.
2019-01-16dependency_fallback: Pass display_name in argumentsXavier Claessens1-3/+2
2019-01-16do_subproject: InvalidCode is always an errorXavier Claessens1-19/+5
Not need to catch exceptions in dependency_fallback(), it's already handled in do_subproject(). This ensure subproject errors are handled the same way when doing dependency() fallback and when doing subproject().
2019-01-16dependency_fallback: Simplify useless try blockXavier Claessens1-5/+1
2019-01-16dependencies: Avoid duplicated codeXavier Claessens1-57/+30
The dependency version from a subproject was checked in two different places. Do it in get_subproject_dep().
2019-01-16dependencies: Remove version from cache keyXavier Claessens2-28/+21
We cannot have 2 different versions with all other kwargs being identical. This simplifies a lot that code.
2019-01-15mesonmain: 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-15mintro: Added `defined_in` key in the targets introspectionDaniel Mensinger1-0/+2
2019-01-15restore PGI compile functioningMichael Hirsch, Ph.D3-14/+29
2019-01-14Merge pull request #4764 from mensinda/introVersCheckJussi Pakkanen1-8/+22
mintro: Check meson-info.json version instead of loading coredata
2019-01-14Build class should not duplicate compiler stateJohn Ericson2-13/+12
Compilers should be held by coredata, so this is just here for convenience.
2019-01-13Load source dir from meson-info.jsonDaniel Mensinger1-4/+5
2019-01-13mintro: Check meson-info.json version instead of loading coredataDaniel Mensinger1-4/+17
2019-01-13interpreter: obey to the install argument in configure_fileMarco Trevisan (Treviño)1-2/+12
If a configure_file has an install_dir set, the supported install argument is ignored, while this should have actually higher priority than the install_dir itself. Also check that correct types are used for `install` and `install_dir`. Add test to verify this. Fixes #3983
2019-01-13Merge pull request #4731 from mensinda/introBreak2Jussi Pakkanen1-10/+6
mintro: Changes to the introspection API
2019-01-13OpenBSD: 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-11Fix a typo in an error messageJon Turney1-1/+1
2019-01-10Fix finding the static linker for native compiler in cross buildJohn Ericson1-1/+2
Native ar and cross ar are not the same!
2019-01-10rpm: Bring RPM module back in to a working stateAlistair Thomas1-47/+57
2019-01-10`environment.cross_info.need_cross_compiler()` doesn't existJohn Ericson1-1/+1
It is no longer needed either.
2019-01-10Merge pull request #4746 from mesonbuild/parisc64Jussi Pakkanen1-0/+4
Report parisc64 as parisc. Closes #4714.
2019-01-10Remove spurious case in interpreterJohn Ericson1-2/+0
`need_cross_compiler = is_cross_build()`, so the condition is always false.
2019-01-10Add get_werror_args for CCRX C compilerPhillip Cao1-0/+3
2019-01-09Report parisc64 as parisc. Closes #4714.Jussi Pakkanen1-0/+4
2019-01-07Deprecated --target-files APIDaniel Mensinger1-2/+7
2019-01-07Changed introspection target formatDaniel Mensinger1-14/+5
2019-01-07Merge pull request #4732 from mensinda/introMesonInfo2Jussi Pakkanen3-64/+147
mintro: Added `meson-info.json` introspection information about the latest meson run
2019-01-07Calculate target paths correctly when workdir is set.Jussi Pakkanen1-1/+8
2019-01-07ninjabackend: Adding missing shell quotes for compiler argumentsRobert Bragg1-4/+4
Since trying to cross compile for Windows from Linux (WSL) and having paths like this: '-L/mnt/c/Program Files (x86)/Microsoft Visual Studio/2017/\ Community/VC/Tools/MSVC/14.15.26726/lib/x64' I found that the spaces and brackets in the paths weren't properly escaped by the Ninja backend.
2019-01-07Add new meson.py unstable-coredata subcommand.Martin Hostettler2-1/+129
This adds a hidden option to dump the current otherwise hidden peristant state in coredata.dat. This interface is unstable as meson has no compatibility promises about coredata.dat.
2019-01-06Save 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.