Commit Graph

667 Commits

Author SHA1 Message Date
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
Rudi Grinberg 005b1de15d Merge pull request #155 from tmcgilchrist/patch-1
Spelling
2017-06-16 01:14:30 -04:00
Tim McGilchrist a9f7166a2a Spelling 2017-06-16 14:20:06 +10:00
Jeremie Dimino bf5f366e96 Typo 2017-06-15 17:39:25 +01:00
Jeremie Dimino 34df3d5fd9 Fix check for dependency on the lib interface module 2017-06-15 14:17:54 +01:00
David Allsopp 574866af2e Correct detected value for ocaml on Windows 2017-06-15 12:14:56 +02:00
David Allsopp d809a3362a Prevent Future.Temp.destroy from failing 2017-06-15 12:14:56 +02:00
David Allsopp bf3fa0831d Add Sys.force_remove
Sys.force_remove is Sys.remove, except on Windows, where it will remove
the "read-only" attribute and re-try a failed Sys.remove
2017-06-15 12:14:56 +02:00
Darin Morrison 8dd66ed3d8 Fix link to example directory (#143) 2017-06-13 17:07:36 +01:00
Jeremie Dimino 241f1204cb Really fix #137 2017-06-09 15:18:27 +01:00
Jeremie Dimino fff5763a53 Fix #137: fix hint when all missing libs are optional 2017-06-09 14:49:08 +01:00
Jeremie Dimino daeb40b087 Add SCOPE_ROOT
While analysing packages using jbuilder, I found that some packages
use ${ROOT} to refer to the root of the project. However, this doesn't
work as ${ROOT} depends on the workspace configuration.

Add ${SCOPE_ROOT} to make this easier for projects with a lot of
nested sub-directories.
2017-06-09 12:45:05 +01:00
Jeremie Dimino 6b07ee2e3c Fix build of tests with --dev 2017-06-09 12:45:05 +01:00
Jeremie Dimino c1f00c95ad Use --dev for running tests
Otherwise we always have to recompile jbuilder for running tests.
2017-06-09 12:45:05 +01:00
Jeremie Dimino 572774490a Report an error for invalid dependency between modules in wrapped libraries
Report an error when in a wrapped library, a module that is not the
toplevel module depends on the toplevel module. This doesn't make as
such a module would in theory be inaccessible from the outside

If this causes compilation failures of released packages, we'll need
to turn this into a warning.
2017-06-09 12:45:05 +01:00
Gabriel Scherer 017e0abbe8 fix typo 2017-06-09 08:52:21 +01:00
Jeremie Dimino 3983d669db Add a test for inferred rules 2017-06-08 18:46:25 +01:00