aboutsummaryrefslogtreecommitdiffstats
path: root/lang/mozart
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2005-09-16 19:38:26 +0800
committerpav <pav@FreeBSD.org>2005-09-16 19:38:26 +0800
commit431a4e39f9a09fad8f6d966173f492e0ee628f68 (patch)
treeb40049e568022c617fe90ad4ae7b17953b5aae3c /lang/mozart
parentf474c33059ad4def08e7bca591ee0d45a1a8f3dd (diff)
downloadfreebsd-ports-graphics-431a4e39f9a09fad8f6d966173f492e0ee628f68.tar.gz
freebsd-ports-graphics-431a4e39f9a09fad8f6d966173f492e0ee628f68.tar.zst
freebsd-ports-graphics-431a4e39f9a09fad8f6d966173f492e0ee628f68.zip
- Update to 1.3.1.20040616
- Incorporate debian patches to fix build with gcc3 PR: ports/86058 Submitted by: Geoffrey Mainland <mainland@apeiron.net> Approved by: Mathis Picker <Mathias.Picker@gmx.de> (maintainer)
Diffstat (limited to 'lang/mozart')
-rw-r--r--lang/mozart/Makefile22
-rw-r--r--lang/mozart/distinfo8
-rw-r--r--lang/mozart/files/patch-doc-apptut-mof.sgml13
-rw-r--r--lang/mozart/files/patch-doc-base-chunks.sgml25
-rw-r--r--lang/mozart/files/patch-doc-install-cygwin.sgml22
-rw-r--r--lang/mozart/files/patch-doc-install-windows.sgml27
-rw-r--r--lang/mozart/files/patch-platform-emulator-builtins.cc40
-rw-r--r--lang/mozart/files/patch-platform-emulator-cac.cc105
-rw-r--r--lang/mozart/files/patch-platform-emulator-componentBuffer.cc27
-rw-r--r--lang/mozart/files/patch-platform-emulator-dictionary.cc68
-rw-r--r--lang/mozart/files/patch-platform-emulator-dictionary.hh24
-rw-r--r--lang/mozart/files/patch-platform-emulator-fdomn.cc28
-rw-r--r--lang/mozart/files/patch-platform-emulator-fset.hh21
-rw-r--r--lang/mozart/files/patch-platform-emulator-gname.cc23
-rw-r--r--lang/mozart/files/patch-platform-emulator-libdp-comObj.cc30
-rw-r--r--lang/mozart/files/patch-platform-emulator-libdp-dpResource.cc23
-rw-r--r--lang/mozart/files/patch-platform-emulator-libdp-dsite.cc23
-rw-r--r--lang/mozart/files/patch-platform-emulator-libdp-table.cc23
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-card.cc22
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-complalldist.hh31
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-fdaux.cc24
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-pel_fncts.hh57
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-pel_internal.hh78
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-scheduling.cc22
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfd-std.cc (renamed from lang/mozart/files/patch-af)4
-rw-r--r--lang/mozart/files/patch-platform-emulator-libfset-fsaux.cc22
-rw-r--r--lang/mozart/files/patch-platform-emulator-mem.hh32
-rw-r--r--lang/mozart/files/patch-platform-emulator-modPort.spec24
-rw-r--r--lang/mozart/files/patch-platform-emulator-namer.cc42
-rw-r--r--lang/mozart/files/patch-platform-emulator-namer.hh21
-rw-r--r--lang/mozart/files/patch-platform-emulator-site.cc23
-rw-r--r--lang/mozart/files/patch-platform-emulator-urlc.cc22
-rw-r--r--lang/mozart/files/patch-platform-emulator-var_ct.hh22
-rw-r--r--lang/mozart/files/patch-share-lib-compiler-CheckTupleSyntax.oz22
-rw-r--r--lang/mozart/files/patch-share-lib-cp-FD.oz45
35 files changed, 1047 insertions, 18 deletions
diff --git a/lang/mozart/Makefile b/lang/mozart/Makefile
index cd65dfba253..e5c0bb666d1 100644
--- a/lang/mozart/Makefile
+++ b/lang/mozart/Makefile
@@ -6,9 +6,9 @@
#
PORTNAME= mozart
-PORTVERSION= 1.3.0.20040413
-CATEGORIES= lang tk83 parallel
-MASTER_SITES= http://www.mozart-oz.org/download/mozart-ftp/store/1.3.0-2004-04-15/
+PORTVERSION= 1.3.1.20040616
+CATEGORIES= lang tk84 parallel
+MASTER_SITES= http://www.mozart-oz.org/download/mozart-ftp/store/1.3.1-2004-06-16/
DISTFILES= ${DISTNAME}-src.tar.gz
.if !defined(NOPORTDOCS)
DISTFILES+= ${MOZART_DOCS}
@@ -21,7 +21,7 @@ BUILD_DEPENDS= emacs:${PORTSDIR}/editors/emacs \
${LOCALBASE}/include/gmp.h:${PORTSDIR}/math/libgmp4
LIB_DEPENDS= gdbm.3:${PORTSDIR}/databases/gdbm \
gmp.6:${PORTSDIR}/math/libgmp4 \
- tk83.1:${PORTSDIR}/x11-toolkits/tk83
+ tk84.1:${PORTSDIR}/x11-toolkits/tk84
MOZART_DOCS= mozart-${PORTVERSION}-doc.tar.gz
@@ -37,18 +37,16 @@ USE_AUTOCONF_VER= 213
# mozart's configure will not find the right install
# when configuring as root.
CONFIGURE_ENV= INSTALL=${CHMOD}
-CONFIGURE_ARGS= --prefix=${PREFIX}/lib/oz --disable-doc \
- --with-inc-dir=${LOCALBASE}/include/tcl8.3,${LOCALBASE}/include/tk8.3,${LOCALBASE}/include \
- --with-lib-dir=${LOCALBASE}/lib --with-tcl-lib=${LOCALBASE}/lib \
+CONFIGURE_ARGS= --prefix=${PREFIX}/lib/oz \
+ --disable-doc \
+ --with-inc-dir=${LOCALBASE}/include/tcl8.4,${LOCALBASE}/include/tk8.4,${LOCALBASE}/include \
+ --with-lib-dir=${LOCALBASE}/lib \
+ --with-tcl-lib=${LOCALBASE}/lib \
--with-tk-lib=${LOCALBASE}/lib \
- --with-tkinclude=${LOCALBASE}/include/tk8.3
+ --with-tkinclude=${LOCALBASE}/include/tk8.4
.include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 502126
-USE_GCC= 2.95
-.endif
-
.if ${ARCH} != "i386"
BROKEN= "Does not compile on !i386"
.endif
diff --git a/lang/mozart/distinfo b/lang/mozart/distinfo
index 7f6469a4d30..062054f8103 100644
--- a/lang/mozart/distinfo
+++ b/lang/mozart/distinfo
@@ -1,4 +1,4 @@
-MD5 (mozart-1.3.0.20040413-src.tar.gz) = 63474607a2785374d83727ef22c2ff86
-SIZE (mozart-1.3.0.20040413-src.tar.gz) = 10775996
-MD5 (mozart-1.3.0.20040413-doc.tar.gz) = 6022c2ef1d845e9e7e2c7c345afea280
-SIZE (mozart-1.3.0.20040413-doc.tar.gz) = 3888675
+MD5 (mozart-1.3.1.20040616-src.tar.gz) = c48e758e7583250e60eb0106d96a6baa
+SIZE (mozart-1.3.1.20040616-src.tar.gz) = 10785863
+MD5 (mozart-1.3.1.20040616-doc.tar.gz) = 6e777f4a7f8bd0d0e0979417a4ab0930
+SIZE (mozart-1.3.1.20040616-doc.tar.gz) = 3900953
diff --git a/lang/mozart/files/patch-doc-apptut-mof.sgml b/lang/mozart/files/patch-doc-apptut-mof.sgml
new file mode 100644
index 00000000000..52c89f82786
--- /dev/null
+++ b/lang/mozart/files/patch-doc-apptut-mof.sgml
@@ -0,0 +1,13 @@
+--- ./doc/apptut/mof.sgml.orig Thu Jan 21 04:52:36 1999
++++ ./doc/apptut/mof.sgml Sat Sep 3 18:46:09 2005
+@@ -51,8 +51,8 @@
+ </list>
+
+ <p>
+- Computed functors are syntactically supported by a <<prepare>>
+- and <<require>> section. For example, the root functor
++ Computed functors are syntactically supported by a <<prepare>><index/prepare/
++ and <<require>><index/require/ section. For example, the root functor
+ definition in the file <file/LMF.oz/ can be rewritten using a
+ <<prepare>> section as
+ follows:
diff --git a/lang/mozart/files/patch-doc-base-chunks.sgml b/lang/mozart/files/patch-doc-base-chunks.sgml
new file mode 100644
index 00000000000..f618e2d1e5a
--- /dev/null
+++ b/lang/mozart/files/patch-doc-base-chunks.sgml
@@ -0,0 +1,25 @@
+--- ./doc/base/chunks.sgml.orig Mon Mar 1 11:48:15 2004
++++ ./doc/base/chunks.sgml Sat Sep 3 18:46:09 2005
+@@ -11,8 +11,8 @@
+ - Denys Duchier, Leif Kornstaedt, and Christian Schulte, 1998
+ -
+ - Last change:
+- - $Date: 2004/03/01 16:48:15 $ by $Author: raph $
+- - $Revision: 1.23 $
++ - $Date: 2005/02/15 13:33:16 $ by $Author: raph $
++ - $Revision: 1.23.2.1 $
+ -
+ - This file is part of Mozart, an implementation of Oz 3:
+ - http://www.mozart-oz.org
+@@ -567,9 +567,9 @@
+ <Entry id=port.new><Span class=index/<<NewPort>>/
+ <Index class=tails/<<Port>><And><<new>>/
+ <Synopsis>
+- <<{Port.new ?_{Xs} ??{Port}}>>
++ <<{Port.new ??{Xs} ??{Port}}>>
+ <Item>
+- returns a new port pointing to the stream&nbsp;?_{Xs}.
++ returns a new port, together with its associated stream&nbsp;?_{Xs}.
+
+ <Entry><Span class=index/<<Send>>/
+ <Index/<<Port>><And><<send>>/
diff --git a/lang/mozart/files/patch-doc-install-cygwin.sgml b/lang/mozart/files/patch-doc-install-cygwin.sgml
new file mode 100644
index 00000000000..e504e64aad9
--- /dev/null
+++ b/lang/mozart/files/patch-doc-install-cygwin.sgml
@@ -0,0 +1,22 @@
+--- ./doc/install/cygwin.sgml.orig Fri Apr 2 09:30:14 2004
++++ ./doc/install/cygwin.sgml Sat Sep 3 18:46:09 2005
+@@ -6,8 +6,8 @@
+ - Leif Kornstaedt, 2001-2002
+ -
+ - Last change:
+- - $Date: 2004/04/02 14:30:14 $ by $Author: bruni $
+- - $Revision: 1.7 $
++ - $Date: 2004/06/25 12:53:55 $ by $Author: glynn $
++ - $Revision: 1.7.2.1 $
+ -
+ - This file is part of Mozart, an implementation of Oz 3:
+ - http://www.mozart-oz.org
+@@ -172,7 +172,7 @@
+ <P>
+ Unpack it, configure it, build it, and install it thus:
+ <<<cd ?{build}
+-tar zxvf zlib-1.1.4.tar.gz
++tar zxvf zlib.tar.gz
+ cd zlib-1.1.4
+ CFLAGS="?{CFLAGS}" ./configure --prefix=?{packages}
+ make
diff --git a/lang/mozart/files/patch-doc-install-windows.sgml b/lang/mozart/files/patch-doc-install-windows.sgml
new file mode 100644
index 00000000000..072e92c6004
--- /dev/null
+++ b/lang/mozart/files/patch-doc-install-windows.sgml
@@ -0,0 +1,27 @@
+--- ./doc/install/windows.sgml.orig Fri Aug 1 05:11:49 2003
++++ ./doc/install/windows.sgml Sat Sep 3 18:46:09 2005
+@@ -8,8 +8,8 @@
+ - Leif Kornstaedt, 2002
+ -
+ - Last change:
+- - $Date: 2003/08/01 09:11:49 $ by $Author: duchier $
+- - $Revision: 1.2 $
++ - $Date: 2004/09/24 09:43:55 $ by $Author: glynn $
++ - $Revision: 1.2.6.1 $
+ -
+ - This file is part of Mozart, an implementation of Oz 3:
+ - http://www.mozart-oz.org
+@@ -89,6 +89,13 @@
+ <File/.tar.gz/ format, then make sure you run <File/addpm.exe/ from
+ Emacs' <File/bin/ directory before starting the Oz Programming
+ Interface.
++ <P>
++ When the Oz programming environment starts, it tries to invoke
++ Emacs via the command <<emacs>>. If your version of Emacs
++ has to be invoked with a different command name, say <<runemacs>>,
++ you can achieve this by setting the environment variable <Var type=env
++ /OZEMACS/ in your <File/AUTOEXEC.BAT/, for example
++ <<<OZEMACS=F:\Programs\emacs-21.1\bin\runemacs.exe>>>
+ <P>
+ More information on GNU Emacs for Windows can be found at
+ <Ref.Extern to="http://www.gnu.org/software/emacs/windows/ntemacs.html"
diff --git a/lang/mozart/files/patch-platform-emulator-builtins.cc b/lang/mozart/files/patch-platform-emulator-builtins.cc
new file mode 100644
index 00000000000..ac60693fc53
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-builtins.cc
@@ -0,0 +1,40 @@
+--- ./platform/emulator/builtins.cc.orig Wed Apr 7 21:11:20 2004
++++ ./platform/emulator/builtins.cc Sat Sep 3 18:46:08 2005
+@@ -20,8 +20,8 @@
+ * Christian Schulte, 1997
+ *
+ * Last change:
+- * $Date: 2004/04/08 01:11:20 $ by $Author: popow $
+- * $Revision: 1.778 $
++ * $Date: 2005/02/15 13:33:16 $ by $Author: raph $
++ * $Revision: 1.778.2.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -3132,6 +3132,8 @@
+
+ #ifdef VAR_PORT
+
++// raph: This implementation is DEPRECATED. The new builtin
++// BInewPort has now 0 inputs and 2 outputs.
+ OZ_BI_define(BInewPort,1,1)
+ {
+ oz_declareIN(0,val);
+@@ -3152,13 +3154,14 @@
+
+ #else
+
+-OZ_BI_define(BInewPort,1,1)
++OZ_BI_define(BInewPort,0,2)
+ {
+ OZ_Term strm = oz_newReadOnly(oz_currentBoard());
+ OZ_Term port = oz_newPort(strm);
+
+- OZ_out(0)= port;
+- return oz_unify(OZ_in(0),strm);
++ OZ_out(0)= strm;
++ OZ_out(1)= port;
++ return PROCEED;
+ } OZ_BI_end
+
+ #define FAST_DOPORTSEND
diff --git a/lang/mozart/files/patch-platform-emulator-cac.cc b/lang/mozart/files/patch-platform-emulator-cac.cc
new file mode 100644
index 00000000000..f84e09eddc1
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-cac.cc
@@ -0,0 +1,105 @@
+--- ./platform/emulator/cac.cc.orig Tue Apr 6 08:27:38 2004
++++ ./platform/emulator/cac.cc Sat Sep 3 18:46:08 2005
+@@ -15,8 +15,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2004/04/06 12:27:38 $ by $Author: popow $
+- * $Revision: 1.76 $
++ * $Date: 2004/08/11 14:49:03 $ by $Author: popow $
++ * $Revision: 1.76.2.2 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -552,9 +552,8 @@
+ ret->nextGCStep();
+ // an alive board must be copied at every GC step exactly once:
+ Assert(ret->isEqGCStep(oz_getGCStep()));
+-#else
+- ret->setCopyStep(oz_getCopyStep());
+ #endif
++ ret->setCopyStep(oz_getCopyStep());
+
+ cacStack.push(ret, PTR_BOARD);
+
+@@ -764,52 +763,54 @@
+ } else {
+ // construct anew, GC"ing keys/values along;
+ //
+- int oldSize, newSize;
+- DictNode* old;
+-
+- //
+- oldSize = dictHTSizes[sizeIndex];
+- old = table;
++ const int tableSize = dictHTSizes[sizeIndex];
+
+ // can be zero too:
+- int tableSize = (int) ((double) entries * GDT_IDEALENTRIES);
+- Assert(tableSize < oldSize);
+- sizeIndex--;
+- while (sizeIndex >= 0 && dictHTSizes[sizeIndex] >= tableSize)
+- sizeIndex--;
+- Assert(sizeIndex < 0 || dictHTSizes[sizeIndex] < tableSize);
+- sizeIndex++;
+- Assert(sizeIndex >= 0 && dictHTSizes[sizeIndex] >= tableSize);
++ int newTableSize = (int) ((double) entries / GDT_IDEALENTRIES);
++ int newSizeIndex = sizeIndex - 1;
++ DictNode* old = table;
++
++ //
++ Assert(newTableSize < tableSize);
++ while (newSizeIndex >= 0 && dictHTSizes[newSizeIndex] >= newTableSize)
++ newSizeIndex--;
++ Assert(newSizeIndex < 0 || dictHTSizes[newSizeIndex] < newTableSize);
++ newSizeIndex++;
++ Assert(newSizeIndex >= 0 && dictHTSizes[newSizeIndex] >= newTableSize);
+ // Must not oscillate:
+- Assert(dictHTSizes[sizeIndex] < oldSize);
++ Assert(dictHTSizes[newSizeIndex] < tableSize);
+ // Next GC should not attempt compactification:
+- Assert(entries >= (dictHTSizes[sizeIndex] / GDT_MINFULL));
++ Assert(entries >= (dictHTSizes[newSizeIndex] / GDT_MINFULL));
+
+ // construct the table anew (keep the 'entries' counter);
+- tableSize = dictHTSizes[sizeIndex];
+- maxEntries = (int) (GDT_MAXENTRIES * tableSize);
+- table = (DictNode *) oz_heapMalloc(tableSize * sizeof(DictNode));
+- for (int i = tableSize; i--; )
+- (void) new (&table[i]) DictNode;
++ newTableSize = dictHTSizes[newSizeIndex];
++
++ //
++ DictHashTable *dht = new DictHashTable(*this);
++ // 'entries' copied;
++ an = (DictNode *) oz_heapMalloc(newTableSize * sizeof(DictNode));
++ for (int i = newTableSize; i--; )
++ (void) new (&an[i]) DictNode;
++ dht->table = an;
++ dht->sizeIndex = newSizeIndex;
++ dht->maxEntries = (int) (GDT_MAXENTRIES * newTableSize);
+
+ //
+- for (int i = oldSize; i--; old++) {
++ for (int i = tableSize; i--; old++) {
+ if (!old->isEmpty()) {
+ if (!old->isPointer()) {
+- _cacDictEntry(old);
++ dht->_cacDictEntry(old);
+ } else {
+ DictNode *sptr = old->getDictNodeSPtr();
+ DictNode *eptr = old->getDictNodeEPtr();
+ do {
+- _cacDictEntry(sptr++);
++ dht->_cacDictEntry(sptr++);
+ } while (sptr < eptr);
+ }
+ }
+ }
+
+ //
+- DictHashTable *dht = new DictHashTable(*this);
+- dht->table = table;
+ return (dht);
+ }
+ Assert(0);
diff --git a/lang/mozart/files/patch-platform-emulator-componentBuffer.cc b/lang/mozart/files/patch-platform-emulator-componentBuffer.cc
new file mode 100644
index 00000000000..fe91c1858b6
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-componentBuffer.cc
@@ -0,0 +1,27 @@
+--- ./platform/emulator/componentBuffer.cc.orig Mon Mar 11 19:31:50 2002
++++ ./platform/emulator/componentBuffer.cc Sat Sep 3 18:46:09 2005
+@@ -13,8 +13,8 @@
+ * Konstantin Popov 2001
+ *
+ * Last change:
+- * $Date: 2002/03/12 00:31:50 $ by $Author: popow $
+- * $Revision: 1.29 $
++ * $Date: 2004/08/11 14:49:03 $ by $Author: popow $
++ * $Revision: 1.29.12.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -277,7 +277,12 @@
+ {
+ Assert(pbState == PB_Unmarshal);
+ DebugCode(pbState = PB_None;);
+- Assert(posMB == last->head() + lastChunkSize);
++ // If zero bytes where read in the last chunk (or, differently put,
++ // the last non-empty chunk was full) - then that last chunk will
++ // never be reached, so 'posMB' will never point to it - because
++ // 'getNext()' advances 'posMB' to a next buffer only when it is
++ // really necessary.
++ Assert(lastChunkSize == 0 || posMB == last->head() + lastChunkSize);
+ DebugCode(posMB = (BYTE *) -1;);
+ DebugCode(endMB = (BYTE *) -1;);
+ }
diff --git a/lang/mozart/files/patch-platform-emulator-dictionary.cc b/lang/mozart/files/patch-platform-emulator-dictionary.cc
new file mode 100644
index 00000000000..0d2bb7fcc64
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-dictionary.cc
@@ -0,0 +1,68 @@
+--- ./platform/emulator/dictionary.cc.orig Tue Dec 9 04:09:34 2003
++++ ./platform/emulator/dictionary.cc Sat Sep 3 18:46:08 2005
+@@ -11,8 +11,8 @@
+ * Konstantin Popov, 2002
+ *
+ * Last change:
+- * $Date: 2003/12/09 09:09:34 $ by $Author: duchier $
+- * $Revision: 1.40 $
++ * $Date: 2004/07/15 18:56:35 $ by $Author: popow $
++ * $Revision: 1.40.4.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -214,7 +214,7 @@
+ oldEntries = entries;
+
+ // can be zero too:
+- int tableSize = (int) ((double) entries * GDT_IDEALENTRIES);
++ int tableSize = (int) ((double) entries / GDT_IDEALENTRIES);
+ Assert(tableSize < oldSize);
+ sizeIndex--;
+ while (sizeIndex >= 0 && dictHTSizes[sizeIndex] >= tableSize)
+@@ -345,7 +345,7 @@
+ DictNode* acc = out;
+
+ //
+- for (int i = dictHTSizes[sizeIndex], ai = 0; i--; ) {
++ for (int i = dictHTSizes[sizeIndex]; i--; ) {
+ DictNode* n = &table[i];
+ if (!n->isEmpty()) {
+ if (!n->isPointer()) {
+@@ -429,6 +429,7 @@
+ }
+ }
+ }
++ Assert(ai == entries);
+
+ //
+ Order_TaggedRef_By_Feat lt;
+@@ -479,6 +480,28 @@
+ return (newrec->normalize());
+ }
+ }
++
++#if defined(DEBUG_CHECK)
++void DictHashTable::verify()
++{
++ int tableSize = dictHTSizes[sizeIndex];
++ int acc = 0;
++
++ for (int i = tableSize; i--; ) {
++ DictNode *n = &table[i];
++ if (!n->isEmpty()) {
++ if (!n->isPointer()) {
++ acc++;
++ } else {
++ DictNode *sptr = n->getDictNodeSPtr();
++ DictNode *eptr = n->getDictNodeEPtr();
++ acc += eptr - sptr;
++ }
++ }
++ }
++ Assert(acc == entries);
++}
++#endif
+
+ // OZ_Term DictHashTable::htFindOutline(OZ_Term key)
+ // {
diff --git a/lang/mozart/files/patch-platform-emulator-dictionary.hh b/lang/mozart/files/patch-platform-emulator-dictionary.hh
new file mode 100644
index 00000000000..f4fba1ea344
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-dictionary.hh
@@ -0,0 +1,24 @@
+--- ./platform/emulator/dictionary.hh.orig Sat May 17 09:20:38 2003
++++ ./platform/emulator/dictionary.hh Sat Sep 3 18:46:09 2005
+@@ -11,8 +11,8 @@
+ * Konstantin Popov, 2002
+ *
+ * Last change:
+- * $Date: 2003/05/17 13:20:38 $ by $Author: duchier $
+- * $Revision: 1.44 $
++ * $Date: 2004/07/15 18:56:35 $ by $Author: popow $
++ * $Revision: 1.44.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -629,6 +629,10 @@
+ //
+ DictHashTable* gCollect(void);
+ DictHashTable* sClone(void);
++
++#if defined(DEBUG_CHECK)
++ void verify();
++#endif
+ };
+
+
diff --git a/lang/mozart/files/patch-platform-emulator-fdomn.cc b/lang/mozart/files/patch-platform-emulator-fdomn.cc
new file mode 100644
index 00000000000..4209c3247ef
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-fdomn.cc
@@ -0,0 +1,28 @@
+--- ./platform/emulator/fdomn.cc.orig Sat Nov 23 17:04:46 2002
++++ ./platform/emulator/fdomn.cc Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/11/23 22:04:46 $ by $Author: duchier $
+- * $Revision: 1.139 $
++ * $Date: 2005/06/11 18:06:36 $ by $Author: duchier $
++ * $Revision: 1.139.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -191,12 +191,12 @@
+
+ inline
+ int FDIntervals::findMinElem(void) {
+- return high ? i_arr[0].left : 0;
++ return high ? i_arr[0].left : -1;
+ }
+
+ inline
+ int FDIntervals::findMaxElem(void) {
+- return high ? i_arr[high - 1].right : 0;
++ return high ? i_arr[high - 1].right : -1;
+ }
+
+ inline
diff --git a/lang/mozart/files/patch-platform-emulator-fset.hh b/lang/mozart/files/patch-platform-emulator-fset.hh
new file mode 100644
index 00000000000..d67eda321d6
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-fset.hh
@@ -0,0 +1,21 @@
+--- ./platform/emulator/fset.hh.orig Sat Jan 6 13:29:09 2001
++++ ./platform/emulator/fset.hh Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2001/01/06 18:29:09 $ by $Author: tmueller $
+- * $Revision: 1.33 $
++ * $Date: 2005/05/31 16:19:45 $ by $Author: duchier $
++ * $Revision: 1.33.18.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -37,6 +37,7 @@
+
+ //-----------------------------------------------------------------------------
+
++class FSetConstraint;
+ class FSetValue : public OZ_FSetValue {
+
+ friend class FSetConstraint;
diff --git a/lang/mozart/files/patch-platform-emulator-gname.cc b/lang/mozart/files/patch-platform-emulator-gname.cc
new file mode 100644
index 00000000000..836cdd056ad
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-gname.cc
@@ -0,0 +1,23 @@
+--- ./platform/emulator/gname.cc.orig Fri Aug 2 16:20:44 2002
++++ ./platform/emulator/gname.cc Sat Sep 3 18:46:09 2005
+@@ -11,8 +11,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/08/02 20:20:44 $ by $Author: popow $
+- * $Revision: 1.12 $
++ * $Date: 2005/05/31 20:36:05 $ by $Author: duchier $
++ * $Revision: 1.12.12.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -33,8 +33,8 @@
+ #include "board.hh"
+
+ //
+-template class GenDistEntryTable<GName>;
+ #include "hashtblDefs.cc"
++template class GenDistEntryTable<GName>;
+
+ //
+ GNameTable gnameTable;
diff --git a/lang/mozart/files/patch-platform-emulator-libdp-comObj.cc b/lang/mozart/files/patch-platform-emulator-libdp-comObj.cc
new file mode 100644
index 00000000000..43d959a778f
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libdp-comObj.cc
@@ -0,0 +1,30 @@
+--- ./platform/emulator/libdp/comObj.cc.orig Mon Apr 28 08:32:28 2003
++++ ./platform/emulator/libdp/comObj.cc Sat Sep 3 18:46:09 2005
+@@ -7,8 +7,8 @@
+ * Copyright:
+ *
+ * Last change:
+- * $Date: 2003/04/28 12:32:28 $ by $Author: glynn $
+- * $Revision: 1.56 $
++ * $Date: 2005/02/22 14:25:31 $ by $Author: valentin $
++ * $Revision: 1.56.8.2 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -376,8 +376,15 @@
+ localRef=FALSE;
+ if(hasNeed())
+ return FALSE;
+- else if(remoteRef)
++ else if(remoteRef) {
++ if(!sentclearref && (state == WORKING)) {
++ MsgContainer *msgC=msgContainerManager->newMsgContainer(NULL);
++ msgC->put_C_CLEAR_REFERENCE();
++ send(msgC);
++ sentclearref=TRUE;
++ }
+ return FALSE;
++ }
+ else {
+ switch(state) {
+ case WORKING: {
diff --git a/lang/mozart/files/patch-platform-emulator-libdp-dpResource.cc b/lang/mozart/files/patch-platform-emulator-libdp-dpResource.cc
new file mode 100644
index 00000000000..9196197e88b
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libdp-dpResource.cc
@@ -0,0 +1,23 @@
+--- ./platform/emulator/libdp/dpResource.cc.orig Mon May 24 08:49:09 2004
++++ ./platform/emulator/libdp/dpResource.cc Sat Sep 3 18:46:09 2005
+@@ -10,8 +10,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2004/05/24 12:49:09 $ by $Author: popow $
+- * $Revision: 1.18.12.2 $
++ * $Date: 2005/08/02 12:08:58 $ by $Author: glynn $
++ * $Revision: 1.18.12.3 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -42,8 +42,8 @@
+ #include "cac.hh"
+
+ //
+-template class GenDistEntryTable<RHTNode>;
+ #include "hashtblDefs.cc"
++template class GenDistEntryTable<RHTNode>;
+
+ //
+ ResourceHashTable *resourceTable;
diff --git a/lang/mozart/files/patch-platform-emulator-libdp-dsite.cc b/lang/mozart/files/patch-platform-emulator-libdp-dsite.cc
new file mode 100644
index 00000000000..72791ca1fb7
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libdp-dsite.cc
@@ -0,0 +1,23 @@
+--- ./platform/emulator/libdp/dsite.cc.orig Tue Sep 24 18:30:32 2002
++++ ./platform/emulator/libdp/dsite.cc Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Per Brand, 1998
+ *
+ * Last change:
+- * $Date: 2002/09/24 22:30:32 $ by $Author: popow $
+- * $Revision: 1.27 $
++ * $Date: 2005/08/02 12:08:58 $ by $Author: glynn $
++ * $Revision: 1.27.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -51,8 +51,8 @@
+ #define SECONDARY_SITE_TABLE_SIZE 6
+
+ //
+-template class GenDistEntryTable<DSite>;
+ #include "hashtblDefs.cc"
++template class GenDistEntryTable<DSite>;
+
+ DSiteHashTable* primarySiteTable
+ = new DSiteHashTable(PRIMARY_SITE_TABLE_SIZE);
diff --git a/lang/mozart/files/patch-platform-emulator-libdp-table.cc b/lang/mozart/files/patch-platform-emulator-libdp-table.cc
new file mode 100644
index 00000000000..9592419ffa6
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libdp-table.cc
@@ -0,0 +1,23 @@
+--- ./platform/emulator/libdp/table.cc.orig Mon Apr 28 08:32:28 2003
++++ ./platform/emulator/libdp/table.cc Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Per Brand, 1998
+ *
+ * Last change:
+- * $Date: 2003/04/28 12:32:28 $ by $Author: glynn $
+- * $Revision: 1.88 $
++ * $Date: 2005/08/02 12:08:58 $ by $Author: glynn $
++ * $Revision: 1.88.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -45,8 +45,8 @@
+ ((po)->isTertiary() ? makeTaggedConst((po)->getTertiary()) : (po)->getRef())
+
+ //
+-template class GenDistEntryTable<BorrowEntry>;
+ #include "hashtblDefs.cc"
++template class GenDistEntryTable<BorrowEntry>;
+
+
+ OwnerTable *ownerTable;
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-card.cc b/lang/mozart/files/patch-platform-emulator-libfd-card.cc
new file mode 100644
index 00000000000..bdee5dd39eb
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-card.cc
@@ -0,0 +1,22 @@
+--- ./platform/emulator/libfd/card.cc.orig Mon Apr 28 08:32:28 2003
++++ ./platform/emulator/libfd/card.cc Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/04/28 12:32:28 $ by $Author: glynn $
+- * $Revision: 1.28 $
++ * $Date: 2005/02/08 16:45:09 $ by $Author: raph $
++ * $Revision: 1.28.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -151,6 +151,8 @@
+ sum_ops op = getSumOps(OZ_in(2));
+
+ // wait for linearity
++ // raph: This is a fix for a bug in the propagator, which is
++ // apparently not correct in the non-linear case.
+ OZ_EXPECT(pe, 1, expectVectorLinearVector);
+
+ if (op == sum_ops_neq) {
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-complalldist.hh b/lang/mozart/files/patch-platform-emulator-libfd-complalldist.hh
new file mode 100644
index 00000000000..8c94ab76a44
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-complalldist.hh
@@ -0,0 +1,31 @@
+--- ./platform/emulator/libfd/complalldist.hh.orig Fri May 16 06:18:42 2003
++++ ./platform/emulator/libfd/complalldist.hh Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/05/16 10:18:42 $ by $Author: duchier $
+- * $Revision: 1.16 $
++ * $Date: 2005/01/30 10:41:43 $ by $Author: glynn $
++ * $Revision: 1.16.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -213,7 +213,7 @@
+ #endif
+ }
+
+- list<T> (list<T> &E) :generic() {
++ list<T> (const list<T> &E) :generic() {
+ dlink<T> *p = E.root;
+ dlink<T> *q = NULL;
+ dlink<T> *r = NULL;
+@@ -873,7 +873,7 @@
+
+ /* ------------------------------------------------------------------------ */
+
+-inline list<edge> graph::MAX_CARD_BIPARTITE_MATCHING(const list<node>& A,
++ inline list<edge> graph::MAX_CARD_BIPARTITE_MATCHING(const list<node>& A,
+ const list<node>& B ) {
+
+ // G is a bipartite graph with sides A and B, all edges must be directed
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-fdaux.cc b/lang/mozart/files/patch-platform-emulator-libfd-fdaux.cc
new file mode 100644
index 00000000000..f8a3c7ea958
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-fdaux.cc
@@ -0,0 +1,24 @@
+--- ./platform/emulator/libfd/fdaux.cc.orig Thu Oct 17 09:01:44 2002
++++ ./platform/emulator/libfd/fdaux.cc Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/10/17 13:01:44 $ by $Author: popow $
+- * $Revision: 1.12 $
++ * $Date: 2005/01/30 10:42:35 $ by $Author: glynn $
++ * $Revision: 1.12.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -28,8 +28,8 @@
+
+ #include "fdaux.hh"
+
+-template _OZ_ParamIterator<OZ_Return>;
+-template PropagatorController_V_V;
++template class _OZ_ParamIterator<OZ_Return>;
++template class _PropagatorController_V_V<OZ_Return,OZ_FDIntVar,PROCEED,FAILED,SLEEP>;
+
+ //-----------------------------------------------------------------------------
+ // convert vector to C++ arrays
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-pel_fncts.hh b/lang/mozart/files/patch-platform-emulator-libfd-pel_fncts.hh
new file mode 100644
index 00000000000..f744c0fd459
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-pel_fncts.hh
@@ -0,0 +1,57 @@
+--- ./platform/emulator/libfd/pel_fncts.hh.orig Thu Oct 17 09:01:44 2002
++++ ./platform/emulator/libfd/pel_fncts.hh Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/10/17 13:01:44 $ by $Author: popow $
+- * $Revision: 1.11 $
++ * $Date: 2005/01/30 10:40:51 $ by $Author: glynn $
++ * $Revision: 1.11.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -46,8 +46,8 @@
+ }
+ //
+ void print(ENGINE &e) {
+- // kost@ : this code does NOT insntatiate!
+- // I've simpliefied it (below);
++ // kost@ : this code does NOT instantiate!
++ // I've simplified it (below);
+ /*
+ printf("LessEqOffset x(%s,%d) + c(%d) <= ",
+ (*(FDVAR *) e[_x])->toString(), _x, _c);
+@@ -79,15 +79,15 @@
+ : PEL_LessEqOffset<ENGINE,FDVAR,PFDVAR>(y, -c+1, x) {}
+ //
+ void print(ENGINE &e) {
+- // kost@ : this code does NOT insntatiate!
+- // I've simpliefied it (below);
++ // kost@ : this code does NOT instantiate!
++ // I've simplified it (below);
+ /*
+ printf("GreaterOffset x(%s,%d) + c(%d) > ",
+ (*(FDVAR *) e[_y])->toString(), _y, -_c+1);
+ printf("y(%s,%d)\n", (*(FDVAR *) e[_x])->toString(), _x);
+ */
+- printf("GreaterOffset x(,%d) + c(%d) > ", _y, -_c+1);
+- printf("y(,%d)\n", _x);
++ printf("GreaterOffset x(,%d) + c(%d) > ", this->_y, -(this->_c)+1);
++ printf("y(,%d)\n", this->_x);
+ }
+ };
+
+@@ -132,9 +132,9 @@
+ pf_return_t PEL_LessEqOffset<ENGINE, FDVAR, PFDVAR>::propagate(PEL_Engine &e)
+ {
+ //
+- FDVAR &x = *(FDVAR *) e[_x];
+- int c = _c;
+- FDVAR &y = *(FDVAR *) e[_y];
++ FDVAR &x = *(FDVAR *) e[this->_x];
++ int c = this->_c;
++ FDVAR &y = *(FDVAR *) e[this->_y];
+ //
+ _PropagatorController_V_V<int,
+ FDVAR,pf_entailed,pf_failed,pf_sleep> iter(x, y);
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-pel_internal.hh b/lang/mozart/files/patch-platform-emulator-libfd-pel_internal.hh
new file mode 100644
index 00000000000..3956d6fc953
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-pel_internal.hh
@@ -0,0 +1,78 @@
+--- ./platform/emulator/libfd/pel_internal.hh.orig Mon Jan 13 14:21:11 2003
++++ ./platform/emulator/libfd/pel_internal.hh Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/01/13 19:21:11 $ by $Author: bruni $
+- * $Revision: 1.7 $
++ * $Date: 2005/01/30 10:40:51 $ by $Author: glynn $
++ * $Revision: 1.7.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -88,14 +88,14 @@
+ class EnlargeableArrayWithBase : public M {
+ private:
+ virtual void _gCollect(void) {
+- T * new_array = (T *) alloc(_size * sizeof(T));
++ T * new_array = (T *) this->alloc(_size * sizeof(T));
+ for (int i = _size; i--; ) {
+ new_array[i] = _array[i];
+ }
+ _array = new_array;
+ }
+ virtual void _sClone(void) {
+- T * new_array = (T *) alloc(_size * sizeof(T));
++ T * new_array = (T *) this->alloc(_size * sizeof(T));
+ for (int i = _size; i--; ) {
+ new_array[i] = _array[i];
+ }
+@@ -107,7 +107,7 @@
+ //
+ T * realloc(T * old, int old_n, int new_n) {
+ if (old_n < new_n) {
+- T * _new = (T *) alloc(new_n * sizeof(T));
++ T * _new = (T *) this->alloc(new_n * sizeof(T));
+ T * _old = old;
+ for (int i = old_n; i--; ) {
+ _new[i] = _old[i];
+@@ -131,7 +131,7 @@
+ }
+ //
+ EnlargeableArrayWithBase(int s) : _size(s) {
+- _array = s > 0 ? (T *) alloc(s * sizeof(T)) : (T *) NULL;
++ _array = s > 0 ? (T *) this->alloc(s * sizeof(T)) : (T *) NULL;
+ }
+ //
+ T &operator [](int i) {
+@@ -148,9 +148,9 @@
+ //
+ public:
+ int push(T &d) {
+- _array[_high] = d;
++ this->_array[_high] = d;
+ _high += 1;
+- request(_high);
++ this->request(_high);
+ return _high-1;
+ }
+ //
+@@ -168,13 +168,13 @@
+ ResizeableArray(void) : EnlargeableArrayWithBase<T,M>() { }
+ //
+ void resize(int new_size) {
+- if (new_size > _size) {
+- _array = realloc(_array, _size, new_size);
+- _size = new_size;
++ if (new_size > this->_size) {
++ this->_array = realloc(this->_array, this->_size, new_size);
++ this->_size = new_size;
+ }
+ }
+ void reset(void) {
+- _size = 0;
++ this->_size = 0;
+ }
+ };
+
diff --git a/lang/mozart/files/patch-platform-emulator-libfd-scheduling.cc b/lang/mozart/files/patch-platform-emulator-libfd-scheduling.cc
new file mode 100644
index 00000000000..a6710c1fd6d
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfd-scheduling.cc
@@ -0,0 +1,22 @@
+--- ./platform/emulator/libfd/scheduling.cc.orig Thu Oct 17 09:01:44 2002
++++ ./platform/emulator/libfd/scheduling.cc Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/10/17 13:01:44 $ by $Author: popow $
+- * $Revision: 1.42 $
++ * $Date: 2005/01/30 10:42:35 $ by $Author: glynn $
++ * $Revision: 1.42.10.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -32,7 +32,7 @@
+
+ //-----------------------------------------------------------------------------
+ #if !defined(MODULES_LINK_STATIC)
+-template PropagatorController_V_V;
++template class _PropagatorController_V_V<OZ_Return,OZ_FDIntVar,PROCEED,FAILED,SLEEP>;
+ #endif
+
+ static inline int intMin(int a, int b) { return a < b ? a : b; }
diff --git a/lang/mozart/files/patch-af b/lang/mozart/files/patch-platform-emulator-libfd-std.cc
index b8c4d2ccbc4..62c10222ba0 100644
--- a/lang/mozart/files/patch-af
+++ b/lang/mozart/files/patch-platform-emulator-libfd-std.cc
@@ -1,5 +1,5 @@
---- platform/emulator/libfd/std.cc Tue Aug 20 16:19:47 2002
-+++ platform/emulator/libfd/std.cc Thu Jul 24 19:19:27 2003
+--- ./platform/emulator/libfd/std.cc.orig Fri Sep 5 05:28:25 2003
++++ ./platform/emulator/libfd/std.cc Sat Sep 3 18:46:08 2005
@@ -44,7 +44,9 @@
#else
diff --git a/lang/mozart/files/patch-platform-emulator-libfset-fsaux.cc b/lang/mozart/files/patch-platform-emulator-libfset-fsaux.cc
new file mode 100644
index 00000000000..cdd0bd96d17
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-libfset-fsaux.cc
@@ -0,0 +1,22 @@
+--- ./platform/emulator/libfset/fsaux.cc.orig Wed Sep 3 09:10:39 2003
++++ ./platform/emulator/libfset/fsaux.cc Sat Sep 3 18:46:08 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/09/03 13:10:39 $ by $Author: popow $
+- * $Revision: 1.19 $
++ * $Date: 2005/01/30 10:43:17 $ by $Author: glynn $
++ * $Revision: 1.19.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -28,7 +28,7 @@
+
+ #include "fsaux.hh"
+
+-template _OZ_ParamIterator<OZ_Return>;
++template class _OZ_ParamIterator<OZ_Return>;
+ extern FILE *cpi_fileout;
+
+ void oz_fsetdebugprint(char *format, ...)
diff --git a/lang/mozart/files/patch-platform-emulator-mem.hh b/lang/mozart/files/patch-platform-emulator-mem.hh
new file mode 100644
index 00000000000..a6326781a50
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-mem.hh
@@ -0,0 +1,32 @@
+--- ./platform/emulator/mem.hh.orig Tue May 6 04:56:47 2003
++++ ./platform/emulator/mem.hh Sat Sep 3 18:46:09 2005
+@@ -11,8 +11,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/05/06 08:56:47 $ by $Author: popow $
+- * $Revision: 1.94 $
++ * $Date: 2005/01/30 10:36:54 $ by $Author: glynn $
++ * $Revision: 1.94.8.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -125,8 +125,7 @@
+ *
+ */
+
+- retry:
+- {
++ while(TRUE) {
+ Assert(oz_isHeapAligned(_oz_heap_cur));
+ size_t a_sz = oz_alignSize(sz);
+
+@@ -142,7 +141,7 @@
+ /* _oz_heap_cur might be negative!! */
+ if (((unsigned long) _oz_heap_end) > ((unsigned long) _oz_heap_cur)) {
+ _oz_getNewHeapChunk(a_sz);
+- goto retry;
++ continue;
+ }
+
+ return (void*) _oz_heap_cur;
diff --git a/lang/mozart/files/patch-platform-emulator-modPort.spec b/lang/mozart/files/patch-platform-emulator-modPort.spec
new file mode 100644
index 00000000000..31b6049b064
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-modPort.spec
@@ -0,0 +1,24 @@
+--- ./platform/emulator/modPort.spec.orig Wed Aug 21 06:18:19 2002
++++ ./platform/emulator/modPort.spec Sat Sep 3 18:46:09 2005
+@@ -8,8 +8,8 @@
+ ### Christian Schulte, 1998
+ ###
+ ### Last change:
+-### $Date: 2002/08/21 10:18:19 $ by $Author: duchier $
+-### $Revision: 1.8 $
++### $Date: 2005/02/15 13:33:16 $ by $Author: raph $
++### $Revision: 1.8.12.1 $
+ ###
+ ### This file is part of Mozart, an implementation
+ ### of Oz 3:
+@@ -30,8 +30,8 @@
+ out => ['+bool'],
+ bi => BIisPort},
+
+- 'new' => { in => ['list'],
+- out => ['+port'],
++ 'new' => { in => [],
++ out => ['list','+port'],
+ BI => BInewPort},
+
+ 'send' => { in => ['+port','value'],
diff --git a/lang/mozart/files/patch-platform-emulator-namer.cc b/lang/mozart/files/patch-platform-emulator-namer.cc
new file mode 100644
index 00000000000..32441499644
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-namer.cc
@@ -0,0 +1,42 @@
+--- ./platform/emulator/namer.cc.orig Fri Aug 2 16:20:44 2002
++++ ./platform/emulator/namer.cc Sat Sep 3 18:46:09 2005
+@@ -8,8 +8,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/08/02 20:20:44 $ by $Author: popow $
+- * $Revision: 1.14 $
++ * $Date: 2005/01/30 10:39:10 $ by $Author: glynn $
++ * $Revision: 1.14.12.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -30,10 +30,11 @@
+ //-----------------------------------------------------------------------------
+ // naming variables
+
++template class Namer<OZ_Term, const char *>;
++
+ typedef Namer<OZ_Term, const char *> VarNamer;
+-template VarNamer;
+
+-VarNamer * VarNamer::_head;
++template <> VarNamer * VarNamer::_head = NULL;
+
+ VarNamer varNamer;
+
+@@ -94,10 +95,11 @@
+ //-----------------------------------------------------------------------------
+ // naming propagators
+
+-typedef Namer<Propagator *, OZ_Term> PropNamer;
+-template PropNamer;
++template class Namer<Propagator *, OZ_Term>;
++
++typedef class Namer<Propagator *, OZ_Term> PropNamer;
+
+-PropNamer * PropNamer::_head;
++template <> PropNamer * PropNamer::_head = NULL;
+
+ PropNamer propNamer;
+
diff --git a/lang/mozart/files/patch-platform-emulator-namer.hh b/lang/mozart/files/patch-platform-emulator-namer.hh
new file mode 100644
index 00000000000..8c0c86ee458
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-namer.hh
@@ -0,0 +1,21 @@
+--- ./platform/emulator/namer.hh.orig Wed Jun 2 18:46:32 1999
++++ ./platform/emulator/namer.hh Sat Sep 3 18:46:09 2005
+@@ -8,8 +8,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 1999/06/02 22:46:32 $ by $Author: schulte $
+- * $Revision: 1.8 $
++ * $Date: 2005/01/30 10:39:10 $ by $Author: glynn $
++ * $Revision: 1.8.18.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -123,7 +123,6 @@
+ public:
+ Namer(void) {
+ GCMeManager::registerObject(this);
+- _head = NULL;
+ }
+ static Namer<T_INDEX, T_NAME> * getHead(void) { return _head; }
+ static T_NAME getName(T_INDEX index) {
diff --git a/lang/mozart/files/patch-platform-emulator-site.cc b/lang/mozart/files/patch-platform-emulator-site.cc
new file mode 100644
index 00000000000..30bf8541e38
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-site.cc
@@ -0,0 +1,23 @@
+--- ./platform/emulator/site.cc.orig Fri Aug 30 08:55:46 2002
++++ ./platform/emulator/site.cc Sat Sep 3 18:46:09 2005
+@@ -10,8 +10,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2002/08/30 12:55:46 $ by $Author: duchier $
+- * $Revision: 1.27 $
++ * $Date: 2005/05/31 20:36:05 $ by $Author: duchier $
++ * $Revision: 1.27.12.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -112,8 +112,8 @@
+ }
+
+ //
+-template class GenDistEntryTable<Site>;
+ #include "hashtblDefs.cc"
++template class GenDistEntryTable<Site>;
+
+ //
+ SiteHashTable* siteTable = 0;
diff --git a/lang/mozart/files/patch-platform-emulator-urlc.cc b/lang/mozart/files/patch-platform-emulator-urlc.cc
new file mode 100644
index 00000000000..57623a67ba1
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-urlc.cc
@@ -0,0 +1,22 @@
+--- ./platform/emulator/urlc.cc.orig Fri Sep 15 02:54:21 2000
++++ ./platform/emulator/urlc.cc Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2000/09/15 06:54:21 $ by $Author: annan $
+- * $Revision: 1.40 $
++ * $Date: 2005/05/19 17:48:45 $ by $Author: duchier $
++ * $Revision: 1.40.18.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -203,7 +203,7 @@
+ /* characters not to be escaped in HTTP requests.
+ if I well understood RFC 1945! ##
+ */
+-static char URLC_hs[] = "%:@&=+$-_.!*'(),;/?";
++static char URLC_hs[] = "%:@&=+$-_.!*'(),;/?#";
+
+ /* throw simulators */
+ #define th1(reason) { clean(); return (reason); }
diff --git a/lang/mozart/files/patch-platform-emulator-var_ct.hh b/lang/mozart/files/patch-platform-emulator-var_ct.hh
new file mode 100644
index 00000000000..086a9460f01
--- /dev/null
+++ b/lang/mozart/files/patch-platform-emulator-var_ct.hh
@@ -0,0 +1,22 @@
+--- ./platform/emulator/var_ct.hh.orig Thu Dec 18 10:12:41 2003
++++ ./platform/emulator/var_ct.hh Sat Sep 3 18:46:09 2005
+@@ -9,8 +9,8 @@
+ * Organization or Person (Year(s))
+ *
+ * Last change:
+- * $Date: 2003/12/18 15:12:41 $ by $Author: raph $
+- * $Revision: 1.27 $
++ * $Date: 2005/01/30 10:39:54 $ by $Author: glynn $
++ * $Revision: 1.27.4.1 $
+ *
+ * This file is part of Mozart, an implementation
+ * of Oz 3:
+@@ -38,7 +38,7 @@
+ friend class OzVariable;
+ friend void constrainGlobalVar(OZ_Term *, OZ_Ct *);
+ friend OZ_Return tellBasicConstraint(OZ_Term, OZ_Ct *, OZ_CtDefinition *);
+- friend OZ_Boolean OZ_CtVar::tell(void);
++ friend class OZ_CtVar;
+ friend void addSuspCtVar(OZ_Term , Suspendable * , OZ_CtWakeUp);
+
+ private:
diff --git a/lang/mozart/files/patch-share-lib-compiler-CheckTupleSyntax.oz b/lang/mozart/files/patch-share-lib-compiler-CheckTupleSyntax.oz
new file mode 100644
index 00000000000..9054c86a06b
--- /dev/null
+++ b/lang/mozart/files/patch-share-lib-compiler-CheckTupleSyntax.oz
@@ -0,0 +1,22 @@
+--- ./share/lib/compiler/CheckTupleSyntax.oz.orig Tue Oct 10 19:24:15 2000
++++ ./share/lib/compiler/CheckTupleSyntax.oz Sat Sep 3 18:46:09 2005
+@@ -6,8 +6,8 @@
+ %%% Leif Kornstaedt, 1998
+ %%%
+ %%% Last change:
+-%%% $Date: 2000/10/10 23:24:15 $ by $Author: duchier $
+-%%% $Revision: 1.21 $
++%%% $Date: 2005/02/03 11:50:19 $ by $Author: glynn $
++%%% $Revision: 1.21.16.1 $
+ %%%
+ %%% This file is part of Mozart, an implementation of Oz 3:
+ %%% http://www.mozart-oz.org
+@@ -115,6 +115,8 @@
+ {Type.ask.int I} {Coord C}
+ [] fLoop(E C) then {Phrase E} {Coord C}
+ [] fMacro(Es C) then {ForAll Es Phrase} {Coord C}
++ [] fDotAssign(P1 P2 C) then {Phrase P1} {Phrase P2} {Coord C}
++ [] fColonEquals(P1 P2 C) then {Phrase P1} {Phrase P2} {Coord C}
+ [] fFOR(Ds B C) then {ForAll Ds ForDecl} {Phrase B} {Coord C}
+ else {FDExpression X}
+ end
diff --git a/lang/mozart/files/patch-share-lib-cp-FD.oz b/lang/mozart/files/patch-share-lib-cp-FD.oz
new file mode 100644
index 00000000000..b9553e94152
--- /dev/null
+++ b/lang/mozart/files/patch-share-lib-cp-FD.oz
@@ -0,0 +1,45 @@
+--- ./share/lib/cp/FD.oz.orig Wed Apr 30 17:51:32 2003
++++ ./share/lib/cp/FD.oz Sat Sep 3 18:46:09 2005
+@@ -10,8 +10,8 @@
+ %%% Christian Schulte, 1997, 1998
+ %%%
+ %%% Last change:
+-%%% $Date: 2003/04/30 21:51:32 $ by $Author: duchier $
+-%%% $Revision: 1.59 $
++%%% $Date: 2005/02/08 16:45:09 $ by $Author: raph $
++%%% $Revision: 1.59.6.1 $
+ %%%
+ %%% This file is part of Mozart, an implementation
+ %%% of Oz 3
+@@ -319,7 +319,19 @@
+
+ GenSumR = FdpSumR
+ GenSumCR = FdpSumCR
+- GenSumCNR = FdpSumCNR
++
++ %% was: GenSumCNR = FdpSumCNR, but the latter blocks until the
++ %% polynom becomes linear (bug fix)
++ proc {GenSumCNR IV DDV Rel D B}
++ NegRel = NegRelTable.Rel
++ in
++ {FdBool B}
++ thread
++ or B=1 {FdpSumCN IV DDV Rel D}
++ [] B=0 {FdpSumCN IV DDV NegRel D}
++ end
++ end
++ end
+
+ local
+ proc {MapIntR N T TR Dom}
+@@ -395,9 +407,7 @@
+ dom: FdDomR
+ sum: GenSumR
+ sumC: GenSumCR
+- sumCN: proc {$ A B C D E}
+- thread {GenSumCNR A B C D E} end
+- end
++ sumCN: GenSumCNR
+ sumAC: GenSumACR
+ sumACN: GenSumACNR
+ distance: DistanceR