Markus Mottl avatar Markus Mottl committed a9f1797

Improved compilation flags and Oasis configuration

Comments (0)

Files changed (4)

   CCOpt: -O2 -DPIC
   CCLib: -lblas -llapack
   if system(macosx)
-    CCOpt: -O2 -DPIC -DEXTERNAL_EXP10 -framework vecLib
+    CCOpt+: -DEXTERNAL_EXP10 -framework vecLib
     CCLib: -framework vecLib
   # FIXME: mingw is untested!!!
   if system(mingw)
-    CCOpt: -O2 -DPIC -DEXTERNAL_EXP10
+    CCOpt+: -DEXTERNAL_EXP10
 
 Library lacaml_top
   Path:             lib
   DllPath:        ../../lib
 
 Document API
-  Title:           API reference for Lacaml
-  Type:            OCamlbuild (0.3)
-  InstallDir:      $docdir/api
-  BuildTools:      ocamldoc, ocamlbuild
-  XOCamlbuildPath: .
+  Title:                API reference for Lacaml
+  Type:                 OCamlbuild (0.3)
+  InstallDir:           $docdir/api
+  BuildTools:           ocamldoc, ocamlbuild
+  XOCamlbuildPath:      .
   XOCamlbuildLibraries: lacaml
 
 SourceRepository trunk
   Type:       hg
