summaryrefslogtreecommitdiffstats
path: root/src/ocaml-native-1-fixes.patch
diff options
context:
space:
mode:
authorWilliam <r.3@libertysurf.fr>2013-01-14 22:48:43 (GMT)
committerWilliam <r.3@libertysurf.fr>2013-01-14 22:59:40 (GMT)
commitdf51a5ec235bb7c9a62bec5b39d618219d572b7d (patch)
tree7bf058aff9356a04f2c715ce5f10eafbb68080e8 /src/ocaml-native-1-fixes.patch
parentf0e1efa364175cb1c424dc97d5a293ccc6c4fd9e (diff)
downloadmxe-df51a5ec235bb7c9a62bec5b39d618219d572b7d.zip
mxe-df51a5ec235bb7c9a62bec5b39d618219d572b7d.tar.gz
mxe-df51a5ec235bb7c9a62bec5b39d618219d572b7d.tar.bz2
update to ocaml 4.00.1
Diffstat (limited to 'src/ocaml-native-1-fixes.patch')
-rw-r--r--src/ocaml-native-1-fixes.patch196
1 files changed, 7 insertions, 189 deletions
diff --git a/src/ocaml-native-1-fixes.patch b/src/ocaml-native-1-fixes.patch
index 795bf5d..f188c4c 100644
--- a/src/ocaml-native-1-fixes.patch
+++ b/src/ocaml-native-1-fixes.patch
@@ -3,10 +3,10 @@ See index.html for further information.
Contains ad hoc patches for cross building.
-From 71a88993df13ccaaab5957ad2a0aef3adf1d49ff Mon Sep 17 00:00:00 2001
+From 93d5a514d545567b194af9b9fba0954bb82565e3 Mon Sep 17 00:00:00 2001
From: MXE
Date: Wed, 3 Oct 2012 09:25:11 +0200
-Subject: [PATCH 1/5] findlib.ml
+Subject: [PATCH 1/2] findlib.ml
diff --git a/ocamlbuild/findlib.ml b/ocamlbuild/findlib.ml
@@ -23,196 +23,14 @@ index b5ef878..77454ed 100644
type package = {
name: string;
--
-1.7.2.5
+1.7.9.5
-From a1a25210b44d5c7064d5c7a7002676a114b5f539 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Wed, 3 Oct 2012 09:26:40 +0200
-Subject: [PATCH 2/5] main.ml : warnings on use of option -use-ocamlfind
-
-
-diff --git a/ocamlbuild/main.ml b/ocamlbuild/main.ml
-index 3b9bd89..7045867 100644
---- a/ocamlbuild/main.ml
-+++ b/ocamlbuild/main.ml
-@@ -152,6 +152,14 @@ let proceed () =
- Ocaml_specific.init ();
- Hooks.call_hook Hooks.After_rules;
-
-+ if not !Options.use_ocamlfind then begin
-+ if !Param_tags.ocamlfind_tags_used <> StringSet.empty then
-+ Log.eprintf "Warning: Tag(s) '%s' can only work with option -use-ocamlfind"
-+ (String.concat "," (StringSet.elements !Param_tags.ocamlfind_tags_used));
-+ if !Options.ocaml_pkgs <> [] then
-+ Log.eprintf "Warning: Options -pkg and -pkgs only work with -use-ocamlfind"
-+ end;
-+
- Param_tags.init ();
-
- Sys.chdir newpwd;
---
-1.7.2.5
-
-
-From aa7642e19ec9a81bcdda382d4682ab20df0013ba Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Wed, 3 Oct 2012 09:29:23 +0200
-Subject: [PATCH 3/5] param_tags : use of special tags considering whether state of option -use-ocamlfind
-
-
-diff --git a/ocamlbuild/param_tags.ml b/ocamlbuild/param_tags.ml
-index 02001de..1aae306 100644
---- a/ocamlbuild/param_tags.ml
-+++ b/ocamlbuild/param_tags.ml
-@@ -12,15 +12,24 @@
-
- (* Original author: Romain Bardou *)
-
--module StringSet = Set.Make(String)
-+(* 1 : 'acknowledge' while reading user input;
-+ 2 : 'declare ' to declare what tags are parameterised tags
-+ 3 : 'init' to check acknowledged vs declared tags,
-+ and perform declared actions *)
-+
-+module StringSet = My_std.StringSet
- module SSOSet = Set.Make(struct
- type t = string * string option
- let compare = Pervasives.compare
- end)
-
--(* tag name -> tag action (string -> unit) *)
-+(* tag (string) -> action (string -> unit) *)
-+(* all parameterised tags must be declared here *)
- let declared_tags = Hashtbl.create 17
-
-+(* set of tags that were read (see 'acknowledge'):
-+ ("package",Some "lablgtk2") if "package(lablgtk2)" was read ;
-+ ("foo",None) if "foo" was read *)
- let acknowledged_tags = ref SSOSet.empty
-
- let only_once f =
-@@ -32,25 +41,32 @@ let only_once f =
- f param
- end
-
--let declare name action =
-- Hashtbl.add declared_tags name (only_once action)
-+let declare tag action =
-+ Hashtbl.add declared_tags tag (only_once action)
-
--let acknowledge tag =
-- let tag = Lexers.tag_gen (Lexing.from_string tag) in
-- acknowledged_tags := SSOSet.add tag !acknowledged_tags
-+let ocamlfind_tags_used = ref StringSet.empty
-
--let really_acknowledge (name, param) =
-- match param with
-- | None ->
-- if Hashtbl.mem declared_tags name then
-- Log.eprintf "Warning: tag %S expects a parameter" name
-- | Some param ->
-- let actions = List.rev (Hashtbl.find_all declared_tags name) in
-- if actions = [] then
-- Log.eprintf "Warning: tag %S does not expect a parameter, but is used with parameter %S" name param;
-- List.iter (fun f -> f param) actions
-+let acknowledge tag_string =
-+ let sso = Lexers.tag_gen (Lexing.from_string tag_string) in
-+ let tag = fst sso in
-+ (match tag with
-+ | "package" | "predicate" | "syntax" ->
-+ ocamlfind_tags_used := StringSet.add tag !ocamlfind_tags_used
-+ | _ -> ()
-+ );
-+ acknowledged_tags := SSOSet.add sso !acknowledged_tags
-
- let init () =
-- SSOSet.iter really_acknowledge !acknowledged_tags
-+ SSOSet.iter (fun (tag,param) ->
-+ match param with
-+ | None ->
-+ if Hashtbl.mem declared_tags tag then
-+ Log.eprintf "Warning: tag %S expects a parameter" tag
-+ | Some param ->
-+ let actions = List.rev (Hashtbl.find_all declared_tags tag) in
-+ if actions = [] then
-+ Log.eprintf "Warning: tag %S does not expect a parameter, but is used with parameter %S" tag param;
-+ List.iter (fun f -> f param) actions
-+ ) !acknowledged_tags
-
- let make = Printf.sprintf "%s(%s)"
---
-1.7.2.5
-
-
-From e1f2adad03b52d5b71dea7fd6e2169d361366d60 Mon Sep 17 00:00:00 2001
-From: MXE
-Date: Wed, 3 Oct 2012 09:30:21 +0200
-Subject: [PATCH 4/5] param_tags : use of special tags considering whether state of option -use-ocamlfind (mli)
-
-
-diff --git a/ocamlbuild/param_tags.mli b/ocamlbuild/param_tags.mli
-index a0047af..0839534 100644
---- a/ocamlbuild/param_tags.mli
-+++ b/ocamlbuild/param_tags.mli
-@@ -12,29 +12,38 @@
-
- (* Original author: Romain Bardou *)
-
-+(** just a check for use of tag "package" that implies ocamlfind use *)
-+val ocamlfind_tags_used : My_std.StringSet.t ref
-+
- val declare: string -> (string -> unit) -> unit
- (** Declare a parameterized tag.
-
--[declare "name" action]: [action "param"] will be executed (once) by [init]
--if a tag of the form [name(param)] is [acknowledge]d.
--
--A given tag may be declared several times with different actions. All actions
--will be executed, in the order they were declared. *)
-+[declare tag action] declares [tag] as a parameterized tag.
-+A given tag may be declared several times with different actions.
-+[init] will execute all actions in the order they were declared.
-+Example : [declare "package" action] *)
-
- val acknowledge: string -> unit
- (** Acknowledge a tag.
-
--If the tag is of the form [X(Y)], and have been declared using [declare],
--then the actions given using [declare] will be executed with [Y] as parameter
--when [init] is executed. The action will only be called once per
--acknowledged parameter. *)
-+[acknowledge "package(lablgtk2)"] will store the tag "package" with
-+parameter [Some "lablgtk2"].
-+[acknowledge "annot"] will store the tag "annot" with
-+parameter [None] *)
-
- val init: unit -> unit
- (** Initialize parameterized tags.
-
--Call this function once all tags have been [declare]d and [acknowledge]d.
-+[init] checks in turn each acknowledged tag along with its parameter :
-+- if the tag is declared (e.g "package"), and parameter=Some "lablgtk2",
-+calls declared actions (only once) on "lablgtk2".
-+- if the tag is not declared (e.g "annot"), and parameter=None, nothing is done
-+- if the tag is not declared, but there is a parameter, raise a warning
-+- if the tag is declared, but there is no parameter, raise a warning
- If you [declare] or [acknowledge] a tag after having called [init], this will
--have no effect. [init] should only be called once. *)
-+have no effect.
-+[init] must be called once all tags have been marked with [declare] and
-+[acknowledge]. It should only be called once. *)
-
- val make: Tags.elt -> string -> Tags.elt
- (** Make a parameterized tag instance.
---
-1.7.2.5
-
-
-From 82118f5d8e0cb7a0193479d0e7459d265692551a Mon Sep 17 00:00:00 2001
+From b2ce063eee6dca5b3cd67bdb59d2a11ed2043995 Mon Sep 17 00:00:00 2001
From: MXE
Date: Wed, 3 Oct 2012 09:31:13 +0200
-Subject: [PATCH 5/5] options : support for prefixed ocaml-tools with ocamlfind
+Subject: [PATCH 2/2] options : support for prefixed ocaml-tools with
+ ocamlfind
diff --git a/ocamlbuild/options.ml b/ocamlbuild/options.ml
@@ -289,5 +107,5 @@ index 1be4b63..48f6648 100644
let reorder x y = x := !x @ (List.concat (List.rev !y)) in
--
-1.7.2.5
+1.7.9.5