Commits

Anonymous committed e20d5be

Initial submit of OCaml NAE Event Journaling (Ej) library. (placeholder).

Comments (0)

Files changed (14)

+.DS_store
+===== Pagoda Simple Authentication and Security Layer Core (sasl) library =====
+
+This file describes in technical detail the functional differences between
+released versions of the library.
+
+
+===== Version 0.0 =====
+
+This was the initial release of the library.  Major and minor version numbers
+count upward from zero.  Major version numbers with a minor version number of
+zero indicate the first release in a "stable" branch.  Non-zero minor version
+numbers indicate "development" branches converging on the next stable release.
+Patches to stable releases are numbered with a third level of numbering.
+
+
+--j h woodyatt <jhw@wetware.com>
+Open issues in development:
+
++ (unimplemented): No code exists.
+
+# End of open issues
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+# The following META file is a guess by ocamlfind:
+name="ej"
+version="0.0"
+description="Pagoda Event Journaling"
+requires="unix cf xml"
+archive(byte)="ej.cma"
+archive(native)="ej.cmxa"
+# FILE     Makefile
+#
+# Copyright (c) 2004, James H. Woodyatt
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#   Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#
+#   Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE. 
+
+DEBUG_OPT = -g -passopt -principal
+REQUIRE = unix cf xml
+PREDICATES =
+
+###############################################################################
+
+.PHONY: default opt test test.opt clean install uninstall depend doc
+
+default::
+
+#OCAMLFINDOPT = -pp camlp4o -package "$(REQUIRE)" -predicates "$(PREDICATES)"
+#OCAMLDEP = ocamldep -pp camlp4o
+
+OCAMLFINDOPT = -package "$(REQUIRE)" -predicates "$(PREDICATES)"
+
+OCAMLC       = ocamlfind ocamlc $(OCAMLFINDOPT)
+OCAMLOPT     = ocamlfind ocamlopt $(OCAMLFINDOPT)
+OCAMLMKLIB   = ocamlmklib
+OCAMLMKTOP   = ocamlfind ocamlmktop $(OCAMLFINDOPT)
+OCAMLDEP     = ocamldep
+OCAMLLEX     = ocamllex
+OCAMLYACC    = ocamlyacc
+
+CC_OPT       = -ccopt -fPIC -ccopt -O2 -ccopt -Wall -ccopt -Wno-unused-variable
+CMI_OPT      = $(DEBUG_OPT)
+CMO_OPT      = $(DEBUG_OPT)
+CMX_OPT      = -unsafe -noassert -inline 9
+
+CMA_OPT      =
+CMXA_OPT     =
+
+.SUFFIXES: .ml .mli .mll .mly .cmo .cmi .cma .cmx .cmxa
+
+%.ml : %.mll
+	$(OCAMLLEX) $<
+
+%.ml %.mli : %.mly
+	$(OCAMLYACC) -b$* $<
+
+%.cmi : %.mli
+	$(OCAMLC) $(CMI_OPT) -o $@ -c $<
+
+%.cmi %.cmo : %.ml
+	$(OCAMLC) $(CMO_OPT) -o $@ -c $<
+
+%.cmi %.cmx %.o : %.ml
+	$(OCAMLOPT) $(CMX_OPT) -o $@ -c $<
+
+%.o : %.c
+	$(OCAMLC) $(CC_OPT) -o $@ -c $<
+
+clean::
+	rm -f *.cmi *.cmo *.cma
+	rm -f *.cmx *.cmxa *.o *.a dll*.so
+
+###############################################################################
+
+default:: ej.cma
+
+opt:: ej.cmxa
+
+EJ_LEXYACC_MODULES =
+
+EJ_YACC_MODULES = $(EJ_LEXYACC_MODULES:%=ej_yacc_%)
+EJ_LEX_MODULES = $(EJ_LEXYACC_MODULES:%=ej_lex_%)
+
+clean::
+	rm -rf $(EJ_LEX_ML_FILES)
+	rm -rf $(EJ_YACC_ML_FILES)
+	rm -rf $(EJ_YACC_MLI_FILES)
+
+ej_lex_%.cmo : ej_yacc_%.cmi ej_lex_%.cmi
+ej_lex_%.cmx : ej_yacc_%.cmi ej_lex_%.cmi
+
+#manual dependencies
+
+#ej_yacc_foo.cmi: ej_foo_bar.cmi
+#ej_lex_foo.cmi: ej_foo_bar.cmi
+
+EJ_LEX_ML_FILES = $(EJ_LEX_MODULES:%=%.ml)
+EJ_YACC_ML_FILES = $(EJ_YACC_MODULES:%=%.ml)
+EJ_YACC_MLI_FILES = $(EJ_YACC_MODULES:%=%.mli)
+
+EJ_MODULES = \
+	category
+
+EJ_PRIMITIVES = \
+
+EJ_ML_FILES = $(EJ_MODULES:%=ej_%.ml)
+EJ_MLI_FILES = $(EJ_MODULES:%=ej_%.mli)
+EJ_CMI_FILES = $(EJ_MODULES:%=ej_%.cmi)
+EJ_CMO_FILES = $(EJ_MODULES:%=ej_%.cmo)
+EJ_CMX_FILES = $(EJ_MODULES:%=ej_%.cmx)
+EJ_O_FILES = $(EJ_MODULES:%=ej_%.o)
+
+EJ_P_C_FILES = $(EJ_PRIMITIVES:%=ej_%_p.c)
+EJ_P_H_FILES = $(EJ_PRIMITIVES:%=ej_%_p.h)
+EJ_P_O_FILES = $(EJ_PRIMITIVES:%=ej_%_p.o)
+
+libej.a dllej.so : $(EJ_P_O_FILES)
+	$(OCAMLMKLIB) -o ej $(EJ_P_O_FILES)
+
+#ej.cma : libej.a dllej.so $(EJ_CMI_FILES) $(EJ_CMO_FILES) $(EJ_O_FILES)
+#	$(OCAMLMKLIB) -o ej $(EJ_CMO_FILES) # -lej
+#
+#ej.cmxa ej.a : libej.a dllej.so $(EJ_CMI_FILES) $(EJ_CMX_FILES) $(EJ_O_FILES)
+#	$(OCAMLMKLIB) -o ej $(EJ_CMX_FILES) # -lej
+#
+#install:: libej.a dllej.so ej.cma ej.cmxa ej.a
+#	{ test ! -f ej.cmxa || extra="ej.cmxa ej.a"; }; \
+#	ocamlfind install ej \
+#	  $(EJ_P_H_FILES) $(EJ_MLI_FILES) $(EJ_CMI_FILES) \
+#	  ej.cma libej.a dllej.so META $$extra
+
+ej.cma : $(EJ_CMI_FILES) $(EJ_CMO_FILES)
+	$(OCAMLC) -a -o $@ $(CMA_OPT) $(EJ_CMO_FILES)
+
+ej.cmxa ej.a : $(EJ_CMI_FILES) $(EJ_CMX_FILES)
+	$(OCAMLOPT) -o $@ $(CMXA_OPT) $(EJ_CMX_FILES)
+
+install:: ej.cma ej.cmxa ej.a
+	{ test ! -f ej.cmxa || extra="ej.cmxa ej.a"; }; \
+	ocamlfind install ej \
+	  $(EJ_P_H_FILES) $(EJ_MLI_FILES) $(EJ_CMI_FILES) \
+	  ej.cma META $$extra
+
+uninstall::
+	ocamlfind remove ej
+
+###############################################################################
+
+TEST_MODULES = ej
+
+TEST_PROGRAMS = $(TEST_MODULES:%=t.%)
+TEST_OPT_PROGRAMS = $(TEST_MODULES:%=t-opt.%)
+
+TEST_LINKOPT = -cclib -L. -linkpkg
+TEST_LIBS = ej
+
+default:: $(TEST_PROGRAMS)
+
+opt:: $(TEST_OPT_PROGRAMS)
+
+t.% : t/t_%.ml ej.cma
+	$(OCAMLC) $(DEBUG_OPT) $(TEST_LINKOPT) -o $@ $(TEST_LIBS:%=%.cma) $<
+
+t-opt.% : t/t_%.ml ej.cmxa
+	$(OCAMLOPT) $(TEST_LINKOPT) -o $@ $(TEST_LIBS:%=%.cmxa) $<
+
+test:: $(TEST_PROGRAMS)
+	@for i in $(TEST_PROGRAMS); do echo; echo $$i; ./$$i; done
+
+test.opt:: $(TEST_OPT_PROGRAMS)
+	@for i in $(TEST_OPT_PROGRAMS); do echo; echo $$i; ./$$i; done
+
+clean::
+	rm -f t/*.cmi t/*.cmo
+	rm -f t/*.cmx t/*.o
+	rm -f t.* t-opt.*
+
+###############################################################################
+
+default:: ocamltop
+
+ocamltop: ej.cma
+	$(OCAMLMKTOP) $(TEST_LINKOPT) -o $@ ej.cma
+
+clean::
+	rm -f ocamltop
+
+###############################################################################
+
+DOC_SOURCES = $(EJ_MLI_FILES) $(EJ_ML_FILES)
+
+DOC_INCLUDE_CF = `ocamlfind query cf`
+DOC_INCLUDE_XML = `ocamlfind query xml`
+
+doc::
+	@mkdir -p doc
+	ocamldoc.opt -v -d doc -html -colorize-code -m A \
+	  -I $(DOC_INCLUDE_CF) -I $(DOC_INCLUDE_XML) $(DOC_SOURCES)
+
+###############################################################################
+
+DEPEND_FILE=.depend
+
+$(DEPEND_FILE) ::
+	#$(OCAMLC) -c -ccopt -MM $(EJ_P_C_FILES) > .depend
+	$(OCAMLDEP) $(EJ_MLI_FILES) $(EJ_ML_FILES) $(EJ_ML_FILES) > .depend
+
+depend:: $(DEPEND_FILE)
+
+include $(DEPEND_FILE)
+
+# End of file [ Makefile ]

ej/ej_category.ml

+(*---------------------------------------------------------------------------*
+  IMPLEMENTATION  ej_category.ml
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+class virtual core path =
+    object
+        val path_: Cf_uri.absolute_t = path
+        
+        method path = path_
+    end
+
+class virtual configurator =
+    object
+    end
+
+(*--- End of File [ ej_category.ml ] ---*)

ej/ej_category.mli

+(*---------------------------------------------------------------------------*
+  INTERFACE  ej_category.mli
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+(*--- End of File [ ej_category.mli ] ---*)
+(*---------------------------------------------------------------------------*
+  IMPLEMENTATION  ej_xxxxx.ml
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+(*--- End of File [ ej_xxxxx.ml ] ---*)
+(*---------------------------------------------------------------------------*
+  INTERFACE  ej_xxxxx.mli
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+(*--- End of File [ ej_xxxxx.mli ] ---*)
+/*---------------------------------------------------------------------------*
+  C MODULE  ej_xxxxx_p.c
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*/
+
+#include "ej_xxxxx_p.h"
+
+/*--- End of File [ ej_xxxxx_p.c ] ---*/
+/*---------------------------------------------------------------------------*
+  C HEADER  ej_xxxxx_p.h
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*/
+
+#ifndef _EJ_XXXXX_P_H
+#define _EJ_XXXXX_P_H
+
+#include "ej_common_p.h"
+
+#endif /* defined(_EJ_XXXXX_P_H) */
+
+/*--- End of File [ ej_xxxxx_p.h ] ---*/
+.DS_store
+*.cmo
+*.cmi
+*.cmx
+*.cma
+*.cmxa
+ocamltop
+(*---------------------------------------------------------------------------*
+  IMPLEMENTATION  t_ej.ml
+
+  Copyright (c) 2004, James H. Woodyatt
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+    Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+  COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+  OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *---------------------------------------------------------------------------*)
+
+Random.self_init ();;
+
+module T1 = struct
+    let test () = ()
+end
+
+let main () =
+    let tests = [
+        T1.test;
+    ] in
+    Printf.printf "1..%d\n" (List.length tests);
+    flush stdout;
+        
+    let test i f =
+        begin
+            try
+                f ();
+                Printf.printf "ok %d\n" i
+            with
+            | Failure(s) ->
+                Printf.printf "not ok %d (Failure \"%s\")\n" i s
+            | x ->
+                Printf.printf "not ok %d\n" i;
+                flush stdout;
+                raise x
+        end;
+        flush stdout;
+        succ i
+    in
+    let _ = List.fold_left test 1 tests in
+    exit 0
+;;
+
+main ();;
+
+(*--- End of File [ t_ej.ml ] ---*)