Browse Source

Prepare build system to use sexp ppx

 + Behave like corebuild (which is a simple script calling ocamlbuild
 with some arguments).
 + Especially, adding janestreet ppx.
 + However, this triggers a lot of warnings, may disable some in the
 future.
 + These arguments forces to use ocaml >= 4.03 too. Thus, atdgen was
 updated, to regenerate some of the files.
Leo 8 years ago
parent
commit
a68da8ea47
6 changed files with 40 additions and 16 deletions
  1. 1 0
      CHANGELOG.md
  2. 2 1
      _oasis
  3. 2 2
      opam
  4. 27 5
      setup.ml
  5. 2 2
      src/settings_j.ml
  6. 6 6
      src/tmp_biniou_b.ml

+ 1 - 0
CHANGELOG.md

@@ -69,6 +69,7 @@ This version introduce major changes in the tmp and rc file.
  + Adapt code a bit for OCaml 4.03.
  + TODO XXX Add basic signal handling (`--signals`), to relaunch when doing
    ctrl-C. See issue #14 for known problems.
+ + Adapt to OCaml compiler version 4.03 (only supported)
 
 #### Community
 

File diff suppressed because it is too large
+ 2 - 1
_oasis


+ 2 - 2
opam

@@ -15,11 +15,11 @@ install: [make "install"]
 remove: ["ocamlfind" "remove" "ocl"]
 depends: [
   "ocamlbuild"
-  "atdgen"
+  "atdgen" {>= 1.9.1}
   "base-threads"
   "core" {>= "112.35.00"}
   "textutils"
   "re2"
   "ocamlfind" {build}
 ]
-available: [ocaml-version >= "4.02.0"]
+available: [ocaml-version >= "4.03.0"]

+ 27 - 5
setup.ml

@@ -1,7 +1,7 @@
 (* setup.ml generated for the first time by OASIS v0.4.5 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 58b23be3a408bab815d86a088b6439a4) *)
+(* DO NOT EDIT (digest: 68d9f4cf9636434214c4fc1c9378047e) *)
 (*
    Regenerated by OASIS v0.4.6
    Visit http://oasis.forge.ocamlcore.org for more information and
@@ -6825,7 +6825,27 @@ open OASISTypes;;
 let setup_t =
   {
      BaseSetup.configure = InternalConfigurePlugin.configure;
-     build = OCamlbuildPlugin.build [];
+     build =
+       OCamlbuildPlugin.build
+         [
+            "-use-ocamlfind";
+            "-tag";
+            "\"ppx(ppx-jane";
+            "-as-ppx)\"";
+            "-tag";
+            "thread";
+            "-tag";
+            "debug";
+            "-tag";
+            "bin_annot";
+            "-tag";
+            "short_paths";
+            "-cflags";
+            "\"-w";
+            "A-4-33-40-41-42-43-34-44\"";
+            "-cflags";
+            "-strict-sequence"
+         ];
      test =
        [
           ("tests",
@@ -6871,7 +6891,9 @@ let setup_t =
           oasis_version = "0.4";
           ocaml_version = None;
           findlib_version = None;
-          alpha_features = ["stdfiles_markdown"; "compiled_setup_ml"];
+          alpha_features =
+            ["stdfiles_markdown"; "compiled_setup_ml"; "ocamlbuild_more_args"
+            ];
           beta_features = [];
           name = "OcLaunch";
           version = "0.3.0";
@@ -7036,7 +7058,7 @@ let setup_t =
        };
      oasis_fn = Some "_oasis";
      oasis_version = "0.4.6";
-     oasis_digest = Some "\162\178a\024\199\b\b`5\243~\148\252\191\166K";
+     oasis_digest = Some "\168\019\203\152\003\255\235OV\217e\023\184$\0251";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false
@@ -7044,6 +7066,6 @@ let setup_t =
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 7048 "setup.ml"
+# 7070 "setup.ml"
 (* OASIS_STOP *)
 let () = setup ();;

+ 2 - 2
src/settings_j.ml

@@ -54,8 +54,8 @@ let read_rc_file = (
   fun p lb ->
     Yojson.Safe.read_space p lb;
     Yojson.Safe.read_lcurl p lb;
-    let field_progs = ref (Obj.magic 0.0) in
-    let field_settings = ref (Obj.magic 0.0) in
+    let field_progs = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+    let field_settings = ref (Obj.magic (Sys.opaque_identity 0.0)) in
     let bits0 = ref 0 in
     try
       Yojson.Safe.read_space p lb;

+ 6 - 6
src/tmp_biniou_b.ml

@@ -61,7 +61,7 @@ let get_rc_entry_reader = (
   fun tag ->
     if tag <> 21 then Ag_ob_run.read_error () else
       fun ib ->
-        let field_commands = ref (Obj.magic 0.0) in
+        let field_commands = ref (Obj.magic (Sys.opaque_identity 0.0)) in
         let bits0 = ref 0 in
         let len = Bi_vint.read_uvint ib in
         for i = 1 to len do
@@ -100,7 +100,7 @@ let get_rc_entry_reader = (
 let read_rc_entry = (
   fun ib ->
     if Bi_io.read_tag ib <> 21 then Ag_ob_run.read_error_at ib;
-    let field_commands = ref (Obj.magic 0.0) in
+    let field_commands = ref (Obj.magic (Sys.opaque_identity 0.0)) in
     let bits0 = ref 0 in
     let len = Bi_vint.read_uvint ib in
     for i = 1 to len do
@@ -286,8 +286,8 @@ let get_tmp_file_reader = (
   fun tag ->
     if tag <> 21 then Ag_ob_run.read_error () else
       fun ib ->
-        let field_rc = ref (Obj.magic 0.0) in
-        let field_daemon = ref (Obj.magic 0.0) in
+        let field_rc = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+        let field_daemon = ref (Obj.magic (Sys.opaque_identity 0.0)) in
         let bits0 = ref 0 in
         let len = Bi_vint.read_uvint ib in
         for i = 1 to len do
@@ -319,8 +319,8 @@ let get_tmp_file_reader = (
 let read_tmp_file = (
   fun ib ->
     if Bi_io.read_tag ib <> 21 then Ag_ob_run.read_error_at ib;
-    let field_rc = ref (Obj.magic 0.0) in
-    let field_daemon = ref (Obj.magic 0.0) in
+    let field_rc = ref (Obj.magic (Sys.opaque_identity 0.0)) in
+    let field_daemon = ref (Obj.magic (Sys.opaque_identity 0.0)) in
     let bits0 = ref 0 in
     let len = Bi_vint.read_uvint ib in
     for i = 1 to len do