aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets/fs_read.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/snippets/fs_read.md')
-rw-r--r--docs/markdown/snippets/fs_read.md40
1 files changed, 0 insertions, 40 deletions
diff --git a/docs/markdown/snippets/fs_read.md b/docs/markdown/snippets/fs_read.md
deleted file mode 100644
index 05c215a..0000000
--- a/docs/markdown/snippets/fs_read.md
+++ /dev/null
@@ -1,40 +0,0 @@
-## Support for reading files at configuration time with the `fs` module
-
-Reading text files during configuration is now supported. This can be done at
-any time after `project` has been called
-
-```meson
-project(myproject', 'c')
-license_text = run_command(
- find_program('python3'), '-c', 'print(open("COPYING").read())'
-).stdout().strip()
-about_header = configuration_data()
-about_header.add('COPYRIGHT', license_text)
-about_header.add('ABOUT_STRING', meson.project_name())
-...
-```
-
-There are several problems with the above approach:
-1. It's ugly and confusing
-2. If `COPYING` changes after configuration, Meson won't correctly rebuild when
- configuration data is based on the data in COPYING
-3. It has extra overhead
-
-`fs.read` replaces the above idiom thus:
-```meson
-project(myproject', 'c')
-fs = import('fs')
-license_text = fs.read('COPYING').strip()
-about_header = configuration_data()
-about_header.add('COPYRIGHT', license_text)
-about_header.add('ABOUT_STRING', meson.project_name())
-...
-```
-
-They are not equivalent, though. Files read with `fs.read` create a
-configuration dependency on the file, and so if the `COPYING` file is modified,
-Meson will automatically reconfigure, guaranteeing the build is consistent. It
-can be used for any properly encoded text files. It supports specification of
-non utf-8 encodings too, so if you're stuck with text files in a different
-encoding, it can be passed as an argument. See the [`meson`
-object](Reference-manual.md#meson-object) documentation for details.