Skip to content

Commit

Permalink
Updated package to latest version, 0.11.0. Changes include:
Browse files Browse the repository at this point in the history
0.11.0 (5 Mar 2017):
--------------------

OCamlbuild 0.11.0 introduces a change to the way `.cmxs` files are
produced when no `.mldylib` file is absent: it will now use the exact
same semantics as `.cmxa` and `.mllib` file -- in particular, it
should not be necessary anymore to have identical
`foo.{mllib,mldylib}` files, only `foo.mllib` should suffice. See the
detailed changelog below for details.

- added "nostdlib" flag for corresponding ocaml{c,opt} options
  (Thomas Wood)

- add `node_modules` to the list of directories ignored by default
  (.svn/, CVS/, .bzr/, .hg/, .git/, _darcs/, node_modules/)
  (Yunxing Dai)

- added "-toolchain" option for corresponding ocamlfind option.
  (whitequark)

- install ocamlbuild's man pages, missing since 4.02
  (Adam Sampson and Gabriel Scherer)

- make sure that -just-plugin always stops after the plugin-build phase
  (Gabriel Scherer, report by whitequark)

* remove the rule ".cmx -> .cmxs"
  Previously, there was a ".cmx -> .cmxa" rule that would
  pull a module and its dependencies in a .cmxa, and a separate
  ".cmx -> .cmxs" rule that would pull only a module as a .cmxs.

  The latter is a reasonable default choice, the idea being that
  a module's dependencies may often be statically linked with the
  program instead of being dynamically linked. But it conflicts with
  the presence of a rule ".cmxa -> .cmxs" as soon as the library has
  the same name as one of the modules it contains.

  The reason why the rule ".cmxa -> .cmxs" matter is that it can be
  composed with the rule ".mllib -> .cmxa" to build .cmxs files from
  .mllib files, without having to copy each .mllib file into
  a separate .mldylib file.

  In other terms, the previous behaviour would, by default (in absence
  of .mldylib file who always takes priority), only link the module in
  the .cmxs file, and people wishing otherwise would have to write
  a list of modules in a .mldylib file. The new behavior will, by
  default, take the .mllib file or the module dependencies (as for
  .cmxa) to build a .cmxs file, and people wishing otherwise will have
  to write just the module name in a .mldylib file.

  It is unclear whether this change will break some projects on which
  users relied on the previous semantics. It seems equally likely that
  the previous semantics, when it applied, was a source of bugs
  (the .cmxs files didn't have the expected modules) that would not be
  discovered by people not testing dynamic linking. Such bugs have
  been found and fixed in the following cases:

  - <dbuenzli/uucp#9>
  - <dbuenzli/uunf#4>
  - <dbuenzli/uuseg#4>

  (Daniel Bünzli, Jérémie Dimino, Armaël Guéneau, Gabriel Scherer, whitequark)

- do not explicitly pass -shared when building shared libraries;
  let the compiler decide what to build.
  (whitequark)

- migration of Mantis bugtracker issues to the github issue tracker
  (Damien Doligez)

- setting up Continuous Infrastructure (CI) testsuite checks
  (whitequark)

- install license, changes and readme in opam's docdir for `odig`
  (Gabriel Scherer, request and review by Daniel Bünzli)

* new heuristic for handling the OCAMLLIB environment variable.
  `ocamlbuild -where` will ignore OCAMLLIB completely if OCAMLBUILD_LIBDIR is
  not a lexical subdirectory of OCAML_LIBDIR (i.e. an opam installation).
  Otherwise, it now returns $OCAMLLIB with the difference between
  OCAMLBUILD_LIBDIR and OCAML_LIBDIR appended (i.e. for a normal findlib
  installation, it now returns $OCAMLLIB/site-lib/ocamlbuild)
  (David Allsopp, review by Gabriel Schere)

- "noautolink" tag for ocaml{c,opt}
  (Gabriel Scherer)

0.10.{0,1} (Dec 2016):
----------------------

These releases were never widely distributed, because of
a quickly-caught regression due to the change of .cmxs compilation
behavior, fixed with the help Daniel Bünzli, Jérémie Dimino
and, in particular, whitequark.

0.9.3 (6 Oct 2016):
-------------------

OCamlbuild 0.9.3 introduces several features contributed or requested
by our users. See the detailed changelog below.

- new ".o -> .clib" rule to build libraries out of single C stubs
  (Gabriel Scherer, request by whitequark)

- Integrate the in-progress OCamlbuild manual, previously located at
    https://github.com/gasche/manual-ocamlbuild
  into the ocamlbuild repository, in the manual/ subdirectory.
  The most current version of the manual can thus be accessed at
    https://github.com/ocaml/ocamlbuild/tree/master/manual/manual.adoc
  (Gabriel Scherer)

- added "noassert" and "unsafe" flag for corresponding ocaml{c,opt} options
  (François Pottier)

- added "cc", "cclib", and "ccopt" flags which correspond to the
  respective ocaml{c,opt} options
  (Rudi Grinberg)

- add infer_interface support for various type-checking-time flags:
    color, keep_docs, no_alias_deps, nolabels, nopervasives, open,
    strict_formats, strict_sequence, warn, warn_error
  (Gabriel Scherer, report by Knuth Posern)
  • Loading branch information
jaapb committed Jul 11, 2017
1 parent 5d9a313 commit b08333a
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
8 changes: 4 additions & 4 deletions devel/ocamlbuild/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.4 2016/12/30 11:16:59 jaapb Exp $
# $NetBSD: Makefile,v 1.5 2017/07/11 10:05:25 jaapb Exp $

DISTNAME= ocamlbuild-0.9.2
PKGREVISION= 1
DISTNAME= ocamlbuild-0.11.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=ocaml/}

