Commit Graph

971 Commits

Author SHA1 Message Date
John Ericson 9149aaba9c `add_{global,project}_{,link_}arguments`: simply native flag behavior
This further simplifies behavior to match the "build vs host" decision
we did with `c_args` vs `build_c_args`. The rules are now simply:

 - `native: true` affects `native: true` targets

 - `native: false` affects `native: false` targets

 - No native flag is the same as `native: false`

I like this because you don't even have to know what "build" and "host"
mean to understand how it works, and it doesn't depend on whether the
overall build is cross or not.

Fixes #4933
2019-06-27 21:24:50 +03:00
Iñigo Martínez 05da008480 docs: Fix link to SourceSet module in the navbar [skip ci] 2019-06-27 09:15:48 -07:00
Dylan Baker e182dba61f dependencies/base: Set PKG_CONFIG_SYSROOT_DIR from cross file
In some cases it may be necessary to set PKG_CONFIG_SYSROOT_DIR, like
when you've mounted a host architecture system in an arbitrary path.
Meson will now check the cross files for a [properties]:sys_root
variable and set the PKG_CONFIG_SYSROOT_DIR environment variable based
on that variable.

Fixes #3801
Fixes #4057
2019-06-26 23:28:33 +03:00
Dylan Baker e2039da5d9 Split attribute visibility
* c_function_attributes: remove 'protected' from 'visibility'

This doesn't exist on macos with the apple compiler, which always causes
failures.

Fixes #5530

* compilers: Add split visibility checks to has_function_attribute

These check for a single visibility at a time, rather than all four at
once. This allows for finer grained searches, and should make using
these checks safer across operating systems.
2019-06-25 00:02:26 +03:00
Michael Hirsch, Ph.D 40a3a6c3d0 only --only option to run_project_tests, add type hints, improve variable name use 2019-06-23 18:22:43 +03:00
Dylan Baker d35d7ccad1 docs: Update libdir caveat
Fixes #5514
2019-06-21 16:55:18 +03:00
andy5995 a1ea5fd16b Quick_guide.md:add python-setuptools and wheel
per IRC discussion, the wheel package isn't required but reduces
harmless warnings.

[skip ci]
2019-06-19 00:05:30 +03:00
andy5995 ceb70a5c2e Reference-manual.md:add missing equal sign in "both_libraries" section
[skip ci]
2019-06-19 00:03:36 +03:00
Jussi Pakkanen 5ecab57667 Update things for new release. 2019-06-16 22:03:29 +03:00
Francisco Velázquez 288ef0e0e7 Tutorial.md: Improve English [skip ci] 2019-06-16 20:43:55 +03:00
Dylan Baker 15ab1f64f9 modules/python: add a modules keyword argument
This mirrors the modules keyword argument that some dependencies (such
as qt and llvm) take. This allows an easier method to determine if
modules are installed.
2019-06-12 14:13:20 +03:00
Dylan Baker 0e23dbec81 docs: compiler objects are returned [skip ci]
Not a series problem, but annoys me that that it's in the builtin
section when it's a returned object.
2019-06-10 23:48:27 +03:00
Jussi Pakkanen 6b4b601eaf Rewrap some doc lines. [skip ci] 2019-06-10 01:46:55 +03:00
Dylan Baker 342767d6c7 docs: Add bzip2 to the Users page 2019-06-08 18:05:44 +03:00
Daniel Mensinger 4abd2e7103
cmake: doc: fixed typos 2019-06-06 18:27:05 +02:00
Daniel Mensinger 438ee6b01d
cmake: updated docs 2019-06-06 18:27:05 +02:00
Daniel Mensinger 35936316eb
cmake: rebase fixes 2019-06-06 18:27:04 +02:00
Daniel Mensinger 6cb904de7b
cmake: Added docs 2019-06-06 18:27:03 +02:00
John Ericson af2d7af998 Per machine do 'build.' and '' option prefixes
See the docs/ changes for details.
2019-06-05 23:05:34 -04:00
Eli Schwartz 5a0fec13b6 doc: fix typo [skip ci]
Error introduced in commit 8e403e08ac
2019-05-31 12:31:26 -07:00
Mathieu Duponchelle 12a82e763d interpreter: add fallback argument to subproject.get_variable() 2019-05-28 20:26:54 +03:00
Dylan Baker 0714ba58c7 coredata: add cmake_prefix_path option 2019-05-27 01:24:08 +03:00
Dylan Baker 0d19d334a8 docs: pkg_config_path is a list not a string
You should pass arguments as a list, ie -Dpkg_config_path=/foo,/bar
and meson will join the paths appropriately for you.
2019-05-27 01:24:08 +03:00
Joel Rosdahl f13e65b93a Update to new ccache URL
ccache’s web site is now located at https://ccache.dev.

