camlspotter avatar camlspotter committed ab782af Merge

merge

Comments (0)

Files changed (7)

 # How-to-build using OMake
 #
-# yes no | omake --install # to create OMakeroot for the first time
+# cp OMakeroot.in OMakeroot # to create OMakeroot for the first time
 
 # If OMakeroot is here, include OMyMakefile
 if $(file-exists OMakeroot)
+open build/C
+open build/OCaml
+open build/LaTeX
+
+DefineCommandVars()
+
+.SUBDIRS: .
 USE_OCAMLFIND = true
 OCAMLFIND_DESTDIR= $(shell ocamlfind printconf destdir)
 
+OCAMLFIND_QUERY(name) = 
+    return $(shell ocamlfind query $(name))
+
 #|Set NATIVE_ENABLED false locally if a project does not requre opt compilation.
 NATIVE_ENABLED = $(OCAMLOPT_EXISTS)
 NATIVE_SHARED_ENABLED = $(OCAMLOPT_EXISTS)
 BYTE_ENABLED = true
 
 #|The default warning and errors. If you want to use different warning and error switches, use redefine the variable.
-OCAMLFLAGS = -g -w A-4-9 -warn-error A-4-9
+OCAMLFLAGS = -g 
+
+#|Warnings not to be printed separted with space
+OCAMLWARNING_IGNORE[] = 4 9
+
+#|Warnings treated as non errors
+OCAMLWARNING_NON_ERROR[] = 4 9
+
+#|If it is false, warnings do not stop the compilation even if they are listed in OCAMLWARNING_NON_ERROR
+#If you are in developing something, turn it ture!
+OCAMLWARNING_STOP_AT_ERROR_WARNING=false
+
+#|The maximum warning value.
+# This is the maximum warning ID NOT of the current OCaml compiler,
+#                                BUT of the OCaml compiler used by the author.
+OCAMLWARNING_MAX= 39
+
+#|Function to build warning switches
+OCAMLWARNING_MAKE()=
+    if $(OCAMLWARNING_STOP_AT_ERROR_WARNING)
+        return -w A-$(concat -,$(OCAMLWARNING_IGNORE)) -warn-error +1..$(OCAMLWARNING_MAX)-$(concat -, $(OCAMLWARNING_NON_ERROR))
+    else
+        return -w A-$(concat -,$(OCAMLWARNING_IGNORE)) -warn-error a
+
+#|OMyMakefile assumes installation with .cmt files
+OCAMLANNOTFLAGS = -annot -bin-annot
 
 #|Global variable to be defined as empty
 OCAMLPACKAGEFLAGS=
 
 #|Redefinition of compiler commands
 public.OCamlC() =
-    value $(OCAMLFIND) $(OCAMLC) $(OCAMLPACKAGEFLAGS) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS)\
-              $(OCAMLCFLAGS) $(OCAMLPPFLAGS) $(PREFIXED_OCAMLINCLUDES)
+    value $(OCAMLFIND) $(OCAMLC) \
+        $(OCAMLANNOTFLAGS) \
+        $(OCAMLPACKAGEFLAGS) \
+        $(LAZY_OCAMLFINDFLAGS) \
+        $(PREFIXED_OCAMLPACKS) \
+        $(OCAMLFLAGS) \
+        $(OCAMLWARNING_MAKE) \
+        $(OCAMLCFLAGS) \
+        $(OCAMLPPFLAGS) \
+        $(PREFIXED_OCAMLINCLUDES)
 # Why we need "public." ?
 
 public.OCamlOpt() =
-    value $(OCAMLFIND) $(OCAMLOPT) $(OCAMLPACKAGEFLAGS) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS)\
+    value $(OCAMLFIND) $(OCAMLOPT) $(OCAMLANNOTFLAGS) $(OCAMLPACKAGEFLAGS) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS)\
+              $(OCAMLWARNING_MAKE) \
               $(OCAMLOPTFLAGS) $(OCAMLPPFLAGS) $(PREFIXED_OCAMLINCLUDES)
 
 if $(and $(not $(NATIVE_ENABLED)) $(not $(BYTE_ENABLED)))
 #|Additional implicit rules by file extensions
 # annot, cmt, cmti files
 %.annot %.cmt: %.ml %.cmi
