Commit Graph

1388 Commits

Author SHA1 Message Date
Nirbheek Chauhan 94ea9d97be docs: Clarify what literal strings mean [skip ci]
Someone on IRC was confused by this paragraph.
2020-09-21 15:36:24 +05:30
Jussi Pakkanen 13a8e1d26e Improve docs for creating new wraps. [skip ci] 2020-09-21 01:48:30 +03:00
Sebastian Meyer a24fde6fde
Add support for the CompCert C Compiler
* Add preliminary support for the CompCert C Compiler

The intention is to use this with the picolibc, so some GCC flags are
automatically filtered. Since CompCert uses GCC is for linking, those
GCC-linker flags which are used by picolibc, are automatically prefixed
with '-WUl', so that they're passed to GCC.

Squashed commit of the following:

commit 4e0ad66dca9de301d2e41e74aea4142afbd1da7d
Author: Sebastian Meyer <meyer@absint.com>
Date:   Mon Aug 31 14:20:39 2020 +0200

    remove '-fall' from default arguments, also filter -ftls-model=.*

commit 41afa3ccc62ae72824eb319cb8b34b7e6693cb67
Author: Sebastian Meyer <meyer@absint.com>
Date:   Mon Aug 31 14:13:55 2020 +0200

    use regex for filtering ccomp args

commit d68d242d0ad22f8bf53923ce849da9b86b696a75
Author: Sebastian Meyer <meyer@absint.com>
Date:   Mon Aug 31 13:54:36 2020 +0200

    filter some gcc arguments

commit 982a01756266bddbbd211c54e8dbfa2f43dec38f
Author: Sebastian Meyer <meyer@absint.com>
Date:   Fri Aug 28 15:03:14 2020 +0200

    fix ccomp meson configuration

commit dce0bea00b1caa094b1ed0c6c77cf6c12f0f58d9
Author: Sebastian Meyer <meyer@absint.com>
Date:   Thu Aug 27 13:02:19 2020 +0200

    add CompCert to meson (does not fully work, yet)

* remove unused import and s/cls/self/

fixes the two obvious LGTM warnings

* CompCert: Do not ignore unsupported GCC flags

Some are safe to ignore, however, as per
https://github.com/mesonbuild/meson/pull/7674, they should not be
ignored by meson itself. Instead the meson.build should take care to
select only those which are actually supported by the compiler.

* remove unused variable

* Only add arguments once.

* Apply suggestions from code review

Co-authored-by: Dylan Baker <dylan@pnwbakers.com>

* Remove erroneous ' ' from '-o {}'.format()

As noticed by @dcbaker

* added release note snippet for compcert

* properly split parameters

As suggested by @dcbaker, these parameters should be properly split into multiple strings.

Co-authored-by: Dylan Baker <dylan@pnwbakers.com>

* Update add_compcert_compiler.md

Added a sentence about the state of the implementation (experimental); use proper markdown

* properly separate arguments

Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
2020-09-15 21:51:21 +03:00
Xavier Claessens 67c0ec1640 InternalDependency: Add as_link_whole() method 2020-09-14 20:32:22 -04:00
Xavier Claessens 9d338200da external-project: New module to build configure/make projects
This adds an experimental meson module to build projects with other
build systems.

Closes: #4316
2020-09-13 13:54:47 -04:00
Xavier Claessens 14c1a6983d msubprojects: Allow comma separated list of types 2020-09-10 11:39:30 -04:00
Xavier Claessens a3ac25b0c3 msubprojects: Fix review comments 2020-09-10 11:39:30 -04:00
Xavier Claessens 1101144d86 doc: Update new `meson subprojects` behaviors 2020-09-10 11:39:30 -04:00
Jon Turney 1480fdfa9a Add release note snippet 2020-09-10 07:20:41 +00:00
Jon Turney fc0f0df74b Don't require build machine compilers for project() languages
This means that, in the common case of a simple meson.build which
doesn't contain any 'native: true' targets, we won't require a native
compiler when cross-compiling, without needing any changes in the
meson.build.
2020-09-10 07:20:41 +00:00
Daiki Ueno 7ad66e8a1a docs/Users: add p11-kit [skip ci]
Signed-off-by: Daiki Ueno <ueno@gnu.org>
2020-09-07 11:24:07 +02:00
Michal Sojka 28f15390b9
doc: Add missing method arguments [skip ci]
Documentation of most methods mentions method arguments enclosed in
parentheses. Two methods are an exception and we fix them here to make
the manual more consistent.
2020-09-06 20:26:14 +03:00
Krzysztof Małysa 49b3182748 docs: Fix typo in Reference-manual.md [skip ci] 2020-09-05 16:56:28 -04:00
Paolo Bonzini fa5c2363eb introspect: add test dependencies info to test/benchmark JSON
Add the ids of any target that needs to be rebuilt before running the
tests as computed by the backend, to the introspection data for tests and benchmarks.
This also includes anything that appears on the test's command line.