Expand All @@ -18,7 +17,8 @@ USE_TOOLS+= gmake
OCAML_USE_FINDLIB= yes
INSTALL_TARGET= findlib-install

MAKE_ENV= CHECK_IF_PREINSTALLED=false
MAKE_ENV= CHECK_IF_PREINSTALLED=false OCAMLBUILD_BINDIR=${PREFIX}/bin \
OCAMLBUILD_LIBDIR=${PREFIX}/${OCAML_SITELIBDIR}

.include "../../mk/ocaml.mk"
.include "../../mk/bsd.pkg.mk"
3 changes: 2 additions & 1 deletion devel/ocamlbuild/buildlink3.mk
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# $NetBSD: buildlink3.mk,v 1.2 2016/05/05 15:58:58 jaapb Exp $
# $NetBSD: buildlink3.mk,v 1.3 2017/07/11 10:05:25 jaapb Exp $

BUILDLINK_TREE+= ocamlbuild

.if !defined(OCAMLBUILD_BUILDLINK3_MK)
OCAMLBUILD_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.ocamlbuild+= ocamlbuild>=0.9.2
BUILDLINK_ABI_DEPENDS.ocamlbuild+= ocamlbuild>=0.11.0
BUILDLINK_PKGSRCDIR.ocamlbuild?= ../../devel/ocamlbuild
BUILDLINK_DEPMETHOD.ocamlbuild?= build
.endif # OCAMLBUILD_BUILDLINK3_MK
Expand Down
10 changes: 5 additions & 5 deletions devel/ocamlbuild/distinfo
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$NetBSD: distinfo,v 1.3 2016/05/05 15:58:58 jaapb Exp $
$NetBSD: distinfo,v 1.4 2017/07/11 10:05:25 jaapb Exp $

SHA1 (ocamlbuild-0.9.2.tar.gz) = 1d56cb0d5f4da2456306cde4f909e9dc0e02ba8f
RMD160 (ocamlbuild-0.9.2.tar.gz) = c8f2ea58004d23fe1e31a0f210b179f135f9ef15
SHA512 (ocamlbuild-0.9.2.tar.gz) = 6f6fa2ca0030256b61a9f93275f26327a032594a1ddd288e1eb9f4c41dfc139e4cdb6cd66ae8e383dd2f8aabb435181abfbf6b4aa0892ef6fa420c29e33b391a
Size (ocamlbuild-0.9.2.tar.gz) = 163014 bytes
SHA1 (ocamlbuild-0.11.0.tar.gz) = f678cbd00942e0d863da018783f62cbdaad96b24
RMD160 (ocamlbuild-0.11.0.tar.gz) = 9c00aa2a21a638d9ddf8677dc351c30ac4f33bd8
SHA512 (ocamlbuild-0.11.0.tar.gz) = 14bc44cc63b6c99e711658a1145247bad8263632fbb4550238cef15e226a76b83e51b83575a7a96f16b96ec321dedd0ef23f36166c354838aec1922f58179efd
Size (ocamlbuild-0.11.0.tar.gz) = 195297 bytes

0 comments on commit b08333a

Please sign in to comment.