Commits

Anonymous committed 534d316

Update CHANGES file. Fix issues in Makefile associated with architectures
where the native-code compilers are not installed.

Comments (0)

Files changed (2)

 released versions of the library.
 
 
+===== Version 0.4 =====
+
+Highlights of the changes:
+
++ Fix Makefile for architectures that do not support native compilers.
++ Fix major bug in the [Cf_gadget] scheduler that caused some wires to be
+  prematurely collected without delivering events to their receivers.
+
+--- [Cf_gadget]
+    Change tx0_gateQ_ to tx0_guardQ_ to better describe the contents of the
+    queue.  Minor changes to the debugging hints to use Cf_journal.
+
+--- [Cf_gadget]
+    Fix major bug in the scheduler.  Events transmitted on wires that are no
+    longer connected to a receiver are now delivered to any pending guards that
+    were queued before the receiver was collected.
+
+--- [Makefile]
+    Samuel Mimram, the Debain maintainer of this package, says: There are some
+    minor issues with your Makefile concerning non-native archs [...]:
+    - the doc rule should use ocamldoc instead of ocamldoc.opt since it is
+    not available on all archs (or add a optdoc rule);
+    - the install rule should not depend on cf.cmxa and cf.a since they are
+    not necessarly built.
+    Thanks to Mr. Mimram for catching this.
+
+
 ===== Version 0.3 =====
 
 Highlights of the changes:
 # FILE     Makefile
 #
-# Copyright (c) 2003, James H. Woodyatt
+# Copyright (c) 2003-2004, James H. Woodyatt
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 CF_PROTO_MODULES = ip4 ip6
 
 CF_MODULES = \
-    ordered either seq smonad cmonad scmonad tai64 tai64n gregorian stdtime \
-	deque flow sbheap rbtree set gadget unicode parser message dfa lexer  \
-    $(CF_ADDR_MODULES:%=%_addr) uri socket sock_common nameinfo sock_stream \
-    ip_common $(CF_PROTO_MODULES:%=%_proto) tcp4_socket tcp6_socket poll
+    ordered either exnopt smonad cmonad scmonad tai64 tai64n gregorian \
+	stdtime journal seq deque flow heap pqueue map set sbheap rbtree gadget \
+	unicode parser message dfa lexer scan_parser socket netif nameinfo \
+    sock_common sock_dgram sock_stream ip_common $(CF_ADDR_MODULES:%=%_addr) \
+	$(CF_PROTO_MODULES:%=%_proto) tcp4_socket tcp6_socket udp4_socket \
+	udp6_socket poll uri
 
 CF_PRIMITIVES = \
-    common tai64 tai64n socket nameinfo sock_stream ip_common \
-    $(CF_ADDR_MODULES:%=%_addr) $(CF_PROTO_MODULES:%=%_proto)
+    common tai64 tai64n socket netif nameinfo sock_dgram sock_stream \
+	ip_common $(CF_ADDR_MODULES:%=%_addr) $(CF_PROTO_MODULES:%=%_proto)
 
 CF_ML_FILES = $(CF_MODULES:%=cf_%.ml)
 CF_MLI_FILES = $(CF_MODULES:%=cf_%.mli)
 cf.cmxa cf.a : libcf.a dllcf.so $(CF_CMI_FILES) $(CF_CMX_FILES) $(CF_O_FILES)
 	$(OCAMLMKLIB) -o cf $(CF_CMX_FILES) -lcf
 
-install:: libcf.a dllcf.so cf.cma cf.cmxa cf.a
+install:: libcf.a dllcf.so cf.cma
 	{ test ! -f cf.cmxa || extra="cf.cmxa cf.a"; }; \
 	ocamlfind install cf \
 	  $(CF_MLI_FILES) $(CF_CMI_FILES) $(CF_P_H_FILES) \
 
 ###############################################################################
 
-TEST_MODULES = cf # deq mirrord
+TEST_MODULES = cf # setbench deq
 
 TEST_PROGRAMS = $(TEST_MODULES:%=t.%)
 TEST_OPT_PROGRAMS = $(TEST_MODULES:%=t-opt.%)
 
+TEST_ML_FILES = $(TEST_MODULES:%=t/t_%.ml)
+
 TEST_LINKOPT = -cclib -L. -linkpkg
 TEST_LIBS = cf
 
 	$(OCAMLOPT) -o $@ $(TEST_LINKOPT) $(TEST_LIBS:%=%.cmxa) $<
 
 test:: $(TEST_PROGRAMS)
-	@for i in $(TEST_PROGRAMS); do echo; echo $$i; ./$$i; done
+	@for i in $(TEST_PROGRAMS); do \
+	    echo; \
+	    echo $$i; \
+	    CAML_LD_LIBRARY_PATH=. ./$$i; \
+	done
 
 test.opt:: $(TEST_OPT_PROGRAMS)
-	@for i in $(TEST_OPT_PROGRAMS); do echo; echo $$i; ./$$i; done
+	@for i in $(TEST_OPT_PROGRAMS); do \
+	    echo; \
+	    echo $$i; \
+	    CAML_LD_LIBRARY_PATH=. ./$$i; \
+	done
 
 clean::
 	rm -f t/*.cmi t/*.cmo
 
 doc::
 	@mkdir -p doc
-	ocamldoc.opt -v -d doc -html -colorize-code -m A $(DOC_SOURCES)
+	ocamldoc -v -d doc -html -colorize-code -m A $(DOC_SOURCES)
 
 ###############################################################################
 
 DEPEND_FILE=.depend
+
 $(DEPEND_FILE) ::
-	$(OCAMLC) -c -ccopt -MM *.c > .depend
-	$(OCAMLDEP) *.mli *.ml t/*.ml >> .depend
+	$(OCAMLC) -c -ccopt -MM $(CF_P_C_FILES) > .depend
+	$(OCAMLDEP) $(CF_MLI_FILES) $(CF_ML_FILES) $(TEST_ML_FILES) >> .depend
 
 depend:: $(DEPEND_FILE)