Without this information, IDEs must update the entire build before running
any test.  They can now instead selectively build the test executable
itself and anything that is needed to run it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-09-04 14:45:20 +02:00
Nirbheek Chauhan bfb8d25deb docs: Add a snippet for python 3.5 deprecation [skip ci] 2020-09-02 16:29:39 +00:00
Daniel Berrangé 0ec8bebae8 Add Entangle application to list of apps using Meson
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-09-02 12:00:51 +02:00
Michael Brockus 0755be5048 Add some forgotten values for "cpp_std" [skip ci] 2020-09-02 11:06:06 +02:00
Sebastian Engel ac8cc2106f Clarify the use of -Doption and alternatives [skip ci]
The -Doption=value style argument works for all builtin options,
and compiler options passed to meson. And some universal options,
have additional ways to be passed. However, base options (and compiler
options) do not have exactly the same ways of passing as universal
options.

This change adds a few pieces of information, which might get lost,
if the manual is not read serially.

[skip ci]
2020-08-30 23:38:51 +03:00
Daniel Mensinger 17439fa3e8 test: Add 'dir' support for installed files in test.json
This is useful for automatically generated docs (doxygen, hotdoc)
with a lot of generated files that may differ with different
versions of the generator.
2020-08-27 00:08:57 +00:00
Jussi Pakkanen 3a25efc056
Merge pull request #7581 from peterh/aix
Add AIX support
2020-08-25 23:58:17 +03:00
Eli Schwartz 1de1cc22e2 qt module: add qresource support to compile_translations
A common pattern in Qt5 applications is to embed translations in the
executable using the qresource system. In this case, the list of
translation files is already available in the .qrc file and there's no
good reason to duplicate this info in meson.build.

Let compile_translations optionally take a qrc input, in which case it
will go straight to generating the relevant translations and
rcc-generated .cpp, and directly return the thing users actually care
about -- the .cpp for linking.
2020-08-25 23:46:45 +03:00
Jussi Pakkanen fc13c90de3
Merge pull request #7600 from alexrp/master
Add C2x option support.
2020-08-23 00:26:44 +03:00
Alex Rønne Petersen 450155110c Add C2x option support. 2020-08-22 18:57:05 +02:00
Jussi Pakkanen c42298e146
Merge pull request #7447 from scivision/nvc
Add support for NVidia HPC SDK compilers
2020-08-22 18:31:56 +03:00
noasakurajin fbc6d50acc
added VS Code/Codium extention [skip ci] 2020-08-22 14:38:45 +03:00
Paolo Bonzini 01724071ee Virtualization 💖 Meson [skip ci]
There are a couple new users of Meson that might be worth mentioning.
502 commits later, Libvirt and QEMU have both switched!

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-08-21 12:54:42 -04:00
Xavier Claessens 1c403e20e7 Interpreter: Fix c_stdlib usage
- Exceptions raised during subproject setup were ignored.
- Allow c_stdlib in native file, was already half supported.
- Eliminate usage of subproject variable name by overriding
  '<lang>_stdlib' dependency name.
