Commit Graph

683 Commits

Author SHA1 Message Date
Jeremie Dimino 06b47a73f6 Do not accept per_file anymore
It was renamed per_module and it is planned to reuse per_file for
another purpose.
2017-08-04 09:24:02 +01:00
Jeremie Dimino 3ab39c7c7a Update changelog 2017-08-04 09:22:03 +01:00
Rudi Grinberg b668d9189f Add a utop subcommand (#183)
Add a utop subcommand that build and execute a utop where all the libraries defined in the current directory are immediately available for interactive use.
2017-08-04 08:59:35 +01:00
Jeremie Dimino 46df511dd4 Update changelog 2017-08-03 17:30:04 +01:00
David Allsopp be4b5fa454 Extend (:include ) form to library_flags
library_flags already included variable expansion.
2017-08-03 17:28:32 +01:00
David Allsopp 3a64432d04 Expand variables in flags
Extend Ordered_set_lang.Unexpanded.expand to include a mapping function
for the S-expression for each atom. The previous behaviour can be
achieved with ~f:Sexp.Of_sexp.string, but this allows the S-expression
to be parsed using String_with_vars.t, thus allowing variable expansion.
2017-08-03 17:28:32 +01:00
David Allsopp 83bba5af61 Use an AST for Ordered_set_lang 2017-08-03 17:28:32 +01:00
David Allsopp 13b0eb9f2b Convert link_flags to the ordered set DSL 2017-08-03 17:28:32 +01:00
David Allsopp ec29651cff Extend (:include ) form to js_of_ocaml flags 2017-08-03 17:28:32 +01:00
David Allsopp cebbb219e7 Extend (:include ) form to OCaml flags
flags, ocaml_flags and ocamlopt_flags now support the (:include ) form
of the ordered set language.
2017-08-03 17:28:32 +01:00
David Allsopp 712981d847 Make Ocaml_flags.t abstract 2017-08-03 17:28:32 +01:00
Jérémie Dimino ea377efbbb Use absolute paths for ppx drivers in .merlin files (#201)
Fixes #196 and #199
2017-07-28 16:49:45 +01:00
aalekseyev b5f0b85e56 Allow digits and apostrophes in library/module names (#206)
* Allow digits in library/module names

Also include the malformed module name in the error message so it's more clear what it's complaining about.

* Update jbuild.ml
2017-07-28 08:40:09 +01:00
Jeremie Dimino 2f801cf17f typo 2017-07-27 12:08:19 +01:00
Jeremie Dimino b1e140eef3 Add --destdir + document --destdir, --prefix and --libdir
Should help #202
2017-07-27 12:06:14 +01:00
Jeremie Dimino f267e3fd9c Update changelog 2017-07-25 17:10:26 +01:00
Jeremie Dimino cfd43d5282 Simplify a bit the rules for installation of library files 2017-07-25 17:07:24 +01:00
François Bobot 44a15bcd24 Fix documentation for `--libdir` 2017-07-25 16:44:14 +01:00
François Bobot b6498d11c2 Consider that a failing opam is an absent opam 2017-07-25 16:44:14 +01:00
François Bobot 747cf220c6 Install by specifying libdir for opam-installer
- change default findlib directory (ocamlc -where)
2017-07-25 16:44:14 +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 a75e5c4c31 Update changelog 2017-07-25 11:48:46 +01:00
Marcello Seri 8bace6bc3b Preserve quotes on certain flags that contain spaces (#200)
This is useful, for example, if one needs to pass specific  flags
by hand (due to the need to use old libraries for example).  Fixes
#198

Signed-off-by: Marcello Seri <marcello.seri@citrix.com>
2017-07-25 11:38:47 +01:00
Jeremie Dimino 6e48e70a74 Fix the quoting of FLG lines in .merlin files 2017-07-24 15:32:18 +01:00
Jeremie Dimino 9f9fcc39a9 Update changelog 2017-07-21 17:35:28 +01:00
Jeremie Dimino 4b40cad247 Revert public_interfaces for now
The code to support it is starting to become increasingly complicated
and the number of problem found is a bit alarming.

We'll reinclude it later after a bit more testing and hopefully some
simplifications.
2017-07-21 17:32:39 +01:00
Jeremie Dimino 9893c14500 Fix some problems related to public_interfaces
The dependencies on library artifacts are now properly setup to point
to the files in _build/install/...

Moreorver, private interfaces are now only visible inside the library
itself and are only allowed for private libraries. When a project
defines multiple packages, this ensures that the visibility when all
packages are built simultaneously and when they are installed one by
one.

We can relax these restrictions later with a bit more work and a clear
definition of where private modules should be visible.
2017-07-21 16:52:28 +01:00
Jeremie Dimino cec825bf18 memoize one more computation in odoc 2017-07-21 15:43:44 +01:00
Jeremie Dimino 45e04010c5 style 2017-07-19 15:35:05 +01:00
Jeremie Dimino 2b93f960b6 Doc tweaks 2017-07-19 15:31:17 +01:00
Jeremie Dimino 5e91b687cd Update changelog 2017-07-19 15:29:48 +01:00
François Bobot a3933a2c18 Add public_interfaces selection for libraries (#106)
Add a field "public_interfaces" to library stanza listing which modules are public.

Private modules won't be accessible outside the scope where the library is defined.
2017-07-19 15:26:48 +01:00
Jeremie Dimino 0d1a3b7378 Change the name of intermediate files for reason projects
before:

- foo.re  --> foo.re.ml
- foo.rei --> foo.rei.mli

after:

- foo.re  --> foo.re.ml
- foo.rei --> foo.re.mli

When compiling foo.re.ml with ocamlc or ocamlopt, the compiler checks
for the existence of foo.re.mli to determine whether the file has an
explicit interface or not. With the previous naming scheme, the
compiler always thought that there was no interface and was
re-creating the .cmi, which caused a race condition.

Fixes #184
2017-07-18 16:16:00 +01:00
Jeremie Dimino dc895d455f Update OCaml versions 2017-07-18 13:18:26 +01:00
Jeremie Dimino edb4b8f73c Add a `make release` target
Should help with #192
2017-07-18 10:17:53 +01:00
Jeremie Dimino 71c748860d Fix #190 2017-07-17 12:49:59 +01:00
Rudi Grinberg b7ccc320fa Merge pull request #191 from soupault/fix_quickstart
Add missing parenthesis in quickstart examples
2017-07-16 07:05:33 -04:00
Egor Panfilov 15f2687f0f Added missing parenthesis in quickstart 2017-07-16 13:56:48 +03:00
Ramana Venkata 5829bdb2fc Use https links for manual (#186) 2017-07-14 12:19:55 +01:00
David Allsopp 7be14ac30b Build CI without opam 2017-07-07 12:27:31 +02:00
François Bobot 9935c838b3 Use lowercase_ascii 2017-07-07 12:27:31 +02:00
zapashcanon e71ad02f02 Fix typo 2017-07-01 20:10:47 -04:00
Rudi Grinberg 97a855524c Remove duplicate check for merlin context (#175)
This check is done in add_rules and dot_merlin. Only of those checks is
necessary. The check in dot_merlin is removed.
2017-06-30 12:03:11 +01:00
Gabriel Scherer 06a179df99 fix README.md
Two things:
1.  `[relative-path]()` does not work with Github markdown (see: [src/]()), you have to write `[relative-path](relative-path)]` (see: [src/](src/)). (`[relative-path][]` and `<relative-path>` don't work either).
2. places using the org-mode syntax `=foo=` where fixed to use backticks instead
2017-06-29 05:24:57 -04:00
Jeremie Dimino aed36a76dd Quote a few paths in error messages when necessary 2017-06-26 13:33:01 +01:00
François Bobot 52afe84c83 Fix some warning 50 for 4.02.3 (#161)
Warning 50: unattached documentation comment (ignored)
2017-06-26 10:28:37 +01:00
Jeremie Dimino c0200c3baa Add Alias.of_file and Alias.name_of_file 2017-06-26 09:53:37 +01:00
Rudi Grinberg bdb542ea29 Merge pull request #156 from aantron/typos
Fix typos
2017-06-17 21:58:55 -04:00
Anton Bachin 63b63eb0ac Fix typos 2017-06-17 12:06:58 -04:00
David Allsopp 832bd631c2 Ignore Vim swapfiles 2017-06-16 12:15:15 +02:00