aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown')
-rw-r--r--docs/markdown/Release-notes-for-0.64.0.md185
-rw-r--r--docs/markdown/snippets/add_optimization_plain_option.md10
-rw-r--r--docs/markdown/snippets/asm.md19
-rw-r--r--docs/markdown/snippets/conf_pager.md6
-rw-r--r--docs/markdown/snippets/deprecated_install_mode_sticky.md14
-rw-r--r--docs/markdown/snippets/fs_copyfile.md17
-rw-r--r--docs/markdown/snippets/gnome_update_mime_database.md5
-rw-r--r--docs/markdown/snippets/install_sources_preserve_path_arg.md8
-rw-r--r--docs/markdown/snippets/jni_system_dependency_bsd_support.md4
-rw-r--r--docs/markdown/snippets/netrc.md5
-rw-r--r--docs/markdown/snippets/oneapi_compilers.md8
-rw-r--r--docs/markdown/snippets/preprocess.md14
-rw-r--r--docs/markdown/snippets/python-installation-pure.md8
-rw-r--r--docs/markdown/snippets/rust_project_json.md5
-rw-r--r--docs/markdown/snippets/summary-disabler.md3
-rw-r--r--docs/markdown/snippets/test-maxfail.md6
-rw-r--r--docs/markdown/snippets/thinlto_cache.md8
-rw-r--r--docs/markdown/snippets/update_wrapdb.md8
-rw-r--r--docs/markdown/snippets/wayland_scan_xml_core_only_arg.md5
-rw-r--r--docs/markdown/snippets/wrapdb.md6
20 files changed, 185 insertions, 159 deletions
diff --git a/docs/markdown/Release-notes-for-0.64.0.md b/docs/markdown/Release-notes-for-0.64.0.md
new file mode 100644
index 0000000..e31f85c
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.64.0.md
@@ -0,0 +1,185 @@
+---
+title: Release 0.64.0
+short-description: Release notes for 0.64.0
+...
+
+# New features
+
+## Add `optimization` `plain` option
+
+The `optimization` built-in option now accepts `plain` value,
+which will not set any optimization flags. This is now the default
+value of the flag for `buildtype=plain`, which is useful for distros,
+that set the optimization and hardening flags by other means.
+
+If you are using the value of `get_option('optimization')` in your
+Meson scripts, make sure you are not making assumptions about it,
+such as that the value can be passed to a compiler in `-O` flag.
+
+## New languages: `nasm` and `masm`
+
+When the `nasm` language is added to the project, `.asm` files are
+automatically compiled with NASM. This is only supported for x86 and x86_64 CPU
+family. `yasm` is used as fallback if `nasm` command is not found.
+
+When the `masm` language is added to the project, `.masm` files are
+automatically compiled with Microsoft's Macro Assembler. This is only supported
+for x86, x86_64, ARM and AARCH64 CPU families.
+
+Note that GNU Assembly files usually have `.s` or `.S` extension and were already
+built using C compiler such as GCC or CLANG.
+
+```meson
+project('test', 'nasm')
+
+exe = executable('hello', 'hello.asm')
+test('hello', exe)
+```
+
+## Pager and colors for `meson configure` output
+
+The output of `meson configure`, printing all options, is now more readable by
+automatically using a pager (`less` by default) and colors. The pager used can
+be controlled by setting `PAGER` environment variable, or `--no-pager` command
+line option.
+
+## various `install_*` functions no longer handle the sticky bit
+
+It is not possible to portably grant the sticky bit to a file, and where
+possible, it doesn't do anything. It is not expected that any users are using
+this functionality.
+
+Variously:
+- on Linux, it has no meaningful effect
+- on Solaris, attempting to set the permission bit is silently ignored by the OS
+- on FreeBSD, attempting to set the permission bit is an error
+
+Attempting to set this permission bit in the `install_mode:` kwarg to any
+function other than [[install_emptydir]] will now result in a warning, and the
+permission bit being ignored.
+
+## `fs.copyfile` to replace `configure_file(copy : true)`
+
+A new method has been added to the `fs` module, `copyfile`. This method replaces
+`configure_file(copy : true)`, but only copies files. Unlike `configure_file()`
+it runs at build time, and the output name is optional defaulting to the
+filename without paths of the input if unset:
+
+```meson
+fs.copyfile('src/file.txt')
+```
+Will create a file in the current build directory called `file.txt`
+
+
+```meson
+fs.copyfile('file.txt', 'outfile.txt')
+```
+Will create a copy renamed to `outfile.txt`
+
+## Added `update_mime_database` to `gnome.post_install()`
+
+Applications that install a `.xml` file containing a `mime-type` need to update
+the cache upon installation. Most applications do that using a custom script,
+but it can now be done by Meson directly.
+
+## Added preserve_path arg to install_data
+
+The [[install_data]] function now has an optional argument `preserve_path`
+that allows installing multi-directory data file structures that live
+alongside source code with a single command.
+
+This is also available in the specialized `py_installation.install_sources`
+method.
+
+## BSD support for the `jni` dependency
+
+This system dependency now supports all BSD systems that Meson currently
+supports, including FreeBSD, NetBSD, OpenBSD, and DragonflyBSD.
+
+## Credentials from `~/.netrc` for `https` URLs
+
+When a subproject is downloaded using an `https://` URL, credentials from
+`~/.netrc` are now used. This avoids hardcoding login and password in plain
+text in the URL itself.
+
+## Basic support for oneAPI compilers on Linux and Windows
+
+To use on Linux:
+
+```
+source /opt/intel/oneapi/setvars.sh
+CC=icx CXX=icpx FC=ifx meson setup builddir
+```
+
+## New method to preprocess source files
+
+Compiler object has a new `preprocess()` method. It is supported by all C/C++
+compilers. It preprocess sources without compiling them.
+
+The preprocessor will receive the same arguments (include directories, defines,
+etc) as with normal compilation. That includes for example args added with
+`add_project_arguments()`, or on the command line with `-Dc_args=-DFOO`.
+
+```meson
+cc = meson.get_compiler('c')
+pp_files = cc.preprocess('foo.c', 'bar.c', output: '@PLAINNAME@')
+exe = executable('app', pp_files)
+```
+
+## python.find_installation() now accepts pure argument
+
+The default value of `pure:` for `py.install_sources()` and
+`py.get_install_dir()` can now be changed by explicitly passing a `pure:` kwarg
+to `find_installation()`.
+
+This can be used to ensure that multiple `install_sources()` invocations do not
+forget to specify the kwarg each time.
+
+## Generates rust-project.json when there are Rust targets
+
+This is a format similar to compile_commands.json, but specifically used by the
+official rust LSP, rust-analyzer. It is generated automatically if there are
+Rust targets, and is placed in the build directory.
+
+## `summary()` accepts disablers
+
+Disabler options can be passed to `summary()` as the value to be printed.
+
+## Option to allow meson test to fail fast after the first failing testcase
+
+`meson test --maxfail=1` will now cause all pending or in-progress tests to be
+canceled or interrupted after 1 test is marked as failing. This can be used for
+example to quit a CI run and avoid burning additional time as soon as it is
+known that the overall return status will be failing.
+
+## Incremental ThinLTO with `b_thinlto_cache`
+
+[Incremental ThinLTO](https://clang.llvm.org/docs/ThinLTO.html#incremental) can now be enabled by passing
+`-Db_thinlto_cache=true` during setup. The use of caching speeds up incremental builds significantly while retaining all
+the runtime performance benefits of ThinLTO.
+
+The cache location defaults to a Meson-managed directory inside the build folder, but can be customized with
+`b_thinlto_cache_dir`.
+
+## Update all wraps from WrapDB with `meson wrap update` command
+
+The command `meson wrap update`, with no extra argument, will now update all wraps
+that comes from WrapDB to the latest version. The extra `--force` argument will
+also replace wraps that do not come from WrapDB if one is available.
+
+The command `meson subprojects update` will not download new wrap files from
+WrapDB any more.
+
+## Added `include_core_only` arg to wayland.scan_xml.
+
+The `scan_xml` function from the wayland module now has an optional bool
+argument `include_core_only`, so that headers generated by wayland-scanner now
+only include `wayland-client-core.h` instead of `wayland-client.h`.
+
+## Automatic fallback using WrapDB
+
+A new command has been added: `meson wrap update-db`. It downloads the list of
+wraps available in [WrapDB](wrapdb.mesonbuild.com) and stores it locally in
+`subprojects/wrapdb.json`. When that file exists and a dependency is not found
+on the system but is available in WrapDB, Meson will automatically download it.
+
diff --git a/docs/markdown/snippets/add_optimization_plain_option.md b/docs/markdown/snippets/add_optimization_plain_option.md
deleted file mode 100644
index 67910df..0000000
--- a/docs/markdown/snippets/add_optimization_plain_option.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Add `optimization` `plain` option
-
-The `optimization` built-in option now accepts `plain` value,
-which will not set any optimization flags. This is now the default
-value of the flag for `buildtype=plain`, which is useful for distros,
-that set the optimization and hardening flags by other means.
-
-If you are using the value of `get_option('optimization')` in your
-Meson scripts, make sure you are not making assumptions about it,
-such as that the value can be passed to a compiler in `-O` flag.
diff --git a/docs/markdown/snippets/asm.md b/docs/markdown/snippets/asm.md
deleted file mode 100644
index 1055b53..0000000
--- a/docs/markdown/snippets/asm.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## New languages: `nasm` and `masm`
-
-When the `nasm` language is added to the project, `.asm` files are
-automatically compiled with NASM. This is only supported for x86 and x86_64 CPU
-family. `yasm` is used as fallback if `nasm` command is not found.
-
-When the `masm` language is added to the project, `.masm` files are
-automatically compiled with Microsoft's Macro Assembler. This is only supported
-for x86, x86_64, ARM and AARCH64 CPU families.
-
-Note that GNU Assembly files usually have `.s` or `.S` extension and were already
-built using C compiler such as GCC or CLANG.
-
-```meson
-project('test', 'nasm')
-
-exe = executable('hello', 'hello.asm')
-test('hello', exe)
-```
diff --git a/docs/markdown/snippets/conf_pager.md b/docs/markdown/snippets/conf_pager.md
deleted file mode 100644
index 3d936ad..0000000
--- a/docs/markdown/snippets/conf_pager.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Pager and colors for `meson configure` output
-
-The output of `meson configure`, printing all options, is now more readable by
-automatically using a pager (`less` by default) and colors. The pager used can
-be controlled by setting `PAGER` environment variable, or `--no-pager` command
-line option.
diff --git a/docs/markdown/snippets/deprecated_install_mode_sticky.md b/docs/markdown/snippets/deprecated_install_mode_sticky.md
deleted file mode 100644
index 3168df6..0000000
--- a/docs/markdown/snippets/deprecated_install_mode_sticky.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## various `install_*` functions no longer handle the sticky bit
-
-It is not possible to portably grant the sticky bit to a file, and where
-possible, it doesn't do anything. It is not expected that any users are using
-this functionality.
-
-Variously:
-- on Linux, it has no meaningful effect
-- on Solaris, attempting to set the permission bit is silently ignored by the OS
-- on FreeBSD, attempting to set the permission bit is an error
-
-Attempting to set this permission bit in the `install_mode:` kwarg to any
-function other than [[install_emptydir]] will now result in a warning, and the
-permission bit being ignored.
diff --git a/docs/markdown/snippets/fs_copyfile.md b/docs/markdown/snippets/fs_copyfile.md
deleted file mode 100644
index dfb5d89..0000000
--- a/docs/markdown/snippets/fs_copyfile.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## `fs.copyfile` to replace `configure_file(copy : true)`
-
-A new method has been added to the `fs` module, `copyfile`. This method replaces
-`configure_file(copy : true)`, but only copies files. Unlike `configure_file()`
-it runs at build time, and the output name is optional defaulting to the
-filename without paths of the input if unset:
-
-```meson
-fs.copyfile('src/file.txt')
-```
-Will create a file in the current build directory called `file.txt`
-
-
-```meson
-fs.copyfile('file.txt', 'outfile.txt')
-```
-Will create a copy renamed to `outfile.txt`
diff --git a/docs/markdown/snippets/gnome_update_mime_database.md b/docs/markdown/snippets/gnome_update_mime_database.md
deleted file mode 100644
index a60381d..0000000
--- a/docs/markdown/snippets/gnome_update_mime_database.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Added `update_mime_database` to `gnome.post_install()`
-
-Applications that install a `.xml` file containing a `mime-type` need to update
-the cache upon installation. Most applications do that using a custom script,
-but it can now be done by Meson directly.
diff --git a/docs/markdown/snippets/install_sources_preserve_path_arg.md b/docs/markdown/snippets/install_sources_preserve_path_arg.md
deleted file mode 100644
index 0bc37f2..0000000
--- a/docs/markdown/snippets/install_sources_preserve_path_arg.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Added preserve_path arg to install_data
-
-The [[install_data]] function now has an optional argument `preserve_path`
-that allows installing multi-directory data file structures that live
-alongside source code with a single command.
-
-This is also available in the specialized `py_installation.install_sources`
-method.
diff --git a/docs/markdown/snippets/jni_system_dependency_bsd_support.md b/docs/markdown/snippets/jni_system_dependency_bsd_support.md
deleted file mode 100644
index bf1a299..0000000
--- a/docs/markdown/snippets/jni_system_dependency_bsd_support.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## BSD support for the `jni` dependency
-
-This system dependency now supports all BSD systems that Meson currently
-supports, including FreeBSD, NetBSD, OpenBSD, and DragonflyBSD.
diff --git a/docs/markdown/snippets/netrc.md b/docs/markdown/snippets/netrc.md
deleted file mode 100644
index 1b81c55..0000000
--- a/docs/markdown/snippets/netrc.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Credentials from `~/.netrc` for `https` URLs
-
-When a subproject is downloaded using an `https://` URL, credentials from
-`~/.netrc` are now used. This avoids hardcoding login and password in plain
-text in the URL itself.
diff --git a/docs/markdown/snippets/oneapi_compilers.md b/docs/markdown/snippets/oneapi_compilers.md
deleted file mode 100644
index a456e30..0000000
--- a/docs/markdown/snippets/oneapi_compilers.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Basic support for oneAPI compilers on Linux and Windows
-
-To use on Linux:
-
-```
-source /opt/intel/oneapi/setvars.sh
-CC=icx CXX=icpx FC=ifx meson setup builddir
-```
diff --git a/docs/markdown/snippets/preprocess.md b/docs/markdown/snippets/preprocess.md
deleted file mode 100644
index 7e6dd0a..0000000
--- a/docs/markdown/snippets/preprocess.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## New method to preprocess source files
-
-Compiler object has a new `preprocess()` method. It is supported by all C/C++
-compilers. It preprocess sources without compiling them.
-
-The preprocessor will receive the same arguments (include directories, defines,
-etc) as with normal compilation. That includes for example args added with
-`add_project_arguments()`, or on the command line with `-Dc_args=-DFOO`.
-
-```meson
-cc = meson.get_compiler('c')
-pp_files = cc.preprocess('foo.c', 'bar.c', output: '@PLAINNAME@')
-exe = executable('app', pp_files)
-```
diff --git a/docs/markdown/snippets/python-installation-pure.md b/docs/markdown/snippets/python-installation-pure.md
deleted file mode 100644
index 905c7b8..0000000
--- a/docs/markdown/snippets/python-installation-pure.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## python.find_installation() now accepts pure argument
-
-The default value of `pure:` for `py.install_sources()` and
-`py.get_install_dir()` can now be changed by explicitly passing a `pure:` kwarg
-to `find_installation()`.
-
-This can be used to ensure that multiple `install_sources()` invocations do not
-forget to specify the kwarg each time.
diff --git a/docs/markdown/snippets/rust_project_json.md b/docs/markdown/snippets/rust_project_json.md
deleted file mode 100644
index e87a7db..0000000
--- a/docs/markdown/snippets/rust_project_json.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Generates rust-project.json when there are Rust targets
-
-This is a format similar to compile_commands.json, but specifically used by the
-official rust LSP, rust-analyzer. It is generated automatically if there are
-Rust targets, and is placed in the build directory.
diff --git a/docs/markdown/snippets/summary-disabler.md b/docs/markdown/snippets/summary-disabler.md
deleted file mode 100644
index 97b8d0f..0000000
--- a/docs/markdown/snippets/summary-disabler.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## `summary()` accepts disablers
-
-Disabler options can be passed to `summary()` as the value to be printed.
diff --git a/docs/markdown/snippets/test-maxfail.md b/docs/markdown/snippets/test-maxfail.md
deleted file mode 100644
index 1487977..0000000
--- a/docs/markdown/snippets/test-maxfail.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Option to allow meson test to fail fast after the first failing testcase
-
-`meson test --maxfail=1` will now cause all pending or in-progress tests to be
-canceled or interrupted after 1 test is marked as failing. This can be used for
-example to quit a CI run and avoid burning additional time as soon as it is
-known that the overall return status will be failing.
diff --git a/docs/markdown/snippets/thinlto_cache.md b/docs/markdown/snippets/thinlto_cache.md
deleted file mode 100644
index 5c6e202..0000000
--- a/docs/markdown/snippets/thinlto_cache.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Incremental ThinLTO with `b_thinlto_cache`
-
-[Incremental ThinLTO](https://clang.llvm.org/docs/ThinLTO.html#incremental) can now be enabled by passing
-`-Db_thinlto_cache=true` during setup. The use of caching speeds up incremental builds significantly while retaining all
-the runtime performance benefits of ThinLTO.
-
-The cache location defaults to a Meson-managed directory inside the build folder, but can be customized with
-`b_thinlto_cache_dir`.
diff --git a/docs/markdown/snippets/update_wrapdb.md b/docs/markdown/snippets/update_wrapdb.md
deleted file mode 100644
index a4e4f27..0000000
--- a/docs/markdown/snippets/update_wrapdb.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Update all wraps from WrapDB with `meson wrap update` command
-
-The command `meson wrap update`, with no extra argument, will now update all wraps
-that comes from WrapDB to the latest version. The extra `--force` argument will
-also replace wraps that do not come from WrapDB if one is available.
-
-The command `meson subprojects update` will not download new wrap files from
-WrapDB any more.
diff --git a/docs/markdown/snippets/wayland_scan_xml_core_only_arg.md b/docs/markdown/snippets/wayland_scan_xml_core_only_arg.md
deleted file mode 100644
index 9778421..0000000
--- a/docs/markdown/snippets/wayland_scan_xml_core_only_arg.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Added `include_core_only` arg to wayland.scan_xml.
-
-The `scan_xml` function from the wayland module now has an optional bool
-argument `include_core_only`, so that headers generated by wayland-scanner now
-only include `wayland-client-core.h` instead of `wayland-client.h`.
diff --git a/docs/markdown/snippets/wrapdb.md b/docs/markdown/snippets/wrapdb.md
deleted file mode 100644
index d5caf4f..0000000
--- a/docs/markdown/snippets/wrapdb.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Automatic fallback using WrapDB
-
-A new command has been added: `meson wrap update-db`. It downloads the list of
-wraps available in [WrapDB](wrapdb.mesonbuild.com) and stores it locally in
-`subprojects/wrapdb.json`. When that file exists and a dependency is not found
-on the system but is available in WrapDB, Meson will automatically download it.