2020-08-18 14:47:38 -04:00
Peter Harris 1b2708eb79 docs: add AIX preliminary support snippet 2020-08-17 21:21:33 -04:00
Michael Brockus 7092efabb5 add owl chess in Users.md [skip ci] 2020-08-15 07:47:22 -07:00
Michael Brockus ee2f32d0c7 Add paper rock scissors to Users.md [skip ci] 2020-08-15 12:01:51 +03:00
John Scott 96e7ebc162 Add that prefix keyword works for cc.get_define 2020-08-15 07:59:29 +00:00
Nirbheek Chauhan 146febd4f2 docs: Clarify some FAQs in the Tutorial [skip ci]
Clarifications that were observed to be needed when seeing a user try
the Tutorial for the first time at:
https://www.twitch.tv/videos/709237047?t=50m20s
2020-08-14 16:49:11 -04:00
Michael Brockus 352f05fe7c
Written a new paragraph for var naming recommendation (#7531) 2020-08-08 01:36:02 +03:00
Nirbheek Chauhan eeebfded85 Document VS backend from_buildtype behaviour change in release notes
Closes https://github.com/mesonbuild/meson/issues/7438
2020-08-05 16:40:53 +00:00
Dylan Baker 3040f3c8dc
Merge pull request #6597 from dcbaker/full-project-config
Set project and meson options in cross/native files
2020-08-02 10:03:13 -07:00
Ebrahim Byagowi 894623ad5a docs/users: Add HarfBuzz [skip ci]
Proudly a meson user now
2020-08-02 16:36:16 +03:00
Dylan Baker 3a4d8dde52 update version from 0.55. to 0.56 2020-08-01 22:00:06 -07:00
Dylan Baker 601789cc7c machine-files: deprecate the paths section 2020-08-01 22:00:06 -07:00
Dylan Baker 1ca17dc853 docs/machine-files: Add a section on data types
This attempts to clarify the usage of strings and arrays, as well as
document the boolean type that has been exposed via the project and
built-in options
2020-08-01 22:00:06 -07:00
Dylan Baker bbba6a7f36 Allow setting built-in options from cross/native files
This is like the project options, but for meson builtin options.

The only real differences here have to do with the differences between
meson builtin options and project options. Some meson options can be set
on a per-machine basis (build.pkg_config_path vs pkg_config_path) others
can be set on a per-subproject basis, but should inherit the parent
setting.
2020-08-01 22:00:06 -07:00
Alexis Jeandet 46a4557021 Doc: Added clarification on introspection files gen order [skip ci]
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2020-07-31 19:27:53 +02:00
Dylan Baker 54fb616278 docs/Machine-files: remove duplicate Properties section 2020-07-30 19:34:37 -07:00
Dylan Baker a6164ca5a8 Allow setting project options from cross or native files
This allows adding a `[project options]` section to a cross or native file
that contains the options defined for a project in it's meson_option.txt
file.
2020-07-30 19:34:37 -07:00
Matthew D. Scholefield bc2338efd3
Describe syntax of `meson configure [skip ci]
This makes it a lot easier for people to quickly figure out how to customize parameter.
2020-07-28 20:47:20 +03:00
Xavier Claessens c016401f95 coredata: Make warning_level per subproject builtin option 2020-07-22 19:19:50 -04:00
cmcneish a7a6a4833f
Add boost_root support to properties files (#7210)
* Add boost_root support to properties files

This commit implements `boost_root`, `boost_includedir`, and
`boost_librarydir` variable support to native and cross properties
files. The search order is currently environment variables, then
these variables, and finally a platform-dependent search.

* Add preliminary boost_root / boost_includedir tests

Each test contains a fake "version.hpp", as that's how boost detection is
currently being done. We look for this file relative to the root directory,
which probably shouldn't be allowed (it previously was for BOOST_LIBRARYDIR
but not for BOOST_ROOT). It also cannot help with breakage detection in
libraries, however it looks like this wasn't getting tested beforehand.

I've given the two unique version numbers that shouldn't be present in any
stock version of boost (001 and 002).

* Add return type to detect_split_root

* Return empty list when nothing found in BOOST_ROOT, rather than None

* Update boost_root tests

* Create nativefile.ini based on location of run_project_tests.py
* Add fake libraries to ensure boost_librarydir is being used

* Require all search paths for boost to be absolute

* Redo boost search ordering

To better match things like pkg-config, we now look through native/cross files,
then environment variables, then system locations for boost installations.

Path detection does not fall back from one method to the next for properties or
environment variables--if boost_root, boost_librarydir, or boost_includedir is
specified, they must be sufficient to find boost. Likewise for BOOST_ROOT and
friends. pkg-config detection is still optional falling back to system-wide
detection, for Conan.

(Also, fix a typo in test 33's nativefile)

* Correct return type for detect_roots

* Correct boost dependency search order in documentation

* Print debug information for boost library finding, to resolve CI issues

* Handle native/cross file templates in a more consistent way

All tests can now create a `nativefile.ini.in` if they need to use some
parameter that the testing framework knows about but they can't.

* Pass str--rather than PosixPath--to os.path.exists, for Python35

* Look for boost minor versions, rather than boost patch versions in test cases

* Drop fake dylib versions of boost_regex

* Prefer get_env_var to use of os.environ

* Correct error reporting for relative BOOST_ROOT paths

* Bump version this appears in. Also, change "properties file" to "machine file" as that appears to be the more common language.
2020-07-21 16:40:29 +02:00
Stéphane Cerveau 8f106a2b9a string: add substring method
This method aims to offer a simple way to 'substring'
an existing string with start and end values.
2020-07-20 20:04:01 -04:00
wb9688 4974fa39ac
Fix dirs typo in Vala docs [skip ci]
Co-authored-by: wb9688 <wb9688@users.noreply.github.com>
2020-07-19 22:41:36 +03:00
Marc-André Lureau aa0d75deae Stabilize keyval module
We have experimented with the module for about a year in a qemu
branch (https://wiki.qemu.org/Features/Meson), and we would like to
start moving the build system to meson. For that, keyval should have
the stability guarantees.

Cc: Paolo Bonzini <pbonzini@redhat.com>
2020-07-19 17:53:32 +03:00
Nathan Lanza 4b728293cd
Replace `dynamic linker` with `linker` [skip ci]
This header erroneously referred to the dynamic linker while the paragraph talks about
the "link editor." Change the title to account for the difference.
2020-07-14 20:48:11 +03:00