Commit Graph

1274 Commits

Author SHA1 Message Date
Jeremie Dimino eb68a9067d Simplify Dep_conf.t
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 0b2bda03ed Refactor percent forms management
Use a single map for both variables and percent forms

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 46e8614e90 Hide Pform.t
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 4f7e7188d7 Implemenet variable shadowing
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jeremie Dimino abab989e20 Remove extra module path
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 61a80a6bb3 Simplify a bit expand_step2
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino c10a2c254e Remove a couple of extra begin..end
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 38c0d56ba8 Name the intput file for action preprocessors
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 015b317f43 Introduce a bindings variable for actions
We need to know the bindings statically whenever they overwrite existing vars

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 17d4a7c3df Refactor a bit the parsing code for bindings
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 65e1aa0043 Rename Jbuild.Named to Jbuild.Bindings
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg bfc1b9fd25 Change binding representation to use a list
This preserves the order of things

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 0b1abc68bd Improve error message for %{<}
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino df15d30845 Completely get rid of first-dep
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino 04f62ecc03 Get rid of uses of %{first-dep}
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Jeremie Dimino fd27e371bc Tweak parsing of bindings
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 8fa41edcff Parse bindings in the new syntax
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 2b7a7fcdff Expand named variables in actions
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 1cc0198d9c Make the tests stanza use named deps
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 7fbe0bc172 Formatting tweaks
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg f121a1546e Generalize named bindings to Jbuild.Named.t
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg b9be63f4b7 small simplification
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg aab701d4a1 Add error checking for duplicate bindings
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 93b0c618d1 Add syntax for binding dependencies to names
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Rudi Grinberg 4be37dd140 Add a list constructor to Dep_conf.t
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-10 01:32:26 +07:00
Jérémie Dimino e9027b4b11
Improve error message when too many parentheses are used (#983)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 14:32:20 +01:00
Jeremie Dimino 7c345b677f Forbid Path.append _ (In_build_dir _)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 12:31:39 +01:00
Jeremie Dimino 0ed758ef8a Fix sandboxing when the build directory is absolute
Fix #979

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 12:31:39 +01:00
Jeremie Dimino f46de28e8d Simplify the code with Option.value
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 10:20:04 +01:00
Jeremie Dimino e05fcb7631 Do not parse dune-project files in ignored directories
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 10:20:04 +01:00
Jérémie Dimino d393630152
Only warn for duplicated fields in jbuild files (#976)
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2018-07-09 10:18:04 +01:00
Rudi Grinberg 503ebf8a43
Merge branch 'master' into rename-jbuilder-dune 2018-07-09 16:10:32 +07:00
Rudi Grinberg baf492db11 Allow %{ocaml-config:..} wherever variables are allowed
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-09 09:05:04 +01:00
Rudi Grinberg 0ca157f840 Fix expansion of %{ocaml-config:..}
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-09 09:05:04 +01:00
Rudi Grinberg c616171ed8 Rename more legacy occurrences
A few left over cases where ${..} was used instead of %{..}. Also use dune
rather than jbuilder in the error message.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2018-07-09 11:40:18 +07:00
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 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 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