pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/ocaml
Module Name: pkgsrc
Committed By: jaapb
Date: Mon Oct 8 15:05:33 UTC 2012
Modified Files:
pkgsrc/lang/ocaml: Makefile Makefile.common PLIST PLIST.natdynlink
PLIST.opt PLIST.stub buildlink3.mk distinfo
pkgsrc/lang/ocaml/patches: patch-bytecomp_bytelink.ml
Added Files:
pkgsrc/lang/ocaml/patches: patch-Makefile patch-asmcomp_power_emit.mlp
patch-asmrun_Makefile patch-asmrun_power-bsd.S
patch-asmrun_signals_osdep.h patch-byterun_Makefile
patch-camlp4_man_Makefile patch-configure
patch-debugger_Makefile.shared patch-man_Makefile
patch-ocamldoc_Makefile patch-otherlibs_Makefile.shared
patch-otherlibs_dynlink_Makefile
patch-otherlibs_labltk_browser_Makefile.shared
patch-otherlibs_labltk_camltk_Makefile
patch-otherlibs_labltk_compiler_Makefile
patch-otherlibs_labltk_frx_Makefile
patch-otherlibs_labltk_jpf_Makefile
patch-otherlibs_labltk_labltk_Makefile
patch-otherlibs_labltk_lib_Makefile
patch-otherlibs_labltk_support_Makefile
patch-otherlibs_systhreads_Makefile
patch-otherlibs_threads_Makefile patch-stdlib_Makefile
patch-stdlib_Makefile.shared patch-tools_Makefile.shared
Removed Files:
pkgsrc/lang/ocaml/patches: patch-at patch-au patch-av patch-aw patch-ax
patch-ay patch-az patch-bb patch-bc patch-bd patch-be patch-bf
patch-bg patch-bh patch-bi patch-bo patch-bp patch-bq patch-br
patch-bs patch-bt patch-bu patch-bv patch-bw patch-bx
Log Message:
Update to version 4.00.1. Renamed patches from two-letter system and added
comments.
Updated buildlink3.mk to default to a full dependency (more pertinent in most
cases; usually the standard library needs to be installed for an ocaml
program to run)
Changes from 3.12 to 4.00.1 include:
OCaml 4.00.1:
-------------
Various bug fixes.
OCaml 4.00.0:
-------------
(Changes that can break existing programs are marked with a "*")
- The official name of the language is now OCaml.
Language features:
- Added Generalized Algebraic Data Types (GADTs) to the language.
See chapter "Language extensions" of the reference manual for documentation.
- It is now possible to omit type annotations when packing and unpacking
first-class modules. The type-checker attempts to infer it from the context.
Using the -principal option guarantees forward compatibility.
- New (module M) and (module M : S) syntax in patterns, for immediate
unpacking of a first-class module.
Compilers:
- Revised simplification of let-alias (PR#5205, PR#5288)
- Better reporting of compiler version mismatch in .cmi files
* Warning 28 is now enabled by default.
- New option -absname to use absolute paths in error messages
- Optimize away compile-time beta-redexes, e.g. (fun x y -> e) a b.
- Added option -bin-annot to dump the AST with type annotations.
- Added lots of new warnings about unused variables, opens, fields,
constructors, etc.
* New meaning for warning 7: it is now triggered when a method is overridden
with the "method" keyword. Use "method!" to avoid the warning.
Native-code compiler:
- Optimized handling of partially-applied functions (PR#5287)
- Small improvements in code generated for array bounds checks (PR#5345,
PR#5360).
* New ARM backend (PR#5433):
. Supports both Linux/EABI (armel) and Linux/EABI+VFPv3 (armhf).
. Added support for the Thumb-2 instruction set with average code size
savings of 28%.
. Added support for position-independent code, natdynlink, profiling and
exception backtraces.
- Generation of CFI information, and filename/line number debugging (with -g)
annotations, enabling in particular precise stack backtraces with
the gdb debugger. Currently supported for x86 32-bits and 64-bits only.
(PR#5487)
- New tool: ocamloptp, the equivalent of ocamlcp for the native-code compiler.
OCamldoc:
- PR#5645: ocamldoc doesn't handle module/type substitution in signatures
- PR#5544: improve HTML output (less formatting in html code)
- PR#5522: allow refering to record fields and variant constructors
- fix PR#5419 (error message in french)
- fix PR#5535 (no cross ref to class after dump+load)
* Use first class modules for custom generators, to be able to
load various plugins incrementally adding features to the current
generator
* PR#5507: Use Location.t structures for locations.
- fix: do not keep code when not told to keep code.
Standard library:
- Added float functions "hypot" and "copysign" (PR#3806, PR#4752, PR#5246)
* Arg: options with empty doc strings are no longer included in the usage string
(PR#5437)
- Array: faster implementations of "blit", "copy", "sub", "append" and "concat"
(PR#2395, PR#2787, PR#4591)
* Hashtbl:
. Statistically-better generic hash function based on Murmur 3 (PR#5225)
. Fixed behavior of generic hash function w.r.t. -0.0 and NaN (PR#5222)
. Added optional "random" parameter to Hashtbl.create to randomize
collision patterns and improve security (PR#5572, CVE-2012-0839)
. Added "randomize" function and "R" parameter to OCAMLRUNPARAM
to turn randomization on by default (PR#5572, CVE-2012-0839)
. Added new functorial interface "MakeSeeded" to support randomization
with user-provided seeded hash functions.
. Install new header <caml/hash.h> for C code.
- Filename: on-demand (lazy) initialization of the PRNG used by "temp_file".
- Marshal: marshalling of function values (flag Marshal.Closures) now
also works for functions that come from dynamically-loaded modules (PR#5215)
- Random:
. More random initialization (Random.self_init()), using /dev/urandom
when available (e.g. Linux, FreeBSD, MacOS X, Solaris)
* Faster implementation of Random.float (changes the generated sequences)
- Scanf: new function "unescaped" (PR#3888)
- Set and Map: more efficient implementation of "filter" and "partition"
- String: new function "map" (PR#3888)
Installation procedure:
- Compiler internals are now installed in `ocamlc -where`/compiler-libs.
The files available there include the .cmi interfaces for all compiler
modules, plus the following libraries:
ocamlcommon.cma/.cmxa modules common to ocamlc, ocamlopt, ocaml
ocamlbytecomp.cma/.cmxa modules for ocamlc and ocaml
ocamloptcomp.cma/.cmxa modules specific to ocamlopt
camltoplevel.cma modules specific to ocaml
(PR#1804, PR#4653, frequently-asked feature).
* Some .cmi for toplevel internals that used to be installed in
`ocamlc -where` are now to be found in `ocamlc -where`/compiler-libs.
Add "-I +compiler-libs" where needed.
* toplevellib.cma is no longer installed because subsumed by
ocamlcommon.cma ocamlbytecomp.cma ocamltoplevel.cma
- Added a configuration option (-with-debug-runtime) to compile and install
a debug version of the runtime system, and a compiler option
(-runtime-variant) to select the debug runtime.
and various bug fixes.
To generate a diff of this commit:
cvs rdiff -u -r1.79 -r1.80 pkgsrc/lang/ocaml/Makefile
cvs rdiff -u -r1.33 -r1.34 pkgsrc/lang/ocaml/Makefile.common
cvs rdiff -u -r1.23 -r1.24 pkgsrc/lang/ocaml/PLIST
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/ocaml/PLIST.natdynlink
cvs rdiff -u -r1.18 -r1.19 pkgsrc/lang/ocaml/PLIST.opt
cvs rdiff -u -r1.5 -r1.6 pkgsrc/lang/ocaml/PLIST.stub
cvs rdiff -u -r1.26 -r1.27 pkgsrc/lang/ocaml/buildlink3.mk
cvs rdiff -u -r1.63 -r1.64 pkgsrc/lang/ocaml/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/ocaml/patches/patch-Makefile \
pkgsrc/lang/ocaml/patches/patch-asmcomp_power_emit.mlp \
pkgsrc/lang/ocaml/patches/patch-asmrun_Makefile \
pkgsrc/lang/ocaml/patches/patch-asmrun_power-bsd.S \
pkgsrc/lang/ocaml/patches/patch-asmrun_signals_osdep.h \
pkgsrc/lang/ocaml/patches/patch-byterun_Makefile \
pkgsrc/lang/ocaml/patches/patch-camlp4_man_Makefile \
pkgsrc/lang/ocaml/patches/patch-configure \
pkgsrc/lang/ocaml/patches/patch-debugger_Makefile.shared \
pkgsrc/lang/ocaml/patches/patch-man_Makefile \
pkgsrc/lang/ocaml/patches/patch-ocamldoc_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_Makefile.shared \
pkgsrc/lang/ocaml/patches/patch-otherlibs_dynlink_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_browser_Makefile.shared \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_camltk_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_compiler_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_frx_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_jpf_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_labltk_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_lib_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_labltk_support_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_systhreads_Makefile \
pkgsrc/lang/ocaml/patches/patch-otherlibs_threads_Makefile \
pkgsrc/lang/ocaml/patches/patch-stdlib_Makefile \
pkgsrc/lang/ocaml/patches/patch-stdlib_Makefile.shared \
pkgsrc/lang/ocaml/patches/patch-tools_Makefile.shared
cvs rdiff -u -r1.28 -r0 pkgsrc/lang/ocaml/patches/patch-at
cvs rdiff -u -r1.4 -r0 pkgsrc/lang/ocaml/patches/patch-au \
pkgsrc/lang/ocaml/patches/patch-ax pkgsrc/lang/ocaml/patches/patch-az \
pkgsrc/lang/ocaml/patches/patch-bh pkgsrc/lang/ocaml/patches/patch-bq \
pkgsrc/lang/ocaml/patches/patch-br
cvs rdiff -u -r1.2 -r0 pkgsrc/lang/ocaml/patches/patch-av \
pkgsrc/lang/ocaml/patches/patch-bb pkgsrc/lang/ocaml/patches/patch-bg
cvs rdiff -u -r1.9 -r0 pkgsrc/lang/ocaml/patches/patch-aw
cvs rdiff -u -r1.3 -r0 pkgsrc/lang/ocaml/patches/patch-ay \
pkgsrc/lang/ocaml/patches/patch-bc pkgsrc/lang/ocaml/patches/patch-bd \
pkgsrc/lang/ocaml/patches/patch-be pkgsrc/lang/ocaml/patches/patch-bf \
pkgsrc/lang/ocaml/patches/patch-bi pkgsrc/lang/ocaml/patches/patch-bo \
pkgsrc/lang/ocaml/patches/patch-bp pkgsrc/lang/ocaml/patches/patch-bu
cvs rdiff -u -r1.8 -r0 pkgsrc/lang/ocaml/patches/patch-bs
cvs rdiff -u -r1.5 -r0 pkgsrc/lang/ocaml/patches/patch-bt \
pkgsrc/lang/ocaml/patches/patch-bv
cvs rdiff -u -r1.1 -r0 pkgsrc/lang/ocaml/patches/patch-bw \
pkgsrc/lang/ocaml/patches/patch-bx
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/ocaml/patches/patch-bytecomp_bytelink.ml
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