aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2017-10-03 20:26:16 +0200
committerCorentin Noël <corentin@elementary.io>2017-10-03 20:26:16 +0200
commit1320a98a33e4e9f188e5daa143316b24d0dce819 (patch)
tree82ea281b163115277e1c9524283b0d371b6c21ac /docs
parentf13887b64a9d535682668960493158ae15bfbb2d (diff)
parent0c3d58baba4a61558ed9b4905f26155a3e95cf6c (diff)
downloadmeson-1320a98a33e4e9f188e5daa143316b24d0dce819.zip
meson-1320a98a33e4e9f188e5daa143316b24d0dce819.tar.gz
meson-1320a98a33e4e9f188e5daa143316b24d0dce819.tar.bz2
Merge github.com:mesonbuild/meson into vala-target-dirs
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Dependencies.md15
-rw-r--r--docs/markdown/Gnome-module.md4
-rw-r--r--docs/markdown/Qt5-module.md8
-rw-r--r--docs/markdown/Reference-manual.md19
-rw-r--r--docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md10
-rw-r--r--docs/markdown/snippets/prebuilt.md20
6 files changed, 66 insertions, 10 deletions
diff --git a/docs/markdown/Dependencies.md b/docs/markdown/Dependencies.md
index 187c4fe..c46334c 100644
--- a/docs/markdown/Dependencies.md
+++ b/docs/markdown/Dependencies.md
@@ -50,8 +50,16 @@ pkg-config files. Meson has autodetection support for some of these.
## Boost ##
Boost is not a single dependency but rather a group of different
-libraries. To use Boost with Meson, simply list which Boost modules
-you would like to use.
+libraries. To use Boost headers-only libraries, simply add Boost as a
+dependency.
+
+```meson
+boost_dep = dependency('boost')
+exe = executable('myprog', 'file.cc', dependencies : boost_dep)
+```
+
+To link against boost with Meson, simply list which libraries you would like to
+use.
```meson
boost_dep = dependency('boost', modules : ['thread', 'utility'])
@@ -65,6 +73,9 @@ If your boost headers or libraries are in non-standard locations you
can set the BOOST_ROOT, BOOST_INCLUDEDIR, and/or BOOST_LIBRARYDIR
environment variables.
+You can set the argument `threading` to `single` to use boost libraries that
+has been compiled for single-threaded use instead.
+
## GTest and GMock ##
GTest and GMock come as sources that must be compiled as part of your
diff --git a/docs/markdown/Gnome-module.md b/docs/markdown/Gnome-module.md
index 99a9c8e..d87e108 100644
--- a/docs/markdown/Gnome-module.md
+++ b/docs/markdown/Gnome-module.md
@@ -81,6 +81,10 @@ tool so see its documentation for more information.
* `includes`: list of gir names to be included, can also be a GirTarget
+* `header`: *(Added 0.43.0)* name of main c header to include for the library, e.g. `glib.h`
+
+* `dependencies`: deps to use during introspection scanning
+
* `include_directories`: extra include paths to look for gir files
* `install`: if true, install the generated files
diff --git a/docs/markdown/Qt5-module.md b/docs/markdown/Qt5-module.md
index 7082309..a8ad73d 100644
--- a/docs/markdown/Qt5-module.md
+++ b/docs/markdown/Qt5-module.md
@@ -5,17 +5,19 @@ tools and steps required for Qt. The module has one method.
## preprocess
-This method takes four keyword arguments, `moc_headers`,
+This method takes five keyword arguments, `moc_headers`,
`moc_sources`, `ui_files` and `qresources` which define the files that
-require preprocessing with `moc`, `uic` and `rcc`. It returns an
+require preprocessing with `moc`, `uic` and `rcc` and 'include_directories' which might be needed by moc. It returns an
opaque object that should be passed to a main build target. A simple
example would look like this:
```meson
qt5 = import('qt5')
qt5_dep = dependency('qt5', modules: ['Core', 'Gui'])
-moc_files = qt5.preprocess(moc_headers : 'myclass.h')
+inc = include_directories('includes')
+moc_files = qt5.preprocess(moc_headers : 'myclass.h', include_directories: inc)
executable('myprog', 'main.cpp', 'myclass.cpp', moc_files,
+ include_directories: inc,
dependencies : qt5_dep)
```
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index f37fb34..14097ed 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -820,10 +820,19 @@ static with only one option.
The keyword arguments for this are the same as for [`executable`](#executable) with the following additions:
-- `name_prefix` the string that will be used as the suffix for the
- target by overriding the default (only used for libraries). By
- default this is `lib` on all platforms and compilers except with
- MSVC where it is omitted.
+- `name_prefix` the string that will be used as the prefix for the
+ target output filename by overriding the default (only used for
+ libraries). By default this is `lib` on all platforms and compilers
+ except with MSVC shared libraries where it is omitted to follow
+ convention.
+- `name_suffix` the string that will be used as the suffix for the
+ target output filename by overriding the default (see also:
+ [executable()](#executable)). By default, for shared libraries this
+ is `dylib` on macOS, `dll` on Windows, and `so` everywhere else.
+ For static libraries, it is `a` everywhere. By convention MSVC
+ static libraries use the `lib` suffix, but we use `a` to avoid a
+ potential name clash with shared libraries which also generate
+ `xxx.lib` import files.
- `rust_crate_type` specifies the crate type for Rust
libraries. Defaults to `dylib` for shared libraries and `rlib` for
static libraries.
@@ -1614,7 +1623,7 @@ during tests. It should be passed as the `env` keyword argument to
tests. It has the following methods.
- `append(varname, value)` appends the given value to the old value of
- the environment variable, e.g. `env.append'('FOO', 'BAR', separator
+ the environment variable, e.g. `env.append('FOO', 'BAR', separator
: ';')` produces `BOB;BAR` if `FOO` had the value `BOB` and plain
`BAR` if the value was not defined. If the separator is not
specified explicitly, the default path separator for the host
diff --git a/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md b/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md
new file mode 100644
index 0000000..2cd44ce
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.43.0/001-boost-platform-improvement.md
@@ -0,0 +1,10 @@
+## Portability improvements to Boost Dependency
+
+The Boost dependency has been improved to better detect the various ways to
+install boost on multiple platforms. At the same time the `modules` semantics
+for the dependency has been changed. Previously it was allowed to specify
+header directories as `modules` but it wasn't required. Now, modules are only
+used to specify libraries that require linking.
+
+This is a breaking change and the fix is to remove all modules that aren't
+found.
diff --git a/docs/markdown/snippets/prebuilt.md b/docs/markdown/snippets/prebuilt.md
new file mode 100644
index 0000000..19741c4
--- /dev/null
+++ b/docs/markdown/snippets/prebuilt.md
@@ -0,0 +1,20 @@
+# Better support for shared libraries in non-system paths
+
+Meson has had support for prebuilt object files and static libraries.
+This release adds feature parity to shared libraries that are either
+in non-standard system paths or shipped as part of your project. On
+systems that support rpath, Meson automatically adds rpath entries
+to built targets using manually found external libraries.
+
+This means that e.g. supporting prebuilt libraries shipped with your
+source or provided by subprojects or wrap definitions by writing a
+build file like this:
+
+ project('myprebuiltlibrary', 'c')
+
+ cc = meson.get_compiler('c')
+ prebuilt = cc.find_library('mylib', dirs : meson.current_source_dir())
+ mydep = declare_dependency(include_directories : include_directories('.'),
+ dependencies : prebuilt)
+
+Then you can use the dependency object in the same way as any other.