pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc



Module Name:    pkgsrc
Committed By:   tonio
Date:           Mon Sep  7 21:48:14 UTC 2009

Modified Files:
        pkgsrc/lang/ocaml: Makefile.common PLIST PLIST.opt PLIST.prof distinfo
        pkgsrc/lang/ocaml/patches: patch-aj patch-at patch-au patch-ax patch-ay
            patch-az patch-ba patch-bb patch-bc patch-bd patch-be patch-bf
            patch-bg patch-bh patch-bi patch-bk patch-bq patch-br patch-bs
            patch-bt patch-bu
        pkgsrc/x11/ocaml-graphics: Makefile PLIST

Log Message:
Update lang/ocaml to 3.11.1 [PR pkg/41695]

(Changes that can break existing programs are marked with a "*"  )
Language features:
- Addition of lazy patterns: "lazy <pat>" matches suspensions whose values,
  after forcing, match the pattern <pat>.
- Introduction of private abbreviation types "type t = private <type-expr>",
  for abstracting the actual manifest type in type abbreviations.
- Subtyping is now allowed between a private abbreviation and its definition,
  and between a polymorphic method and its monomorphic instance.

Compilers:
- The file name for a compilation unit should correspond to a valid
  identifier (Otherwise dynamic linking and other things can fail, and
  a warning is emitted.)
* Revised -output-obj: the output name must now be provided; its
  extension must be one of .o/.obj, .so/.dll, or .c for the
  bytecode compiler. The compilers can now produce a shared library
  (with all the needed -ccopts/-ccobjs options) directly.
- -dtypes renamed to -annot, records (in .annot files) which function calls
  are tail calls.
- All compiler error messages now include a file name and location, for
  better interaction with Emacs' compilation mode.
- Optimized compilation of "lazy e" when the argument "e" is
  already evaluated.
- Optimized compilation of equality tests with a variant constant constructor.
- The -dllib options recorded in libraries are no longer ignored when
  -use_runtime or -use_prims is used (unless -no_auto_link is
  explicitly used).
- Check that at most one of -pack, -a, -shared, -c, -output-obj is
  given on the command line.
- Optimized compilation of private types as regular manifest types
  (e.g. abbreviation to float, float array or record types with only
   float fields).

Native-code compiler:
- New port: Mac OS X / Intel in 64-bit mode (configure with -cc "gcc -m64").
- A new option "-shared" to produce a plugin that can be dynamically
  loaded with the native version of Dynlink.
- A new option "-nodynlink" to enable optimizations valid only for code
  that is never dynlinked (no-op except for AMD64).
- More aggressive unboxing of floats and boxed integers.
- Can select which assembler and asm options to use at configuration time.

Run-time system:
- New implementation of the page table describing the heap (two-level
  array in 32 bits, sparse hashtable in 64 bits), fixes issues with address
  space randomization on 64-bit OS (PR#4448).
- New "generational" API for registering global memory roots with the GC,
  enables faster scanning of global roots.
  (The functions are caml_*_generational_global_root in <caml/memory.h>.)
- New function "caml_raise_with_args" to raise an exception with several
  arguments from C.
- Changes in implementation of dynamic linking of C code:
  under Win32, use Alain Frisch's flexdll implementation of the dlopen
  API; under MacOSX, use dlopen API instead of MacOSX bundle API.
- Programs may now choose a first-fit allocation policy instead of
  the default next-fit.  First-fit reduces fragmentation but is
  slightly slower in some cases.

Standard library:
- Parsing library: new function "set_trace" to programmatically turn
  on or off the printing of a trace during parsing.
- Printexc library: new functions "print_backtrace" and "get_backtrace"
  to obtain a stack backtrace of the most recently raised exception.
  New function "record_backtrace" to turn the exception backtrace mechanism
  on or off from within a program.
- Scanf library: fine-tuning of meta format implementation;
  fscanf behaviour revisited: only one input buffer is allocated for any
  given input channel;
  the %n conversion does not count a lookahead character as read.

Other libraries:
- Dynlink: on some platforms, the Dynlink library is now available in
  native code. The boolean Dynlink.is_native allows the program to
  know whether it has been compiled in bytecode or in native code.
- Bigarrays: added "unsafe_get" and "unsafe_set"
  (non-bound-checking versions of "get" and "set").
- Bigarrays: removed limitation "array dimension < 2^31".
- Labltk: added support for TK 8.5.
- Num: added conversions between big_int and int32, nativeint, int64.
  More efficient implementation of Num.quo_num and Num.mod_num.
- Threads: improved efficiency of mutex and condition variable operations;
  improved interaction with Unix.fork (PR#4577).
- Unix: added getsockopt_error returning type Unix.error.
  Added support for TCP_NODELAY and IPV6_ONLY socket options.
- Win32 Unix: "select" now supports all kinds of file descriptors.
  Improved emulation of "lockf" (PR#4609).

Tools:
- ocamldebug now supported under Windows (MSVC and Mingw ports),
  but without the replay feature.  (Contributed by Dmitry Bely
  and Sylvain Le Gall at OCamlCore with support from Lexifi.)
- ocamldoc: new option -no-module-constraint-filter to include functions
  hidden by signature constraint in documentation.
- ocamlmklib and ocamldep.opt now available under Windows ports.
- ocamlmklib no longer supports the -implib option.
- ocamlnat: an experimental native toplevel (not built by default).

Camlp4:
* programs linked with camlp4lib.cma now also need dynlink.cma.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 pkgsrc/lang/ocaml/Makefile.common
cvs rdiff -u -r1.20 -r1.21 pkgsrc/lang/ocaml/PLIST
cvs rdiff -u -r1.14 -r1.15 pkgsrc/lang/ocaml/PLIST.opt
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/ocaml/PLIST.prof
cvs rdiff -u -r1.44 -r1.45 pkgsrc/lang/ocaml/distinfo
cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/ocaml/patches/patch-aj
cvs rdiff -u -r1.16 -r1.17 pkgsrc/lang/ocaml/patches/patch-at
cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/ocaml/patches/patch-au \
    pkgsrc/lang/ocaml/patches/patch-ax pkgsrc/lang/ocaml/patches/patch-bq \
    pkgsrc/lang/ocaml/patches/patch-br pkgsrc/lang/ocaml/patches/patch-bt
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/ocaml/patches/patch-ay \
    pkgsrc/lang/ocaml/patches/patch-az pkgsrc/lang/ocaml/patches/patch-be \
    pkgsrc/lang/ocaml/patches/patch-bf pkgsrc/lang/ocaml/patches/patch-bh \
    pkgsrc/lang/ocaml/patches/patch-bi pkgsrc/lang/ocaml/patches/patch-bk \
    pkgsrc/lang/ocaml/patches/patch-bu
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/ocaml/patches/patch-ba \
    pkgsrc/lang/ocaml/patches/patch-bs
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/ocaml/patches/patch-bb \
    pkgsrc/lang/ocaml/patches/patch-bc pkgsrc/lang/ocaml/patches/patch-bd \
    pkgsrc/lang/ocaml/patches/patch-bg
cvs rdiff -u -r1.9 -r1.10 pkgsrc/x11/ocaml-graphics/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/x11/ocaml-graphics/PLIST

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index