Rudi Grinberg
530dbfeb81
Move String_set to stdune
2018-04-23 12:08:09 +07:00
Jeremie Dimino
13b770962d
Remove the ?extra_targets argument of Build.run
...
Instead, use Hidden_targets
2018-04-18 17:00:11 +01:00
Jeremie Dimino
bd7f793792
Add Arg_spec.Hidden_targets
...
Same as Hidden_deps: allows to declare targets than don't appear on
the command line.
2018-04-18 17:00:11 +01:00
Rudi Grinberg
3e1495e47e
Add entry module for configurator
...
Only expose the public api (v1) in it
2018-04-17 22:25:45 +07:00
Rudi Grinberg
1d33f81298
Extract #define's using @whitequark's hack
2018-04-17 22:25:45 +07:00
Rudi Grinberg
e0d7570752
Do not run compiled programs to extract #define's
...
Running a program to extract a #define value doesn't work in a cross compilation
environment. Nevertheless, we can extract #define constants by invoking the
preprocessor directly using the -E flag and doing some parsing to extract
values.
As a consequence, we now ignore the link_flags argument. As we're not going to
be linking any executables. We aren't removing the argument altogether since
it's technically a breaking change. The user will instead see a deprecation
warning when ~link_flags is provided.
2018-04-17 22:24:40 +07:00
Rudi Grinberg
5a89767184
Merge pull request #707 from Chris00/master
...
Add Configurator.V1.write_as_sexp
2018-04-17 22:20:55 +07:00
Etienne Millon
1dbf960d41
Skip alias modules in the map
2018-04-17 15:51:29 +01:00
Etienne Millon
ec9ff813ad
Fallback to implementation if there is no mli
2018-04-17 15:51:29 +01:00
Etienne Millon
40624e744b
Build transitive dependencies with ocamldep
...
This uses two different extensions:
- `.d` corresponds to the raw `ocamldep` output.
- `.all-deps` corresponds to this output, merged with the dependencies
of all the interfaces mentioned in the earlier.
This also means that `.all-deps` files will contain output from multiple
files.
2018-04-17 15:51:29 +01:00
Christophe Troestler
7e1b521d7b
Add Configurator.V1.write_flags
...
See https://github.com/ocaml/dune/pull/696/files#r181721525
2018-04-17 16:07:38 +02:00
Rudi Grinberg
9414913286
Add test to make sure that ${null} isn't a target
2018-04-17 10:58:53 +07:00
Rudi Grinberg
69b76f0c8e
Add ?prelude argument when import constants
...
A user can now define their own macros to use with extracting compile time info
2018-04-17 00:26:23 +07:00
Rudi Grinberg
75bc824f97
Get rid of the -ocamlc arg altogether
2018-04-12 18:05:40 +07:00
Rudi Grinberg
86e4df847b
Warn the user when DUNE_CONFIGURATOR is overwritten with -ocamlc
2018-04-12 00:16:36 +07:00
Rudi Grinberg
22576fac7e
Fix compatibility for ocaml without Sys.getenv_opt
2018-04-11 22:37:25 +07:00
Rudi Grinberg
d65845abb8
Pass ocamlc explicitly to configurator using DUNE_CONFIGURATOR
2018-04-11 21:26:51 +07:00
Rudi Grinberg
a3a9a1c719
Move current configurator API to V1 module
2018-04-11 09:43:37 +07:00
Rudi Grinberg
bd52821556
Mark internal (unstable) libraries as such
...
Add an internal description in the synopsis and also a comment in the ocamldoc
2018-04-10 23:02:14 +07:00
Rudi Grinberg
e832b7230d
Add public_name's to all dune sub libraries
...
These will all live under the jbuilder package
2018-04-10 22:05:52 +07:00
Rudi Grinberg
0bbbf5320f
Merge pull request #686 from rgrinberg/remove-has-dot-merlin
...
Remove ~has_dot_merlin flag
2018-04-10 20:07:06 +07:00
Rudi Grinberg
62bbd5d30e
Merge pull request #671 from rgrinberg/pr/653
...
Cosmetic changes for default package entry point.
2018-04-10 20:04:28 +07:00
Rudi Grinberg
c5633c9c34
Fix indentation
2018-04-10 11:51:04 +07:00
Rudi Grinberg
9acf617563
Remove ~has_dot_merlin flag
...
it was introduced to avoid generaitng a needless .merlin file for utop levels.
But now that we have a better mechanism for that, it serves no purpose.
2018-04-10 02:01:33 +07:00
Jeremie Dimino
3c7672c696
Report the ppx runtime deps as external dependencies
2018-04-09 06:31:52 +08:00
Jeremie Dimino
22b024a977
More hacks for external-lib-deps
...
Fix #644
2018-04-09 06:31:52 +08:00
Jeremie Dimino
1215fe2f8a
Remove unused Lib.Compile.make
2018-04-09 06:31:52 +08:00
Jeremie Dimino
0104309f25
Use Arg_spec.Hidden_deps
2018-04-09 06:31:52 +08:00
Jeremie Dimino
85c8fff7f5
Add Arg_spec.Hidden_deps
2018-04-09 06:31:52 +08:00
Jeremie Dimino
606ad1b10f
Pass around library dependencies as static values
...
This way we know more of the compilation DAG statically. This helps
for parallelism as well as for `jbuilder external-lib-deps`
2018-04-09 06:31:52 +08:00
Jeremie Dimino
9e75552c6b
Add Cm_kind.Dict.make_all
2018-04-09 05:59:12 +08:00
Jeremie Dimino
9b1adee13c
Record library dependencies using Build.prefix_rules
2018-04-09 05:59:12 +08:00
Jeremie Dimino
950a37b1ad
Generate select rules explicitely in gen_rules
2018-04-09 05:59:12 +08:00
Jeremie Dimino
75269117cd
Use static requires in merlin
2018-04-09 05:59:12 +08:00
Rudi Grinberg
c0c69b44db
Update configurator to use Exn.raise_with_backtrace
2018-04-06 23:34:02 +08:00
Rudi Grinberg
52a3833e0e
Add Exn.raise_with_backtrace
2018-04-06 22:26:49 +08:00
Rudi Grinberg
10c5447608
Print backtrace in case of uncaught exception
...
Otherwise uncaught by configurator are hard to debug
2018-04-06 21:26:15 +08:00
Rudi Grinberg
6688144a74
Add Char module to stdune
2018-04-06 11:51:03 +08:00
Rudi Grinberg
41047e36d1
Merge pull request #677 from rgrinberg/4.02.3-configurator-fixes
...
4.02.3 configurator fixes
2018-04-06 10:23:27 +08:00
Rudi Grinberg
f19d5c69ee
Add Char compatibility module for 4.02.3
...
This is needed for configurator
2018-04-05 23:35:45 +08:00
Rudi Grinberg
9f9a770b13
Disable warning 50 for configurator on 4.02.3
2018-04-05 23:35:22 +08:00
Rudi Grinberg
651d12df5d
Implement manual printers for Meta type
2018-04-05 23:02:57 +08:00
Rudi Grinberg
4314dd7db3
Add some primitives to make writing formatters easier
...
* ocaml_list
* quoted
* const
* record
2018-04-05 23:02:25 +08:00
Jeremie Dimino
a1812fccd5
Add INSIDE_DUNE to detect when we are running from unside Dune
...
And use the following defaults: -j 1 --root . --display quiet
2018-04-03 11:43:07 +08:00
Jeremie Dimino
31858c9680
Don't on side-effects for setting up the environment
...
Instead of making sure we set global variables and call Unix.putenv in
the right order, pass the environment explicitely everywhere.
2018-04-03 11:43:07 +08:00
Thomas Refis
77c717b9af
Cosmetic changes for default package entry point.
2018-04-03 00:54:30 +08:00
Anton Bachin
f29ff0945d
Place module list on its own line (take 2)
...
See eb05f4f643
and
https://github.com/ocaml/dune/pull/367#issuecomment-352209790 .
2018-04-03 00:13:36 +08:00
Rudi Grinberg
ff211b18a7
Fix lazy loading of rules
...
We must load package rules when a file in the _mld dir is requested
2018-04-02 23:15:56 +08:00
Rudi Grinberg
85d69b8e1a
Remove Odoc.pkg_odoc
...
This function is only used once
2018-04-02 19:47:13 +08:00
Jeremie Dimino
01fab4c1c3
Add Stdune.Or_exn
2018-03-30 16:55:44 -04:00