Commit Graph

39 Commits (master)

Author SHA1 Message Date
David Allsopp 64f6f83f44
Update HACKING.adoc (#9966)
Clarify why basing topic branches on release tags is bad.
Documented the configure options implied by dev-mode.
2020-10-18 07:59:56 +01:00
Daniel Bünzli eb93980edb
HACKING.adoc: remove last mentions of mantis. (#9941) 2020-09-25 09:36:53 +02:00
Fourchaux 44e6cf4e0f
typos (#9806) 2020-07-28 12:22:03 +01:00
Thomas Refis 2d3bc0eb22
HACKING.adoc: using dune to get merlin's support (#9468)
Co-authored-by: Gabriel Scherer <gabriel.scherer@gmail.com>
2020-06-25 14:11:21 +02:00
Gabriel Scherer c14ba72dee HACKING.adoc: restructure the opam information and fix the cross-reference 2020-05-03 16:05:31 +02:00
Gabriel Scherer a80939a00a fix HACKING.adoc formatting 2020-03-09 23:52:02 +01:00
Daniel Bünzli 3facb4f09c HACKING.adoc: update opam instructions for testing. 2020-02-11 15:52:21 +01:00
Gabriel Scherer c5d1ae046d new development tip: please keep merge commits
Proofreading by Thibault Suzanne and Xavier Leroy

(no change entry needed)
2019-12-12 16:46:23 +01:00
Gabriel Scherer e5b63be0ff [minor] HACKING.adoc, fix list numbering 2019-12-07 21:55:10 +01:00
David Allsopp 4f09104d88 Allow by-host worktree-sharable configure caches
The Git configuration value ocaml.configure-cache can be used to specify
a directory to keep autoconf cache files in, relative to the worktree
root (so `git config ocaml.configure-cache .` enables the feature, and
`git config --global ocaml.configure-cache ..` enables it for all
worktrees, assuming they're at the same level).

autoconf's --cache-file option speeds up future runs of configure by
caching the results of previous tests. The cache is invalidated if any
environment variables differ (e.g. LDFLAGS) or if the build-host-target
triplet differs. This is a nuisance on Windows, where configure is both
very slow and it's also common to build with multiple different --host
values.

This PR allows a tree to be quickly reconfigured from one Windows port
to another.
2019-10-05 14:50:57 +01:00
David Allsopp 345fd4c3f9 Allow Git config options to be passed to configure
The Git configuration value ocaml.configure is now passed to the
configure script's arguments before $@ if (and only if) OCaml is being
configured from a Git clone.

This allows, for example:

- Developer-specific preferences (e.g. `--disable-ocamldoc` or
  `--disable-debug-runtime`)
- Automatic use of autoconf cach files (-C option)

It is implemented by inserting a test at the top of `configure`, which
is bypassed if `.git` doesn't exist.
2019-10-05 14:50:35 +01:00
Sébastien Hinderer 987b0814d7 Let make's default target build the compiler
This commit makes it possible to build the OCaml compiler according to
its configuration by simply runnning make. There is no need to specify
neither world nor world.opt explicitly, although the two targets
remain available.

This commit also introduces (and starts making use of) the
NATIVE_COMPILER build variable whosse value is true when the native
compiler is enabled and false otherwise.
2019-09-30 16:01:29 +02:00
David Allsopp 93ee6b43b0
Move AST testing rules to Makefile.dev (#8743)
Makefile.dev is only included if a Git clone is detected.

make evaluates macros in target specifications when the Makefile is
read, which meant that the build-all-asts target caused `git ls-files`
to be called on every invocation of make. This tweaks it to be a
recursive call to make which puts the $(AST_FILES) macro in the recipe
where it is only evaluated when the target is requested.
2019-06-18 14:35:06 +01:00
Sébastien Hinderer 6bb155f9bb build system: remove the config/ directory
None of the files in this directory is used any more.
2019-06-10 13:56:51 +01:00
Gabriel Scherer 3b5cda4d27 Merge pull request #8604 from gretay-js/pr2207
Add opam files to allow pinning

(cherry picked from commit e89287f056b3641af214f8d71717c6fa81de531b)
(version changed 4.08 => 4.09)
2019-04-12 14:28:47 +02:00
Stephen Dolan 9acd54e668 Add a note on using ocamlc.opt to HACKING.adoc 2019-03-22 10:41:19 +00:00
Michael Lynch 1b5f05d758 fixed link 2019-02-15 20:44:55 +00:00
Gabriel Scherer ef00dc7317 remove experimental/
This subdirectory was used to store experimental patches on some older
version-control system where branching (or discussing branches?) was
inconvenient. It doesn't make much sense anymore now, and getting rid
of it simplifies a couple places that had to grow around it.

Suggested-by: Nicolás Ojeda Bär

(no change entry needed)
2018-09-08 16:53:08 +02:00
Sébastien Hinderer d3e73595e5 Merge the asmrun and byterun directories into the runtime directory 2018-06-28 17:50:33 +02:00
Sébastien Hinderer 96545e8cd0 Document the bootstrap procedure
* Remove the now obsolete comments at the beginning of the main Makefile
 * Move and fix documentation of the bootstrap from INSTALL to
   HACKING-bootstrap.adoc
 * Update install instructions
2018-05-31 15:45:25 +02:00
Sébastien Hinderer a2586680a0 Remove the Makefile.nt files 2018-05-25 00:36:56 +02:00
Sébastien Hinderer 8ab50ec1e3 Move the CI-related scripts to dedicated directories 2018-05-24 09:18:56 +02:00
Jeremie Dimino 1d20e28d98 Explain how to customize INRIA's CI for custom branches 2018-02-14 08:13:46 +01:00
Nicolas Ojeda Bar 22bbe11fa3 HACKING.adoc: add a note about caml-commits 2017-12-02 10:38:52 +01:00
David Allsopp 1c26b7e994 Remove non-ASCII characters 2017-10-25 23:54:39 +01:00
David Allsopp 6a2f16158f Shorten URLs as much possible. 2017-10-25 23:54:39 +01:00
Sébastien Hinderer ac8f8995e0 HACKING.adoc enhancements (#1436)
HACKING.adoc enhancements

Typo fix and CI-related updates.
Fix info about email notifications
2017-10-20 17:04:46 +02:00
David Allsopp 82b3cdc6ee Restore 32bit compilation (#1295) 2017-08-29 10:42:23 +01:00
Ramana Venkata 49eeb3f97d Cleanup HACKING.doc
Makefile.shared doesn't exist anymore.
2017-07-05 01:50:18 +05:30
Gabriel Scherer 08b3ae637c describe the 'html_doc' target in HACKING.adoc
(no change entry needed)
2017-06-05 14:01:10 -04:00
Gabriel Scherer 3b54761093 travis CI, also detail 'tests' and 'changes' 2017-06-05 14:01:10 -04:00
Gabriel Scherer 767474d447 how to run the Travis CI tests locally 2017-06-05 14:01:10 -04:00
Sébastien Hinderer 13c8c60f39 Update documentation and scripts to use Makefile even on Windows 2017-02-15 11:19:07 +01:00
Gabriel Scherer 0e72af57b8 testsuite/HACKING.adoc 2016-12-03 10:04:32 -05:00
Gabriel Scherer b9f9d707c8 HACKING.adoc: plenty of changes suggested by David Allsopp's review 2016-11-23 07:13:46 -05:00
Gabriel Scherer d7acff30bc split HACKING.adoc with parts in {parsing,typing}/HACKING.adoc
In the interest of keeping HACKING.adoc not-too-long and
general-purpose, advice on modifying specific sub-systems of the
compiler distribution should be moved to the directory of this
sub-system.

This PR also clarifies the relations between the README, INSTALL,
HACKING and CONTRIBUTING documents.
2016-11-22 21:35:49 -05:00
Gabriel Scherer 237c7d0e84 merge all of Drup's Hacking.adoc content into HACKING.adoc 2016-11-22 21:35:49 -05:00
Gabriel Scherer 0ea3b2800a add explanations on INRIA's CI server and how to use ocaml/precheck 2016-11-22 21:35:49 -05:00
Gabriel Scherer d30878a572 first draft of HACKING.adoc file [WIP] 2016-11-22 21:35:49 -05:00