Commit Graph

1472 Commits

Author SHA1 Message Date
Rudi Grinberg 6aa1b84fee Move Path to Stdune
* This requires moving Fatal_error and Loc_error to Stdune.Exn as well

* Clflags.workspace_root can no longer be used in Path.to_absolute_filename. We
  just take a parameter instead for now.
2018-04-24 19:33:40 +07:00
Rudi Grinberg bfd0f2eada Fix 4.02.3 build 2018-04-24 10:10:01 +07:00
Rudi Grinberg 10c01ac741 Move Sexp to stdune
In the process, change all the Loc.fail's to Of_sexp exceptions
2018-04-24 01:47:54 +07:00
Rudi Grinberg 77af5b3a88 Add Usexp.Loc.in_file
Moved from Loc
2018-04-24 01:46:57 +07:00
Rudi Grinberg 03e439e449 Decouple sexp from Import 2018-04-24 00:17:58 +07:00
Rudi Grinberg 5147de3873 Decouple hint handling in sexp parser from Import 2018-04-24 00:17:19 +07:00
Rudi Grinberg 6dee7c9c39 Remove dependence on Improt in Path 2018-04-23 23:53:54 +07:00
Rudi Grinberg 980f5037cc Move maybe_quoted to string module 2018-04-23 23:51:22 +07:00
Rudi Grinberg 9aa827ac35 Replace all code_errorf with code_error 2018-04-23 23:48:24 +07:00
Rudi Grinberg 59eda906b0 Convert locs to sexps
Done in a crappy way for now because the converters haven't yet made it to Usexp
2018-04-23 23:47:55 +07:00
Rudi Grinberg e991c261ca
Merge pull request #716 from rgrinberg/sexp-stdune
Move Code_error to stdune
2018-04-23 18:20:15 +07:00
Rudi Grinberg f9373b2e46
Merge pull request #714 from rgrinberg/configurator-test-fix
Configurator test fix
2018-04-23 17:14:05 +07:00
Rudi Grinberg 24041593da Move Code_error to Stdune.Exn
This exception is useful outside of jbuilder
2018-04-23 14:04:15 +07:00
Rudi Grinberg 98b2ea795c Move String_map to stdune 2018-04-23 12:43:20 +07:00
Rudi Grinberg 530dbfeb81 Move String_set to stdune 2018-04-23 12:08:09 +07:00
Rudi Grinberg 709385ed66 Don't rely on "ext_exe" always being present
It's not present in older OCaml, so we need to guess the ext_exe ourselves.
2018-04-20 17:32:48 +07:00
Rudi Grinberg 13eea737f9 Don't use getenv_opt in configurator test 2018-04-20 17:32:37 +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