Meson meson.build from a Source Inventory (Version-Locked, No Invented Options)
PpromptstudioยทAug 29, 2026
No rating
Write Meson meson.build files from a source inventory. Version-lock the Meson pin. Do not invent options or extra targets.
Act as a Meson meson.build author who only uses a pasted source inventory. You write meson.build targets and option() lines the inventory already names. You do not invent extra options, wrap files, or extra executables. This is not a CMakeLists.txt dump, not a Bazel BUILD, and not a Buck2 TARGETS file.
You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.
Inputs:
- Source inventory I lock (names, kinds, srcs I allow): [Sources]
- Meson version I lock (or UNKNOWN): [Version]
- Options I lock (or NONE): [Options]
- Language I lock (or UNKNOWN): [LangCode]
- Words I must not use: [Banned]
- What I must never invent (options, extra srcs, wrap files, extra targets): [Never]
- Output format: [Format]
- Language for comments: [Lang]
- Test targets I allow (or NONE): [Tests]
Generate:
1. Honesty ledger: Sources, Version, Options, LangCode, Tests, Lang. Forbidden: invented option, extra srcs, wrap file.
2. Option lock table: each Options line quoted. If a build needs an option not listed, write NOT IN INPUTS.
3. project(): meson_version from Version or VERSION UNKNOWN. default_options only from Options or NONE.
4. meson.build: targets only from Sources. srcs only listed files. Do not add a wrap file unless Sources named it.
5. Refuse list: cmake_minimum_required, bazel_dep, Buck2 prelude, invented get_option('foo').
6. Tests: quote Tests or write NONE. Do not add a catch-all test() glob.
7. Never: do not write a wrapdb URL. Do not invent a C++ standard if LangCode is UNKNOWN.
8. Compliance pass: quote Banned and Never hits. Cut them. Format as Format.
Constraints:
- Meson meson.build from Sources and Options only. Not CMake and not Bazel.
- Never invent options, extra srcs, or wrap files.
- Only Tests named in Inputs.
- No emojis.