meson/docs
Paolo Bonzini d0d7af3049
linkers: darwin: do not use -bundle for shared_modules
Both dynamic libraries and bundles these days can be dynamically loaded
using the dl APIs (e.g. dlopen, dlclose). It is not possible to include
bundles on a linker command line as if they were shared libraries,
but that's pretty much the only difference.

However, bundles fail the Apple verification for iOS:

2025-02-10 13:54:09.095 ERROR: Validation failed (409) The binary is invalid.
  The executable 'Runner.app/Frameworks/numpy._core._operand_flag_tests.framework/numpy._core._operand_flag_tests'
  has type 'BUNDLE' that is not valid. Only 'EXECUTE' is permitted.
2025-02-10 13:54:09.096 ERROR: Validation failed (409) Missing load commands.
  The executable at 'Runner.app/Frameworks/numpy._core._operand_flag_tests.framework'
  does not have the necessary load commands. Try rebuilding the app with the latest
  Xcode version. If you are using third party development tools, contact the provider.

So switch to -dynamiclib for shared modules as well.

Fixes: #14240
(cherry picked from commit cfb5a48e07)
2025-03-24 21:57:04 -04:00
..
extensions Fix typos in docs 2022-10-23 03:06:39 +03:00
markdown linkers: darwin: do not use -bundle for shared_modules 2025-03-24 21:57:04 -04:00
refman Fix typos 2024-09-11 15:51:04 -07:00
theme/extra modules/wayland: Add unstable_wayland module 2022-02-27 14:33:33 -05:00
yaml docs: clarify use cases for declare_dependency() 2025-01-21 18:36:02 -05:00
.editorconfig editorconfig: Use tabs for sitemap.txt [skip ci] 2018-11-08 20:38:39 +02:00
README.md docs: mention additional python modules needed for building 2023-05-09 21:33:33 -04:00
genrefman.py Use SPDX-License-Identifier consistently 2023-12-13 15:19:21 -05:00
genrelnotes.py Use SPDX-License-Identifier consistently 2023-12-13 15:19:21 -05:00
jsonvalidator.py Use SPDX-License-Identifier consistently 2023-12-13 15:19:21 -05:00
meson.build docs: do not require aiohttp to build 2025-01-20 10:01:00 -05:00
meson_options.txt docs: add option to skip building HTML docs 2023-05-09 21:33:32 -04:00
sitemap.txt Created release notes for 1.7.0. 2025-01-26 20:02:34 +02:00
validatelinks.py docs: Add a test to validate URLs in markdown/Users.md 2025-01-19 20:36:40 +02:00

README.md

Meson Documentation

Build dependencies

Meson uses itself and hotdoc for generating documentation.

Minimum required version of hotdoc is 0.8.9.

Instructions on how to install hotdoc are here.

Our custom hotdoc extensions require:

Building the documentation

From the Meson repository root dir:

$ cd docs/
$ meson setup built_docs/
$ ninja -C built_docs/

Now you should be able to open the documentation locally

built_docs/Meson documentation-doc/html/index.html

Upload

Meson uses the git-upload hotdoc plugin which basically removes the html pages and replaces with the new content.

You can simply run:

$ ninja -C built_docs/ upload