Skip to content
Success

Changes

Summary

  1. Introduce Makefile.build_config.in (commit: 3a40b2f) (details)
  2. Use autoconf AC_PROG_INSTALL results (commit: be6eb2c) (details)
  3. Cease committing C dependendency information (commit: ac2a9dd) (details)
  4. Reformat .travis.yml env blocks (commit: fb375c5) (details)
Commit 3a40b2fd94a98bf69ce8a73c62edb0081ae3bc70 by david.allsopp
Introduce Makefile.build_config.in

This moves the configure-generated parts of Makefile.common to a
separate (generated) Makefile, allowing Makefile.common to be a normal
Makefile.

OCaml's build system Makefile's now include Makefile.build_config (which
itself includes Makefile.config) but Makefile.config is still installed
as before. This allows configure to generate variables which are
specific to the build process and are not intended to be exported to the
installation.
(commit: 3a40b2f)
The file was addedMakefile.build_config.in
The file was modifiedlex/Makefile (diff)
The file was modifiedstdlib/Makefile (diff)
The file was modifiedyacc/Makefile (diff)
The file was removedMakefile.common.in
The file was modifieddebugger/Makefile (diff)
The file was modified.gitignore (diff)
The file was modifiedocamltest/Makefile (diff)
The file was modifiedotherlibs/Makefile.otherlibs.common (diff)
The file was modifiedotherlibs/systhreads/Makefile (diff)
The file was modifiedtools/Makefile (diff)
The file was addedMakefile.common
The file was modifiedruntime/Makefile (diff)
The file was modifiedotherlibs/Makefile (diff)
The file was modifiedconfigure.ac (diff)
The file was modifiedocamldoc/Makefile (diff)
The file was modifiedconfigure (diff)
The file was modifiedotherlibs/dynlink/Makefile (diff)
The file was modifiedMakefile (diff)
Commit be6eb2ccdabb957c4817b8a24280b2f4249ac87f by david.allsopp
Use autoconf AC_PROG_INSTALL results

Instead of hand-written INSTALL_{DATA,PROG}. autoconf "does the right
thing" to provide a command which works as expected.

See
  https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Programs.html#index-AC_005fPROG_005fINSTALL-269
(commit: be6eb2c)
The file was modifiedMakefile.build_config.in (diff)
Commit ac2a9dd188f0738a87018f5ee6e6b0b301bb1b63 by david.allsopp
Cease committing C dependendency information

When building for the first time, the only requirement is that generated
header files have been built (jumptbl.h, version.h and opnames.h).
Detailed dependency information is only required when headers have been
edited.

COMPUTE_DEPS in Makefile.config controls whether C dependency
information should be generated on a per-file basis. This variable is
controlled by a new --disable-dependency-generation in configure which
is enabled for Git checkouts and disabled for tarballs (i.e. releases).

The Microsoft C compiler (cl) cannot generate dependencies in a
consistent way which we can consume, so for a Git checkout configure
searches for an additional C compiler in order to compute dependencies.
This is obviously not required for a user-build.

As a result, the MSVC port can now safely run make alldepend, since only
OCaml dependency information is committed to the repo after this change.

CI does not need to waste time testing the dependency information,
because it only tests a single build. A single Travis job has been added
which tests the build system code to generate the dependency information
(and provides a single `make -j` run in CI, although Inria's CI also
tests parallel building continuously).
(commit: ac2a9dd)
The file was modifiedtools/ci/inria/main (diff)
The file was modifiedotherlibs/raw_spacetime_lib/.depend (diff)
The file was modifiedtools/ci/appveyor/appveyor_build.sh (diff)
The file was modifiedotherlibs/systhreads/Makefile (diff)
The file was modifiedconfigure (diff)
The file was modifiedocamltest/.depend (diff)
The file was modifiedtools/ci/travis/travis-ci.sh (diff)
The file was modifiedotherlibs/str/.depend (diff)
The file was modifiedotherlibs/unix/Makefile (diff)
The file was modifiedotherlibs/dynlink/Makefile (diff)
The file was modified.gitignore (diff)
The file was modifiedtools/ci/inria/bootstrap (diff)
The file was modifiedtools/ci/inria/extra-checks (diff)
The file was modifiedotherlibs/win32unix/Makefile (diff)
The file was modifiedMakefile.common (diff)
The file was modifiedruntime/Makefile (diff)
The file was modifiedocamldoc/Makefile (diff)
The file was modifiedocamltest/Makefile (diff)
The file was modifiedMakefile.build_config.in (diff)
The file was modifiedconfigure.ac (diff)
The file was modifiedotherlibs/systhreads/.depend (diff)
The file was modifiedotherlibs/Makefile.otherlibs.common (diff)
The file was modifiedMakefile (diff)
The file was modifiedotherlibs/str/Makefile (diff)
The file was modified.gitattributes (diff)
The file was modifiedotherlibs/raw_spacetime_lib/Makefile (diff)
The file was modifiedotherlibs/unix/.depend (diff)
The file was modifiedotherlibs/win32unix/.depend (diff)
The file was removedruntime/.depend
The file was modifiedChanges (diff)
The file was modified.travis.yml (diff)
Commit fb375c5c427c5f4df48087a17c3b0fb1c1e41efa by david.allsopp
Reformat .travis.yml env blocks
(commit: fb375c5)
The file was modifiedChanges (diff)
The file was modified.travis.yml (diff)
The file was modified.gitattributes (diff)