Bonus: Use the preferred capitalization “Ccache” instead of “CCache”.
2019-05-27 01:10:57 +03:00
Erik Faye-Lund 9b3592a8ba docs/Users: update Mesa link [skip ci]
Mesa's primary home is now in the Freedesktop GitLab instance. The cgit repo is just a mirror.
2019-05-23 21:21:35 +03:00
Jussi Pakkanen 8e403e08ac Use library() instead of rolling your own. [skip ci] 2019-05-23 00:45:51 +03:00
Jussi Pakkanen 77a933faca
Merge pull request #5028 from bonzini/sourceset
new module "sourceset" to match source file lists against configuration data
2019-05-23 00:01:29 +03:00
Michael Hirsch, Ph.D 44b6ccbe56 join_paths => / [skip ci] 2019-05-22 23:56:50 +03:00
Paolo Bonzini d894c48660 new module "sourceset" to match source file lists against configuration data
In QEMU a single set of source files is built against many different
configurations in order to generate many executable.  Each executable
includes a different but overlapping subset of the source files; some
of the files are compiled separately for each output, others are
compiled just once.

Using Makefiles, this is achieved with a complicated mechanism involving
a combination of non-recursive and recursive make; Meson can do better,
but because there are hundreds of such conditional rules, it's important
to keep meson.build files brief and easy to follow.  Therefore, this
commit adds a new module to satisfy this use case while preserving
Meson's declarative nature.

Configurations are mapped to a configuration_data object, and a new
"source set" object is used to store all the rules, and then retrieve
the desired set of sources together with their dependencies.

The test case shows how extract_objects can be used to satisfy both
cases, i.e. when the object files are shared across targets and when
they have to be separate.  In the real-world case, a project would use
two source set objects for the two cases and then do
"executable(..., sources: ... , objects: ...)".  The next commit
adds such an example.
2019-05-22 12:09:09 +02:00
Jussi Pakkanen e9bd7d49bd
Merge pull request #5372 from dcbaker/get_variable
Dependency.get_variable method
2019-05-21 21:57:05 +03:00
Jussi Pakkanen 79d530e325 Generators can have extra target dependencies. Closes #4131. 2019-05-20 23:38:13 +03:00
Dylan Baker c890c947fa fixup! tests: Add test for Dependency.get_variable 2019-05-20 10:41:26 -07:00
Dylan Baker ffe2a678d5 docs: Add docs for Dependency.get_variable 2019-05-20 10:41:11 -07:00
Szunti cf662ded46 Fix typo in Dlang-module.md 2019-05-17 15:16:37 -07:00
Jussi Pakkanen 7b8ef78bc0
Merge pull request #5331 from dcbaker/icl
ICL (Intel for Windows) support
2019-05-14 00:24:48 +03:00
Nirbheek Chauhan b849f6f935 FAQ: Add an entry about the library naming scheme with MSVC [skip ci]
This is very frequently asked.
2019-05-13 23:24:18 +03:00
Dylan Baker 523c7beefc docs/markdown: add snippet for intel-cl support 2019-05-13 11:22:31 -07:00
Dylan Baker be88945ee3 docs/reference-table: Add intel-cl
Because the Intel compiler behaves significantly differently on windows
than it does on Linux and MacOS I've decided it would be better to
follow the clang/clang-cl split and make id "intel-cl" on windows
(leaving "intel" alone on Linux and Mac). Since we've never supported
ICL and it hasn't worked in the past I think this is an okay change to
make.
2019-05-13 11:22:31 -07:00
Jussi Pakkanen 1ff6a8b5d5 Add entry for random design points. [skip ci] 2019-05-12 00:30:08 +03:00
Daniel Eklöf c2ee82cc41 add support for "target_type: 'shared_module'" in build_target() 2019-05-09 22:43:10 +03:00
Jussi Pakkanen d31db565e1 Add white border to logo used on web pages. [skip ci] 2019-05-05 23:07:49 +03:00
nicole mazzuca 24d5c73b0a add -fno-exceptions if cpp_eh=none is specified 2019-05-05 21:19:04 +03:00
Amit D 128d313b66 Update Users.md [skip ci] (#5358) 2019-05-04 14:59:48 +00:00
Michael Hirsch, Ph.D 06bfc2dab6 per-target manual specification of link_language 2019-05-02 23:26:51 +03:00
Nicole Mazzuca 16463046b1 Add vc++ cpp_std flags to the documentation 2019-05-02 13:23:19 -07:00
Jussi Pakkanen 7059c47aad
Merge pull request #5161 from TheQwertiest/feature/custom_target_link
Can link against custom_target[i]
2019-05-02 22:21:56 +03:00
Jussi Pakkanen ec757492bf Describe how to add support for new compilers. [skip ci] 2019-05-02 21:58:03 +03:00
TheQwertiest 68a8481a05 Updated docs with information about `custom_target[i]` 2019-04-29 16:07:50 +03:00
Jon Turney ccc4ce28cc consistent invalid escape sequence behaviour
* docs: document unrecognized escape sequence behaviour [skip ci]

Document that unrecognized escape sequence behaviour is like python, not
C.

* Don't try to decode invalid hex escape sequences

Don't try to decode escape sequences which should contain a sequence of
hex digits, but don't, throwing a python exception.  These will treated
literally instead.

* Extend test case to cover invalid escape sequences
2019-04-28 23:06:36 +03:00
Jussi Pakkanen bbd67bbae9 Rewrap text. [skip ci] 2019-04-24 23:19:13 +03:00