Anil Madhavapeddy
23576a4832
configurator: add write_lines function
...
The `write_flags` only works with `(:include` directives, and it
is also useful to be able to write a list of lines so that the
discovered information can be used in variable expansion actions.
For example, ocaml-yaml discovers CFLAGS and then directly has
`(run ${CC} ${read-lines:cflags})` actions that use this new
write_lines function to list cflags instead of s-expressions.
They must be line-by-line or else variable expansion doesnt work
since CFLAGS contain spaces.
Signed-off-by: Anil Madhavapeddy <anil@recoil.org>
2018-07-09 00:00:32 +07:00
Jérémie Dimino
e7bc884d26
Improve compatibility of Configurator.V1.write_flags ( #967 )
...
Make sure the produced file will round-trip with both the Dune and
Jbuilder lexical conventions.
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-08 15:26:18 +01:00
Rudi Grinberg
1b53107b66
Merge pull request #956 from rgrinberg/lowercase-builtin-vars
...
Lowercase builtin vars
2018-07-08 18:17:13 +07:00
Rudi Grinberg
78370d3983
Rename test not to use outdated form term
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:30:47 +07:00
Rudi Grinberg
a2153539e1
Fix error messages when percent macros are used incorrectly
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:27:35 +07:00
Rudi Grinberg
ccabeb7181
Hack to fix printing of errors
...
This is a temporary hack until we have a real sexp type
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:25:26 +07:00
Rudi Grinberg
a24b55ed81
Add error for %{read:x} in wrong place
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 17:18:38 +07:00
Rudi Grinberg
bfd246c667
Rename Kind to Var in Pform
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
1fb3af8ae8
Rename var to pform
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
1a9895aec4
Consistent naming for vars and forms
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
7cb068d1eb
Improve error messages for all forms
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
813b8d9dbc
Use correct syntax for error
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
647f68dfe9
Move Super_context.Var into own module
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
1b918ecc74
Improve error message for renamed forms
...
Don't include the payload in these messages
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
78140ca235
Remove the targets helper function
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
c244fa9d08
Share error messages for renamed/since/deleted etc.
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
f95c9e01d5
Simplify some checks with an is_form function
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
44dc0394b8
s/Nothing/No_info/
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
5f783be1b2
Use maps instead of hash tables for variable lookup
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
7b05fc34b6
Add String_with_vars.Var.name
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
9750f84b76
Remove String_with_var.Loc.fail
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
843792ad5d
Switch from maps to tables for variables
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
43b15bf944
Add Var module to Super_context
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
2f86a4d857
Rename the expand family of functions
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
73cc3b1e7c
Simplify Var.t definition
...
Remove all gatd's and the extra record type
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
972406a0dc
Fix static dependencies
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
2a71439c3e
Toyish gadtization to remove a few assert falses
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
6159a2909c
Remove one off function
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
3a7b62a57d
Use the variable for dynamic expansions as well
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
3f7ad78512
Replace more code with the variable system
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
9811031899
Implement a more elaborate variable expansion mechanism
...
That embeds changes across versions
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
8ef6af2675
Add some helpers to String_with_loc
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
54ff98b36d
Rename ROOT to root
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
a0a92d9adb
Introduce a Dir primitive to Value
...
This is like Path but users will know not to infer dependencies from it
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
1a37977f62
Fix error message
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
998ff8ce8c
Clarify rename test
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
9d7107d831
Add renamed vars to migration
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
f2f0d240c4
Add tests for lower/uppercase vars
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Rudi Grinberg
90cde684e6
Remove uppercase vars in dune files
...
While maintaing them in jbuild files (with proper error messages)
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-08 16:33:18 +07:00
Jérémie Dimino
3348b6a913
Adapt the behavior of dune subst for dune projects ( #960 )
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-08 09:51:16 +01:00
Rudi Grinberg
290fffc2f3
Merge pull request #957 from rgrinberg/rename-scope-scope-root
...
Rename SCOPE_ROOT, ${@}, ${^}, etc.
2018-07-06 19:04:03 +07:00
Rudi Grinberg
b8f11b1f04
Make variable rename errors more consistent
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:48:30 +07:00
Rudi Grinberg
c4545fce18
Get rid of indexed lookups for deps
...
Have %{first-dep} to replace %{<}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:10 +07:00
Etienne Millon
2c29217a20
Add a test case for project_root
...
Signed-off-by: Etienne Millon <etienne@cryptosense.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg
ca342fd840
Fix inverted conditionals for version check
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg
204b21f4fb
Rename %{<} to %{deps[0]} and implement %{deps[i]}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg
97fba5537d
Write lexer to parse %{deps[i]}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg
0195b4bd03
Add some helpers to impldement %{deps[i]}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:46:09 +07:00
Rudi Grinberg
13c12e9def
Rename %{^} to %{deps}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:45:43 +07:00
Rudi Grinberg
a317fb0606
Rename %{@} to %{targets}
...
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-06 18:45:43 +07:00