-	$(OCamlC) -c -annot -bin-annot $<
+	$(OCamlC) -c -annot $(OCAMLANNOTFLAGS) $<
 
 %.cmti: %.mli 
-	$(OCamlC) -c -bin-annot $<
+	$(OCamlC) -c $(OCAMLANNOTFLAGS) $<
 
 #|Define OCAML_ANNOT so that ocamlc/ocamlopt automatically create annot/cmt/cmti files, even without -annot/-bin-annot option. This requires a special compiler patch 
 setenv(OCAML_ANNOT, 1)
              export
          $(BYTE_TARGETS): $(BYTE_DEPS)
             $(OCAMLFIND) $(OCAMLC) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS) \
-                $(OCAMLCFLAGS) $(OCAML_LIB_FLAGS) -pack -bin-annot -o $(CMO) $(OCamlLinkSort $(CMOFILES))
+                $(OCAMLCFLAGS) $(OCAML_LIB_FLAGS) -pack $(OCAMLANNOTFLAGS) -o $(CMO) $(OCamlLinkSort $(CMOFILES))
 
    protected.NATIVE_DEPS = $(CMXFILES) $(OFILES)
    $(NATIVE_TARGETS): $(NATIVE_DEPS)
             export
          $(NATIVE_TARGETS): $(NATIVE_DEPS)
             $(OCAMLFIND) $(OCAMLOPTLINK) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS) \
-                $(OCAMLOPTFLAGS) $(OCAML_LIB_FLAGS) -pack -bin-annot -o $(CMX) $(OCamlLinkSort $(CMXFILES))
+                $(OCAMLOPTFLAGS) $(OCAML_LIB_FLAGS) -pack $(OCAMLANNOTFLAGS) -o $(CMX) $(OCamlLinkSort $(CMXFILES))
 
    $(CMI):
       section rule
 Plugins:      StdFiles (0.2)
 BuildType:    Custom (0.2)
 InstallType:    Custom (0.2)
-XCustomBuild: yes no | omake --install; PREFIX=$prefix omake
+XCustomBuild: cp OMakeroot.in OMakeroot; PREFIX=$prefix omake
 XCustomInstall: PREFIX=$prefix omake install
 XCustomUninstall: PREFIX=$prefix omake uninstall
 XCustomBuildClean: PREFIX=$prefix omake clean
-OCAMLFLAGS    = -annot -w Ae
+# OCAMLFLAGS    = -annot -w Ae
 
 OCAMLPACKS[]=
     num

lib/json_conv.mli

 open Tiny_json
-open Meta_conv.Types
 open Meta_conv.Open
 
 include Meta_conv.Types.S with type target = Json.t
 (* setup.ml generated for the first time by OASIS v0.3.0 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 923c81df0217c7536642e6737d916003) *)
+(* DO NOT EDIT (digest: 0f939008168c9c02faa6ccc868b9fc04) *)
 (*
    Regenerated by OASIS v0.3.0
    Visit http://oasis.forge.ocamlcore.org for more information and
    documentation about functions used in this file.
 *)
 module OASISGettext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISGettext.ml"