-  Location:   ssh://forge.ocamlcore.org//hg/lacaml
-#  Browser:    
+  Location:   ssh://hg@bitbucket.org/mmottl/lacaml
 <examples/svd/*.ml{,i}>: pkg_bigarray
 # OASIS_STOP
 
+<**/*.ml{,i}>: warn_A, warn_e, warn_r
 <**/*.ml>: annot
 <lib/install_printers.ml>: I(+compiler-libs)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: a1a4033293a98e0195e45e7b389c3561) *)
+(* DO NOT EDIT (digest: 2a813279f74c02ad117dcf0b9b33ae7f) *)
 module OASISGettext = struct
 (* # 21 "/Users/mmottl/local/darwin11.3.0/src/oasis-0.3.0~rc6/src/oasis/OASISGettext.ml" *)
   
             [
                (OASISExpr.EBool true,
                  S [A "-ccopt"; A "-O2"; A "-ccopt"; A "-DPIC"]);
+               (OASISExpr.ETest ("system", "mingw"),
+                 S
+                   [
+                      A "-ccopt";
+                      A "-O2";
+                      A "-ccopt";
+                      A "-DPIC";
+                      A "-ccopt";
+                      A "-DEXTERNAL_EXP10"
+                   ]);
                (OASISExpr.ETest ("system", "macosx"),
                  S
                    [
                       A "-ccopt";
                       A "vecLib"
                    ]);
-               (OASISExpr.ETest ("system", "mingw"),
+               (OASISExpr.EAnd
+                  (OASISExpr.ETest ("system", "macosx"),
+                    OASISExpr.ETest ("system", "mingw")),
                  S
                    [
                       A "-ccopt";
                       A "-ccopt";
                       A "-DPIC";
                       A "-ccopt";
+                      A "-DEXTERNAL_EXP10";
+                      A "-ccopt";
+                      A "-framework";
+                      A "-ccopt";
+                      A "vecLib";
+                      A "-ccopt";
                       A "-DEXTERNAL_EXP10"
                    ])
             ]);
 
 let dispatch_default = MyOCamlbuildBase.dispatch_default package_default;;
 
-# 661 "myocamlbuild.ml"
+# 679 "myocamlbuild.ml"
 (* OASIS_STOP *)
 # 502 "myocamlbuild.ml"
 
 let () =
   let additional_rules = function
     | After_rules ->
-      flag
-        ["compile"; "ocaml"] (S [A "-w"; A "@Aer"; A "-strict-sequence" ]);
+        flag ["compile"; "ocaml"] (S [A "-strict-sequence" ]);
 
-      pflag ["compile"; "ocaml"] "I" (fun x -> S [A "-I"; A x]);
+        pflag ["compile"; "ocaml"] "I" (fun x -> S [A "-I"; A x]);
 
-      (* Files included, tailored with macros. *)
-      dep ["compile"; "c"]
-          ["lib"/"fold_col.c"; "lib"/"fold2_col.c";
-           "lib"/"vec_map.c"; "lib"/"vec_combine.c"; "lib"/"vec_sort.c"];
+        (* Files included, tailored with macros. *)
+        dep ["compile"; "c"]
+            ["lib"/"fold_col.c"; "lib"/"fold2_col.c";
+            "lib"/"vec_map.c"; "lib"/"vec_combine.c"; "lib"/"vec_sort.c"];
 
-      (* Special rules for precision dependent C code. *)
-      let lacaml_cc desc ~prod ~dep flags =
-        rule ("Lacaml: " ^ desc) ~prod ~dep
-             (fun env _build ->
-              let f = env dep and o = env prod in
-              let tags = tags_of_pathname f ++ "compile" ++ "c"
-                         ++ "oasis_library_lacaml_ccopt" in
+        (* Special rules for precision dependent C code. *)
+        let lacaml_cc desc ~prod ~dep flags =
+          rule ("Lacaml: " ^ desc) ~prod ~dep
+              (fun env _build ->
+                let f = env dep and o = env prod in
+                let tags = tags_of_pathname f ++ "compile" ++ "c"
+                          ++ "oasis_library_lacaml_ccopt" in
 
-              let add_ccopt f l = A"-ccopt" :: f :: l in
-              let flags = List.fold_right add_ccopt flags [] in
-              (* unfortunately -o is not respected for C files, use -ccopt. *)
-              let cmd = [A ocamlfind; A"ocamlc"; A"-ccopt"; A("-o " ^ o)]
-                        @ flags @ [T tags; A"-c"; P f] in
-              Seq[Cmd(S(cmd))]
-             ) in
-      lacaml_cc "simple of SD" ~prod:"%2_S_c.o" ~dep:"%_SD_c.c" [];
-      lacaml_cc "double of SD" ~prod:"%2_D_c.o" ~dep:"%_SD_c.c"
-                [A"-DLACAML_DOUBLE"];
-      lacaml_cc "simple of CZ" ~prod:"%2_C_c.o" ~dep:"%_CZ_c.c"
-                [A"-DLACAML_COMPLEX"];
-      lacaml_cc "double of CZ" ~prod:"%2_Z_c.o" ~dep:"%_CZ_c.c"
-                [A"-DLACAML_COMPLEX"; A"-DLACAML_DOUBLE"];
+                let add_ccopt f l = A"-ccopt" :: f :: l in
+                let flags = List.fold_right add_ccopt flags [] in
+                (* unfortunately -o is not respected for C files, use -ccopt. *)
+                let cmd = [A ocamlfind; A"ocamlc"; A"-ccopt"; A("-o " ^ o)]
+                          @ flags @ [T tags; A"-c"; P f] in
+                Seq[Cmd(S(cmd))]
+              ) in
+        lacaml_cc "simple of SD" ~prod:"%2_S_c.o" ~dep:"%_SD_c.c" [];
+        lacaml_cc "double of SD" ~prod:"%2_D_c.o" ~dep:"%_SD_c.c"
+                  [A"-DLACAML_DOUBLE"];
+        lacaml_cc "simple of CZ" ~prod:"%2_C_c.o" ~dep:"%_CZ_c.c"
+                  [A"-DLACAML_COMPLEX"];
+        lacaml_cc "double of CZ" ~prod:"%2_Z_c.o" ~dep:"%_CZ_c.c"
+                  [A"-DLACAML_COMPLEX"; A"-DLACAML_DOUBLE"];
 
-      lacaml_cc "simple of SDCZ" ~prod:"%4_S_c.o" ~dep:"%_SDCZ_c.c" [];
-      lacaml_cc "double of SDCZ" ~prod:"%4_D_c.o" ~dep:"%_SDCZ_c.c"
-                [A"-DLACAML_DOUBLE"];
-      lacaml_cc "complex32 of SDCZ" ~prod:"%4_C_c.o" ~dep:"%_SDCZ_c.c"
-                [A"-DLACAML_COMPLEX"];
-      lacaml_cc "complex64 of SDCZ" ~prod:"%4_Z_c.o" ~dep:"%_SDCZ_c.c"
-                [A"-DLACAML_COMPLEX"; A"-DLACAML_DOUBLE"];
+        lacaml_cc "simple of SDCZ" ~prod:"%4_S_c.o" ~dep:"%_SDCZ_c.c" [];
+        lacaml_cc "double of SDCZ" ~prod:"%4_D_c.o" ~dep:"%_SDCZ_c.c"
+                  [A"-DLACAML_DOUBLE"];
+        lacaml_cc "complex32 of SDCZ" ~prod:"%4_C_c.o" ~dep:"%_SDCZ_c.c"
+                  [A"-DLACAML_COMPLEX"];
+        lacaml_cc "complex64 of SDCZ" ~prod:"%4_Z_c.o" ~dep:"%_SDCZ_c.c"
+                  [A"-DLACAML_COMPLEX"; A"-DLACAML_DOUBLE"];
 
     | _ -> ()
   in
 (* setup.ml generated for the first time by OASIS v0.2.0 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: e4f1f39012d4e7d486976a742520181c) *)
+(* DO NOT EDIT (digest: a6024a3d3a1d812a30047dd7fa9d33bb) *)
 (*
    Regenerated by OASIS v0.3.0~rc6
    Visit http://oasis.forge.ocamlcore.org for more information and
                       bs_ccopt =
                         [
                            (OASISExpr.EBool true, ["-O2"; "-DPIC"]);
+                           (OASISExpr.ETest ("system", "mingw"),
+                             ["-O2"; "-DPIC"; "-DEXTERNAL_EXP10"]);
                            (OASISExpr.ETest ("system", "macosx"),
                              [
                                 "-O2";
                                 "-framework";
                                 "vecLib"
                              ]);
-                           (OASISExpr.ETest ("system", "mingw"),
-                             ["-O2"; "-DPIC"; "-DEXTERNAL_EXP10"])
+                           (OASISExpr.EAnd
+                              (OASISExpr.ETest ("system", "macosx"),
+                                OASISExpr.ETest ("system", "mingw")),
+                             [
+                                "-O2";
+                                "-DPIC";
+                                "-DEXTERNAL_EXP10";
+                                "-framework";
+                                "vecLib";
+                                "-DEXTERNAL_EXP10"
+                             ])
                         ];
                       bs_cclib =
                         [
                    {
                       src_repo_type = Hg;
                       src_repo_location =
-                        "ssh://forge.ocamlcore.org//hg/lacaml";
+                        "ssh://hg@bitbucket.org/mmottl/lacaml";
                       src_repo_browser = None;
                       src_repo_module = None;
                       src_repo_branch = None;
           };
      oasis_fn = Some "_oasis";
      oasis_version = "0.3.0~rc6";
-     oasis_digest = Some "\156�\012��8��HF,;�H�\144";
+     oasis_digest = Some "�qd��\027c_�˫\150\148�~";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false;
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 5904 "setup.ml"
+# 5915 "setup.ml"
 (* OASIS_STOP *)
 
 #use "setup.conf";;
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.