Jeremie Dimino
ba439b534d
Fix previous commit
2018-03-30 16:47:29 -04:00
Jeremie Dimino
cd2cfb44e8
Register a few more dependencies statically
...
This is needed for "external-lib-deps" and it improves parallelism.
2018-03-30 13:16:23 -04:00
Jeremie Dimino
341de6e50f
Fix check for empty libraries
2018-03-30 11:22:53 -04:00
Jeremie Dimino
e65213e303
Fix Main.external_lib_deps
2018-03-29 15:33:18 -04:00
Jeremie Dimino
c7b9c2cd3e
Fix #661 : better error when a public library is defined twice
2018-03-29 15:04:14 -04:00
Jeremie Dimino
ad00c1509f
Fix #657
2018-03-27 17:25:25 -04:00
David Allsopp
808644533f
Don't color the whitespace in --display=short
2018-03-24 12:25:27 +00:00
Rudi Grinberg
8fd04e5a9f
Use doc_dir rather than dir
...
dir is the source directory which is useless to us
2018-03-24 00:54:33 +08:00
Rudi Grinberg
aea0131b11
Don't pass library include flags to odoc
...
We should pass directories where we store .odoc files instead
2018-03-24 00:38:34 +08:00
Rudi Grinberg
141e979611
Merge pull request #649 from rgrinberg/PATH-x
...
Set the target's PATH when cross compiling
2018-03-24 00:13:53 +08:00
Rudi Grinberg
8859a644e9
When executing in the target, use the host's PATH variable
2018-03-23 22:39:06 +08:00
Rudi Grinberg
fae5e78fc2
Change Meta.load to return the simplified meta
...
It's always simplified anyway
2018-03-23 10:12:34 +08:00
Rudi Grinberg
9f3eb956d3
Add Env.update
2018-03-22 22:42:42 +08:00
Rudi Grinberg
a83c15b085
Alphabetical listings in odoc
...
List sub libraries and their modules in alphabetical order
2018-03-22 20:40:46 +08:00
Rudi Grinberg
f8225b1e7b
Replace blank c compilers with dummy values
...
This is how we treat the assembler.
2018-03-22 00:03:35 +08:00
Rudi Grinberg
96222ee681
Don't error out when asm is a blank value
...
Treat it as missing instead
2018-03-22 00:03:35 +08:00
Rudi Grinberg
994fb12651
Tweak order in Map.of_list error ( #645 )
...
We should show the key that came earlier in the list first
2018-03-20 14:08:02 -04:00
Rudi Grinberg
d2c85e3329
Use dummy value for asm when absent
...
On bytecode only systems, this parameter may be absent. We use a dummy in such
situations. A dummy value is used so that users do not get immediate erros when
using an absent value.
2018-03-21 00:53:37 +08:00
Jérémie Dimino
f5f151dc19
Inspect OCAMLPATH when not using `ocamlfind` ( #642 )
2018-03-20 12:43:51 -04:00
Rudi Grinberg
cc02277095
Handle duplicate environment variables
...
Fixes #638
2018-03-20 22:02:49 +08:00
Rudi Grinberg
2e636ef43e
Merge pull request #636 from ocaml/fix-path-sep-on-cygwin
...
Use ; as path separator for OCAMLPATH on Cygwin
2018-03-20 09:22:54 +08:00
Jérémie Dimino
a8072f08bc
Rework the sub system select ( #632 )
...
Split the select_backends between two functions:
- one for backends that support extensions
- one for backends that support replacement
it might be possible to support both at once, but for now this is
enough and it's simpler.
2018-03-19 20:47:51 -04:00
Jeremie Dimino
fae09828af
Use ; as path separator for OCAMLPATH on Cygwin
...
Since this is what ocamlfind expects
2018-03-19 19:25:50 -04:00
Jérémie Dimino
3f22d9f82b
Do not pass -runtime-variant _pic on Windows ( #635 )
2018-03-19 19:13:02 -04:00
Jeremie Dimino
53ec04adfe
fix
2018-03-18 16:32:20 -04:00
Jeremie Dimino
bdb03925d1
Add Lib.Compile.compile_and_link_flags
2018-03-18 16:22:56 -04:00
Jeremie Dimino
945583ff43
Add Arg_spec.of_result{,_map}
2018-03-18 16:22:05 -04:00
Jeremie Dimino
09ff33951b
Change the type of Build.of_result and add Build.of_result_map
2018-03-18 16:21:59 -04:00
Jeremie Dimino
997d541c50
Make Top_closure more polymorphic
2018-03-18 16:21:46 -04:00
Jeremie Dimino
e638c04cb2
Add Jbuild.Lib_deps.of_pps
2018-03-18 16:20:32 -04:00
Jeremie Dimino
d15974c4ea
Add Option.some
2018-03-18 16:20:19 -04:00
Jeremie Dimino
2c59032181
A file might be part of several packages
2018-03-19 01:24:17 +08:00
Jeremie Dimino
c685e8ac6d
Remove useless load_dir
2018-03-19 01:24:04 +08:00
Jeremie Dimino
b5fad14f16
Less Path.Set.t -> Path.t list conversions
2018-03-19 01:19:41 +08:00
Jeremie Dimino
30c59cc476
Use dynamic dependencies for the package deps
2018-03-19 01:19:31 +08:00
Jeremie Dimino
9043280160
Allow dynamic dependencies for aliases
2018-03-19 01:19:20 +08:00
Jeremie Dimino
a55cde2969
fix
2018-03-19 01:19:09 +08:00
Jeremie Dimino
73873b31bc
Recursive package deps
2018-03-19 01:18:55 +08:00
Jeremie Dimino
1b8fbfc149
Use an alias name that is less likely to clash with user aliases
2018-03-19 01:18:45 +08:00
Jeremie Dimino
1a4037f8d1
Define the package_install alias at once
...
This is slightly more efficient that calling `add_alias_deps` for each
file.
2018-03-19 01:17:57 +08:00
Jeremie Dimino
ee5dd505fb
comment
2018-03-19 01:17:47 +08:00
Rudi Grinberg
b187d6e4ba
Add the (package ..) dependency type
...
Add a (package <name>) dependency type which adds a dependency on all the
installable files of a package.
2018-03-19 01:05:55 +08:00
Rudi Grinberg
4a0f4c0ff9
Fix encoding of inline_tests
...
Encode optional fields as records where optional keys that are None will be
omitted in the resultant sexp. This will match reading the keys back with field_o
2018-03-18 22:48:42 +08:00
Rudi Grinberg
7a26c18e20
New odoc rules
2018-03-18 17:44:08 +08:00
Rudi Grinberg
86768475b2
Install rules for mlds
2018-03-18 17:00:28 +08:00
Rudi Grinberg
25d52d1e3a
Add Lib.Map
2018-03-18 13:42:01 +08:00
Rudi Grinberg
0a57a02819
Add documentation stanza
2018-03-18 13:42:01 +08:00
Rudi Grinberg
8f967dbca5
Merge pull request #627 from rgrinberg/pkg-lib-map
...
Add a map from package names to libraries to super context
2018-03-18 13:25:48 +08:00
Jeremie Dimino
93d33592c6
Fix Atom.is_valid
2018-03-17 14:23:43 +00:00
Jeremie Dimino
da7874ebdf
Fix Atom.is_valid
2018-03-17 14:23:43 +00:00
Rudi Grinberg
5a5ba64503
Fix 4.02.3 compat in usexp
...
Do not use Char.equal
2018-03-17 14:23:43 +00:00
Rudi Grinberg
f39b302a8d
Fix Atom definition of Usexp
...
Fix the is_valid function to only validate atoms that don't contain spaces,
parens, comment characters.
2018-03-17 14:23:43 +00:00
Rudi Grinberg
9b5ac4060f
Add a map from package names to libraries to super context
...
Will be used for odoc and installation
2018-03-16 13:49:33 +08:00
Jérémie Dimino
69c5a4a79d
Implement Lib.package
...
Gets the opam package of a library for a public or installed library
2018-03-16 11:11:48 +08:00
Jérémie Dimino
b59dab57da
Include the package in the public status of libraries
2018-03-16 11:11:18 +08:00
Rudi Grinberg
07385a15ed
Remove double extending the env with context's env
2018-03-16 01:45:52 +08:00
Rudi Grinberg
68cf393c5f
Use Bin.path_sep
2018-03-16 01:45:39 +08:00
Rudi Grinberg
2634477def
Change Action to include the context's exec env
2018-03-16 00:44:23 +08:00
Rudi Grinberg
3c7e6adc73
Merge pull request #619 from rgrinberg/install-run-fixes
...
Tweaks to Actions
2018-03-15 19:10:13 +08:00
Rudi Grinberg
db55b4e880
Merge pull request #618 from rgrinberg/scope-encode
...
Move they '@' scope encoding to common module
2018-03-15 19:09:56 +08:00
Rudi Grinberg
9a1910cf6f
Add context for alias actions
2018-03-15 18:25:21 +08:00
Rudi Grinberg
bd457ea549
Use Env.t over string array in another place
2018-03-15 18:24:41 +08:00
Rudi Grinberg
dea2ac77ca
No optional args for context
2018-03-15 18:24:36 +08:00
Rudi Grinberg
a62e92a0ee
Move they '@' scope encoding to common module
...
This encoding will also be used by odoc so it's best to share it
2018-03-15 14:50:34 +08:00
Rudi Grinberg
25158fc702
Share Ordered_set_lang.Make(String)(String)
2018-03-15 14:25:04 +08:00
Rudi Grinberg
286f93a963
indentation
2018-03-15 14:24:55 +08:00
Jeremie Dimino
3b1bef8b9c
ocamlX_flags --> ocamlX_cflags
2018-03-14 12:02:56 +00:00
Rudi Grinberg
521a36dcef
Merge pull request #603 from diml/universe
...
Allow to depend on the universe
2018-03-14 13:02:23 +07:00
Rudi Grinberg
28208a1c12
Merge pull request #612 from rgrinberg/rename-result-private-lib
...
Rename the result private library
2018-03-14 12:59:36 +07:00
Rudi Grinberg
48ca91e013
Move the results lib into Caml
...
The result name is taken by other libs hence it breaks `jbuilder utop`. Hence we
simply move it our stdlib overlay. The -open flag is used to avoid having to
modify vendored code.
2018-03-14 12:09:20 +08:00
Jeremie Dimino
6fc1e0659a
Workaround non-precise mtime on OSX
2018-03-13 19:15:06 +00:00
Jeremie Dimino
e2adf9d44a
Allow to depend on the universe
...
Fix #255
2018-03-13 19:12:57 +00:00
Jérémie Dimino
8e4c9fce4c
Import the Sexp parser generator ( #608 )
2018-03-13 19:06:34 +00:00
Rudi Grinberg
d6a6a817f7
Move Io to stdune
...
This allows configurator to drop the dependency on jbuilder itself
2018-03-13 20:27:07 +07:00
Rudi Grinberg
12511a68ea
Merge pull request #607 from rgrinberg/private-public-overlap-take2
...
Disallow public/private overlap
2018-03-13 03:39:55 +07:00
Jérémie Dimino
ca5c383b3b
Fix locations reported by the parser ( #609 )
...
The start position of atoms wasn't saved by the parser.
2018-03-12 18:41:49 +00:00
Jeremie Dimino
e57a706960
Use the use-site location for errors from pps
2018-03-12 18:07:05 +00:00
Jeremie Dimino
7e361d596e
Let Report_error print the location for Private_deps_not_allowed
2018-03-12 17:58:54 +00:00
Jeremie Dimino
178e26cfd9
Use a more informative name
2018-03-12 17:56:24 +00:00
Jeremie Dimino
69209d7243
Remove extra parentheses
2018-03-12 17:53:00 +00:00
Rudi Grinberg
753badd481
Fix private deps check for ppx runtime dependencies
2018-03-13 00:11:12 +07:00
Rudi Grinberg
0823f9d803
allow_private_deps flag
...
Flag to guard public dependencies from acquiring private ones
2018-03-12 23:38:48 +07:00
Rudi Grinberg
2f7db648ed
Merge pull request #601 from rgrinberg/env-context
...
Move env var handling outside of Context.t
2018-03-12 19:13:33 +07:00
Jeremie Dimino
f74817e00d
Fill the loc field of rules
2018-03-12 12:02:55 +00:00
Jeremie Dimino
eef3633d9a
Tweak error messages
2018-03-12 18:45:47 +07:00
Rudi Grinberg
4a68db622d
Change representation to map from assoc list
2018-03-12 18:45:47 +07:00
Rudi Grinberg
161be3af1c
Stage Var.compare
2018-03-12 18:45:47 +07:00
Rudi Grinberg
1f99d0fb70
Simplify Env.get
...
we already have Var.equal now
2018-03-12 18:45:47 +07:00
Rudi Grinberg
f4955cdc22
Remove env_extra from Context.t
...
Rely on diffing
2018-03-12 18:45:47 +07:00
Rudi Grinberg
79d47ab68e
Simplify Env.t
...
Use assoc list
2018-03-12 18:45:47 +07:00
Rudi Grinberg
26d6b03c66
Make unix representation more efficient
...
By not allocation a closure on every update
2018-03-12 18:45:47 +07:00
Rudi Grinberg
e604c69510
Remove env_extra in Action
...
It's simply to just use Env.t everywhere. Also, there's no need to have the env
in the execution context since it's not used for anything. Only the env that is
passed directly is used.
2018-03-12 18:45:47 +07:00
Rudi Grinberg
f1baaa23a8
Add Env.add
...
Just add 1 binding to Env
2018-03-12 18:45:47 +07:00
Rudi Grinberg
3193e4902d
Make Process.run take Env.t directly
2018-03-12 18:45:47 +07:00
Rudi Grinberg
4b191b2b03
s/Env.get_var/Env.get/
2018-03-12 18:45:47 +07:00
Rudi Grinberg
206cc69fd9
Simplify Context.create
...
There's no need for a base_env parameter as it's always Env.initial
2018-03-12 18:45:47 +07:00
Rudi Grinberg
35d4153641
Make Env.t abstract
2018-03-12 18:43:02 +07:00
Rudi Grinberg
8458bf3b15
Move env related functions to Env module
2018-03-12 18:43:02 +07:00
François Bobot
feba0827b8
Allow to link executables as static or shared objects ( #23 )
...
- Setup the rules to use the `-output-complete-obj` option of OCaml
- Introduce a `best` mode in addition to `byte` and `native`
- Extend the `modes` field of executables to mean "linking modes", and add linking modes for static and shared objects
2018-03-12 11:40:53 +00:00
Jeremie Dimino
5286b42f58
Fix #597
2018-03-10 08:25:45 +07:00