parent
01865899e5
commit
ade59f987f
33 changed files with 324 additions and 290 deletions
@ -1,23 +1,306 @@ |
||||
--- |
||||
title: Release 0.46 |
||||
short-description: Release notes for 0.46 (preliminary) |
||||
short-description: Release notes for 0.46 |
||||
... |
||||
|
||||
# New features |
||||
|
||||
This page is a placeholder for the eventual release notes. |
||||
|
||||
Notable new features should come with release note updates. This is |
||||
done by creating a file snippet called `snippets/featurename.md` and |
||||
whose contents should look like this: |
||||
|
||||
## Feature name |
||||
|
||||
A short description explaining the new feature and how it should be used. |
||||
|
||||
## Allow early return from a script |
||||
|
||||
Added the function `subdir_done()`. Its invocation exits the current script at |
||||
the point of invocation. All previously invoked build targets and commands are |
||||
build/executed. All following ones are ignored. If the current script was |
||||
invoked via `subdir()` the parent script continues normally. |
||||
## Log output slightly changed |
||||
|
||||
The format of some human-readable diagnostic messages has changed in |
||||
minor ways. In case you are parsing these messages, you may need to |
||||
adjust your code. |
||||
|
||||
## ARM compiler for C and CPP |
||||
|
||||
Cross-compilation is now supported for ARM targets using ARM compiler - ARMCC. |
||||
The current implementation does not support shareable libraries. |
||||
The default extension of the output is .axf. |
||||
The environment path should be set properly for the ARM compiler executables. |
||||
The '--cpu' option with the appropriate target type should be mentioned |
||||
in the cross file as shown in the snippet below. |
||||
|
||||
``` |
||||
[properties] |
||||
c_args = ['--cpu=Cortex-M0plus'] |
||||
cpp_args = ['--cpu=Cortex-M0plus'] |
||||
|
||||
``` |
||||
|
||||
## Building both shared and static libraries |
||||
|
||||
A new function `both_libraries()` has been added to build both shared and static |
||||
libraries at the same time. Source files will be compiled only once and object |
||||
files will be reused to build both shared and static libraries, unless |
||||
`b_staticpic` user option or `pic` argument are set to false in which case |
||||
sources will be compiled twice. |
||||
|
||||
The returned `buildtarget` object always represents the shared library. |
||||
|
||||
## Compiler object can now be passed to run_command() |
||||
|
||||
This can be used to run the current compiler with the specified arguments |
||||
to obtain additional information from it. |
||||
One of the use cases is to get the location of development files for the |
||||
GCC plugins: |
||||
|
||||
cc = meson.get_compiler('c') |
||||
result = run_command(cc, '-print-file-name=plugin') |
||||
plugin_dev_path = result.stdout().strip() |
||||
|
||||
## declare_dependency() supports link_whole |
||||
|
||||
`declare_dependency()` supports `link_whole` parameter. |
||||
`link_whole` propagates to build target that uses dependency. |
||||
|
||||
## Old command names are now errors |
||||
|
||||
Old executable names `mesonintrospect`, `mesonconf`, `mesonrewriter` |
||||
and `mesontest` have been deprecated for a long time. Starting from |
||||
this version they no longer do anything but instead always error |
||||
out. All functionality is available as subcommands in the main `meson` |
||||
binary. |
||||
|
||||
## Meson and meson configure now accept the same arguments |
||||
|
||||
Previously meson required that builtin arguments (like prefix) be passed as |
||||
`--prefix` to `meson` and `-Dprefix` to `meson configure`. `meson` now accepts -D |
||||
form like `meson configure` has. `meson configure` also accepts the `--prefix` |
||||
form, like `meson` has. |
||||
|
||||
## Recursively extract objects |
||||
|
||||
`recursive` keyword argument has been added to `extract_all_objects`. When set |
||||
to `true` it will also return objects passed to the `objects` argument of this |
||||
target. By default only objects built for this target are returned to maintain |
||||
backward compatibility with previous versions. The default will eventually be |
||||
changed to `true` in a future version. |
||||
|
||||
```meson |
||||
lib1 = static_library('a', 'source.c', objects : 'prebuilt.o') |
||||
lib2 = static_library('b', objects : lib1.extract_all_objects(recursive : true)) |
||||
``` |
||||
|
||||
## Can override find_program |
||||
|
||||
It is now possible to override the result of `find_program` to point |
||||
to a custom program you want. The overriding is global and applies to |
||||
every subproject from there on. Here is how you would use it. |
||||
|
||||
In master project |
||||
|
||||
```meson |
||||
subproject('mydep') |
||||
``` |
||||
|
||||
In the called subproject: |
||||
|
||||
```meson |
||||
prog = find_program('my_custom_script') |
||||
meson.override_find_program('mycodegen', prog) |
||||
``` |
||||
|
||||
In master project (or, in fact, any subproject): |
||||
|
||||
```meson |
||||
genprog = find_program('mycodegen') |
||||
``` |
||||
|
||||
Now `genprog` points to the custom script. If the dependency had come |
||||
from the system, then it would point to the system version. |
||||
|
||||
You can also use the return value of `configure_file()` to override |
||||
a program in the same way as above: |
||||
|
||||
```meson |
||||
prog_script = configure_file(input : 'script.sh.in', |
||||
output : 'script.sh', |
||||
configuration : cdata) |
||||
meson.override_find_program('mycodegen', prog_script) |
||||
``` |
||||
|
||||
## has_link_argument() and friends |
||||
|
||||
A new set of methods has been added on compiler objects to test if the linker |
||||
supports given arguments. |
||||
|
||||
- `has_link_argument()` |
||||
- `has_multi_link_arguments()` |
||||
- `get_supported_link_arguments()` |
||||
- `first_supported_link_argument()` |
||||
|
||||
## "meson help" now shows command line help |
||||
|
||||
Command line parsing is now less surprising. "meson help" is now |
||||
equivalent to "meson --help" and "meson help <subcommand>" is |
||||
equivalent to "meson <subcommand> --help", instead of creating a build |
||||
directory called "help" in these cases. |
||||
|
||||
## Autogeneration of simple meson.build files |
||||
|
||||
A feature to generate a meson.build file compiling given C/C++ source |
||||
files into a single executable has been added to "meson init". By |
||||
default, it will take all recognizable source files in the current |
||||
directory. You can also specify a list of dependencies with the -d |
||||
flag and automatically invoke a build with the -b flag to check if the |
||||
code builds with those dependencies. |
||||
|
||||
For example, |
||||
|
||||
```meson |
||||
meson init -fbd sdl2,gl |
||||
``` |
||||
|
||||
will look for C or C++ files in the current directory, generate a |
||||
meson.build for them with the dependencies of sdl2 and gl and |
||||
immediately try to build it, overwriting any previous meson.build and |
||||
build directory. |
||||
|
||||
## install_data() supports rename |
||||
|
||||
`rename` parameter is used to change names of the installed files. |
||||
In order to install |
||||
- `file1.txt` into `share/myapp/dir1/data.txt` |
||||
- `file2.txt` into `share/myapp/dir2/data.txt` |
||||
```meson |
||||
install_data(['file1.txt', 'file2.txt'], |
||||
rename : ['dir1/data.txt', 'dir2/data.txt'], |
||||
install_dir : 'share/myapp') |
||||
``` |
||||
|
||||
## Support for lcc compiler for e2k (Elbrus) architecture |
||||
|
||||
In this version, a support for lcc compiler for Elbrus processors |
||||
based on [e2k microarchitecture](https://en.wikipedia.org/wiki/Elbrus_2000) |
||||
has been added. |
||||
|
||||
Examples of such CPUs: |
||||
* [Elbrus-8S](https://en.wikipedia.org/wiki/Elbrus-8S); |
||||
* Elbrus-4S; |
||||
* [Elbrus-2S+](https://en.wikipedia.org/wiki/Elbrus-2S%2B). |
||||
|
||||
Such compiler have a similar behavior as gcc (basic option compatibility), |
||||
but, in is not strictly compatible with gcc as of current version. |
||||
|
||||
Major differences as of version 1.21.22: |
||||
* it does not support LTO and PCH; |
||||
* it suffers from the same dependency file creation error as icc; |
||||
* it has minor differences in output, especially version output; |
||||
* it differently reacts to lchmod() detection; |
||||
* some backend messages are produced in ru_RU.KOI8-R even if LANG=C; |
||||
* its preprocessor treats some characters differently. |
||||
|
||||
So every noted difference is properly handled now in meson.## String escape character sequence update |
||||
|
||||
Single-quoted strings in meson have been taught the same set of escape |
||||
sequences as in Python. It is therefore now possible to use arbitrary bytes in |
||||
strings, like for example `NUL` (`\0`) and other ASCII control characters. See |
||||
the chapter about [*Strings* in *Syntax*](Syntax.md#strings) for more |
||||
details. |
||||
|
||||
Potential backwards compatibility issue: Any valid escape sequence according to |
||||
the new rules will be interpreted as an escape sequence instead of the literal |
||||
characters. Previously only the following escape sequences were supported in |
||||
single-quote strings: `\'`, `\\` and `\n`. |
||||
|
||||
Note that the behaviour of triple-quoted (multiline) strings has not changed. |
||||
They behave like raw strings and do not support any escape sequences. |
||||
A new wrap mode was added, `--wrap-mode=forcefallback`. When this is set, |
||||
dependencies for which a fallback was provided will always use it, even |
||||
if an external dependency exists and satisfies the version requirements. |
||||
|
||||
## Relaxing of target name requirements |
||||
|
||||
In earlier versions of Meson you could only have one target of a given name for each type. |
||||
For example you could not have two executables named `foo`. This requirement is now |
||||
relaxed so that you can have multiple targets with the same name, as long as they are in |
||||
different subdirectories. |
||||
|
||||
Note that projects that have multiple targets with the same name can not be built with |
||||
the `flat` layout or any backend that writes outputs in the same directory. |
||||
|
||||
## Addition of OpenMP dependency |
||||
|
||||
An OpenMP dependency (`openmp`) has been added that encapsulates the various |
||||
flags used by compilers to enable OpenMP and checks for the existence of the |
||||
`omp.h` header. The `language` keyword may be passed to force the use of a |
||||
specific compiler for the checks. |
||||
|
||||
## Added new partial_dependency method to dependencies and libraries |
||||
|
||||
It is now possible to use only part of a dependency in a target. This allows, |
||||
for example, to only use headers with convenience libraries to avoid linking |
||||
to the same library multiple times. |
||||
|
||||
```meson |
||||
|
||||
dep = dependency('xcb') |
||||
|
||||
helper = static_library( |
||||
'helper', |
||||
['helper1.c', 'helper2.c'], |
||||
dependencies : dep.partial_dependency(includes : true), |
||||
] |
||||
|
||||
final = shared_library( |
||||
'final', |
||||
['final.c'], |
||||
dependencyes : dep, |
||||
) |
||||
``` |
||||
|
||||
A partial dependency will have the same name version as the full dependency it |
||||
is derived from, as well as any values requested. |
||||
|
||||
## Improved generation of pkg-config files for static only libraries. |
||||
|
||||
Previously pkg-config files generated by the pkgconfig modules for static libraries |
||||
with dependencies could only be used in a dependencies with `static: true`. |
||||
|
||||
Now the generated file contains the needed dependencies libraries directly within |
||||
`Requires` and `Libs` for build static libraries passed via the `libraries` keyword |
||||
argument. |
||||
|
||||
Projects that install both a static and a shared version of a library should use |
||||
the result of `both_libraries` to the pkg config file generator or use |
||||
configure_file for more complicated setups. |
||||
|
||||
## Improvements to pkgconfig module |
||||
|
||||
A `StaticLibrary` or `SharedLibrary` object can optionally be passed |
||||
as first positional argument of the `generate()` method. If one is provided a |
||||
default value will be provided for all required fields of the pc file: |
||||
- `install_dir` is set to `pkgconfig` folder in the same location than the provided library. |
||||
- `description` is set to the project's name followed by the library's name. |
||||
- `name` is set to the library's name. |
||||
|
||||
Generating a .pc file is now as simple as: |
||||
|
||||
``` |
||||
pkgconfig.generate(mylib) |
||||
``` |
||||
|
||||
## pkgconfig.generate() requires parameters non-string arguments |
||||
|
||||
`pkgconfig.generate()` `requires` and `requires_private` parameters |
||||
accept pkgconfig-dependencies and libraries that pkgconfig-files were |
||||
generated for. |
||||
|
||||
## Generic python module |
||||
|
||||
This is a revamped and generic (python 2 and 3) version of the python3 |
||||
module. With this new interface, projects can now fully specify the version |
||||
of python they want to build against / install sources to, and can do so |
||||
against multiple major or minor versions in parallel. |
||||
|
||||
## test now supports depends keyword parameter |
||||
|
||||
Build targets and custom targets can be listed in depends argument of test |
||||
function. These targets will be built before test is run even if they have |
||||
`build_by_default : false`. |
||||
|
@ -0,0 +1,23 @@ |
||||
--- |
||||
title: Release 0.47 |
||||
short-description: Release notes for 0.46 (preliminary) |
||||
... |
||||
|
||||
# New features |
||||
|
||||
This page is a placeholder for the eventual release notes. |
||||
|
||||
Notable new features should come with release note updates. This is |
||||
done by creating a file snippet called `snippets/featurename.md` and |
||||
whose contents should look like this: |
||||
|
||||
## Feature name |
||||
|
||||
A short description explaining the new feature and how it should be used. |
||||
|
||||
## Allow early return from a script |
||||
|
||||
Added the function `subdir_done()`. Its invocation exits the current script at |
||||
the point of invocation. All previously invoked build targets and commands are |
||||
build/executed. All following ones are ignored. If the current script was |
||||
invoked via `subdir()` the parent script continues normally. |
@ -1,5 +0,0 @@ |
||||
## Log output slightly changed |
||||
|
||||
The format of some human-readable diagnostic messages has changed in |
||||
minor ways. In case you are parsing these messages, you may need to |
||||
adjust your code. |
@ -1,15 +0,0 @@ |
||||
## ARM compiler for C and CPP |
||||
|
||||
Cross-compilation is now supported for ARM targets using ARM compiler - ARMCC. |
||||
The current implementation does not support shareable libraries. |
||||
The default extension of the output is .axf. |
||||
The environment path should be set properly for the ARM compiler executables. |
||||
The '--cpu' option with the appropriate target type should be mentioned |
||||
in the cross file as shown in the snippet below. |
||||
|
||||
``` |
||||
[properties] |
||||
c_args = ['--cpu=Cortex-M0plus'] |
||||
cpp_args = ['--cpu=Cortex-M0plus'] |
||||
|
||||
``` |
@ -1,9 +0,0 @@ |
||||
## Building both shared and static libraries |
||||
|
||||
A new function `both_libraries()` has been added to build both shared and static |
||||
libraries at the same time. Source files will be compiled only once and object |
||||
files will be reused to build both shared and static libraries, unless |
||||
`b_staticpic` user option or `pic` argument are set to false in which case |
||||
sources will be compiled twice. |
||||
|
||||
The returned `buildtarget` object always represents the shared library. |
@ -1,10 +0,0 @@ |
||||
## Compiler object can now be passed to run_command() |
||||
|
||||
This can be used to run the current compiler with the specified arguments |
||||
to obtain additional information from it. |
||||
One of the use cases is to get the location of development files for the |
||||
GCC plugins: |
||||
|
||||
cc = meson.get_compiler('c') |
||||
result = run_command(cc, '-print-file-name=plugin') |
||||
plugin_dev_path = result.stdout().strip() |
@ -1,6 +0,0 @@ |
||||
## Meson and meson configure now accept the same arguments |
||||
|
||||
Previously meson required that builtin arguments (like prefix) be passed as |
||||
`--prefix` to `meson` and `-Dprefix` to `meson configure`. `meson` now accepts -D |
||||
form like `meson configure` has. `meson configure` also accepts the `--prefix` |
||||
form, like `meson` has. |
@ -1,4 +0,0 @@ |
||||
## declare_dependency() supports link_whole |
||||
|
||||
`declare_dependency()` supports `link_whole` parameter. |
||||
`link_whole` propagates to build target that uses dependency. |
@ -1,7 +0,0 @@ |
||||
## Old command names are now errors |
||||
|
||||
Old executable names `mesonintrospect`, `mesonconf`, `mesonrewriter` |
||||
and `mesontest` have been deprecated for a long time. Starting from |
||||
this version they no longer do anything but instead always error |
||||
out. All functionality is available as subcommands in the main `meson` |
||||
binary. |
@ -1,12 +0,0 @@ |
||||
## Recursively extract objects |
||||
|
||||
`recursive` keyword argument has been added to `extract_all_objects`. When set |
||||
to `true` it will also return objects passed to the `objects` argument of this |
||||
target. By default only objects built for this target are returned to maintain |
||||
backward compatibility with previous versions. The default will eventually be |
||||
changed to `true` in a future version. |
||||
|
||||
```meson |
||||
lib1 = static_library('a', 'source.c', objects : 'prebuilt.o') |
||||
lib2 = static_library('b', objects : lib1.extract_all_objects(recursive : true)) |
||||
``` |
@ -1,37 +0,0 @@ |
||||
## Can override find_program |
||||
|
||||
It is now possible to override the result of `find_program` to point |
||||
to a custom program you want. The overriding is global and applies to |
||||
every subproject from there on. Here is how you would use it. |
||||
|
||||
In master project |
||||
|
||||
```meson |
||||
subproject('mydep') |
||||
``` |
||||
|
||||
In the called subproject: |
||||
|
||||
```meson |
||||
prog = find_program('my_custom_script') |
||||
meson.override_find_program('mycodegen', prog) |
||||
``` |
||||
|
||||
In master project (or, in fact, any subproject): |
||||
|
||||
```meson |
||||
genprog = find_program('mycodegen') |
||||
``` |
||||
|
||||
Now `genprog` points to the custom script. If the dependency had come |
||||
from the system, then it would point to the system version. |
||||
|
||||
You can also use the return value of `configure_file()` to override |
||||
a program in the same way as above: |
||||
|
||||
```meson |
||||
prog_script = configure_file(input : 'script.sh.in', |
||||
output : 'script.sh', |
||||
configuration : cdata) |
||||
meson.override_find_program('mycodegen', prog_script) |
||||
``` |
@ -1,9 +0,0 @@ |
||||
## has_link_argument() and friends |
||||
|
||||
A new set of methods has been added on compiler objects to test if the linker |
||||
supports given arguments. |
||||
|
||||
- `has_link_argument()` |
||||
- `has_multi_link_arguments()` |
||||
- `get_supported_link_arguments()` |
||||
- `first_supported_link_argument()` |
@ -1,6 +0,0 @@ |
||||
## "meson help" now shows command line help |
||||
|
||||
Command line parsing is now less surprising. "meson help" is now |
||||
equivalent to "meson --help" and "meson help <subcommand>" is |
||||
equivalent to "meson <subcommand> --help", instead of creating a build |
||||
directory called "help" in these cases. |
@ -1,19 +0,0 @@ |
||||
## Autogeneration of simple meson.build files |
||||
|
||||
A feature to generate a meson.build file compiling given C/C++ source |
||||
files into a single executable has been added to "meson init". By |
||||
default, it will take all recognizable source files in the current |
||||
directory. You can also specify a list of dependencies with the -d |
||||
flag and automatically invoke a build with the -b flag to check if the |
||||
code builds with those dependencies. |
||||
|
||||
For example, |
||||
|
||||
```meson |
||||
meson init -fbd sdl2,gl |
||||
``` |
||||
|
||||
will look for C or C++ files in the current directory, generate a |
||||
meson.build for them with the dependencies of sdl2 and gl and |
||||
immediately try to build it, overwriting any previous meson.build and |
||||
build directory. |
@ -1,11 +0,0 @@ |
||||
## install_data() supports rename |
||||
|
||||
`rename` parameter is used to change names of the installed files. |
||||
In order to install |
||||
- `file1.txt` into `share/myapp/dir1/data.txt` |
||||
- `file2.txt` into `share/myapp/dir2/data.txt` |
||||
```meson |
||||
install_data(['file1.txt', 'file2.txt'], |
||||
rename : ['dir1/data.txt', 'dir2/data.txt'], |
||||
install_dir : 'share/myapp') |
||||
``` |
@ -1,23 +0,0 @@ |
||||
## Support for lcc compiler for e2k (Elbrus) architecture |
||||
|
||||
In this version, a support for lcc compiler for Elbrus processors |
||||
based on [e2k microarchitecture](https://en.wikipedia.org/wiki/Elbrus_2000) |
||||
has been added. |
||||
|
||||
Examples of such CPUs: |
||||
* [Elbrus-8S](https://en.wikipedia.org/wiki/Elbrus-8S); |
||||
* Elbrus-4S; |
||||
* [Elbrus-2S+](https://en.wikipedia.org/wiki/Elbrus-2S%2B). |
||||
|
||||
Such compiler have a similar behavior as gcc (basic option compatibility), |
||||
but, in is not strictly compatible with gcc as of current version. |
||||
|
||||
Major differences as of version 1.21.22: |
||||
* it does not support LTO and PCH; |
||||
* it suffers from the same dependency file creation error as icc; |
||||
* it has minor differences in output, especially version output; |
||||
* it differently reacts to lchmod() detection; |
||||
* some backend messages are produced in ru_RU.KOI8-R even if LANG=C; |
||||
* its preprocessor treats some characters differently. |
||||
|
||||
So every noted difference is properly handled now in meson. |
@ -1,15 +0,0 @@ |
||||
## String escape character sequence update |
||||
|
||||
Single-quoted strings in meson have been taught the same set of escape |
||||
sequences as in Python. It is therefore now possible to use arbitrary bytes in |
||||
strings, like for example `NUL` (`\0`) and other ASCII control characters. See |
||||
the chapter about [*Strings* in *Syntax*](Syntax.md#strings) for more |
||||
details. |
||||
|
||||
Potential backwards compatibility issue: Any valid escape sequence according to |
||||
the new rules will be interpreted as an escape sequence instead of the literal |
||||
characters. Previously only the following escape sequences were supported in |
||||
single-quote strings: `\'`, `\\` and `\n`. |
||||
|
||||
Note that the behaviour of triple-quoted (multiline) strings has not changed. |
||||
They behave like raw strings and do not support any escape sequences. |
@ -1,3 +0,0 @@ |
||||
A new wrap mode was added, `--wrap-mode=forcefallback`. When this is set, |
||||
dependencies for which a fallback was provided will always use it, even |
||||
if an external dependency exists and satisfies the version requirements. |
@ -1,9 +0,0 @@ |
||||
## Relaxing of target name requirements |
||||
|
||||
In earlier versions of Meson you could only have one target of a given name for each type. |
||||
For example you could not have two executables named `foo`. This requirement is now |
||||
relaxed so that you can have multiple targets with the same name, as long as they are in |
||||
different subdirectories. |
||||
|
||||
Note that projects that have multiple targets with the same name can not be built with |
||||
the `flat` layout or any backend that writes outputs in the same directory. |
@ -1,6 +0,0 @@ |
||||
## Addition of OpenMP dependency |
||||
|
||||
An OpenMP dependency (`openmp`) has been added that encapsulates the various |
||||
flags used by compilers to enable OpenMP and checks for the existence of the |
||||
`omp.h` header. The `language` keyword may be passed to force the use of a |
||||
specific compiler for the checks. |
@ -1,25 +0,0 @@ |
||||
## Added new partial_dependency method to dependencies and libraries |
||||
|
||||
It is now possible to use only part of a dependency in a target. This allows, |
||||
for example, to only use headers with convenience libraries to avoid linking |
||||
to the same library multiple times. |
||||
|
||||
```meson |
||||
|
||||
dep = dependency('xcb') |
||||
|
||||
helper = static_library( |
||||
'helper', |
||||
['helper1.c', 'helper2.c'], |
||||
dependencies : dep.partial_dependency(includes : true), |
||||
] |
||||
|
||||
final = shared_library( |
||||
'final', |
||||
['final.c'], |
||||
dependencyes : dep, |
||||
) |
||||
``` |
||||
|
||||
A partial dependency will have the same name version as the full dependency it |
||||
is derived from, as well as any values requested. |
@ -1,12 +0,0 @@ |
||||
## Improved generation of pkg-config files for static only libraries. |
||||
|
||||
Previously pkg-config files generated by the pkgconfig modules for static libraries |
||||
with dependencies could only be used in a dependencies with `static: true`. |
||||
|
||||
Now the generated file contains the needed dependencies libraries directly within |
||||
`Requires` and `Libs` for build static libraries passed via the `libraries` keyword |
||||
argument. |
||||
|
||||
Projects that install both a static and a shared version of a library should use |
||||
the result of `both_libraries` to the pkg config file generator or use |
||||
configure_file for more complicated setups. |
@ -1,14 +0,0 @@ |
||||
## Improvements to pkgconfig module |
||||
|
||||
A `StaticLibrary` or `SharedLibrary` object can optionally be passed |
||||
as first positional argument of the `generate()` method. If one is provided a |
||||
default value will be provided for all required fields of the pc file: |
||||
- `install_dir` is set to `pkgconfig` folder in the same location than the provided library. |
||||
- `description` is set to the project's name followed by the library's name. |
||||
- `name` is set to the library's name. |
||||
|
||||
Generating a .pc file is now as simple as: |
||||
|
||||
``` |
||||
pkgconfig.generate(mylib) |
||||
``` |
@ -1,5 +0,0 @@ |
||||
## pkgconfig.generate() requires parameters non-string arguments |
||||
|
||||
`pkgconfig.generate()` `requires` and `requires_private` parameters |
||||
accept pkgconfig-dependencies and libraries that pkgconfig-files were |
||||
generated for. |
@ -1,6 +0,0 @@ |
||||
## Generic python module |
||||
|
||||
This is a revamped and generic (python 2 and 3) version of the python3 |
||||
module. With this new interface, projects can now fully specify the version |
||||
of python they want to build against / install sources to, and can do so |
||||
against multiple major or minor versions in parallel. |
@ -1,5 +0,0 @@ |
||||
## test now supports depends keyword parameter |
||||
|
||||
Build targets and custom targets can be listed in depends argument of test |
||||
function. These targets will be built before test is run even if they have |
||||
`build_by_default : false`. |
Loading…
Reference in new issue