Commit Graph

738 Commits

Author SHA1 Message Date
Xavier Claessens c453400d59 Add 'b_pie' compiler option
On Android executables must be position independent, many
distributions enable it by default too for security reasons.
2018-10-20 00:47:27 +03:00
Xavier Claessens d6fba7f01c wrap: Allow source and patch to be local files
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-17 21:56:49 -04:00
TingPing aca2f7ed97
docs/Release-notes-for-0.47.0.md: Fix highlighting 2018-10-15 16:15:08 -04:00
TingPing d64eed7791
docs/Release-notes-for-0.48.0.md: Minor cleanups 2018-10-15 16:11:42 -04:00
Will Thompson d2de93aa01 Users.md: fix ‘userpsace’ typo [skip ci] 2018-10-15 09:42:55 +01:00
Jussi Pakkanen 2d5e2142e9 Added add_project_arguments description to argument page. [skip ci] 2018-10-13 23:26:11 +03:00
Xavier Claessens b9e405c634 doc: Add missing assert() function [skip ci] 2018-10-12 22:25:40 +03:00
Jussi Pakkanen 302df74cc3 Add CppCon Youtube link to videos page. [skip ci] 2018-10-10 22:16:26 +03:00
Dylan Baker e9ba04537f Add gnu hurd to *_machine information 2018-10-10 19:42:51 +03:00
Xavier Claessens 38a6582145 configure_file: Support taking values from a dict
Closes #4218
2018-10-08 21:03:32 +03:00
Cristian Molina 24ea95abb1 Add elementary OS (#4341) [skip ci]
Starting with Juno release, all native vala programs/libs use Meson as build system.
[See blog post](https://medium.com/elementaryos/all-aboard-the-meson-future-hype-train-2b6c478b6b9e) and [official docs](https://elementary.io/docs/code/getting-started#the-build-system).
2018-10-07 10:03:17 -07:00
Xavier Claessens b6fc063b13 Add documentation and release notes for 'in', 'continue' and 'break' 2018-10-04 20:18:56 -04:00
Jan Tojnar c0c075c129 Make custom dist scripts accept arguments.
meson.add_dist_script, introduced in #3906, did not accept any arguments
other than script name. Since all other meson.add_*_script methods
do accept args, this makes the dist script accept them as well.
2018-10-04 21:20:57 +03:00
Mike Gilbert 019a627f04 Document the compiler.cmd_array() method 2018-10-04 21:19:03 +03:00
Nirbheek Chauhan 31e1e524ca
Document when console: kwarg was added [skip ci] 2018-10-03 18:35:35 +05:30
Patrick Griffis 46a42a69a6 Add custom libgcrypt dependency using libgcrypt-config
Fixes #3563
2018-10-03 01:22:59 +03:00
Jussi Pakkanen e6395c6f44
Merge pull request #4051 from GoaLitiuM/d-debug
D: Add conditional debug compilation flags
2018-10-02 21:49:29 +03:00
Dylan Baker 829d7bf6f9 docs: Add note to cpu_family table about endianess [skip ci]
Autotools will add endianess to the name of the architecture in some
cases (such as ppc64le vs ppc64) meson doesn't do this. It's worth
noting this in the documentation.
2018-10-02 21:08:24 +03:00
Kostiantyn Ponomarenko ddc15e1bba Docs: fix 'Wrap-dependency-system-manual' to be more consistent [skip ci] 2018-09-30 12:22:19 -07:00
Dylan Baker c354a2b1cf docs/Builtin-options: Clarify -Dc_args for cross compilation (#4289) [skip ci] 2018-09-28 14:39:58 -07:00
Salamandar 26a5e9a95f Add support for uic_extra_arguments to qt5 (#4178) 2018-09-28 13:01:27 -07:00
Ari Vuollet c4b885bfd1 docs: Document conditional debug compilation flags [skip ci] 2018-09-27 17:49:48 +03:00
Jussi Pakkanen f0c4d1cd00
Merge pull request #4214 from 3v1n0/gtk-docs-improvements
Gtk docs improvements
2018-09-25 20:40:42 -07:00
ePirat 80721b7605 Docs: Add DEPFILE to substitutions list [ci skip] 2018-09-25 20:37:33 -07:00
Nirbheek Chauhan 1190ec096e
Update Release-notes-for-0.48.0.md
Add some missing `` to titles. In one case it was causing `__` to 
be interpreted as 'make this text bold'
2018-09-24 15:43:16 +05:30
Kostiantyn Ponomarenko 384c68e712 Fix a typo in example commit message [skip ci] 2018-09-23 12:22:09 +03:00
Alexey Brodkin 9453ac6182 mesonbuild: Recognise ARC architecture
-------------------------->8-----------------------
root@nsimhs:~# python

Python 2.7.15 (default, Sep 20 2018, 21:44:15)
[GCC 8.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import platform
>>> print platform.machine()
arc
-------------------------->8-----------------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2018-09-23 11:22:38 +03:00
Jussi Pakkanen 0cf4a6ab3a Updated release note page. 2018-09-22 23:11:59 +03:00
Marco Trevisan (Treviño) 5bec6c28e7 gnome: add support for `module_version`
gtk-doc for autotools has the concept of module version, that is used to define
the module install path and the devhelp2 basename.

Add a `module_version` parameter to gnome.gtkdoc to replicate the same behavior.
Updated the test checking that the install_dir is properly computed (if not
passed), and that the .devhelp2 file has proper name.

https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_29/buildsystems/autotools/gtk-doc.make#L269
2018-09-21 09:13:21 +02:00
Marco Trevisan (Treviño) 2b6fa3dd3b docs, Gnome-module: document include_directories in gtkdoc
This parameter is supported for some time but has never been documented.
2018-09-21 09:13:21 +02:00
Bruce Richardson 9a29496a9b clarify old behaviour of set_variable in documentation [skip ci]
Thanks to PR #3483, set_variable can be used to assign array values.
However, the fact that it cannot be used for arrays before 0.46.1 needs
a mention in the documentation, since otherwise users can get unexpected
dependencies on later meson versions.
2018-09-20 19:00:42 +03:00
Bruce Richardson 62d92e3a19 syntax guide: move logical ops section beside if statement [skip ci]
The "if" statement only covers a small set of the possible ways in
which conditionals can be written, since it leaves the use of
"and", "or" and "not" to the "Logical Operations" section. However,
this is likely to be of interest to those reading about "if" statments,
so move the "logical operations" section up to immediately follow it.
This change also puts in the use of the "!=" operator in the example
to widen the variety of combinations shown.
2018-09-20 08:13:08 -07:00
Xavier Claessens bbac77c31f Doc: Deprecate python3 module [skip ci]
The new 'python' module is a superset of its features, keeping both is
confusing.

Closes #4168.
2018-09-18 11:50:45 -07:00
Alexis Jeandet 689d32ecfb [skip ci] Add some documentation for PR #3998
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2018-09-17 23:35:06 +03:00
Iñigo Martínez eb7ed4dafb gnome.gtkdoc: Add new c_args parameter
gtkdoc-scangobj also accepts compiler arguments. In the same way
that include_directories includes directories, the new c_args
parameter also appends compiler arguments.
2018-09-17 21:27:02 +03:00
Will Thompson f5bb3005a2 Pkgconfig-module.md: fix typos [skip ci]
Almost every keyword documented here takes this form:

  - `foo` bar

with no comma after the keyword. Make `filebase` consistent, and fix a
comma splice.

Fix 'Arbitraty' typo in `libraries` documentation.
2018-09-17 08:00:07 -07:00
Xavier Claessens 3cf03ec6d6 find_installation: Add support for feature option in required kwarg
Closes: #4165.
2018-09-16 15:07:43 +03:00
Andrei Alexeyev 67cc636e53 Add 'clone-recursive' option for git wraps
This causes Meson to clone the repo with the --recursive flag, pulling
all of the submodules automatically.
2018-09-16 14:57:56 +03:00
Jussi Pakkanen f2041405fb
Merge pull request #4017 from jon-turney/version-comparison-rewrite
Use rpmvercmp version comparison
2018-09-13 22:19:35 +03:00
Jussi Pakkanen 4631dbfc27 Upgrade to newest hotdoc. [skip ci] 2018-09-13 21:22:30 +03:00
Will Thompson 6a46ce4845 Builtin-options.md: fix "erros" typo [skip ci] 2018-09-13 06:33:03 -07:00
Jon Turney 8b3ad3e9a0 Add a release note snippet
Also tweak releated documentation
2018-09-12 15:38:00 +01:00
grooveadelic d67ec95b50 Quick Guide add step for python3-pip install
On Deban, and assuming now on Ubuntu as well, pip3 is only available after installing the python3-pip package. For that case explicitly specified the package during the system installation.
2018-09-11 19:08:59 +03:00
Nirbheek Chauhan 1819dc851a
Document version when both_libraries() was added [skip ci] 2018-09-11 19:38:06 +05:30
Jon Turney 654101414c Improve windows resource compiler executable selection
Always honour any windres setting in cross-file (we can't be compiling with
msvc, but this should apply when cross-compiling using gcc or clang)

Always honour WINDRES environment variable

Otherwise look for the resource compiler which is part of the same toolset
as the C or C++ compiler.

Add some commentary on why the conventions for compiled resource file
extensions differ between RC and windres

Also don't try to report non-existent path when we couldn't find the
resource compiler.
2018-09-10 21:03:41 +03:00
Alexey Rochev 929fbb9353 Qt: add main argument to Qt dependency object to link with qtmain library on Windows (#2327) 2018-09-10 21:00:36 +03:00
Dylan Baker 51e9db370a Add method to check for C/C++ function attributes
It's fairly common on Linux and *BSD platforms to check for these
attributes existence, so it makes sense to me to have this checking
build into meson itself. Autotools also has a builtin for handling
these, and by building them in we can short circuit cases that we know
that these don't exist (MSVC).

Additionally this adds support for two common MSVC __declspec
attributes, dllimport and dllexport. This implements the declspec
version (even though GCC has an __attribute__ version that both it and
clang support), since GCC and Clang support the MSVC version as well.
Thus it seems reasonable to assume that most projects will use the
__declspec version over teh __attribute__ version.
2018-09-07 11:52:15 -07:00
Xavier Claessens b3a35f92b4
Merge pull request #4006 from xclaesse/fatal-warnings
Add --fatal-meson-warnings command line option
2018-09-05 10:36:42 -04:00
Nirbheek Chauhan 226eaba369 Reference-manual: Clarify fallback dependency types [skip ci] 2018-09-04 22:50:17 -07:00
Xavier Claessens ef231d3edd Add --fatal-meson-warnings command line option
This makes any warning message printed by meson raise an exception,
intended to be used by CI and developpers to easily catch deprecation
warnings and other potential issues.
2018-09-04 09:01:39 -04:00
Corentin Noël b350c74386 i18n: add release note snippet 2018-09-03 22:34:22 -07:00
Rafael Ávila de Espíndola 07d2d88fa9 Allow override_find_program to use an executable.
With this it is now possible to do

foobar = executable('foobar', ...)
meson.override_find_program('foobar', foobar)

Which is convenient for a project like protobuf which produces both a
dependency and a tool. If protobuf is updated to use
override_find_program, it can be used as

protobuf_dep = dependency('protobuf', version : '>=3.3.1',
                          fallback : ['protobuf', 'protobuf_dep'])
protoc_prog = find_program('protoc')
2018-09-03 21:24:01 +03:00
Luca Weiss da7a3d5331 Change ninja.exe download URL [skip ci] 2018-09-03 21:11:22 +03:00
Luca Weiss 9c55bda56e Update appveyor example [skip ci]
Also add, how to make meson find Qt5 & Boost
2018-09-03 21:11:22 +03:00
Nirbheek Chauhan bead8287a5 Improve support for macOS dylib versioning
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-29 15:51:23 -07:00
Jussi Pakkanen b86f2fd17f
Merge pull request #4016 from thiblahute/hotdoc
modules: Add an 'hotdoc' module
2018-08-29 21:18:26 +03:00
Thibault Saunier 1ea743a0bf hotdoc: Add documentation 2018-08-28 18:18:40 -03:00
Jussi Pakkanen fb770e1e3d Add support for custom dist scripts. 2018-08-27 23:35:29 +03:00
Jon Turney 7fff8318f5
Add a release note snippet
Also adjust relevant documentation
2018-08-26 17:23:39 +01:00
Jussi Pakkanen 54aed1a92c Added "native" kwarg to add_XXX_args. Closes #3669. 2018-08-22 23:22:48 +03:00
Jussi Pakkanen 11b520feda Scan markdown files for tabs. 2018-08-19 14:00:40 +03:00
Jussi Pakkanen d83f77109a
Convert buildtype to optimization and debug options (#3489) 2018-08-18 20:39:47 +03:00
Xavier Claessens 4f088365e4 interpreter: Add support for dict addition 2018-08-14 23:46:42 +03:00
Jussi Pakkanen 9b3671e711
Merge pull request #4000 from MathieuDuponchelle/gir_multiple_libs
gnome.generate_gir: refactor and allow passing multiple libraries
2018-08-12 14:07:40 +03:00
Jussi Pakkanen 220f1024b7 Be more cautious in recommending Unity builds. [skip ci] 2018-08-12 00:53:18 +03:00
Jussi Pakkanen 7aeb90a55e Typo fix. [skip ci] 2018-08-11 20:11:17 +03:00
Jussi Pakkanen f91b463bf4
Merge pull request #3831 from mesonbuild/symvisibility
Add gnu_symbol_visibility keyword argument
2018-08-11 19:59:34 +03:00
Jussi Pakkanen 1b2f8acbeb Add support for s390x CPUs. Closes #3897. 2018-08-11 04:21:55 -07:00
Jussi Pakkanen fb2cdd0fe2 Call it gnu_symbol_visibility instead. 2018-08-09 19:46:49 +03:00
Jussi Pakkanen d7d948db0d Update documentation for symbol visibility. 2018-08-09 19:46:49 +03:00
Mathieu Duponchelle 6ea939dd5f gnome.generate_gir: support generating gir for multiple libraries
Fixes #3688
2018-08-09 17:34:55 +02:00
Charles Barto ab6929f64a [skip ci]
add list of existing editor integrations

add meson_cmake_wrapper to the list of integrations
2018-08-09 01:37:48 +03:00
Onkar c9aea4e11c Clarify version for check_header, fixes #3974
check_header method was added in compiler object in version 0.47. Documentation needs to be updated for this.
2018-08-04 18:18:25 +03:00
Jussi Pakkanen ecf4024592 Add 32 bit sparc processor support. Closes #3901. 2018-08-03 00:27:33 +03:00
Jussi Pakkanen e7eb387da8 Be more general in description. [skip ci] 2018-07-31 19:40:34 +03:00
Nirbheek Chauhan a2dab5439c custom targets: Add a 'console' kwarg for long-running commands
Ninja buffers all commands and prints them only after they are
complete. Because of this, long-running commands such as `cargo
build` show no output at all and it's impossible to know if the
command is merely taking too long or is stuck somewhere.

To cater to such use-cases, Ninja has a 'pool' with depth 1 called
'console', and all processes in this pool have the following
properties:

1. stdout is connected to the program, so output can be seen in
   real-time
2. The output of all other commands is buffered and displayed after
   a command in this pool finishes running
3. Commands in this pool are executed serially (normal commands
   continue to run in the background)

This feature is available since Ninja v1.5

https://ninja-build.org/manual.html#_the_literal_console_literal_pool
2018-07-31 19:38:54 +03:00
Tanu Kaskinen a5d0a501fd [skip ci] Typo fix in Build-options.md: "option" -> "description" 2018-07-31 19:12:18 +03:00
Jussi Pakkanen b293f7bd2c Replace long obsolete find_dep with dependency in docs. [skip ci] 2018-07-29 23:53:24 +03:00
Khem Raj 6fafbad6d5 mesonbuild: Recognise risc-v architecture
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-07-21 22:02:25 +03:00
Jussi Pakkanen 306fa07f62
Merge pull request #3893 from FFY00/master
Add dlang module (dub support)
2018-07-21 02:46:11 +03:00
Jussi Pakkanen f67630d26c Removed extra parentheses. [skip ci] 2018-07-20 18:40:58 +03:00
Jussi Pakkanen f390a0a2f3
Merge pull request #3814 from behlec/configure-file-output
Check if calls to configure_file write to the same output file.
2018-07-19 01:17:34 +03:00
FFY00 0173b2457d
docs: fix dlang module documentation 2018-07-17 23:46:13 +01:00
♫ Christian Krause ♫ c3e68189cd docs: adds a non-docker travis example (#3883) [skip ci] 2018-07-13 07:16:03 -07:00
Daniel Schulte 6de9ebb10f Add Arduino ESP8266 sample project to Users.md 2018-07-11 22:25:26 +03:00
TingPing 544164b151
docs: Minor clarifications of gnome.compile_resources
This was causing confusion for a user about the fact any directory can be passed
2018-07-11 15:36:24 +02:00
gadic 28a2e658f8 docs: sources changed into sourcelist (#3855) [skip ci] 2018-07-09 07:09:54 -07:00
Nirbheek Chauhan 78f1ef85fd
Add missing method on external library object: type_name() (#3845)
For some reason this was missing, but it should've always existed
since cc.find_library() returns an object that is internally an
ExternalDependency instance.
2018-07-08 10:58:07 -07:00
Christoph Behle 2428b388db Document options for meson
Document what waring_level 1,2,3 means.
Test if markdown files are in sitemap
Add Builtin-options.md to sitemap.txt

Builtin-options.md:
  Fix tables in Builtin-options.md
  Add documentation for warning options
  Added more options to doc

General documentation:
  Add link to Builtin-options
  Remove obsolete file

Testing:
  Add function test_markdown_files_in_sitemap.
  Checks if each markdown file is contained in sitemap.txt
2018-07-08 10:56:37 -07:00
Christoph Behle 9cf38700d8 Add release snippet 2018-07-07 21:20:23 +02:00
Ross Burton e3e2e4ca14 Canonicalise 64-bit PowerPC CPU families to "ppc64"
Instead of exposing the endianness in the CPU family, canonicalise the CPU
family to just "ppc64" to match MIPS (which is also bi-endian).

Part of the work for #3842.
2018-07-07 11:47:42 +03:00
Nirbheek Chauhan a37c31e8a3 Reference-manual.md: Document find_library().partial_dependency() [skip ci]
+ typos.
2018-07-06 19:14:21 +05:30
Nirbheek Chauhan b1901f315d
Builtin-options.md: broken markdown [skip ci] 2018-07-06 11:09:01 +05:30
Nirbheek Chauhan 8e84b13850 meson.add_install_script: Move notes section up [skip ci]
The notes section of add_install_script somehow got separated, which
meant that no one reads it anymore.

Also rephrase it a bit to clarify that scripts *MUST* handle DESTDIR
correctly to mirror what Meson does, and how.
2018-07-05 19:01:46 +00:00
Jon Turney b387ab1ee1 Fix flake8 issues (#3834)
* Fix flake8 whitespace reports

$ flake8 | grep -E '(E203|E221|E226|E303|W291|W293)'
./mesonbuild/coredata.py:337:5: E303 too many blank lines (2)

* Fix flake8 'variable assigned value but unused' reports

$ flake8 | grep -E F841
./mesonbuild/modules/gnome.py:922:9: F841 local variable 'target_name' is assigned to but never used

* Fix flake8 'imported but unused' reports

$ flake8 | grep F401
./mesonbuild/compilers/__init__.py:128:1: F401 '.c.ArmclangCCompiler' imported but unused
./mesonbuild/compilers/__init__.py:138:1: F401 '.cpp.ArmclangCPPCompiler' imported but unused
./mesonbuild/modules/__init__.py:4:1: F401 '..mlog' imported but unused

PR #3717 imports ARMCLANG compilers in __init__, but does not add them to
__all__, so they are not re-exported by the compilers package like
everything else.

* More details about flake8 in Contributing.md

Mention that Sider runs flake8
Suggest seting flake8 as a pre-commit hook
2018-07-05 18:08:04 +00:00
Stephen Gallagher 70bc754a2c Add libmodulemd to the Users list (#3827) [skip ci]
libmodulemd is a GObject Introspected C library using meson to build and generate gtk-doc HTML.
2018-07-03 16:58:42 +00:00
Nirbheek Chauhan d58379abbe
Users.md: Add libmodulemd [skip ci] 2018-07-03 22:26:55 +05:30
Nirbheek Chauhan 8aba4aa2d7 0.47 release notes: Document polkit support [skip ci] 2018-07-03 03:12:55 +05:30
Nirbheek Chauhan c47c7105cc 0.47 release notes: Fix syntax, rephrase confusing sections [skip ci] 2018-07-03 01:51:54 +05:30
Jussi Pakkanen 5d08219464 Update everything for new release. 2018-07-02 20:50:56 +03:00