Commit Graph

1456 Commits

Author SHA1 Message Date
Rudi Grinberg 530dbfeb81 Move String_set to stdune 2018-04-23 12:08:09 +07:00
Rudi Grinberg 9b7a1707c5
Merge pull request #711 from rgrinberg/remove-ocamlv-tests
Remove -ocamlv arg from cram tests
2018-04-19 21:02:51 +07:00
Rudi Grinberg 6819749550 Remove -ocamlv arg from cram tests
The ocamlc config is passesd courtesy of configurator anyway
2018-04-18 23:14:32 +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 d9a90b4f29
Merge pull request #709 from rgrinberg/cram-portable-exts
Cram portable exts
2018-04-18 22:51:55 +07:00
Rudi Grinberg ab50461741 Make extensions portable in cram output
With some really ugly post processing
2018-04-18 21:21:09 +07:00
Rudi Grinberg f8f1a4036e Change cram.mll to not use anon args 2018-04-18 19:30:40 +07:00
Rudi Grinberg e467cafed0 Tweak CHANGELOG
Use github handles - those are useful for automatic pings when making making
releases.

Fix some typos
2018-04-18 09:50:29 +07:00
Rudi Grinberg cc8de7df4c
Merge pull request #678 from rgrinberg/configurator-E
Use Whitequark's Code to extract #define's and other compile time info from object files
2018-04-18 09:38:56 +07: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
Jeremie Dimino 5228b431e1 Update changelog 2018-04-17 15:51:29 +01: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
Etienne Millon 0cf8a8240a Add tests
The symptoms are a bit different depending on the presence of an
interface file.
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 5d9a99d28b Update CHANGELOG 2018-04-17 18:52:42 +07:00
Rudi Grinberg 17cceaa992
Merge pull request #693 from rgrinberg/false-target
Add test to show that jbuilder mishandles ${null}
2018-04-17 18:37:12 +07:00
Rudi Grinberg e68faa0494
Merge pull request #706 from diml/disable-osx
Disable OSX tests
2018-04-17 18:16:13 +07:00
Jeremie Dimino 7644dbea6d Disable OSX tests 2018-04-17 11:22:55 +01: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 8c86604ee6 Add test to show that jbuilder mishandles ${null}
Jbuilder incorrectly infers ${null} to be a target
2018-04-17 10:37:34 +07:00
Rudi Grinberg 0571504abb
Merge pull request #704 from rgrinberg/user-defined-macros-configurator
Add ?macros argument when import constants
2018-04-17 00:39:48 +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 b8f2fa0465
Merge pull request #696 from rgrinberg/configurator-doc
Documentation for new configurator
2018-04-16 19:22:28 +07:00
Rudi Grinberg efa6eb1447
Merge pull request #703 from rgrinberg/improve-configurator-tests
Improve configurator tests
2018-04-16 19:21:18 +07:00
Rudi Grinberg c1ca2f96b9 Improve configurator tests
* Don't use asserts to test extracted values. Just print them and relying on
  diffing for comparison

* Use a string constant type.
2018-04-16 13:01:25 +07:00
Rudi Grinberg f1f60c4081
Merge pull request #695 from rgrinberg/dune-pass-ocamlc
Pass ocamlc explicitly to configurator using DUNE_CONFIGURATOR
2018-04-12 19:48:58 +07:00
Rudi Grinberg 0e7c127e7a
Merge pull request #700 from diml/ignore-config-file-inside-dune
Do not load the user configuration file when INSIDE_DUNE is set
2018-04-12 19:48:19 +07:00
Jérémie Dimino db41c3549b
Add a test showing a weird quoting problem (#699) 2018-04-12 13:02:41 +01:00
Jeremie Dimino 294d693749 Do not load the user configuration file when INSIDE_DUNE is set 2018-04-12 12:43:14 +01:00
Rudi Grinberg 75bc824f97 Get rid of the -ocamlc arg altogether 2018-04-12 18:05:40 +07:00
Rudi Grinberg 620bffd21b Add , for lists 2018-04-12 09:12:56 +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 0d9669f907 Add link to .mli as a stand in for the api docs 2018-04-12 00:05:44 +07:00
Rudi Grinberg 9673d4eaf9 Switch jbuilder in library names 2018-04-11 23:50:23 +07:00
Rudi Grinberg 320154ef87 italicize running 2018-04-11 23:50:16 +07:00
Rudi Grinberg 22576fac7e Fix compatibility for ocaml without Sys.getenv_opt 2018-04-11 22:37:25 +07:00
Rudi Grinberg fb0ac48af2 Documentation for new configurator 2018-04-11 22:14:53 +07:00
Rudi Grinberg d65845abb8 Pass ocamlc explicitly to configurator using DUNE_CONFIGURATOR 2018-04-11 21:26:51 +07:00
Rudi Grinberg 7a3917b9e3
Merge pull request #692 from rgrinberg/configurator-v1
Move current configurator API to V1 module
2018-04-11 20:27:26 +07:00
Rudi Grinberg a3a9a1c719 Move current configurator API to V1 module 2018-04-11 09:43:37 +07:00
Rudi Grinberg 5217051915
Merge pull request #673 from rgrinberg/configurator-blackbox
Add a blackbox test suite for configurator
2018-04-11 00:16:14 +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 148835967e Add tests for import defines 2018-04-10 22:05:52 +07:00
Rudi Grinberg fb8d400165 Add formatting to configurator tests 2018-04-10 22:05:52 +07:00