+(* # 21 "src/oasis/OASISGettext.ml" *)
 
   let ns_ str =
     str
 end
 
 module OASISContext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISContext.ml"
+(* # 21 "src/oasis/OASISContext.ml" *)
 
   open OASISGettext
 
 end
 
 module OASISString = struct
-# 1 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISString.ml"
+(* # 1 "src/oasis/OASISString.ml" *)
 
 
 
 end
 
 module OASISUtils = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISUtils.ml"
+(* # 21 "src/oasis/OASISUtils.ml" *)
 
   open OASISGettext
 
 end
 
 module PropList = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/PropList.ml"
+(* # 21 "src/oasis/PropList.ml" *)
 
   open OASISGettext
 
     let clear t =
       Hashtbl.clear t
 
-# 71 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/PropList.ml"
+(* # 71 "src/oasis/PropList.ml" *)
   end
 
   module Schema =
 end
 
 module OASISMessage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISMessage.ml"
+(* # 21 "src/oasis/OASISMessage.ml" *)
 
 
   open OASISGettext
 end
 
 module OASISVersion = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISVersion.ml"
+(* # 21 "src/oasis/OASISVersion.ml" *)
 
   open OASISGettext
 
 end
 
 module OASISLicense = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISLicense.ml"
+(* # 21 "src/oasis/OASISLicense.ml" *)
 
   (** License for _oasis fields
       @author Sylvain Le Gall
 end
 
 module OASISExpr = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExpr.ml"
+(* # 21 "src/oasis/OASISExpr.ml" *)
 
 
 
 end
 
 module OASISTypes = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTypes.ml"
+(* # 21 "src/oasis/OASISTypes.ml" *)
 
 
 
 
   type plugin_data = (all_plugin * plugin_data_purpose * (unit -> unit)) list
 
-# 102 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTypes.ml"
+(* # 102 "src/oasis/OASISTypes.ml" *)
 
   type 'a conditional = 'a OASISExpr.choices 
 
 end
 
 module OASISUnixPath = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISUnixPath.ml"
+(* # 21 "src/oasis/OASISUnixPath.ml" *)
 
   type unix_filename = string
   type unix_dirname = string
 end
 
 module OASISHostPath = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISHostPath.ml"
+(* # 21 "src/oasis/OASISHostPath.ml" *)
 
 
   open Filename
 end
 
 module OASISSection = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISSection.ml"
+(* # 21 "src/oasis/OASISSection.ml" *)
 
   open OASISTypes
 
 end
 
 module OASISBuildSection = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISBuildSection.ml"
+(* # 21 "src/oasis/OASISBuildSection.ml" *)
 
 end
 
 module OASISExecutable = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExecutable.ml"
+(* # 21 "src/oasis/OASISExecutable.ml" *)
 
   open OASISTypes
 
 end
 
 module OASISLibrary = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISLibrary.ml"
+(* # 21 "src/oasis/OASISLibrary.ml" *)
 
   open OASISTypes
   open OASISUtils
 end
 
 module OASISFlag = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISFlag.ml"
+(* # 21 "src/oasis/OASISFlag.ml" *)
 
 end
 
 module OASISPackage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISPackage.ml"
+(* # 21 "src/oasis/OASISPackage.ml" *)
 
 end
 
 module OASISSourceRepository = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISSourceRepository.ml"
+(* # 21 "src/oasis/OASISSourceRepository.ml" *)
 
 end
 
 module OASISTest = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTest.ml"
+(* # 21 "src/oasis/OASISTest.ml" *)
 
 end
 
 module OASISDocument = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISDocument.ml"
+(* # 21 "src/oasis/OASISDocument.ml" *)
 
 end
 
 module OASISExec = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExec.ml"
+(* # 21 "src/oasis/OASISExec.ml" *)
 
   open OASISGettext
   open OASISUtils
 end
 
 module OASISFileUtil = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISFileUtil.ml"
+(* # 21 "src/oasis/OASISFileUtil.ml" *)
 
   open OASISGettext
 
 
 # 2142 "setup.ml"
 module BaseEnvLight = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseEnvLight.ml"
+(* # 21 "src/base/BaseEnvLight.ml" *)
 
   module MapString = Map.Make(String)
 
 
 # 2240 "setup.ml"
 module BaseContext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseContext.ml"
+(* # 21 "src/base/BaseContext.ml" *)
 
   open OASISContext
 
 end
 
 module BaseMessage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseMessage.ml"
+(* # 21 "src/base/BaseMessage.ml" *)
 
   (** Message to user, overrid for Base
       @author Sylvain Le Gall
 end
 
 module BaseEnv = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseEnv.ml"
+(* # 21 "src/base/BaseEnv.ml" *)
 
   open OASISGettext
   open OASISUtils
 end
 
 module BaseArgExt = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseArgExt.ml"
+(* # 21 "src/base/BaseArgExt.ml" *)
 
   open OASISUtils
   open OASISGettext
 end
 
 module BaseCheck = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseCheck.ml"
+(* # 21 "src/base/BaseCheck.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseOCamlcConfig = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseOCamlcConfig.ml"
+(* # 21 "src/base/BaseOCamlcConfig.ml" *)
 
 
   open BaseEnv
 end
 
 module BaseStandardVar = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseStandardVar.ml"
+(* # 21 "src/base/BaseStandardVar.ml" *)
 
 
   open OASISGettext
 end
 
 module BaseFileAB = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseFileAB.ml"
+(* # 21 "src/base/BaseFileAB.ml" *)
 
   open BaseEnv
   open OASISGettext
 end
 
 module BaseLog = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseLog.ml"
+(* # 21 "src/base/BaseLog.ml" *)
 
   open OASISUtils
 
 end
 
 module BaseBuilt = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseBuilt.ml"
+(* # 21 "src/base/BaseBuilt.ml" *)
 
   open OASISTypes
   open OASISGettext
 end
 
 module BaseCustom = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseCustom.ml"
+(* # 21 "src/base/BaseCustom.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseDynVar = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseDynVar.ml"
+(* # 21 "src/base/BaseDynVar.ml" *)
 
 
   open OASISTypes
 end
 
 module BaseTest = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseTest.ml"
+(* # 21 "src/base/BaseTest.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseDoc = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseDoc.ml"
+(* # 21 "src/base/BaseDoc.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseSetup = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseSetup.ml"
+(* # 21 "src/base/BaseSetup.ml" *)
 
   open BaseEnv
   open BaseMessage
 
 # 4480 "setup.ml"
 module InternalConfigurePlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/internal/InternalConfigurePlugin.ml"
+(* # 21 "src/plugins/internal/InternalConfigurePlugin.ml" *)
 
   (** Configure using internal scheme
       @author Sylvain Le Gall
 end
 
 module InternalInstallPlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/internal/InternalInstallPlugin.ml"
+(* # 21 "src/plugins/internal/InternalInstallPlugin.ml" *)
 
   (** Install using internal scheme
       @author Sylvain Le Gall
 
 # 5233 "setup.ml"
 module CustomPlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/custom/CustomPlugin.ml"
+(* # 21 "src/plugins/custom/CustomPlugin.ml" *)
 
   (** Generate custom configure/build/doc/test/install system
       @author
             CustomPlugin.cmd_main =
               [
                  (OASISExpr.EBool true,
-                   ("yes",
-                     [
-                        "no";
-                        "|";
-                        "omake";
-                        "--install;";
-                        "PREFIX=$prefix";
-                        "omake"
+                   ("cp",
+                     ["OMakeroot.in"; "OMakeroot;"; "PREFIX=$prefix"; "omake"
                      ]))
               ];
             cmd_clean =
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      ("yes",
+                      ("cp",
                         [
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
+                           "OMakeroot.in";
+                           "OMakeroot;";
                            "PREFIX=$prefix";
                            "omake"
                         ]))
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      ("yes",
+                      ("cp",
                         [
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
+                           "OMakeroot.in";
+                           "OMakeroot;";
                            "PREFIX=$prefix";
                            "omake"
                         ]))
           };
      oasis_fn = Some "_oasis";
      oasis_version = "0.3.0";
-     oasis_digest = Some "Ni\223a3\247\232\023>\211\245SW\194\185\173";
+     oasis_digest = Some "\161\156,\183\146E}\187N\249\181\128-\2033O";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false;
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 5589 "setup.ml"
+# 5579 "setup.ml"
 (* OASIS_STOP *)
 let () = setup ();;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.