Commit Graph

48 Commits

Author SHA1 Message Date
Jérémie Dimino f9837a278b
Detect recursive includes (#435)
Fix #432
2018-01-22 11:32:40 +00:00
Rudi Grinberg 1ff8a7989c Cross compilation support
In a host/target setup, all binaries that are built (including preprocessors)
are ran using the host *for* building targets. Final target artifacts are
compiled using the target toolchain
2018-01-01 22:34:41 +08:00
Jeremie Dimino 3e525d8eec Vendored usexp and switch to it 2017-12-21 13:13:47 +00:00
Jeremie Dimino 18d8cb847d Fix the test added in the previous commit 2017-12-18 13:30:49 +00:00
Jeremie Dimino 3e13492b7a Get rid of Alias.tree 2017-10-14 10:37:36 +08:00
Jeremie Dimino 7a5698c7b1 Interpret jbuild-ignore files sooner
Interpret then while loading the file tree.
2017-10-14 10:37:36 +08:00
Jeremie Dimino 3fb1915033 Fix #262
Use the absolute path when evaluating a jbuild file in OCaml syntax.
2017-09-22 11:20:13 +01:00
Jérémie Dimino c7e67d49b8 Use the full path of archives when linking (#197)
Instead of passing `-I <path> file.cma` to the compiler, pass `-I
<path> <path>/file.cma`.

Fixes #118 and #177. Using the fill path should also be slightly
faster as the compiler won't have to do the lookup through all include
paths. The only drawback is that it makes linking command line
slightly longer.
2017-07-25 14:08:39 +01:00
Jeremie Dimino b63718ada0 Fix error message about too many opam files 2017-06-08 14:11:31 +01:00
Jeremie Dimino eb7b5e2be4 Help users to not use non-future proof features in jbuild files 2017-06-08 11:33:59 +01:00
Jeremie Dimino e51002d1b7 Restrict what one can do with the OCaml syntax
Until we decide in what direction it should go.
2017-06-06 10:23:22 +01:00
Jeremie Dimino 11985e3948 Update the code to talk about scopes 2017-06-05 13:42:13 +01:00
Jeremie Dimino b74544919a jbuild_types.ml --> jbuild.ml 2017-06-02 14:32:05 +01:00
Jeremie Dimino a3ee81055d Refactor IO functions and fix invalid IOs in gen_rules 2017-05-18 17:12:32 +01:00
Jeremie Dimino 60ad83c522 Improve opam parsing errors & use opam-file-format to extract the version 2017-05-16 14:47:52 +01:00
Jeremie Dimino ef6be544a3 Keep the package context after parsing 2017-05-05 11:21:46 +01:00
Jeremie Dimino fbe0810156 Improve location of errors for mispelled package in jbuild files 2017-05-05 10:59:07 +01:00
Jeremie Dimino 2c124a0221 Detect conflicts between internal and external libraries 2017-04-26 15:04:32 +01:00
Jeremie Dimino 99b0d94335 Fixed the implementation of Filename.{split_,}ext 2017-03-31 13:34:30 +01:00
Jeremie Dimino acb54677d4 Ignore test/ and example/ during bootstrap 2017-03-29 16:51:48 +01:00
Jeremie Dimino a1e898af5b Better error when plugins don't call the send function 2017-03-21 14:03:33 +00:00
Jeremie Dimino 0dd24399ca Ignore opam files in ignored sub-trees 2017-03-15 11:41:44 +00:00
Jeremie Dimino a04b0c4dcc Improve 'required_by ...' messages 2017-03-15 08:59:00 +00:00
Jérémie Dimino 74e015923a Ignore <package>.opam when <package> is empty 2017-03-09 06:41:42 +00:00
Jeremie Dimino 27e44cd72b Fix a problem when opam files are in sub-directories 2017-03-01 18:07:16 +00:00
Jeremie Dimino 3aef1d6f3c Revert "Rename _build to _jbuild (#13)"
This reverts commit 89c15ca2c5.

Keep _build as the build directory until we get a better consensus.
2017-03-01 16:09:02 +00:00
Rudi Grinberg 89c15ca2c5 Rename _build to _jbuild (#13)
_build is already quite overloaded.
2017-03-01 13:37:05 +00:00
Jeremie Dimino 2e7d592f66 implement the manual properly for (install ...) stanzas 2017-02-28 18:17:15 +00:00
Jérémie Dimino ac372ce63a Allow to use installed libraries in jbuild plugins 2017-02-28 06:31:02 +00:00
Jérémie Dimino 2ee522be52 Add a Findlib.t in the context 2017-02-28 06:01:27 +00:00
Jérémie Dimino 9123508e43 Simplify jbuild.ml wrappers 2017-02-28 05:38:30 +00:00
Jeremie Dimino bd9033f9bb Allow 'ocamlfind printconf path' to fail 2017-02-27 11:38:11 +00:00
Jérémie Dimino 27a299437d 4.02.3 compatiblity 2017-02-26 21:28:30 +00:00
Jérémie Dimino 38421d7e41 Replace meta language by ocaml 2017-02-26 19:49:54 +00:00
Jérémie Dimino 8d52cba130 Add support for a meta language in jbuild files 2017-02-26 12:38:36 +00:00
Jérémie Dimino 4227e756bd Move actual parsing of jbuilds to Gen_rules 2017-02-25 18:21:23 +00:00
Jérémie Dimino c6b2169037 Refactor S-expression parsing 2017-02-25 18:03:56 +00:00
Jeremie Dimino 593b90723d Implement package version support 2017-02-24 18:21:22 +00:00
Jeremie Dimino 9c6e367089 Add a development mode and cleanup the code 2017-02-24 12:19:02 +00:00
Jeremie Dimino 0f28c8bba0 Refactor Sexp.of_sexp_error API 2017-02-24 10:49:27 +00:00
Jeremie Dimino e2a607af6e Parse and interpret (jbuilder_version ...) stanzas 2017-02-24 10:03:39 +00:00
Jeremie Dimino f9c80160f1 Implement versionned jbuild parsers 2017-02-24 09:41:32 +00:00
Jeremie Dimino f2e1f7d2ce Check that packages are correctly specified in jbuilds 2017-02-23 16:47:25 +00:00
Jeremie Dimino fe929a07d7 Don't require packages to be defined at the root
To match the manual
2017-02-23 15:59:44 +00:00
Jeremie Dimino 9e4a83bf48 add support for c_library_flags 2017-01-06 17:18:36 +00:00
Jeremie Dimino 614dbc6f6b Setup copy rules for all source files
This is cleaner and allow dependencies on files that do not
appear in static deps or targets.

With this patch, one can now build all JS packages at once.
2016-12-31 15:12:39 +00:00
Jeremie Dimino 2357fa0799 114.20+69 2016-12-15 11:20:46 +00:00
Jeremie Dimino cdcd7e907f 114.20+69 2016-12-02 13:54:32 +00:00