aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-07-11 11:45:28 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-07-13 16:40:17 +0200
commit7bbb3d7866dee293712d8add99f81bf51a5b972f (patch)
treee027343ad6fc1618e79ea8bfca4c09f0f7202fb1
parentf253fe820064310eee9aefc793328e84674d5c36 (diff)
Add new depends productions
-rw-r--r--doc/manual.cli63
1 files changed, 58 insertions, 5 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index 0ef08cf..8e1f0b9 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -722,8 +722,8 @@ license: <licenses> [; <comment>]
[build-warning-email]: <email> [; <comment>]
[build-error-email]: <email> [; <comment>]
-[depends]: [*][?] <alternatives> [; <comment>]
-[requires]: [*][?] [<alternatives>] [; <comment>]
+[depends]: [*] <alternatives> [; <comment>]
+[requires]: [*] [<alternatives>] [; <comment>]
[tests]: [*] <name> [<version-constraint>]
[examples]: [*] <name> [<version-constraint>]
@@ -1156,10 +1156,61 @@ build error notifications are sent to this email.
\h2#manifest-package-depends|\c{depends}|
\
-[depends]: [*][?] <alternatives> [; <comment>]
+[depends]: [*] <alternatives> [; <comment>]
+\
+
+Single-line form:
-<alternatives> = <dependency> [ '|' <dependency>]*
+\
+<alternatives> = <alternative> [ '|' <alternative>]*
+<alternative> = <dependencies> ['?' <enable-cond>] [<reflect-var>]
+<dependencies> = <dependency> | \
+ ('{' <dependency> [ <dependency>]* '}' [<version-constraint>])
<dependency> = <name> [<version-constraint>]
+<enable-cond> = '(' <buildfile-eval-expr> ')'
+<reflect-var> = <config-var> '=' <value>
+\
+
+Multi-line form:
+
+\
+<alternatives> =
+ <alternative>[
+ '|'
+ <alternative>]*
+
+<alternative> =
+ <dependencies>
+ '{'
+ [
+ 'enable' <enable-cond>
+ ]
+
+ [
+ 'require'
+ '{'
+ <buildfile-fragment>
+ '}'
+
+ ] | [
+
+ 'prefer'
+ '{'
+ <buildfile-fragment>
+ '}'
+
+ 'accept' <accept-cond>
+ ]
+
+ [
+ 'reflect'
+ '{'
+ <buildfile-fragment>
+ '}'
+ ]
+ '}'
+
+<accept-cond> = '(' <buildfile-eval-expr> ')'
\
The dependency packages. If the \c{depends} value starts with \c{*}, then
@@ -1218,8 +1269,10 @@ depends: libsqlite3 == $
\h2#manifest-package-requires|\c{requires}|
+@@ TODO: `?` is now inside (but just `?` is allowed, see manifest.hxx.
+
\
-[requires]: [*][?] [<alternatives>] [; <comment>]
+[requires]: [*] [<alternatives>] [; <comment>]
<alternatives> = <requirement> [ '|' <requirement>]*
<requirement> = <id> | <dependency>