summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/camlp4/unmaintained/odyl
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/camlp4/unmaintained/odyl')
-rw-r--r--ocaml-binary-annot/camlp4/unmaintained/odyl/.cvsignore4
-rw-r--r--ocaml-binary-annot/camlp4/unmaintained/odyl/.depend4
-rw-r--r--ocaml-binary-annot/camlp4/unmaintained/odyl/Makefile61
-rw-r--r--ocaml-binary-annot/camlp4/unmaintained/odyl/odyl.ml57
-rw-r--r--ocaml-binary-annot/camlp4/unmaintained/odyl/odyl_main.mli13
5 files changed, 139 insertions, 0 deletions
diff --git a/ocaml-binary-annot/camlp4/unmaintained/odyl/.cvsignore b/ocaml-binary-annot/camlp4/unmaintained/odyl/.cvsignore
new file mode 100644
index 0000000000..8ae0ebb068
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/unmaintained/odyl/.cvsignore
@@ -0,0 +1,4 @@
+*.cm[oia]
+odyl
+*.lib
+odyl_config.ml
diff --git a/ocaml-binary-annot/camlp4/unmaintained/odyl/.depend b/ocaml-binary-annot/camlp4/unmaintained/odyl/.depend
new file mode 100644
index 0000000000..a26294403e
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/unmaintained/odyl/.depend
@@ -0,0 +1,4 @@
+odyl.cmo: odyl_main.cmi odyl_config.cmo
+odyl.cmx: odyl_main.cmx odyl_config.cmx
+odyl_main.cmo: odyl_config.cmo odyl_main.cmi
+odyl_main.cmx: odyl_config.cmx odyl_main.cmi
diff --git a/ocaml-binary-annot/camlp4/unmaintained/odyl/Makefile b/ocaml-binary-annot/camlp4/unmaintained/odyl/Makefile
new file mode 100644
index 0000000000..f4f5d8709d
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/unmaintained/odyl/Makefile
@@ -0,0 +1,61 @@
+
+
+include ../config/Makefile.cnf
+
+EXECUTABLES=odyl
+INCLUDES=-I $(OTOP)/otherlibs/dynlink
+OBJS=odyl_config.cmo odyl_main.cmo
+OBJSX=odyl.cmx odyl.cmxa
+CLEANFILES=odyl_config.ml
+
+include ../config/Makefile.base
+
+odyl$(EXE): odyl.cma odyl.cmo
+ $(OCAMLC) odyl.cma odyl.cmo -o $@
+
+odyl.opt: odyl.cmxa odyl.cmx
+ $(OCAMLOPT) odyl.cmxa odyl.cmx -o $@
+
+odyl.cma: $(OBJS)
+ $(OCAMLC) $(LINKFLAGS) dynlink.cma $(OBJS) -a -o $@
+
+odyl.cmxa: $(OBJSX)
+ $(OCAMLOPT) $(LINKFLAGS) $(OBJSX) -a -o $@
+
+odyl.p.cmxa: $(OBJSP)
+ $(OCAMLOPT) $(LINKFLAGS) $(OBJSP) -a -o $@
+
+odyl_main.cmx: odyl_main.ml
+ $(CAMLP4BOOT) -nolib -DOPT -o odyl_main.ppo odyl_main.ml
+ $(OCAMLOPT) -c -impl odyl_main.ppo
+ rm -f odyl_main.ppo
+
+odyl_main.p.cmx: odyl_main.ml
+ $(CAMLP4BOOT) -nolib -DOPT -o odyl_main.ppo odyl_main.ml
+ $(OCAMLOPT) -p -c -o $@ -impl odyl_main.ppo
+ rm -f odyl_main.ppo
+
+odyl_config.ml:
+ (echo '(* camlp4r *)'; \
+ echo 'value standard_library ='; \
+ echo ' try Sys.getenv "CAMLP4LIB" with [ Not_found -> '; \
+ echo ' try Sys.getenv "OCAMLLIB" ^ "/camlp4" with [ Not_found -> '; \
+ echo ' try Sys.getenv "CAMLLIB" ^ "/camlp4" with [ Not_found -> '; \
+ echo ' "$(LIBDIR)/camlp4"]]];') \
+ | sed -e 's|\\|/|g' > odyl_config.ml
+
+install-local:
+ -$(MKDIR) "$(LIBDIR)/camlp4" "$(BINDIR)"
+ cp odyl.cmo odyl.cma odyl_main.cmi $(LIBDIR)/camlp4/.
+ for f in odyl.$(A) odyl.p.$(A) ; do \
+ if test -f $$f ; then \
+ cp $$f "$(LIBDIR)/camlp4/." && ( cd "$(LIBDIR)/camlp4/." && $(RANLIB) $$f ) ; \
+ fi ; \
+ done
+ for f in odyl.cmx odyl.o odyl.p.cmx odyl.p.o odyl.cmxa odyl.p.cmxa ; do \
+ if test -f $$f ; then \
+ cp $$f "$(LIBDIR)/camlp4/." ; \
+ fi ; \
+ done
+
+include .depend
diff --git a/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl.ml b/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl.ml
new file mode 100644
index 0000000000..23b7136c97
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl.ml
@@ -0,0 +1,57 @@
+(* camlp4r *)
+(***********************************************************************)
+(* *)
+(* Camlp4 *)
+(* *)
+(* Daniel de Rauglaudre, projet Cristal, INRIA Rocquencourt *)
+(* *)
+(* Copyright 2001 Institut National de Recherche en Informatique et *)
+(* Automatique. Distributed only by permission. *)
+(* *)
+(***********************************************************************)
+
+
+
+value apply_load () =
+ let i = ref 1 in
+ let stop = ref False in
+ while not stop.val && i.val < Array.length Sys.argv do {
+ let s = Sys.argv.(i.val) in
+ if s = "-I" && i.val + 1 < Array.length Sys.argv then do {
+ Odyl_main.directory Sys.argv.(i.val + 1);
+ i.val := i.val + 2
+ }
+ else if s = "-nolib" then do { Odyl_main.nolib.val := True; incr i }
+ else if s = "-where" then do {
+ print_string Odyl_config.standard_library;
+ print_newline ();
+ flush stdout;
+ exit 0
+ }
+ else if s = "-version" then do {
+ print_string Sys.ocaml_version;
+ print_newline ();
+ flush stdout;
+ exit 0
+ }
+ else if s = "--" then do { incr i; stop.val := True; () }
+ else if String.length s > 0 && s.[0] == '-' then stop.val := True
+ else if Filename.check_suffix s ".cmo" || Filename.check_suffix s ".cma"
+ then do { Odyl_main.loadfile s; incr i }
+ else stop.val := True
+ }
+;
+
+value main () =
+ try do { apply_load () ; Odyl_main.go.val () } with
+ [ Odyl_main.Error fname str ->
+ do {
+ flush stdout;
+ Printf.eprintf "Error while loading \"%s\": " fname;
+ Printf.eprintf "%s.\n" str;
+ flush stderr;
+ exit 2
+ } ]
+;
+
+Printexc.catch main ();
diff --git a/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl_main.mli b/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl_main.mli
new file mode 100644
index 0000000000..122c9335a8
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/unmaintained/odyl/odyl_main.mli
@@ -0,0 +1,13 @@
+(* camlp4r *)
+
+
+exception Error of string and string;
+
+value nolib : ref bool;
+value initialized : ref bool;
+value path : ref (list string);
+value loadfile : string -> unit;
+value directory : string -> unit;
+
+value go : ref (unit -> unit);
+value name : ref string;