Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Shedding the weight of some simpler commits:
opam-admin.top
- prior to Jbuilder, this was built usingocamlmktop
. I converted this badly, because the existing code now works as a toplevel, but you can't run a script by having#!opam-admin.top
oropam-admin.top foo.ml
. The commit generates thelet _ = Topmain.main ()
in a second file which is used to createopam-admin.top
and the actualopam_admin_top.ml
is now used to generate a library. This means that scripts have two choices - you can either#require "opam-admin.top"
in your script, or you can run an.ml
file withopam_admin_top
(although you needopam_admin_top.cmi
in the same directory as your script).%{exe}%
does exactly what it says on the tin. The main reason for making it a global is to standardise the name used (so there's no temptation for%{ext_exe}%
, etc. This extension is intentionally blank on Cygwin because Cygwin has its own official handling for automatically adding.exe
.ocaml
dependency kept getting re-added after I'd manually removed it... this legacy commit doesn't do that if theopam-version
of the file is already2.0
. The principle may be useful in the future...opam admin upgrade
was an attempt to download URLs using their filename. Fine for a lot of things, but troublesome on Windows when you start having?
characters, etc., so this patch downloads patches and other referenced files using a safe filename (it's only to compute their checksums).sys-ocaml-arch
,sys-ocaml-libc
andsys-ocaml-cc
to allow accurate selection of the system compiler on Windows (this may prove unnecessary with the other work we've been looking into on switch parameters, but I don't think these variables would ever do any harm in future).